diff --git a/plor/CMakeLists.txt b/plor/CMakeLists.txt
new file mode 100644
index 00000000..61817a38
--- /dev/null
+++ b/plor/CMakeLists.txt
@@ -0,0 +1,80 @@
+cmake_minimum_required(VERSION 3.10)
+
+project(ccbench_ss2pl
+ VERSION 0.0.1
+ DESCRIPTION "ss2pl of ccbench"
+ LANGUAGES CXX)
+
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
+
+option(ENABLE_SANITIZER "enable sanitizer on debug build" ON)
+option(ENABLE_UB_SANITIZER "enable undefined behavior sanitizer on debug build" OFF)
+option(ENABLE_COVERAGE "enable coverage on debug build" OFF)
+
+find_package(Doxygen)
+find_package(Threads REQUIRED)
+find_package(gflags REQUIRED)
+find_package(glog REQUIRED)
+find_package(Boost
+ COMPONENTS filesystem)
+
+include(GNUInstallDirs)
+include(CMakePackageConfigHelpers)
+include(CompileOptions)
+
+file(GLOB ERMIA_SOURCES
+ "../common/result.cc"
+ "../common/util.cc"
+ "ss2pl.cc"
+ "result.cc"
+ "transaction.cc"
+ "util.cc"
+ )
+
+add_executable(ss2pl.exe ${ERMIA_SOURCES})
+
+target_link_libraries(ss2pl.exe
+ Boost::filesystem
+ gflags::gflags
+ ${PROJECT_SOURCE_DIR}/../third_party/mimalloc/out/release/libmimalloc.a
+ ${PROJECT_SOURCE_DIR}/../third_party/masstree/libkohler_masstree_json.a
+ Threads::Threads
+ )
+
+if (DEFINED ADD_ANALYSIS)
+ add_definitions(-DADD_ANALYSIS=${ADD_ANALYSIS})
+else ()
+ add_definitions(-DADD_ANALYSIS=0)
+endif ()
+
+if (DEFINED BACK_OFF)
+ add_definitions(-DBACK_OFF=${BACK_OFF})
+else ()
+ add_definitions(-DBACK_OFF=0)
+endif ()
+
+add_definitions(-DDLR1)
+
+if (DEFINED KEY_SIZE)
+ add_definitions(-DKEY_SIZE=${KEY_SIZE})
+else ()
+ add_definitions(-DKEY_SIZE=8)
+endif ()
+
+if (DEFINED KEY_SORT)
+ add_definitions(-DKEY_SORT=${KEY_SORT})
+else ()
+ add_definitions(-DKEY_SORT=0)
+endif ()
+
+if (DEFINED MASSTREE_USE)
+ add_definitions(-DMASSTREE_USE=${MASSTREE_USE})
+else ()
+ add_definitions(-DMASSTREE_USE=1)
+endif ()
+
+if (DEFINED VAL_SIZE)
+ add_definitions(-DVAL_SIZE=${VAL_SIZE})
+else ()
+ add_definitions(-DVAL_SIZE=4)
+endif ()
diff --git a/plor/README.md b/plor/README.md
new file mode 100644
index 00000000..fdbe3c4b
--- /dev/null
+++ b/plor/README.md
@@ -0,0 +1,50 @@
+# 2PL
+
+## How to use
+- Build masstree in ccbench directory
+```
+$ ./build_tools/bootstrap.sh
+```
+This makes ccbench/third_party/masstree/libkohler_masstree_json.a used by building ss2pl.
+- Build mimalloc in ccbench directory
+```
+$ ./build_tools/bootstrap_mimalloc.sh
+```
+This makes ../third_party/mimalloc/out/release/libmimalloc.a used by building ss2pl.
+- Build
+```
+$ mkdir build
+$ cd build
+$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
+$ ninja
+```
+- Confirm usage
+```
+$ ./ss2pl.exe -help
+```
+- Execution example
+```
+$ numactl --interleave=all ./ss2pl.exe -clocks_per_us=2100 -extime=3 -max_ope=10 -rmw=0 -rratio=100 -thread_num=224 -tuple_num=1000000 -ycsb=1 -zipf_skew=0
+```
+
+## How to customize options in CMakeLists.txt
+- `ADD_ANALYSIS` : If this is 1, it is deeper analysis than setting 0.
+default : `0`
+- `BACK_OFF` : If this is 1, it use Cicada's backoff.
+default : `0`
+- `KEY_SORT` : If this is 1, its transaction accesses records in ascending key order.
+default : `0`
+- `MASSTREE_USE` : If this is 1, it use masstree as data structure. If not, it use simple array αs data structure.
+default : `1`
+- `VAL_SIZE` : Value of key-value size. In other words, payload size.
+default : `4`
+- `DLR0` : Dead lock resolution is timeout.
+- `DLR1` : Dead lock resolution is no-wait.
+
+## Optimizations
+- Backoff.
+- Timeout of dead lock resolution.
+- No-wait of dead lock resolution.
+
+## Implementation
+- Lock : reader/writer lock
diff --git a/plor/build/.ninja_deps b/plor/build/.ninja_deps
new file mode 100644
index 00000000..d542fa51
Binary files /dev/null and b/plor/build/.ninja_deps differ
diff --git a/plor/build/.ninja_log b/plor/build/.ninja_log
new file mode 100644
index 00000000..5ac670d0
--- /dev/null
+++ b/plor/build/.ninja_log
@@ -0,0 +1,8 @@
+# ninja log v5
+0 480 1674198434910686697 CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o 9fbf35805e4ff104
+0 795 1674198435222682920 CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o ea91cc4076eebbc0
+1 954 1674198435382680983 CMakeFiles/ss2pl.exe.dir/result.cc.o 85396cc23d600c0
+2 1368 1674198435794675994 CMakeFiles/ss2pl.exe.dir/util.cc.o 49806984b2de2094
+1 1590 1674198436018673282 CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o 368bb879e9c807e0
+2 1692 1674198436118672071 CMakeFiles/ss2pl.exe.dir/transaction.cc.o 42829a35c2d509ed
+1693 1802 1674198436230670715 ss2pl.exe 778c60f2ac8f7589
diff --git a/plor/build/CMakeCache.txt b/plor/build/CMakeCache.txt
new file mode 100644
index 00000000..5fc7d5ae
--- /dev/null
+++ b/plor/build/CMakeCache.txt
@@ -0,0 +1,473 @@
+# This is the CMakeCache file.
+# For build in directory: /home/tngngn/ccbench/plor/build
+# It was generated by CMake: /usr/local/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//The directory containing a CMake configuration file for Boost.
+Boost_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0
+
+Boost_FILESYSTEM_LIBRARY_RELEASE:STRING=/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0
+
+//Path to a file.
+Boost_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=Debug
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//User executables (bin)
+CMAKE_INSTALL_BINDIR:PATH=bin
+
+//Read-only architecture-independent data (DATAROOTDIR)
+CMAKE_INSTALL_DATADIR:PATH=
+
+//Read-only architecture-independent data root (share)
+CMAKE_INSTALL_DATAROOTDIR:PATH=share
+
+//Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
+CMAKE_INSTALL_DOCDIR:PATH=
+
+//C header files (include)
+CMAKE_INSTALL_INCLUDEDIR:PATH=include
+
+//Info documentation (DATAROOTDIR/info)
+CMAKE_INSTALL_INFODIR:PATH=
+
+//Object code libraries (lib)
+CMAKE_INSTALL_LIBDIR:PATH=lib
+
+//Program executables (libexec)
+CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
+
+//Locale-dependent data (DATAROOTDIR/locale)
+CMAKE_INSTALL_LOCALEDIR:PATH=
+
+//Modifiable single-machine data (var)
+CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
+
+//Man documentation (DATAROOTDIR/man)
+CMAKE_INSTALL_MANDIR:PATH=
+
+//C header files for non-gcc (/usr/include)
+CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Run-time variable data (LOCALSTATEDIR/run)
+CMAKE_INSTALL_RUNSTATEDIR:PATH=
+
+//System admin executables (sbin)
+CMAKE_INSTALL_SBINDIR:PATH=sbin
+
+//Modifiable architecture-independent data (com)
+CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
+
+//Read-only single-machine data (etc)
+CMAKE_INSTALL_SYSCONFDIR:PATH=etc
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Program used to build from build.ninja files.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/local/bin/ninja
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=ss2pl of ccbench
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=ccbench_ss2pl
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION:STATIC=0.0.1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MAJOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MINOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_PATCH:STATIC=1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_TWEAK:STATIC=
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make. This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Dot tool for use with Doxygen
+DOXYGEN_DOT_EXECUTABLE:FILEPATH=/usr/bin/dot
+
+//Doxygen documentation generation tool (http://www.doxygen.org)
+DOXYGEN_EXECUTABLE:FILEPATH=/usr/bin/doxygen
+
+//enable coverage on debug build
+ENABLE_COVERAGE:BOOL=OFF
+
+//enable sanitizer on debug build
+ENABLE_SANITIZER:BOOL=ON
+
+//enable undefined behavior sanitizer on debug build
+ENABLE_UB_SANITIZER:BOOL=OFF
+
+//The directory containing a CMake configuration file for boost_filesystem.
+boost_filesystem_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0
+
+//The directory containing a CMake configuration file for boost_headers.
+boost_headers_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0
+
+//Value Computed by CMake
+ccbench_ss2pl_BINARY_DIR:STATIC=/home/tngngn/ccbench/plor/build
+
+//Value Computed by CMake
+ccbench_ss2pl_SOURCE_DIR:STATIC=/home/tngngn/ccbench/plor
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: Boost_DIR
+Boost_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/tngngn/ccbench/plor/build
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=17
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/local/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Ninja
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Test CMAKE_HAVE_LIBC_PTHREAD
+CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=
+//Have library pthreads
+CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
+//Have library pthread
+CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1
+//Have include pthread.h
+CMAKE_HAVE_PTHREAD_H:INTERNAL=1
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/tngngn/ccbench/plor
+//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
+CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
+CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
+CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
+CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
+CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
+CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
+CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
+CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
+CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
+CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
+CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
+CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR
+CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
+CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
+CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
+CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/local/share/cmake-3.17
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE
+DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_EXECUTABLE
+DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1
+//Details about finding Boost
+FIND_PACKAGE_MESSAGE_DETAILS_Boost:INTERNAL=[/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake][cfound components: filesystem ][v1.71.0()]
+//Details about finding Doxygen
+FIND_PACKAGE_MESSAGE_DETAILS_Doxygen:INTERNAL=[/usr/bin/doxygen][cfound components: doxygen dot ][v1.8.17()]
+//Details about finding Threads
+FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
+//Details about finding gflags
+FIND_PACKAGE_MESSAGE_DETAILS_gflags:INTERNAL=[/usr/lib/x86_64-linux-gnu/libgflags.so][/usr/include][v()]
+//Details about finding glog
+FIND_PACKAGE_MESSAGE_DETAILS_glog:INTERNAL=[/usr/lib/x86_64-linux-gnu/libglog.so][/usr/include][v()]
+//CMAKE_INSTALL_PREFIX during last run
+_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local
+//ADVANCED property for variable: boost_filesystem_DIR
+boost_filesystem_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: boost_headers_DIR
+boost_headers_DIR-ADVANCED:INTERNAL=1
+
diff --git a/plor/build/CMakeDoxyfile.in b/plor/build/CMakeDoxyfile.in
new file mode 100644
index 00000000..848a3c81
--- /dev/null
+++ b/plor/build/CMakeDoxyfile.in
@@ -0,0 +1,280 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+DOXYFILE_ENCODING = @DOXYGEN_DOXYFILE_ENCODING@
+PROJECT_NAME = @DOXYGEN_PROJECT_NAME@
+PROJECT_NUMBER = @DOXYGEN_PROJECT_NUMBER@
+PROJECT_BRIEF = @DOXYGEN_PROJECT_BRIEF@
+PROJECT_LOGO = @DOXYGEN_PROJECT_LOGO@
+OUTPUT_DIRECTORY = @DOXYGEN_OUTPUT_DIRECTORY@
+CREATE_SUBDIRS = @DOXYGEN_CREATE_SUBDIRS@
+ALLOW_UNICODE_NAMES = @DOXYGEN_ALLOW_UNICODE_NAMES@
+OUTPUT_LANGUAGE = @DOXYGEN_OUTPUT_LANGUAGE@
+OUTPUT_TEXT_DIRECTION = @DOXYGEN_OUTPUT_TEXT_DIRECTION@
+BRIEF_MEMBER_DESC = @DOXYGEN_BRIEF_MEMBER_DESC@
+REPEAT_BRIEF = @DOXYGEN_REPEAT_BRIEF@
+ABBREVIATE_BRIEF = @DOXYGEN_ABBREVIATE_BRIEF@
+ALWAYS_DETAILED_SEC = @DOXYGEN_ALWAYS_DETAILED_SEC@
+INLINE_INHERITED_MEMB = @DOXYGEN_INLINE_INHERITED_MEMB@
+FULL_PATH_NAMES = @DOXYGEN_FULL_PATH_NAMES@
+STRIP_FROM_PATH = @DOXYGEN_STRIP_FROM_PATH@
+STRIP_FROM_INC_PATH = @DOXYGEN_STRIP_FROM_INC_PATH@
+SHORT_NAMES = @DOXYGEN_SHORT_NAMES@
+JAVADOC_AUTOBRIEF = @DOXYGEN_JAVADOC_AUTOBRIEF@
+JAVADOC_BANNER = @DOXYGEN_JAVADOC_BANNER@
+QT_AUTOBRIEF = @DOXYGEN_QT_AUTOBRIEF@
+MULTILINE_CPP_IS_BRIEF = @DOXYGEN_MULTILINE_CPP_IS_BRIEF@
+INHERIT_DOCS = @DOXYGEN_INHERIT_DOCS@
+SEPARATE_MEMBER_PAGES = @DOXYGEN_SEPARATE_MEMBER_PAGES@
+TAB_SIZE = @DOXYGEN_TAB_SIZE@
+ALIASES = @DOXYGEN_ALIASES@
+TCL_SUBST = @DOXYGEN_TCL_SUBST@
+OPTIMIZE_OUTPUT_FOR_C = @DOXYGEN_OPTIMIZE_OUTPUT_FOR_C@
+OPTIMIZE_OUTPUT_JAVA = @DOXYGEN_OPTIMIZE_OUTPUT_JAVA@
+OPTIMIZE_FOR_FORTRAN = @DOXYGEN_OPTIMIZE_FOR_FORTRAN@
+OPTIMIZE_OUTPUT_VHDL = @DOXYGEN_OPTIMIZE_OUTPUT_VHDL@
+OPTIMIZE_OUTPUT_SLICE = @DOXYGEN_OPTIMIZE_OUTPUT_SLICE@
+EXTENSION_MAPPING = @DOXYGEN_EXTENSION_MAPPING@
+MARKDOWN_SUPPORT = @DOXYGEN_MARKDOWN_SUPPORT@
+TOC_INCLUDE_HEADINGS = @DOXYGEN_TOC_INCLUDE_HEADINGS@
+AUTOLINK_SUPPORT = @DOXYGEN_AUTOLINK_SUPPORT@
+BUILTIN_STL_SUPPORT = @DOXYGEN_BUILTIN_STL_SUPPORT@
+CPP_CLI_SUPPORT = @DOXYGEN_CPP_CLI_SUPPORT@
+SIP_SUPPORT = @DOXYGEN_SIP_SUPPORT@
+IDL_PROPERTY_SUPPORT = @DOXYGEN_IDL_PROPERTY_SUPPORT@
+DISTRIBUTE_GROUP_DOC = @DOXYGEN_DISTRIBUTE_GROUP_DOC@
+GROUP_NESTED_COMPOUNDS = @DOXYGEN_GROUP_NESTED_COMPOUNDS@
+SUBGROUPING = @DOXYGEN_SUBGROUPING@
+INLINE_GROUPED_CLASSES = @DOXYGEN_INLINE_GROUPED_CLASSES@
+INLINE_SIMPLE_STRUCTS = @DOXYGEN_INLINE_SIMPLE_STRUCTS@
+TYPEDEF_HIDES_STRUCT = @DOXYGEN_TYPEDEF_HIDES_STRUCT@
+LOOKUP_CACHE_SIZE = @DOXYGEN_LOOKUP_CACHE_SIZE@
+EXTRACT_ALL = @DOXYGEN_EXTRACT_ALL@
+EXTRACT_PRIVATE = @DOXYGEN_EXTRACT_PRIVATE@
+EXTRACT_PRIV_VIRTUAL = @DOXYGEN_EXTRACT_PRIV_VIRTUAL@
+EXTRACT_PACKAGE = @DOXYGEN_EXTRACT_PACKAGE@
+EXTRACT_STATIC = @DOXYGEN_EXTRACT_STATIC@
+EXTRACT_LOCAL_CLASSES = @DOXYGEN_EXTRACT_LOCAL_CLASSES@
+EXTRACT_LOCAL_METHODS = @DOXYGEN_EXTRACT_LOCAL_METHODS@
+EXTRACT_ANON_NSPACES = @DOXYGEN_EXTRACT_ANON_NSPACES@
+HIDE_UNDOC_MEMBERS = @DOXYGEN_HIDE_UNDOC_MEMBERS@
+HIDE_UNDOC_CLASSES = @DOXYGEN_HIDE_UNDOC_CLASSES@
+HIDE_FRIEND_COMPOUNDS = @DOXYGEN_HIDE_FRIEND_COMPOUNDS@
+HIDE_IN_BODY_DOCS = @DOXYGEN_HIDE_IN_BODY_DOCS@
+INTERNAL_DOCS = @DOXYGEN_INTERNAL_DOCS@
+CASE_SENSE_NAMES = @DOXYGEN_CASE_SENSE_NAMES@
+HIDE_SCOPE_NAMES = @DOXYGEN_HIDE_SCOPE_NAMES@
+HIDE_COMPOUND_REFERENCE= @DOXYGEN_HIDE_COMPOUND_REFERENCE@
+SHOW_INCLUDE_FILES = @DOXYGEN_SHOW_INCLUDE_FILES@
+SHOW_GROUPED_MEMB_INC = @DOXYGEN_SHOW_GROUPED_MEMB_INC@
+FORCE_LOCAL_INCLUDES = @DOXYGEN_FORCE_LOCAL_INCLUDES@
+INLINE_INFO = @DOXYGEN_INLINE_INFO@
+SORT_MEMBER_DOCS = @DOXYGEN_SORT_MEMBER_DOCS@
+SORT_BRIEF_DOCS = @DOXYGEN_SORT_BRIEF_DOCS@
+SORT_MEMBERS_CTORS_1ST = @DOXYGEN_SORT_MEMBERS_CTORS_1ST@
+SORT_GROUP_NAMES = @DOXYGEN_SORT_GROUP_NAMES@
+SORT_BY_SCOPE_NAME = @DOXYGEN_SORT_BY_SCOPE_NAME@
+STRICT_PROTO_MATCHING = @DOXYGEN_STRICT_PROTO_MATCHING@
+GENERATE_TODOLIST = @DOXYGEN_GENERATE_TODOLIST@
+GENERATE_TESTLIST = @DOXYGEN_GENERATE_TESTLIST@
+GENERATE_BUGLIST = @DOXYGEN_GENERATE_BUGLIST@
+GENERATE_DEPRECATEDLIST= @DOXYGEN_GENERATE_DEPRECATEDLIST@
+ENABLED_SECTIONS = @DOXYGEN_ENABLED_SECTIONS@
+MAX_INITIALIZER_LINES = @DOXYGEN_MAX_INITIALIZER_LINES@
+SHOW_USED_FILES = @DOXYGEN_SHOW_USED_FILES@
+SHOW_FILES = @DOXYGEN_SHOW_FILES@
+SHOW_NAMESPACES = @DOXYGEN_SHOW_NAMESPACES@
+FILE_VERSION_FILTER = @DOXYGEN_FILE_VERSION_FILTER@
+LAYOUT_FILE = @DOXYGEN_LAYOUT_FILE@
+CITE_BIB_FILES = @DOXYGEN_CITE_BIB_FILES@
+QUIET = @DOXYGEN_QUIET@
+WARNINGS = @DOXYGEN_WARNINGS@
+WARN_IF_UNDOCUMENTED = @DOXYGEN_WARN_IF_UNDOCUMENTED@
+WARN_IF_DOC_ERROR = @DOXYGEN_WARN_IF_DOC_ERROR@
+WARN_NO_PARAMDOC = @DOXYGEN_WARN_NO_PARAMDOC@
+WARN_AS_ERROR = @DOXYGEN_WARN_AS_ERROR@
+WARN_FORMAT = @DOXYGEN_WARN_FORMAT@
+WARN_LOGFILE = @DOXYGEN_WARN_LOGFILE@
+INPUT = @DOXYGEN_INPUT@
+INPUT_ENCODING = @DOXYGEN_INPUT_ENCODING@
+FILE_PATTERNS = @DOXYGEN_FILE_PATTERNS@
+RECURSIVE = @DOXYGEN_RECURSIVE@
+EXCLUDE = @DOXYGEN_EXCLUDE@
+EXCLUDE_SYMLINKS = @DOXYGEN_EXCLUDE_SYMLINKS@
+EXCLUDE_PATTERNS = @DOXYGEN_EXCLUDE_PATTERNS@
+EXCLUDE_SYMBOLS = @DOXYGEN_EXCLUDE_SYMBOLS@
+EXAMPLE_PATH = @DOXYGEN_EXAMPLE_PATH@
+EXAMPLE_PATTERNS = @DOXYGEN_EXAMPLE_PATTERNS@
+EXAMPLE_RECURSIVE = @DOXYGEN_EXAMPLE_RECURSIVE@
+IMAGE_PATH = @DOXYGEN_IMAGE_PATH@
+INPUT_FILTER = @DOXYGEN_INPUT_FILTER@
+FILTER_PATTERNS = @DOXYGEN_FILTER_PATTERNS@
+FILTER_SOURCE_FILES = @DOXYGEN_FILTER_SOURCE_FILES@
+FILTER_SOURCE_PATTERNS = @DOXYGEN_FILTER_SOURCE_PATTERNS@
+USE_MDFILE_AS_MAINPAGE = @DOXYGEN_USE_MDFILE_AS_MAINPAGE@
+SOURCE_BROWSER = @DOXYGEN_SOURCE_BROWSER@
+INLINE_SOURCES = @DOXYGEN_INLINE_SOURCES@
+STRIP_CODE_COMMENTS = @DOXYGEN_STRIP_CODE_COMMENTS@
+REFERENCED_BY_RELATION = @DOXYGEN_REFERENCED_BY_RELATION@
+REFERENCES_RELATION = @DOXYGEN_REFERENCES_RELATION@
+REFERENCES_LINK_SOURCE = @DOXYGEN_REFERENCES_LINK_SOURCE@
+SOURCE_TOOLTIPS = @DOXYGEN_SOURCE_TOOLTIPS@
+USE_HTAGS = @DOXYGEN_USE_HTAGS@
+VERBATIM_HEADERS = @DOXYGEN_VERBATIM_HEADERS@
+CLANG_ASSISTED_PARSING = @DOXYGEN_CLANG_ASSISTED_PARSING@
+CLANG_OPTIONS = @DOXYGEN_CLANG_OPTIONS@
+CLANG_DATABASE_PATH = @DOXYGEN_CLANG_DATABASE_PATH@
+ALPHABETICAL_INDEX = @DOXYGEN_ALPHABETICAL_INDEX@
+COLS_IN_ALPHA_INDEX = @DOXYGEN_COLS_IN_ALPHA_INDEX@
+IGNORE_PREFIX = @DOXYGEN_IGNORE_PREFIX@
+GENERATE_HTML = @DOXYGEN_GENERATE_HTML@
+HTML_OUTPUT = @DOXYGEN_HTML_OUTPUT@
+HTML_FILE_EXTENSION = @DOXYGEN_HTML_FILE_EXTENSION@
+HTML_HEADER = @DOXYGEN_HTML_HEADER@
+HTML_FOOTER = @DOXYGEN_HTML_FOOTER@
+HTML_STYLESHEET = @DOXYGEN_HTML_STYLESHEET@
+HTML_EXTRA_STYLESHEET = @DOXYGEN_HTML_EXTRA_STYLESHEET@
+HTML_EXTRA_FILES = @DOXYGEN_HTML_EXTRA_FILES@
+HTML_COLORSTYLE_HUE = @DOXYGEN_HTML_COLORSTYLE_HUE@
+HTML_COLORSTYLE_SAT = @DOXYGEN_HTML_COLORSTYLE_SAT@
+HTML_COLORSTYLE_GAMMA = @DOXYGEN_HTML_COLORSTYLE_GAMMA@
+HTML_TIMESTAMP = @DOXYGEN_HTML_TIMESTAMP@
+HTML_DYNAMIC_MENUS = @DOXYGEN_HTML_DYNAMIC_MENUS@
+HTML_DYNAMIC_SECTIONS = @DOXYGEN_HTML_DYNAMIC_SECTIONS@
+HTML_INDEX_NUM_ENTRIES = @DOXYGEN_HTML_INDEX_NUM_ENTRIES@
+GENERATE_DOCSET = @DOXYGEN_GENERATE_DOCSET@
+DOCSET_FEEDNAME = @DOXYGEN_DOCSET_FEEDNAME@
+DOCSET_BUNDLE_ID = @DOXYGEN_DOCSET_BUNDLE_ID@
+DOCSET_PUBLISHER_ID = @DOXYGEN_DOCSET_PUBLISHER_ID@
+DOCSET_PUBLISHER_NAME = @DOXYGEN_DOCSET_PUBLISHER_NAME@
+GENERATE_HTMLHELP = @DOXYGEN_GENERATE_HTMLHELP@
+CHM_FILE = @DOXYGEN_CHM_FILE@
+HHC_LOCATION = @DOXYGEN_HHC_LOCATION@
+GENERATE_CHI = @DOXYGEN_GENERATE_CHI@
+CHM_INDEX_ENCODING = @DOXYGEN_CHM_INDEX_ENCODING@
+BINARY_TOC = @DOXYGEN_BINARY_TOC@
+TOC_EXPAND = @DOXYGEN_TOC_EXPAND@
+GENERATE_QHP = @DOXYGEN_GENERATE_QHP@
+QCH_FILE = @DOXYGEN_QCH_FILE@
+QHP_NAMESPACE = @DOXYGEN_QHP_NAMESPACE@
+QHP_VIRTUAL_FOLDER = @DOXYGEN_QHP_VIRTUAL_FOLDER@
+QHP_CUST_FILTER_NAME = @DOXYGEN_QHP_CUST_FILTER_NAME@
+QHP_CUST_FILTER_ATTRS = @DOXYGEN_QHP_CUST_FILTER_ATTRS@
+QHP_SECT_FILTER_ATTRS = @DOXYGEN_QHP_SECT_FILTER_ATTRS@
+QHG_LOCATION = @DOXYGEN_QHG_LOCATION@
+GENERATE_ECLIPSEHELP = @DOXYGEN_GENERATE_ECLIPSEHELP@
+ECLIPSE_DOC_ID = @DOXYGEN_ECLIPSE_DOC_ID@
+DISABLE_INDEX = @DOXYGEN_DISABLE_INDEX@
+GENERATE_TREEVIEW = @DOXYGEN_GENERATE_TREEVIEW@
+ENUM_VALUES_PER_LINE = @DOXYGEN_ENUM_VALUES_PER_LINE@
+TREEVIEW_WIDTH = @DOXYGEN_TREEVIEW_WIDTH@
+EXT_LINKS_IN_WINDOW = @DOXYGEN_EXT_LINKS_IN_WINDOW@
+FORMULA_FONTSIZE = @DOXYGEN_FORMULA_FONTSIZE@
+FORMULA_TRANSPARENT = @DOXYGEN_FORMULA_TRANSPARENT@
+FORMULA_MACROFILE = @DOXYGEN_FORMULA_MACROFILE@
+USE_MATHJAX = @DOXYGEN_USE_MATHJAX@
+MATHJAX_FORMAT = @DOXYGEN_MATHJAX_FORMAT@
+MATHJAX_RELPATH = @DOXYGEN_MATHJAX_RELPATH@
+MATHJAX_EXTENSIONS = @DOXYGEN_MATHJAX_EXTENSIONS@
+MATHJAX_CODEFILE = @DOXYGEN_MATHJAX_CODEFILE@
+SEARCHENGINE = @DOXYGEN_SEARCHENGINE@
+SERVER_BASED_SEARCH = @DOXYGEN_SERVER_BASED_SEARCH@
+EXTERNAL_SEARCH = @DOXYGEN_EXTERNAL_SEARCH@
+SEARCHENGINE_URL = @DOXYGEN_SEARCHENGINE_URL@
+SEARCHDATA_FILE = @DOXYGEN_SEARCHDATA_FILE@
+EXTERNAL_SEARCH_ID = @DOXYGEN_EXTERNAL_SEARCH_ID@
+EXTRA_SEARCH_MAPPINGS = @DOXYGEN_EXTRA_SEARCH_MAPPINGS@
+GENERATE_LATEX = @DOXYGEN_GENERATE_LATEX@
+LATEX_OUTPUT = @DOXYGEN_LATEX_OUTPUT@
+LATEX_CMD_NAME = @DOXYGEN_LATEX_CMD_NAME@
+MAKEINDEX_CMD_NAME = @DOXYGEN_MAKEINDEX_CMD_NAME@
+LATEX_MAKEINDEX_CMD = @DOXYGEN_LATEX_MAKEINDEX_CMD@
+COMPACT_LATEX = @DOXYGEN_COMPACT_LATEX@
+PAPER_TYPE = @DOXYGEN_PAPER_TYPE@
+EXTRA_PACKAGES = @DOXYGEN_EXTRA_PACKAGES@
+LATEX_HEADER = @DOXYGEN_LATEX_HEADER@
+LATEX_FOOTER = @DOXYGEN_LATEX_FOOTER@
+LATEX_EXTRA_STYLESHEET = @DOXYGEN_LATEX_EXTRA_STYLESHEET@
+LATEX_EXTRA_FILES = @DOXYGEN_LATEX_EXTRA_FILES@
+PDF_HYPERLINKS = @DOXYGEN_PDF_HYPERLINKS@
+USE_PDFLATEX = @DOXYGEN_USE_PDFLATEX@
+LATEX_BATCHMODE = @DOXYGEN_LATEX_BATCHMODE@
+LATEX_HIDE_INDICES = @DOXYGEN_LATEX_HIDE_INDICES@
+LATEX_SOURCE_CODE = @DOXYGEN_LATEX_SOURCE_CODE@
+LATEX_BIB_STYLE = @DOXYGEN_LATEX_BIB_STYLE@
+LATEX_TIMESTAMP = @DOXYGEN_LATEX_TIMESTAMP@
+LATEX_EMOJI_DIRECTORY = @DOXYGEN_LATEX_EMOJI_DIRECTORY@
+GENERATE_RTF = @DOXYGEN_GENERATE_RTF@
+RTF_OUTPUT = @DOXYGEN_RTF_OUTPUT@
+COMPACT_RTF = @DOXYGEN_COMPACT_RTF@
+RTF_HYPERLINKS = @DOXYGEN_RTF_HYPERLINKS@
+RTF_STYLESHEET_FILE = @DOXYGEN_RTF_STYLESHEET_FILE@
+RTF_EXTENSIONS_FILE = @DOXYGEN_RTF_EXTENSIONS_FILE@
+RTF_SOURCE_CODE = @DOXYGEN_RTF_SOURCE_CODE@
+GENERATE_MAN = @DOXYGEN_GENERATE_MAN@
+MAN_OUTPUT = @DOXYGEN_MAN_OUTPUT@
+MAN_EXTENSION = @DOXYGEN_MAN_EXTENSION@
+MAN_SUBDIR = @DOXYGEN_MAN_SUBDIR@
+MAN_LINKS = @DOXYGEN_MAN_LINKS@
+GENERATE_XML = @DOXYGEN_GENERATE_XML@
+XML_OUTPUT = @DOXYGEN_XML_OUTPUT@
+XML_PROGRAMLISTING = @DOXYGEN_XML_PROGRAMLISTING@
+XML_NS_MEMB_FILE_SCOPE = @DOXYGEN_XML_NS_MEMB_FILE_SCOPE@
+GENERATE_DOCBOOK = @DOXYGEN_GENERATE_DOCBOOK@
+DOCBOOK_OUTPUT = @DOXYGEN_DOCBOOK_OUTPUT@
+DOCBOOK_PROGRAMLISTING = @DOXYGEN_DOCBOOK_PROGRAMLISTING@
+GENERATE_AUTOGEN_DEF = @DOXYGEN_GENERATE_AUTOGEN_DEF@
+GENERATE_PERLMOD = @DOXYGEN_GENERATE_PERLMOD@
+PERLMOD_LATEX = @DOXYGEN_PERLMOD_LATEX@
+PERLMOD_PRETTY = @DOXYGEN_PERLMOD_PRETTY@
+PERLMOD_MAKEVAR_PREFIX = @DOXYGEN_PERLMOD_MAKEVAR_PREFIX@
+ENABLE_PREPROCESSING = @DOXYGEN_ENABLE_PREPROCESSING@
+MACRO_EXPANSION = @DOXYGEN_MACRO_EXPANSION@
+EXPAND_ONLY_PREDEF = @DOXYGEN_EXPAND_ONLY_PREDEF@
+SEARCH_INCLUDES = @DOXYGEN_SEARCH_INCLUDES@
+INCLUDE_PATH = @DOXYGEN_INCLUDE_PATH@
+INCLUDE_FILE_PATTERNS = @DOXYGEN_INCLUDE_FILE_PATTERNS@
+PREDEFINED = @DOXYGEN_PREDEFINED@
+EXPAND_AS_DEFINED = @DOXYGEN_EXPAND_AS_DEFINED@
+SKIP_FUNCTION_MACROS = @DOXYGEN_SKIP_FUNCTION_MACROS@
+TAGFILES = @DOXYGEN_TAGFILES@
+GENERATE_TAGFILE = @DOXYGEN_GENERATE_TAGFILE@
+ALLEXTERNALS = @DOXYGEN_ALLEXTERNALS@
+EXTERNAL_GROUPS = @DOXYGEN_EXTERNAL_GROUPS@
+EXTERNAL_PAGES = @DOXYGEN_EXTERNAL_PAGES@
+CLASS_DIAGRAMS = @DOXYGEN_CLASS_DIAGRAMS@
+DIA_PATH = @DOXYGEN_DIA_PATH@
+HIDE_UNDOC_RELATIONS = @DOXYGEN_HIDE_UNDOC_RELATIONS@
+HAVE_DOT = @DOXYGEN_HAVE_DOT@
+DOT_NUM_THREADS = @DOXYGEN_DOT_NUM_THREADS@
+DOT_FONTNAME = @DOXYGEN_DOT_FONTNAME@
+DOT_FONTSIZE = @DOXYGEN_DOT_FONTSIZE@
+DOT_FONTPATH = @DOXYGEN_DOT_FONTPATH@
+CLASS_GRAPH = @DOXYGEN_CLASS_GRAPH@
+COLLABORATION_GRAPH = @DOXYGEN_COLLABORATION_GRAPH@
+GROUP_GRAPHS = @DOXYGEN_GROUP_GRAPHS@
+UML_LOOK = @DOXYGEN_UML_LOOK@
+UML_LIMIT_NUM_FIELDS = @DOXYGEN_UML_LIMIT_NUM_FIELDS@
+TEMPLATE_RELATIONS = @DOXYGEN_TEMPLATE_RELATIONS@
+INCLUDE_GRAPH = @DOXYGEN_INCLUDE_GRAPH@
+INCLUDED_BY_GRAPH = @DOXYGEN_INCLUDED_BY_GRAPH@
+CALL_GRAPH = @DOXYGEN_CALL_GRAPH@
+CALLER_GRAPH = @DOXYGEN_CALLER_GRAPH@
+GRAPHICAL_HIERARCHY = @DOXYGEN_GRAPHICAL_HIERARCHY@
+DIRECTORY_GRAPH = @DOXYGEN_DIRECTORY_GRAPH@
+DOT_IMAGE_FORMAT = @DOXYGEN_DOT_IMAGE_FORMAT@
+INTERACTIVE_SVG = @DOXYGEN_INTERACTIVE_SVG@
+DOT_PATH = @DOXYGEN_DOT_PATH@
+DOTFILE_DIRS = @DOXYGEN_DOTFILE_DIRS@
+MSCFILE_DIRS = @DOXYGEN_MSCFILE_DIRS@
+DIAFILE_DIRS = @DOXYGEN_DIAFILE_DIRS@
+PLANTUML_JAR_PATH = @DOXYGEN_PLANTUML_JAR_PATH@
+PLANTUML_CFG_FILE = @DOXYGEN_PLANTUML_CFG_FILE@
+PLANTUML_INCLUDE_PATH = @DOXYGEN_PLANTUML_INCLUDE_PATH@
+DOT_GRAPH_MAX_NODES = @DOXYGEN_DOT_GRAPH_MAX_NODES@
+MAX_DOT_GRAPH_DEPTH = @DOXYGEN_MAX_DOT_GRAPH_DEPTH@
+DOT_TRANSPARENT = @DOXYGEN_DOT_TRANSPARENT@
+DOT_MULTI_TARGETS = @DOXYGEN_DOT_MULTI_TARGETS@
+GENERATE_LEGEND = @DOXYGEN_GENERATE_LEGEND@
+DOT_CLEANUP = @DOXYGEN_DOT_CLEANUP@
diff --git a/plor/build/CMakeDoxygenDefaults.cmake b/plor/build/CMakeDoxygenDefaults.cmake
new file mode 100644
index 00000000..db28798f
--- /dev/null
+++ b/plor/build/CMakeDoxygenDefaults.cmake
@@ -0,0 +1,672 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+if(NOT DEFINED DOXYGEN_DOXYFILE_ENCODING)
+ set(DOXYGEN_DOXYFILE_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_PROJECT_NAME)
+ set(DOXYGEN_PROJECT_NAME "My Project")
+endif()
+if(NOT DEFINED DOXYGEN_CREATE_SUBDIRS)
+ set(DOXYGEN_CREATE_SUBDIRS NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALLOW_UNICODE_NAMES)
+ set(DOXYGEN_ALLOW_UNICODE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_LANGUAGE)
+ set(DOXYGEN_OUTPUT_LANGUAGE English)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_TEXT_DIRECTION)
+ set(DOXYGEN_OUTPUT_TEXT_DIRECTION None)
+endif()
+if(NOT DEFINED DOXYGEN_BRIEF_MEMBER_DESC)
+ set(DOXYGEN_BRIEF_MEMBER_DESC YES)
+endif()
+if(NOT DEFINED DOXYGEN_REPEAT_BRIEF)
+ set(DOXYGEN_REPEAT_BRIEF YES)
+endif()
+if(NOT DEFINED DOXYGEN_ABBREVIATE_BRIEF)
+ set(DOXYGEN_ABBREVIATE_BRIEF "The $name class"
+ "The $name widget"
+ "The $name file"
+ is
+ provides
+ specifies
+ contains
+ represents
+ a
+ an
+ the)
+endif()
+if(NOT DEFINED DOXYGEN_ALWAYS_DETAILED_SEC)
+ set(DOXYGEN_ALWAYS_DETAILED_SEC NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INHERITED_MEMB)
+ set(DOXYGEN_INLINE_INHERITED_MEMB NO)
+endif()
+if(NOT DEFINED DOXYGEN_FULL_PATH_NAMES)
+ set(DOXYGEN_FULL_PATH_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHORT_NAMES)
+ set(DOXYGEN_SHORT_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_AUTOBRIEF)
+ set(DOXYGEN_JAVADOC_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_BANNER)
+ set(DOXYGEN_JAVADOC_BANNER NO)
+endif()
+if(NOT DEFINED DOXYGEN_QT_AUTOBRIEF)
+ set(DOXYGEN_QT_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_MULTILINE_CPP_IS_BRIEF)
+ set(DOXYGEN_MULTILINE_CPP_IS_BRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_INHERIT_DOCS)
+ set(DOXYGEN_INHERIT_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SEPARATE_MEMBER_PAGES)
+ set(DOXYGEN_SEPARATE_MEMBER_PAGES NO)
+endif()
+if(NOT DEFINED DOXYGEN_TAB_SIZE)
+ set(DOXYGEN_TAB_SIZE 4)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_FOR_C)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_FOR_C NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_JAVA)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_JAVA NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_FOR_FORTRAN)
+ set(DOXYGEN_OPTIMIZE_FOR_FORTRAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_VHDL)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_VHDL NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_SLICE)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_SLICE NO)
+endif()
+if(NOT DEFINED DOXYGEN_MARKDOWN_SUPPORT)
+ set(DOXYGEN_MARKDOWN_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_INCLUDE_HEADINGS)
+ set(DOXYGEN_TOC_INCLUDE_HEADINGS 5)
+endif()
+if(NOT DEFINED DOXYGEN_AUTOLINK_SUPPORT)
+ set(DOXYGEN_AUTOLINK_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_BUILTIN_STL_SUPPORT)
+ set(DOXYGEN_BUILTIN_STL_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_CPP_CLI_SUPPORT)
+ set(DOXYGEN_CPP_CLI_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_SIP_SUPPORT)
+ set(DOXYGEN_SIP_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_IDL_PROPERTY_SUPPORT)
+ set(DOXYGEN_IDL_PROPERTY_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DISTRIBUTE_GROUP_DOC)
+ set(DOXYGEN_DISTRIBUTE_GROUP_DOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_NESTED_COMPOUNDS)
+ set(DOXYGEN_GROUP_NESTED_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SUBGROUPING)
+ set(DOXYGEN_SUBGROUPING YES)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_GROUPED_CLASSES)
+ set(DOXYGEN_INLINE_GROUPED_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SIMPLE_STRUCTS)
+ set(DOXYGEN_INLINE_SIMPLE_STRUCTS NO)
+endif()
+if(NOT DEFINED DOXYGEN_TYPEDEF_HIDES_STRUCT)
+ set(DOXYGEN_TYPEDEF_HIDES_STRUCT NO)
+endif()
+if(NOT DEFINED DOXYGEN_LOOKUP_CACHE_SIZE)
+ set(DOXYGEN_LOOKUP_CACHE_SIZE 0)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ALL)
+ set(DOXYGEN_EXTRACT_ALL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIVATE)
+ set(DOXYGEN_EXTRACT_PRIVATE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIV_VIRTUAL)
+ set(DOXYGEN_EXTRACT_PRIV_VIRTUAL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PACKAGE)
+ set(DOXYGEN_EXTRACT_PACKAGE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_STATIC)
+ set(DOXYGEN_EXTRACT_STATIC NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_CLASSES)
+ set(DOXYGEN_EXTRACT_LOCAL_CLASSES YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_METHODS)
+ set(DOXYGEN_EXTRACT_LOCAL_METHODS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ANON_NSPACES)
+ set(DOXYGEN_EXTRACT_ANON_NSPACES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_MEMBERS)
+ set(DOXYGEN_HIDE_UNDOC_MEMBERS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_CLASSES)
+ set(DOXYGEN_HIDE_UNDOC_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_FRIEND_COMPOUNDS)
+ set(DOXYGEN_HIDE_FRIEND_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_IN_BODY_DOCS)
+ set(DOXYGEN_HIDE_IN_BODY_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INTERNAL_DOCS)
+ set(DOXYGEN_INTERNAL_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_CASE_SENSE_NAMES)
+ set(DOXYGEN_CASE_SENSE_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_SCOPE_NAMES)
+ set(DOXYGEN_HIDE_SCOPE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_COMPOUND_REFERENCE)
+ set(DOXYGEN_HIDE_COMPOUND_REFERENCE NO)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_INCLUDE_FILES)
+ set(DOXYGEN_SHOW_INCLUDE_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_GROUPED_MEMB_INC)
+ set(DOXYGEN_SHOW_GROUPED_MEMB_INC NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORCE_LOCAL_INCLUDES)
+ set(DOXYGEN_FORCE_LOCAL_INCLUDES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INFO)
+ set(DOXYGEN_INLINE_INFO YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBER_DOCS)
+ set(DOXYGEN_SORT_MEMBER_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BRIEF_DOCS)
+ set(DOXYGEN_SORT_BRIEF_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBERS_CTORS_1ST)
+ set(DOXYGEN_SORT_MEMBERS_CTORS_1ST NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_GROUP_NAMES)
+ set(DOXYGEN_SORT_GROUP_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BY_SCOPE_NAME)
+ set(DOXYGEN_SORT_BY_SCOPE_NAME NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRICT_PROTO_MATCHING)
+ set(DOXYGEN_STRICT_PROTO_MATCHING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TODOLIST)
+ set(DOXYGEN_GENERATE_TODOLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TESTLIST)
+ set(DOXYGEN_GENERATE_TESTLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_BUGLIST)
+ set(DOXYGEN_GENERATE_BUGLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DEPRECATEDLIST)
+ set(DOXYGEN_GENERATE_DEPRECATEDLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_INITIALIZER_LINES)
+ set(DOXYGEN_MAX_INITIALIZER_LINES 30)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_USED_FILES)
+ set(DOXYGEN_SHOW_USED_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_FILES)
+ set(DOXYGEN_SHOW_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_NAMESPACES)
+ set(DOXYGEN_SHOW_NAMESPACES YES)
+endif()
+if(NOT DEFINED DOXYGEN_QUIET)
+ set(DOXYGEN_QUIET NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARNINGS)
+ set(DOXYGEN_WARNINGS YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_UNDOCUMENTED)
+ set(DOXYGEN_WARN_IF_UNDOCUMENTED YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_DOC_ERROR)
+ set(DOXYGEN_WARN_IF_DOC_ERROR YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_NO_PARAMDOC)
+ set(DOXYGEN_WARN_NO_PARAMDOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_AS_ERROR)
+ set(DOXYGEN_WARN_AS_ERROR NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_FORMAT)
+ set(DOXYGEN_WARN_FORMAT "$file:$line: $text")
+endif()
+if(NOT DEFINED DOXYGEN_INPUT_ENCODING)
+ set(DOXYGEN_INPUT_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_FILE_PATTERNS)
+ set(DOXYGEN_FILE_PATTERNS *.c
+ *.cc
+ *.cxx
+ *.cpp
+ *.c++
+ *.java
+ *.ii
+ *.ixx
+ *.ipp
+ *.i++
+ *.inl
+ *.idl
+ *.ddl
+ *.odl
+ *.h
+ *.hh
+ *.hxx
+ *.hpp
+ *.h++
+ *.cs
+ *.d
+ *.php
+ *.php4
+ *.php5
+ *.phtml
+ *.inc
+ *.m
+ *.markdown
+ *.md
+ *.mm
+ *.dox
+ *.doc
+ *.txt
+ *.py
+ *.pyw
+ *.f90
+ *.f95
+ *.f03
+ *.f08
+ *.f
+ *.for
+ *.tcl
+ *.vhd
+ *.vhdl
+ *.ucf
+ *.qsf
+ *.ice)
+endif()
+if(NOT DEFINED DOXYGEN_RECURSIVE)
+ set(DOXYGEN_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXCLUDE_SYMLINKS)
+ set(DOXYGEN_EXCLUDE_SYMLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_PATTERNS)
+ set(DOXYGEN_EXAMPLE_PATTERNS *)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_RECURSIVE)
+ set(DOXYGEN_EXAMPLE_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_FILTER_SOURCE_FILES)
+ set(DOXYGEN_FILTER_SOURCE_FILES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_BROWSER)
+ set(DOXYGEN_SOURCE_BROWSER NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SOURCES)
+ set(DOXYGEN_INLINE_SOURCES NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRIP_CODE_COMMENTS)
+ set(DOXYGEN_STRIP_CODE_COMMENTS YES)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCED_BY_RELATION)
+ set(DOXYGEN_REFERENCED_BY_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_RELATION)
+ set(DOXYGEN_REFERENCES_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_LINK_SOURCE)
+ set(DOXYGEN_REFERENCES_LINK_SOURCE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_TOOLTIPS)
+ set(DOXYGEN_SOURCE_TOOLTIPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_HTAGS)
+ set(DOXYGEN_USE_HTAGS NO)
+endif()
+if(NOT DEFINED DOXYGEN_VERBATIM_HEADERS)
+ set(DOXYGEN_VERBATIM_HEADERS YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLANG_ASSISTED_PARSING)
+ set(DOXYGEN_CLANG_ASSISTED_PARSING NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALPHABETICAL_INDEX)
+ set(DOXYGEN_ALPHABETICAL_INDEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLS_IN_ALPHA_INDEX)
+ set(DOXYGEN_COLS_IN_ALPHA_INDEX 5)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTML)
+ set(DOXYGEN_GENERATE_HTML YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_OUTPUT)
+ set(DOXYGEN_HTML_OUTPUT html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_FILE_EXTENSION)
+ set(DOXYGEN_HTML_FILE_EXTENSION .html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_HUE)
+ set(DOXYGEN_HTML_COLORSTYLE_HUE 220)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_SAT)
+ set(DOXYGEN_HTML_COLORSTYLE_SAT 100)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_GAMMA)
+ set(DOXYGEN_HTML_COLORSTYLE_GAMMA 80)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_TIMESTAMP)
+ set(DOXYGEN_HTML_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_MENUS)
+ set(DOXYGEN_HTML_DYNAMIC_MENUS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_SECTIONS)
+ set(DOXYGEN_HTML_DYNAMIC_SECTIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_INDEX_NUM_ENTRIES)
+ set(DOXYGEN_HTML_INDEX_NUM_ENTRIES 100)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCSET)
+ set(DOXYGEN_GENERATE_DOCSET NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_FEEDNAME)
+ set(DOXYGEN_DOCSET_FEEDNAME "Doxygen generated docs")
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_BUNDLE_ID)
+ set(DOXYGEN_DOCSET_BUNDLE_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_ID)
+ set(DOXYGEN_DOCSET_PUBLISHER_ID org.doxygen.Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_NAME)
+ set(DOXYGEN_DOCSET_PUBLISHER_NAME Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTMLHELP)
+ set(DOXYGEN_GENERATE_HTMLHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_CHI)
+ set(DOXYGEN_GENERATE_CHI NO)
+endif()
+if(NOT DEFINED DOXYGEN_BINARY_TOC)
+ set(DOXYGEN_BINARY_TOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_EXPAND)
+ set(DOXYGEN_TOC_EXPAND NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_QHP)
+ set(DOXYGEN_GENERATE_QHP NO)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_NAMESPACE)
+ set(DOXYGEN_QHP_NAMESPACE org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_VIRTUAL_FOLDER)
+ set(DOXYGEN_QHP_VIRTUAL_FOLDER doc)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_ECLIPSEHELP)
+ set(DOXYGEN_GENERATE_ECLIPSEHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_ECLIPSE_DOC_ID)
+ set(DOXYGEN_ECLIPSE_DOC_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DISABLE_INDEX)
+ set(DOXYGEN_DISABLE_INDEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TREEVIEW)
+ set(DOXYGEN_GENERATE_TREEVIEW NO)
+endif()
+if(NOT DEFINED DOXYGEN_ENUM_VALUES_PER_LINE)
+ set(DOXYGEN_ENUM_VALUES_PER_LINE 4)
+endif()
+if(NOT DEFINED DOXYGEN_TREEVIEW_WIDTH)
+ set(DOXYGEN_TREEVIEW_WIDTH 250)
+endif()
+if(NOT DEFINED DOXYGEN_EXT_LINKS_IN_WINDOW)
+ set(DOXYGEN_EXT_LINKS_IN_WINDOW NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_FONTSIZE)
+ set(DOXYGEN_FORMULA_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_TRANSPARENT)
+ set(DOXYGEN_FORMULA_TRANSPARENT YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_MATHJAX)
+ set(DOXYGEN_USE_MATHJAX NO)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_FORMAT)
+ set(DOXYGEN_MATHJAX_FORMAT HTML-CSS)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_RELPATH)
+ set(DOXYGEN_MATHJAX_RELPATH https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHENGINE)
+ set(DOXYGEN_SEARCHENGINE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SERVER_BASED_SEARCH)
+ set(DOXYGEN_SERVER_BASED_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_SEARCH)
+ set(DOXYGEN_EXTERNAL_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHDATA_FILE)
+ set(DOXYGEN_SEARCHDATA_FILE searchdata.xml)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LATEX)
+ set(DOXYGEN_GENERATE_LATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_OUTPUT)
+ set(DOXYGEN_LATEX_OUTPUT latex)
+endif()
+if(NOT DEFINED DOXYGEN_MAKEINDEX_CMD_NAME)
+ set(DOXYGEN_MAKEINDEX_CMD_NAME makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_MAKEINDEX_CMD)
+ set(DOXYGEN_LATEX_MAKEINDEX_CMD makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_LATEX)
+ set(DOXYGEN_COMPACT_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PAPER_TYPE)
+ set(DOXYGEN_PAPER_TYPE a4)
+endif()
+if(NOT DEFINED DOXYGEN_PDF_HYPERLINKS)
+ set(DOXYGEN_PDF_HYPERLINKS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_PDFLATEX)
+ set(DOXYGEN_USE_PDFLATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BATCHMODE)
+ set(DOXYGEN_LATEX_BATCHMODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_HIDE_INDICES)
+ set(DOXYGEN_LATEX_HIDE_INDICES NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_SOURCE_CODE)
+ set(DOXYGEN_LATEX_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BIB_STYLE)
+ set(DOXYGEN_LATEX_BIB_STYLE plain)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_TIMESTAMP)
+ set(DOXYGEN_LATEX_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_RTF)
+ set(DOXYGEN_GENERATE_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_OUTPUT)
+ set(DOXYGEN_RTF_OUTPUT rtf)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_RTF)
+ set(DOXYGEN_COMPACT_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_HYPERLINKS)
+ set(DOXYGEN_RTF_HYPERLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_SOURCE_CODE)
+ set(DOXYGEN_RTF_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_MAN)
+ set(DOXYGEN_GENERATE_MAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_OUTPUT)
+ set(DOXYGEN_MAN_OUTPUT man)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_EXTENSION)
+ set(DOXYGEN_MAN_EXTENSION .3)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_LINKS)
+ set(DOXYGEN_MAN_LINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_XML)
+ set(DOXYGEN_GENERATE_XML NO)
+endif()
+if(NOT DEFINED DOXYGEN_XML_OUTPUT)
+ set(DOXYGEN_XML_OUTPUT xml)
+endif()
+if(NOT DEFINED DOXYGEN_XML_PROGRAMLISTING)
+ set(DOXYGEN_XML_PROGRAMLISTING YES)
+endif()
+if(NOT DEFINED DOXYGEN_XML_NS_MEMB_FILE_SCOPE)
+ set(DOXYGEN_XML_NS_MEMB_FILE_SCOPE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCBOOK)
+ set(DOXYGEN_GENERATE_DOCBOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_OUTPUT)
+ set(DOXYGEN_DOCBOOK_OUTPUT docbook)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_PROGRAMLISTING)
+ set(DOXYGEN_DOCBOOK_PROGRAMLISTING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_AUTOGEN_DEF)
+ set(DOXYGEN_GENERATE_AUTOGEN_DEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_PERLMOD)
+ set(DOXYGEN_GENERATE_PERLMOD NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_LATEX)
+ set(DOXYGEN_PERLMOD_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_PRETTY)
+ set(DOXYGEN_PERLMOD_PRETTY YES)
+endif()
+if(NOT DEFINED DOXYGEN_ENABLE_PREPROCESSING)
+ set(DOXYGEN_ENABLE_PREPROCESSING YES)
+endif()
+if(NOT DEFINED DOXYGEN_MACRO_EXPANSION)
+ set(DOXYGEN_MACRO_EXPANSION NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXPAND_ONLY_PREDEF)
+ set(DOXYGEN_EXPAND_ONLY_PREDEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCH_INCLUDES)
+ set(DOXYGEN_SEARCH_INCLUDES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SKIP_FUNCTION_MACROS)
+ set(DOXYGEN_SKIP_FUNCTION_MACROS YES)
+endif()
+if(NOT DEFINED DOXYGEN_ALLEXTERNALS)
+ set(DOXYGEN_ALLEXTERNALS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_GROUPS)
+ set(DOXYGEN_EXTERNAL_GROUPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_PAGES)
+ set(DOXYGEN_EXTERNAL_PAGES YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_DIAGRAMS)
+ set(DOXYGEN_CLASS_DIAGRAMS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_RELATIONS)
+ set(DOXYGEN_HIDE_UNDOC_RELATIONS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HAVE_DOT)
+ set(DOXYGEN_HAVE_DOT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_NUM_THREADS)
+ set(DOXYGEN_DOT_NUM_THREADS 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTNAME)
+ set(DOXYGEN_DOT_FONTNAME Helvetica)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTSIZE)
+ set(DOXYGEN_DOT_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_GRAPH)
+ set(DOXYGEN_CLASS_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLLABORATION_GRAPH)
+ set(DOXYGEN_COLLABORATION_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_GRAPHS)
+ set(DOXYGEN_GROUP_GRAPHS YES)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LOOK)
+ set(DOXYGEN_UML_LOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LIMIT_NUM_FIELDS)
+ set(DOXYGEN_UML_LIMIT_NUM_FIELDS 10)
+endif()
+if(NOT DEFINED DOXYGEN_TEMPLATE_RELATIONS)
+ set(DOXYGEN_TEMPLATE_RELATIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDE_GRAPH)
+ set(DOXYGEN_INCLUDE_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDED_BY_GRAPH)
+ set(DOXYGEN_INCLUDED_BY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_CALL_GRAPH)
+ set(DOXYGEN_CALL_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_CALLER_GRAPH)
+ set(DOXYGEN_CALLER_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_GRAPHICAL_HIERARCHY)
+ set(DOXYGEN_GRAPHICAL_HIERARCHY YES)
+endif()
+if(NOT DEFINED DOXYGEN_DIRECTORY_GRAPH)
+ set(DOXYGEN_DIRECTORY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_IMAGE_FORMAT)
+ set(DOXYGEN_DOT_IMAGE_FORMAT png)
+endif()
+if(NOT DEFINED DOXYGEN_INTERACTIVE_SVG)
+ set(DOXYGEN_INTERACTIVE_SVG NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_GRAPH_MAX_NODES)
+ set(DOXYGEN_DOT_GRAPH_MAX_NODES 50)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_DOT_GRAPH_DEPTH)
+ set(DOXYGEN_MAX_DOT_GRAPH_DEPTH 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_TRANSPARENT)
+ set(DOXYGEN_DOT_TRANSPARENT NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_MULTI_TARGETS)
+ set(DOXYGEN_DOT_MULTI_TARGETS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LEGEND)
+ set(DOXYGEN_GENERATE_LEGEND YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_CLEANUP)
+ set(DOXYGEN_DOT_CLEANUP YES)
+endif()
diff --git a/plor/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake b/plor/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
new file mode 100644
index 00000000..278ef39e
--- /dev/null
+++ b/plor/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
@@ -0,0 +1,88 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "9.4.0")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
+set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
+
+set(CMAKE_CXX_PLATFORM_ID "Linux")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+
+foreach (lang C OBJC OBJCXX)
+ if (CMAKE_${lang}_COMPILER_ID_RUN)
+ foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
+ list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
+ endforeach()
+ endif()
+endforeach()
+
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "ELF")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/plor/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin b/plor/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin
new file mode 100755
index 00000000..156cfcfc
Binary files /dev/null and b/plor/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin differ
diff --git a/plor/build/CMakeFiles/3.17.0/CMakeSystem.cmake b/plor/build/CMakeFiles/3.17.0/CMakeSystem.cmake
new file mode 100644
index 00000000..0fd1f759
--- /dev/null
+++ b/plor/build/CMakeFiles/3.17.0/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/plor/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp b/plor/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
new file mode 100644
index 00000000..69cfdba6
--- /dev/null
+++ b/plor/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
@@ -0,0 +1,660 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+ recognize the extension without flags. Borland does not know .cxx for
+ example. */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+ /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+ /* __SUNPRO_CC = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+ /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+ /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__) || defined(__GNUG__)
+# define COMPILER_ID "GNU"
+# if defined(__GNUC__)
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# else
+# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
+# if defined(__INTEL_CXX11_MODE__)
+# if defined(__cpp_aggregate_nsdmi)
+# define CXX_STD 201402L
+# else
+# define CXX_STD 201103L
+# endif
+# else
+# define CXX_STD 199711L
+# endif
+#elif defined(_MSC_VER) && defined(_MSVC_LANG)
+# define CXX_STD _MSVC_LANG
+#else
+# define CXX_STD __cplusplus
+#endif
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if CXX_STD > 201703L
+ "20"
+#elif CXX_STD >= 201703L
+ "17"
+#elif CXX_STD >= 201402L
+ "14"
+#elif CXX_STD >= 201103L
+ "11"
+#else
+ "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
diff --git a/plor/build/CMakeFiles/CMakeError.log b/plor/build/CMakeFiles/CMakeError.log
new file mode 100644
index 00000000..8c7c05a0
--- /dev/null
+++ b/plor/build/CMakeFiles/CMakeError.log
@@ -0,0 +1,50 @@
+Performing C++ SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output:
+Change Dir: /home/tngngn/ccbench/plor/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_8b75b && [1/2] Building CXX object CMakeFiles/cmTC_8b75b.dir/src.cxx.o
+[2/2] Linking CXX executable cmTC_8b75b
+FAILED: cmTC_8b75b
+: && /usr/bin/c++ -DCMAKE_HAVE_LIBC_PTHREAD CMakeFiles/cmTC_8b75b.dir/src.cxx.o -o cmTC_8b75b && :
+/usr/bin/ld: CMakeFiles/cmTC_8b75b.dir/src.cxx.o: in function `main':
+src.cxx:(.text+0x46): undefined reference to `pthread_create'
+/usr/bin/ld: src.cxx:(.text+0x52): undefined reference to `pthread_detach'
+/usr/bin/ld: src.cxx:(.text+0x5e): undefined reference to `pthread_cancel'
+/usr/bin/ld: src.cxx:(.text+0x6f): undefined reference to `pthread_join'
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+Source file was:
+#include
+
+void* test_func(void* data)
+{
+ return data;
+}
+
+int main(void)
+{
+ pthread_t thread;
+ pthread_create(&thread, NULL, test_func, NULL);
+ pthread_detach(thread);
+ pthread_cancel(thread);
+ pthread_join(thread, NULL);
+ pthread_atfork(NULL, NULL, NULL);
+ pthread_exit(NULL);
+
+ return 0;
+}
+
+Determining if the function pthread_create exists in the pthreads failed with the following output:
+Change Dir: /home/tngngn/ccbench/plor/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_3ef10 && [1/2] Building CXX object CMakeFiles/cmTC_3ef10.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_3ef10
+FAILED: cmTC_3ef10
+: && /usr/bin/c++ -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_3ef10.dir/CheckFunctionExists.cxx.o -o cmTC_3ef10 -lpthreads && :
+/usr/bin/ld: -lpthreads が見つかりません
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+
diff --git a/plor/build/CMakeFiles/CMakeOutput.log b/plor/build/CMakeFiles/CMakeOutput.log
new file mode 100644
index 00000000..f864931a
--- /dev/null
+++ b/plor/build/CMakeFiles/CMakeOutput.log
@@ -0,0 +1,235 @@
+The system is: Linux - 5.4.0-113-generic - x86_64
+Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
+Compiler: /usr/bin/c++
+Build flags:
+Id flags:
+
+The output was:
+0
+
+
+Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
+
+The CXX compiler identification is GNU, found in "/home/tngngn/ccbench/plor/build/CMakeFiles/3.17.0/CompilerIdCXX/a.out"
+
+Determining if the CXX compiler works passed with the following output:
+Change Dir: /home/tngngn/ccbench/plor/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_7ae25 && [1/2] Building CXX object CMakeFiles/cmTC_7ae25.dir/testCXXCompiler.cxx.o
+[2/2] Linking CXX executable cmTC_7ae25
+
+
+
+Detecting CXX compiler ABI info compiled with the following output:
+Change Dir: /home/tngngn/ccbench/plor/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_65551 && [1/2] Building CXX object CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccTzP65O.s
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"
+ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
+#include "..." search starts here:
+#include <...> search starts here:
+ /usr/include/c++/9
+ /usr/include/x86_64-linux-gnu/c++/9
+ /usr/include/c++/9/backward
+ /usr/lib/gcc/x86_64-linux-gnu/9/include
+ /usr/local/include
+ /usr/include/x86_64-linux-gnu
+ /usr/include
+End of search list.
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ as -v --64 -o CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccTzP65O.s
+GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+[2/2] Linking CXX executable cmTC_65551
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_65551' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccG31XZ4.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_65551 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_65551' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+
+
+
+Parsed CXX implicit include dir info from above output: rv=done
+ found start of include info
+ found start of implicit include info
+ add: [/usr/include/c++/9]
+ add: [/usr/include/x86_64-linux-gnu/c++/9]
+ add: [/usr/include/c++/9/backward]
+ add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ add: [/usr/local/include]
+ add: [/usr/include/x86_64-linux-gnu]
+ add: [/usr/include]
+ end of search list found
+ collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9]
+ collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9]
+ collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward]
+ collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ collapse include dir [/usr/local/include] ==> [/usr/local/include]
+ collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
+ collapse include dir [/usr/include] ==> [/usr/include]
+ implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
+
+
+Parsed CXX implicit link information from above output:
+ link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+ ignore line: [Change Dir: /home/tngngn/ccbench/plor/build/CMakeFiles/CMakeTmp]
+ ignore line: []
+ ignore line: [Run Build Command(s):/usr/local/bin/ninja cmTC_65551 && [1/2] Building CXX object CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccTzP65O.s]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"]
+ ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
+ ignore line: [#include "..." search starts here:]
+ ignore line: [#include <...> search starts here:]
+ ignore line: [ /usr/include/c++/9]
+ ignore line: [ /usr/include/x86_64-linux-gnu/c++/9]
+ ignore line: [ /usr/include/c++/9/backward]
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
+ ignore line: [ /usr/local/include]
+ ignore line: [ /usr/include/x86_64-linux-gnu]
+ ignore line: [ /usr/include]
+ ignore line: [End of search list.]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ as -v --64 -o CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccTzP65O.s]
+ ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [[2/2] Linking CXX executable cmTC_65551]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_65551' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccG31XZ4.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_65551 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
+ arg [-plugin] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
+ arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
+ arg [-plugin-opt=-fresolution=/tmp/ccG31XZ4.res] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [--build-id] ==> ignore
+ arg [--eh-frame-hdr] ==> ignore
+ arg [-m] ==> ignore
+ arg [elf_x86_64] ==> ignore
+ arg [--hash-style=gnu] ==> ignore
+ arg [--as-needed] ==> ignore
+ arg [-dynamic-linker] ==> ignore
+ arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+ arg [-pie] ==> ignore
+ arg [-znow] ==> ignore
+ arg [-zrelro] ==> ignore
+ arg [-o] ==> ignore
+ arg [cmTC_65551] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
+ arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+ arg [-L/lib/../lib] ==> dir [/lib/../lib]
+ arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+ arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
+ arg [CMakeFiles/cmTC_65551.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+ arg [-lstdc++] ==> lib [stdc++]
+ arg [-lm] ==> lib [m]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [-lc] ==> lib [c]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
+ collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+ collapse library dir [/lib/../lib] ==> [/lib]
+ collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
+ implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
+ implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+ implicit fwks: []
+
+
+Determining if the include file pthread.h exists passed with the following output:
+Change Dir: /home/tngngn/ccbench/plor/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_945c4 && [1/2] Building CXX object CMakeFiles/cmTC_945c4.dir/CheckIncludeFile.cxx.o
+[2/2] Linking CXX executable cmTC_945c4
+
+
+
+Determining if the function pthread_create exists in the pthread passed with the following output:
+Change Dir: /home/tngngn/ccbench/plor/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_4c1d8 && [1/2] Building CXX object CMakeFiles/cmTC_4c1d8.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_4c1d8
+
+
+
diff --git a/plor/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx b/plor/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
new file mode 100644
index 00000000..13435e07
--- /dev/null
+++ b/plor/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
@@ -0,0 +1,28 @@
+#ifdef CHECK_FUNCTION_EXISTS
+
+# ifdef __cplusplus
+extern "C"
+# endif
+ char
+ CHECK_FUNCTION_EXISTS(void);
+# ifdef __CLASSIC_C__
+int main()
+{
+ int ac;
+ char* av[];
+# else
+int main(int ac, char* av[])
+{
+# endif
+ CHECK_FUNCTION_EXISTS();
+ if (ac > 1000) {
+ return *av[0];
+ }
+ return 0;
+}
+
+#else /* CHECK_FUNCTION_EXISTS */
+
+# error "CHECK_FUNCTION_EXISTS has to specify the function"
+
+#endif /* CHECK_FUNCTION_EXISTS */
diff --git a/plor/build/CMakeFiles/TargetDirectories.txt b/plor/build/CMakeFiles/TargetDirectories.txt
new file mode 100644
index 00000000..10364580
--- /dev/null
+++ b/plor/build/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,3 @@
+/home/tngngn/ccbench/plor/build/CMakeFiles/rebuild_cache.dir
+/home/tngngn/ccbench/plor/build/CMakeFiles/edit_cache.dir
+/home/tngngn/ccbench/plor/build/CMakeFiles/ss2pl.exe.dir
diff --git a/plor/build/CMakeFiles/cmake.check_cache b/plor/build/CMakeFiles/cmake.check_cache
new file mode 100644
index 00000000..3dccd731
--- /dev/null
+++ b/plor/build/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/plor/build/build.ninja b/plor/build/build.ninja
new file mode 100644
index 00000000..5a947fd4
--- /dev/null
+++ b/plor/build/build.ninja
@@ -0,0 +1,186 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the build statements describing the
+# compilation DAG.
+
+# =============================================================================
+# Write statements declared in CMakeLists.txt:
+#
+# Which is the root file.
+# =============================================================================
+
+# =============================================================================
+# Project: ccbench_ss2pl
+# Configurations: Debug
+# =============================================================================
+
+#############################################
+# Minimal version of Ninja required by this file
+
+ninja_required_version = 1.5
+
+
+#############################################
+# Set configuration variable for custom commands.
+
+CONFIGURATION = Debug
+# =============================================================================
+# Include auxiliary files.
+
+
+#############################################
+# Include rules file.
+
+include rules.ninja
+
+
+#############################################
+# Utility command for rebuild_cache
+
+build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/plor/build && /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/plor -B/home/tngngn/ccbench/plor/build
+ DESC = Running CMake to regenerate build system...
+ pool = console
+ restat = 1
+
+build rebuild_cache: phony CMakeFiles/rebuild_cache.util
+
+
+#############################################
+# Utility command for edit_cache
+
+build CMakeFiles/edit_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/plor/build && /usr/local/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+ DESC = No interactive CMake dialog available...
+ restat = 1
+
+build edit_cache: phony CMakeFiles/edit_cache.util
+
+# =============================================================================
+# Object build statements for EXECUTABLE target ss2pl.exe
+
+
+#############################################
+# Order-only phony target for ss2pl.exe
+
+build cmake_object_order_depends_target_ss2pl.exe_Debug: phony || CMakeFiles/ss2pl.exe.dir
+
+build CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o: CXX_COMPILER__ss2pl.2eexe_Debug /home/tngngn/ccbench/common/result.cc || cmake_object_order_depends_target_ss2pl.exe_Debug
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o.d
+ FLAGS = -g -fno-omit-frame-pointer -fsanitize=address -fno-sanitize=alignment -fno-sanitize-recover=address -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o: CXX_COMPILER__ss2pl.2eexe_Debug /home/tngngn/ccbench/common/util.cc || cmake_object_order_depends_target_ss2pl.exe_Debug
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o.d
+ FLAGS = -g -fno-omit-frame-pointer -fsanitize=address -fno-sanitize=alignment -fno-sanitize-recover=address -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/result.cc.o: CXX_COMPILER__ss2pl.2eexe_Debug ../result.cc || cmake_object_order_depends_target_ss2pl.exe_Debug
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/result.cc.o.d
+ FLAGS = -g -fno-omit-frame-pointer -fsanitize=address -fno-sanitize=alignment -fno-sanitize-recover=address -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o: CXX_COMPILER__ss2pl.2eexe_Debug ../ss2pl.cc || cmake_object_order_depends_target_ss2pl.exe_Debug
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o.d
+ FLAGS = -g -fno-omit-frame-pointer -fsanitize=address -fno-sanitize=alignment -fno-sanitize-recover=address -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/transaction.cc.o: CXX_COMPILER__ss2pl.2eexe_Debug ../transaction.cc || cmake_object_order_depends_target_ss2pl.exe_Debug
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/transaction.cc.o.d
+ FLAGS = -g -fno-omit-frame-pointer -fsanitize=address -fno-sanitize=alignment -fno-sanitize-recover=address -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/util.cc.o: CXX_COMPILER__ss2pl.2eexe_Debug ../util.cc || cmake_object_order_depends_target_ss2pl.exe_Debug
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/util.cc.o.d
+ FLAGS = -g -fno-omit-frame-pointer -fsanitize=address -fno-sanitize=alignment -fno-sanitize-recover=address -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+
+# =============================================================================
+# Link build statements for EXECUTABLE target ss2pl.exe
+
+
+#############################################
+# Link the executable ss2pl.exe
+
+build ss2pl.exe: CXX_EXECUTABLE_LINKER__ss2pl.2eexe_Debug CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o CMakeFiles/ss2pl.exe.dir/result.cc.o CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o CMakeFiles/ss2pl.exe.dir/transaction.cc.o CMakeFiles/ss2pl.exe.dir/util.cc.o | /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a
+ FLAGS = -g -fno-omit-frame-pointer -fsanitize=address -fno-sanitize=alignment -fno-sanitize-recover=address
+ LINK_LIBRARIES = /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a -lpthread
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ POST_BUILD = :
+ PRE_LINK = :
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_FILE = ss2pl.exe
+ TARGET_PDB = ss2pl.exe.pdb
+
+# =============================================================================
+# Target aliases.
+
+# =============================================================================
+# Folder targets.
+
+# =============================================================================
+
+#############################################
+# Folder: /home/tngngn/ccbench/plor/build
+
+build all: phony ss2pl.exe
+
+# =============================================================================
+# Built-in targets
+
+
+#############################################
+# Re-run CMake if any of its inputs changed.
+
+build build.ninja: RERUN_CMAKE | ../CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeFindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystem.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckFunctionExists.c /usr/local/share/cmake-3.17/Modules/CheckIncludeFile.cxx.in /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
+ pool = console
+
+
+#############################################
+# A missing CMake input file is not an error.
+
+build ../CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeFindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystem.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckFunctionExists.c /usr/local/share/cmake-3.17/Modules/CheckIncludeFile.cxx.in /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx: phony
+
+
+#############################################
+# Clean all the built files.
+
+build clean: CLEAN
+
+
+#############################################
+# Print all primary targets available.
+
+build help: HELP
+
+
+#############################################
+# Make the all target the default.
+
+default all
diff --git a/plor/build/cmake_install.cmake b/plor/build/cmake_install.cmake
new file mode 100644
index 00000000..42ab8b02
--- /dev/null
+++ b/plor/build/cmake_install.cmake
@@ -0,0 +1,49 @@
+# Install script for directory: /home/tngngn/ccbench/plor
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ if(BUILD_TYPE)
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ else()
+ set(CMAKE_INSTALL_CONFIG_NAME "Debug")
+ endif()
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+ if(COMPONENT)
+ message(STATUS "Install component: \"${COMPONENT}\"")
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ else()
+ set(CMAKE_INSTALL_COMPONENT)
+ endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+ set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+else()
+ set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+ "${CMAKE_INSTALL_MANIFEST_FILES}")
+file(WRITE "/home/tngngn/ccbench/plor/build/${CMAKE_INSTALL_MANIFEST}"
+ "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/plor/build/rules.ninja b/plor/build/rules.ninja
new file mode 100644
index 00000000..83415e80
--- /dev/null
+++ b/plor/build/rules.ninja
@@ -0,0 +1,64 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the rules used to get the outputs files
+# built from the input files.
+# It is included in the main 'build.ninja'.
+
+# =============================================================================
+# Project: ccbench_ss2pl
+# Configurations: Debug
+# =============================================================================
+# =============================================================================
+
+#############################################
+# Rule for running custom commands.
+
+rule CUSTOM_COMMAND
+ command = $COMMAND
+ description = $DESC
+
+
+#############################################
+# Rule for compiling CXX files.
+
+rule CXX_COMPILER__ss2pl.2eexe_Debug
+ depfile = $DEP_FILE
+ deps = gcc
+ command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
+ description = Building CXX object $out
+
+
+#############################################
+# Rule for linking CXX executable.
+
+rule CXX_EXECUTABLE_LINKER__ss2pl.2eexe_Debug
+ command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD
+ description = Linking CXX executable $TARGET_FILE
+ restat = $RESTAT
+
+
+#############################################
+# Rule for re-running cmake.
+
+rule RERUN_CMAKE
+ command = /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/plor -B/home/tngngn/ccbench/plor/build
+ description = Re-running CMake...
+ generator = 1
+
+
+#############################################
+# Rule for cleaning all built files.
+
+rule CLEAN
+ command = /usr/local/bin/ninja $FILE_ARG -t clean $TARGETS
+ description = Cleaning all built files...
+
+
+#############################################
+# Rule for printing all primary targets available.
+
+rule HELP
+ command = /usr/local/bin/ninja -t targets
+ description = All primary targets available:
+
diff --git a/plor/include/common.hh b/plor/include/common.hh
new file mode 100644
index 00000000..579055ef
--- /dev/null
+++ b/plor/include/common.hh
@@ -0,0 +1,57 @@
+#pragma once
+
+#include
+
+#include "../../include/cache_line_size.hh"
+#include "../../include/int64byte.hh"
+#include "../../include/masstree_wrapper.hh"
+#include "tuple.hh"
+
+#include "gflags/gflags.h"
+#include "glog/logging.h"
+
+#ifdef GLOBAL_VALUE_DEFINE
+#define GLOBAL
+
+#if MASSTREE_USE
+alignas(CACHE_LINE_SIZE) GLOBAL MasstreeWrapper MT;
+#endif
+
+#else
+#define GLOBAL extern
+
+#if MASSTREE_USE
+alignas(CACHE_LINE_SIZE) GLOBAL MasstreeWrapper MT;
+#endif
+
+#endif
+
+#ifdef GLOBAL_VALUE_DEFINE
+DEFINE_uint64(clocks_per_us, 2100,
+ "CPU_MHz. Use this info for measuring time.");
+DEFINE_uint64(extime, 3, "Execution time[sec].");
+DEFINE_uint64(max_ope, 10,
+ "Total number of operations per single transaction.");
+DEFINE_bool(rmw, false,
+ "True means read modify write, false means blind write.");
+DEFINE_uint64(rratio, 50, "read ratio of single transaction.");
+DEFINE_uint64(thread_num, 10, "Total number of worker threads.");
+DEFINE_uint64(tuple_num, 1000000, "Total number of records.");
+DEFINE_bool(ycsb, true,
+ "True uses zipf_skew, false uses faster random generator.");
+DEFINE_double(zipf_skew, 0, "zipf skew. 0 ~ 0.999...");
+#else
+DECLARE_uint64(clocks_per_us);
+DECLARE_uint64(extime);
+DECLARE_uint64(max_ope);
+DECLARE_bool(rmw);
+DECLARE_uint64(rratio);
+DECLARE_uint64(thread_num);
+DECLARE_uint64(tuple_num);
+DECLARE_bool(ycsb);
+DECLARE_double(zipf_skew);
+#endif
+
+alignas(CACHE_LINE_SIZE) GLOBAL Tuple *Table;
+alignas(CACHE_LINE_SIZE) GLOBAL int thread_stats[224];
+alignas(CACHE_LINE_SIZE) GLOBAL int thread_timestamp[224];
diff --git a/plor/include/result.hh b/plor/include/result.hh
new file mode 100644
index 00000000..26dd8285
--- /dev/null
+++ b/plor/include/result.hh
@@ -0,0 +1,9 @@
+#pragma once
+
+#include
+
+#include "../../include/result.hh"
+
+extern std::vector SS2PLResult;
+
+extern void initResult();
diff --git a/plor/include/ss2pl_op_element.hh b/plor/include/ss2pl_op_element.hh
new file mode 100644
index 00000000..6162c229
--- /dev/null
+++ b/plor/include/ss2pl_op_element.hh
@@ -0,0 +1,18 @@
+#pragma once
+
+#include "../../include/op_element.hh"
+
+template
+class SetElement : public OpElement {
+public:
+ using OpElement::OpElement;
+
+ char val_[VAL_SIZE];
+
+ SetElement(uint64_t key, T *rcdptr) : OpElement::OpElement(key, rcdptr) {}
+
+ SetElement(uint64_t key, T *rcdptr, char *val)
+ : OpElement::OpElement(key, rcdptr) {
+ memcpy(this->val_, val, VAL_SIZE);
+ }
+};
diff --git a/plor/include/transaction.hh b/plor/include/transaction.hh
new file mode 100644
index 00000000..6bedf0db
--- /dev/null
+++ b/plor/include/transaction.hh
@@ -0,0 +1,83 @@
+#pragma once
+
+#include
+
+#include "../../include/procedure.hh"
+#include "../../include/result.hh"
+#include "../../include/rwlock.hh"
+#include "../../include/string.hh"
+#include "../../include/util.hh"
+#include "ss2pl_op_element.hh"
+#include "tuple.hh"
+
+enum class TransactionStatus : uint8_t {
+ inFlight,
+ committed,
+ aborted,
+};
+
+extern void writeValGenerator(char *writeVal, size_t val_size, size_t thid);
+
+class TxExecutor {
+public:
+ alignas(CACHE_LINE_SIZE) int thid_;
+ std::vector r_lock_list_;
+ std::vector w_lock_list_;
+ TransactionStatus status_ = TransactionStatus::inFlight;
+ Result *sres_;
+ vector > read_set_;
+ vector > write_set_;
+ vector pro_set_;
+
+ char write_val_[VAL_SIZE];
+ char return_val_[VAL_SIZE];
+
+ std::mutex mtx;
+
+ TxExecutor(int thid, Result *sres) : thid_(thid), sres_(sres) {
+ read_set_.reserve(FLAGS_max_ope);
+ write_set_.reserve(FLAGS_max_ope);
+ pro_set_.reserve(FLAGS_max_ope);
+ r_lock_list_.reserve(FLAGS_max_ope);
+ w_lock_list_.reserve(FLAGS_max_ope);
+
+ genStringRepeatedNumber(write_val_, VAL_SIZE, thid);
+ }
+
+ SetElement *searchReadSet(uint64_t key);
+
+ SetElement *searchWriteSet(uint64_t key);
+
+ void begin();
+
+ void read(uint64_t key);
+
+ void write(uint64_t key);
+
+ void readWrite(uint64_t key);
+
+ bool validationPhase();
+
+ void commit();
+
+ void abort();
+
+ void unlockList();
+
+ void unlockRead(int thid, Tuple *tuple);
+
+ void unlockWrite(int thid, Tuple *tuple);
+
+ bool checkRd(int thid, Tuple *tuple);
+
+ void mtx_get();
+
+ void mtx_release();
+
+ //void unlockList();
+
+
+
+ // inline
+ Tuple *get_tuple(Tuple *table, uint64_t key) { return &table[key]; }
+};
diff --git a/plor/include/tuple.hh b/plor/include/tuple.hh
new file mode 100644
index 00000000..2611afec
--- /dev/null
+++ b/plor/include/tuple.hh
@@ -0,0 +1,23 @@
+#pragma once
+
+#include
+#include
+
+#include "../../include/cache_line_size.hh"
+#include "../../include/inline.hh"
+#include "../../include/rwlock.hh"
+
+using namespace std;
+
+class Tuple {
+public:
+ alignas(CACHE_LINE_SIZE) RWLock lock_;
+ char val_[VAL_SIZE];
+ atomic curr_writer = 0;
+ std::vector> waitRd;
+ std::vector> waitWr;
+ Tuple() {
+ waitRd.reserve(224);
+ waitWr.reserve(224);
+ }
+};
diff --git a/plor/include/util.hh b/plor/include/util.hh
new file mode 100644
index 00000000..547508fa
--- /dev/null
+++ b/plor/include/util.hh
@@ -0,0 +1,13 @@
+#pragma once
+
+extern void chkArg();
+
+extern void displayDB();
+
+extern void displayParameter();
+
+extern void makeDB();
+
+extern void partTableInit([[maybe_unused]] size_t thid, uint64_t start, uint64_t end);
+
+extern void ShowOptParameters();
diff --git a/plor/result.cc b/plor/result.cc
new file mode 100644
index 00000000..ff17dd8d
--- /dev/null
+++ b/plor/result.cc
@@ -0,0 +1,11 @@
+#include "include/result.hh"
+#include "include/common.hh"
+
+#include "../include/cache_line_size.hh"
+#include "../include/result.hh"
+
+using namespace std;
+
+alignas(CACHE_LINE_SIZE) std::vector SS2PLResult;
+
+void initResult() { SS2PLResult.resize(FLAGS_thread_num); }
diff --git a/plor/script/test_cache_ana.sh b/plor/script/test_cache_ana.sh
new file mode 100755
index 00000000..df6753dd
--- /dev/null
+++ b/plor/script/test_cache_ana.sh
@@ -0,0 +1,227 @@
+#test_cache_ana.sh(ss2pl)
+maxope=10
+thread=24
+cpu_mhz=2400
+extime=3
+epoch=5
+
+tuple=100
+workload=0
+result=result_ss2pl_r10_cache.dat
+rm $result
+echo "#tuple, cache-miss-ratio, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $workload $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=100000000; tuple=$tuple * 10))
+do
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ sum=0
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-references,cache-misses -o ss2pl_cache_ana.txt ./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl_cache_ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
+tuple=100
+workload=1
+result=result_ss2pl_r8_cache.dat
+rm $result
+echo "#tuple, cache-miss-ratio, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $workload $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=100000000; tuple=$tuple * 10))
+do
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ sum=0
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-references,cache-misses -o ss2pl_cache_ana.txt ./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl_cache_ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
+tuple=100
+workload=2
+result=result_ss2pl_r5_cache.dat
+rm $result
+echo "#tuple, cache-miss-ratio, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $workload $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=100000000; tuple=$tuple * 10))
+do
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ sum=0
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-references,cache-misses -o ss2pl_cache_ana.txt ./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl_cache_ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
+tuple=100
+workload=3
+result=result_ss2pl_r2_cache.dat
+rm $result
+echo "#tuple, cache-miss-ratio, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $workload $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=100000000; tuple=$tuple * 10))
+do
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ sum=0
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-references,cache-misses -o ss2pl_cache_ana.txt ./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl_cache_ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
+tuple=100
+workload=4
+result=result_ss2pl_r0_cache.dat
+rm $result
+echo "#tuple, cache-miss-ratio, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $workload $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=100000000; tuple=$tuple * 10))
+do
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ sum=0
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-references,cache-misses -o ss2pl_cache_ana.txt ./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl_cache_ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
diff --git a/plor/script/test_t1k.sh b/plor/script/test_t1k.sh
new file mode 100755
index 00000000..73dbfec1
--- /dev/null
+++ b/plor/script/test_t1k.sh
@@ -0,0 +1,382 @@
+#test_t1k.sh(ss2pl)
+tuple=1000
+maxope=10
+cpu_mhz=2400
+extime=3
+epoch=5
+
+workload=0
+result=result_ss2pl_r10_tuple1k_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=1
+result=result_ss2pl_r8_tuple1k_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=2
+result=result_ss2pl_r5_tuple1k_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=3
+result=result_ss2pl_r2_tuple1k_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=4
+result=result_ss2pl_r0_tuple1k_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
diff --git a/plor/script/test_t1m.sh b/plor/script/test_t1m.sh
new file mode 100755
index 00000000..9b30a188
--- /dev/null
+++ b/plor/script/test_t1m.sh
@@ -0,0 +1,382 @@
+#test_t1m.sh(ss2pl)
+tuple=1000000
+maxope=10
+cpu_mhz=2400
+extime=3
+epoch=5
+
+workload=0
+result=result_ss2pl_r10_tuple1m_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=1
+result=result_ss2pl_r8_tuple1m_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=2
+result=result_ss2pl_r5_tuple1m_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=3
+result=result_ss2pl_r2_tuple1m_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=4
+result=result_ss2pl_r0_tuple1m_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
diff --git a/plor/script/test_t200.sh b/plor/script/test_t200.sh
new file mode 100755
index 00000000..ed333bb7
--- /dev/null
+++ b/plor/script/test_t200.sh
@@ -0,0 +1,382 @@
+#test_t200.sh(ss2pl)
+tuple=200
+maxope=10
+cpu_mhz=2400
+extime=3
+epoch=5
+
+workload=0
+result=result_ss2pl_r10_tuple200_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=1
+result=result_ss2pl_r8_tuple200_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=2
+result=result_ss2pl_r5_tuple200_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=3
+result=result_ss2pl_r2_tuple200_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=4
+result=result_ss2pl_r0_tuple200_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
diff --git a/plor/script/tst200-1k-1m.sh b/plor/script/tst200-1k-1m.sh
new file mode 100755
index 00000000..c347fa88
--- /dev/null
+++ b/plor/script/tst200-1k-1m.sh
@@ -0,0 +1,1991 @@
+#tst200-1k-1m.sh(ss2pl)
+maxope=10
+rmw=off
+skew=0
+ycsb=off
+cpu_mhz=2400
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+inith=4
+enth=24
+inc=4
+if test $host = $dbs11 ; then
+inith=28
+enth=224
+inc=28
+fi
+
+#kugiri
+rratio=0
+tuple=200
+result=result_ss2pl_r0_tuple200.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=20
+tuple=200
+result=result_ss2pl_r2_tuple200.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=80
+tuple=200
+result=result_ss2pl_r8_tuple200.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=100
+tuple=200
+result=result_ss2pl_r10_tuple200.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=0
+tuple=1000
+result=result_ss2pl_r0_tuple1k.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=20
+tuple=1000
+result=result_ss2pl_r2_tuple1k.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=80
+tuple=1000
+result=result_ss2pl_r8_tuple1k.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=100
+tuple=1000
+result=result_ss2pl_r10_tuple1k.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=0
+tuple=1000000
+result=result_ss2pl_r0_tuple1m.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=20
+tuple=1000000
+result=result_ss2pl_r2_tuple1m.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=80
+tuple=1000000
+result=result_ss2pl_r8_tuple1m.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=100
+tuple=1000000
+result=result_ss2pl_r10_tuple1m.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
diff --git a/plor/script/ycsb-xope.sh b/plor/script/ycsb-xope.sh
new file mode 100755
index 00000000..7398b793
--- /dev/null
+++ b/plor/script/ycsb-xope.sh
@@ -0,0 +1,106 @@
+#ycsb-xope.sh(ss2pl)
+tuple=100000000
+maxope=10
+rratio=95
+rmw=off
+skew=0.8
+ycsb=on
+cpu_mhz=2100
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+cd ../
+make clean; make -j KEY_SIZE=8 VAL_SIZE=4
+cd script/
+
+result=result_ss2pl-dlr1_ycsbB_tuple100m_skew08_ope10-100.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+
+for ((maxope=10; maxope<=100; maxope+=10))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$maxope $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
diff --git a/plor/script/ycsb-xrratio.sh b/plor/script/ycsb-xrratio.sh
new file mode 100755
index 00000000..e4e74263
--- /dev/null
+++ b/plor/script/ycsb-xrratio.sh
@@ -0,0 +1,102 @@
+#ycsb-xrratio.sh(ss2pl)
+tuple=1000000
+maxope=10
+rratio=0
+rmw=off
+skew=0.9
+ycsb=on
+cpu_mhz=2400
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+result=result_ss2pl-dlr1_tuple1m_val1k_skew09_rratio0-100.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pln.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+
+for ((rratio=0; rratio<=100; rratio+=10))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pln.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pln.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pln.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$rratio $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
diff --git a/plor/script/ycsb-xrs.sh b/plor/script/ycsb-xrs.sh
new file mode 100755
index 00000000..fb18cb42
--- /dev/null
+++ b/plor/script/ycsb-xrs.sh
@@ -0,0 +1,118 @@
+#ycsb-xrs.sh(ss2pl)
+maxope=10
+rratioary=(50 95 100)
+rmw=off
+skew=0.9
+ycsb=on
+cpu_mhz=2100
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+cd ../
+make clean; make -j KEY_SIZE=8 VAL_SIZE=1000
+cd script/
+
+for rratio in "${rratioary[@]}"
+do
+ if test $rratio = 50 ; then
+ result=result_ss2pl_ycsbA_tuple1k-100m_val1k_skew09.dat
+ elif test $rratio = 95 ; then
+ result=result_ss2pl_ycsbB_tuple1k-100m_val1k_skew09.dat
+ elif test $rratio = 100 ; then
+ result=result_ss2pl_ycsbC_tuple1k-100m_val1k_skew09.dat
+ else
+ echo "BUG"
+ exit 1
+ fi
+ rm $result
+
+ echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+ echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+
+ for ((tuple=1000; tuple<=100000000; tuple*=10))
+ do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$tuple $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+ done
+done
diff --git a/plor/script/ycsb-xskew.sh b/plor/script/ycsb-xskew.sh
new file mode 100755
index 00000000..314e6020
--- /dev/null
+++ b/plor/script/ycsb-xskew.sh
@@ -0,0 +1,131 @@
+#ycsb-xrs.sh(ss2pl)
+tuple=10000000
+maxope=16
+rratioary=(50 95)
+rmw=on
+ycsb=on
+cpu_mhz=2100
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+cd ../
+make clean; make -j VAL_SIZE=100
+cd script/
+
+for rratio in "${rratioary[@]}"
+do
+ if test $rratio = 50; then
+ thread=28
+ result=result_2pl_ycsbA_tuple10m_ope16_rmw_skew0-099_th28.dat
+ elif test $rratio = 95; then
+ thread=28
+ result=result_2pl_ycsbB_tuple10m_ope16_rmw_skew0-099_th28.dat
+ elif test $rratio = 100; then
+ result=result_ss2pl_ycsbC_tuple1k_skew0-099.dat
+ else
+ echo "BUG"
+ exit 1
+ fi
+ rm $result
+
+ echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+ echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw skew $ycsb $cpu_mhz $extime" >> $result
+ ../ss2pl.exe > exp.txt
+ tmpStr=`grep ShowOptParameters ./exp.txt`
+ echo "#$tmpStr" >> $result
+
+ for ((tmpskew = 0; tmpskew <= 105; tmpskew += 10))
+ do
+ if test $tmpskew = 100 ; then
+ tmpskew=95
+ fi
+ if test $tmpskew = 105 ; then
+ tmpskew=99
+ fi
+ skew=`echo "scale=3; $tmpskew / 100.0" | bc -l | xargs printf %.2f`
+
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$skew $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+ done
+done
diff --git a/plor/script/ycsb-xth.sh b/plor/script/ycsb-xth.sh
new file mode 100755
index 00000000..1ff00ecf
--- /dev/null
+++ b/plor/script/ycsb-xth.sh
@@ -0,0 +1,124 @@
+#ycsb-xrs.sh(ss2pl)
+tuple=10000000
+maxope=1
+#rratioary=(50 95 100)
+rratioary=(95)
+rmw=on
+skew=0.99
+ycsb=on
+cpu_mhz=2100
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+cd ../
+make clean; make -j VAL_SIZE=100
+cd script/
+
+for rratio in "${rratioary[@]}"
+do
+ if test $rratio = 50 ; then
+ result=result_2pl_ycsbA_tuple10m_ope16_rmw_skew099.dat
+ elif test $rratio = 95 ; then
+ result=result_2pl_ycsbB_tuple10m_ope1_rmw_skew099.dat
+ elif test $rratio = 100 ; then
+ result=result_ss2pl_ycsbC_tuple10m_ope1_skew099.dat
+ maxope=1
+ else
+ echo "BUG"
+ exit 1
+ fi
+ rm $result
+
+ echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+ echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+
+ for ((thread=1; thread<=25; thread+=5))
+ do
+ if test $thread = 6 ; then
+ thread=5
+ fi
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$thread $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+ done
+done
diff --git a/plor/script/ycsb-xval.sh b/plor/script/ycsb-xval.sh
new file mode 100755
index 00000000..e5c64aea
--- /dev/null
+++ b/plor/script/ycsb-xval.sh
@@ -0,0 +1,122 @@
+#ycsb-xrs.sh(ss2pl)
+tuple=1000000
+maxope=10
+rratioary=(95)
+rmw=off
+skew=0
+ycsb=on
+cpu_mhz=2100
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+for rratio in "${rratioary[@]}"
+do
+ if test $rratio = 50; then
+ result=result_ss2pl_ycsbA_tuple100m_skew09_val4-1k.dat
+ elif test $rratio = 95; then
+ result=result_ss2pl_ycsbB_tuple1m_val10-100k.dat
+ elif test $rratio = 100; then
+ result=result_ss2pl_ycsbC_tuple100m_skew09_val4-1k.dat
+ else
+ echo "BUG"
+ exit 1
+ fi
+ rm $result
+
+ echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+ echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+
+ for ((val = 10; val <= 100000; val *= 10))
+ do
+ if test $val = 104 ; then
+ val=100
+ fi
+ cd ../
+ make clean; make -j VAL_SIZE=$val
+ cd script
+
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$val $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+ done
+done
diff --git a/plor/script/ycsbA-xrs-cache.sh b/plor/script/ycsbA-xrs-cache.sh
new file mode 100755
index 00000000..61dbd5f4
--- /dev/null
+++ b/plor/script/ycsbA-xrs-cache.sh
@@ -0,0 +1,52 @@
+#ycsbA-xrs-cache.sh(ss2pl)
+maxope=10
+thread=24
+rratio=50
+skew=0
+ycsb=ON
+cpu_mhz=2400
+extime=3
+epoch=5
+
+result=result_ss2pl_ycsbA_tuple100-10m_cachemiss.dat
+rm $result
+echo "#tuple num, cache-misses, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $rratio $skew $ycsb $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=10000000; tuple*=10))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $rratio $skew $ycsb $cpu_mhz $extime"
+ echo "$tuple $epoch"
+
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-misses,cache-references -o ss2pl-cache-ana.txt ./ss2pl.exe $tuple $maxope $thread $rratio $skew $ycsb $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl-cache-ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
diff --git a/plor/script/ycsbA.sh b/plor/script/ycsbA.sh
new file mode 100755
index 00000000..c83e85f6
--- /dev/null
+++ b/plor/script/ycsbA.sh
@@ -0,0 +1,510 @@
+#ycsbA.sh(ss2pl)
+maxope=10
+rratio=50
+rmw=off
+skew=0
+ycsb=on
+cpu_mhz=2400
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+inith=4
+enth=24
+inc=4
+if test $host = $dbs11 ; then
+inith=28
+enth=224
+inc=28
+fi
+
+tuple=500
+result=result_ss2pl_ycsbA_tuple500_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+tuple=500000
+result=result_ss2pl_ycsbA_tuple500k_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+tuple=5000000
+result=result_ss2pl_ycsbA_tuple5m_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
diff --git a/plor/script/ycsbB.sh b/plor/script/ycsbB.sh
new file mode 100755
index 00000000..2a5966d9
--- /dev/null
+++ b/plor/script/ycsbB.sh
@@ -0,0 +1,510 @@
+#ycsbB.sh(ss2pl)
+maxope=10
+rratio=95
+rmw=off
+skew=0
+ycsb=on
+cpu_mhz=2400
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+inith=4
+enth=24
+inc=4
+if test $host = $dbs11 ; then
+inith=28
+enth=224
+inc=28
+fi
+
+tuple=500
+result=result_ss2pl_ycsbB_tuple500_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+tuple=500000
+result=result_ss2pl_ycsbB_tuple500k_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+tuple=5000000
+result=result_ss2pl_ycsbB_tuple5m_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
diff --git a/plor/script/ycsbC.sh b/plor/script/ycsbC.sh
new file mode 100755
index 00000000..4894481b
--- /dev/null
+++ b/plor/script/ycsbC.sh
@@ -0,0 +1,187 @@
+#ycsbC.sh(ss2pl)
+#tuple=1000000000
+tuple=1000
+maxope=10
+rratio=100
+rmw=off
+skew=0.9
+ycsb=on
+cpu_mhz=2100
+extime=1
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+inith=4
+enth=24
+inc=4
+if test $host = $dbs11 ; then
+inith=28
+enth=224
+inc=28
+fi
+
+result=result_ss2pl_ycsbC_tuple1g_skew09_val1k.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
diff --git a/plor/ss2pl.cc b/plor/ss2pl.cc
new file mode 100644
index 00000000..463f839c
--- /dev/null
+++ b/plor/ss2pl.cc
@@ -0,0 +1,146 @@
+
+#include //isdigit,
+#include
+#include //strlen,
+#include //syscall(SYS_gettid),
+#include //syscall(SYS_gettid),
+#include //syscall(SYS_gettid),
+#include
+
+#include
+#include //string
+#include
+
+#define GLOBAL_VALUE_DEFINE
+
+#include "../include/atomic_wrapper.hh"
+#include "../include/backoff.hh"
+#include "../include/cpu.hh"
+#include "../include/debug.hh"
+#include "../include/fence.hh"
+#include "../include/int64byte.hh"
+#include "../include/masstree_wrapper.hh"
+#include "../include/procedure.hh"
+#include "../include/random.hh"
+#include "../include/result.hh"
+#include "../include/tsc.hh"
+#include "../include/util.hh"
+#include "../include/zipf.hh"
+#include "include/common.hh"
+#include "include/result.hh"
+#include "include/transaction.hh"
+#include "include/util.hh"
+
+long long int central_timestamp = 0;
+
+void worker(size_t thid, char &ready, const bool &start, const bool &quit) {
+
+ Result &myres = std::ref(SS2PLResult[thid]);
+ Xoroshiro128Plus rnd;
+ rnd.init();
+ TxExecutor trans(thid, (Result *) &myres);
+ FastZipf zipf(&rnd, FLAGS_zipf_skew, FLAGS_tuple_num);
+ Backoff backoff(FLAGS_clocks_per_us);
+
+#if MASSTREE_USE
+ MasstreeWrapper::thread_init(int(thid));
+#endif
+
+#ifdef Linux
+ setThreadAffinity(thid);
+ // printf("Thread #%d: on CPU %d\n", *myid, sched_getcpu());
+ // printf("sysconf(_SC_NPROCESSORS_CONF) %ld\n",
+ // sysconf(_SC_NPROCESSORS_CONF));
+#endif // Linux
+
+ storeRelease(ready, 1);
+ while (!loadAcquire(start)) _mm_pause();
+ while (!loadAcquire(quit)) {
+ makeProcedure(trans.pro_set_, rnd, zipf, FLAGS_tuple_num, FLAGS_max_ope, FLAGS_thread_num,
+ FLAGS_rratio, FLAGS_rmw, FLAGS_ycsb, false, thid, myres);
+ thread_timestamp[thid] = __atomic_add_fetch(¢ral_timestamp, 1, __ATOMIC_SEQ_CST);
+RETRY:
+ thread_stats[thid] = 0;
+ if (loadAcquire(quit)) break;
+ if (thid == 0) leaderBackoffWork(backoff, SS2PLResult);
+
+ NNN;
+ trans.begin();
+ for (auto itr = trans.pro_set_.begin(); itr != trans.pro_set_.end();
+ ++itr) {
+ NNN;
+ if ((*itr).ope_ == Ope::READ) {
+ NNN;
+ trans.read((*itr).key_);
+ } else if ((*itr).ope_ == Ope::WRITE) {
+ NNN;
+ trans.write((*itr).key_);
+ } else if ((*itr).ope_ == Ope::READ_MODIFY_WRITE) {
+ NNN;
+ trans.readWrite((*itr).key_);
+ } else {
+ ERR;
+ }
+ NNN;
+
+ if (thread_stats[thid] == 1) {
+ trans.status_ = TransactionStatus::aborted;
+ trans.abort();
+ goto RETRY;
+ }
+ }
+
+ NNN;
+ if (trans.validationPhase()) {
+ NNN;
+ trans.commit();
+ /**
+ * local_commit_counts is used at ../include/backoff.hh to calcurate about
+ * backoff.
+ */
+ storeRelease(myres.local_commit_counts_,
+ loadAcquire(myres.local_commit_counts_) + 1);
+ } else {
+ NNN;
+ trans.status_ = TransactionStatus::aborted;
+ trans.abort();
+ ++myres.local_abort_counts_;
+ goto RETRY;
+ }
+ }
+
+ return;
+}
+
+int main(int argc, char *argv[]) try {
+ gflags::SetUsageMessage("2PL benchmark.");
+ gflags::ParseCommandLineFlags(&argc, &argv, true);
+ chkArg();
+ makeDB();
+
+ alignas(CACHE_LINE_SIZE) bool start = false;
+ alignas(CACHE_LINE_SIZE) bool quit = false;
+ initResult();
+ std::vector readys(FLAGS_thread_num);
+ std::vector thv;
+ for (size_t i = 0; i < FLAGS_thread_num; ++i)
+ thv.emplace_back(worker, i, std::ref(readys[i]), std::ref(start),
+ std::ref(quit));
+ waitForReady(readys);
+ storeRelease(start, true);
+ for (size_t i = 0; i < FLAGS_extime; ++i) {
+ sleepMs(1000);
+ }
+ storeRelease(quit, true);
+ for (auto &th : thv) th.join();
+
+ for (unsigned int i = 0; i < FLAGS_thread_num; ++i) {
+ SS2PLResult[0].addLocalAllResult(SS2PLResult[i]);
+ }
+ ShowOptParameters();
+ SS2PLResult[0].displayAllResult(FLAGS_clocks_per_us, FLAGS_extime, FLAGS_thread_num);
+
+ return 0;
+} catch (bad_alloc) {
+ ERR;
+}
diff --git a/plor/transaction.cc b/plor/transaction.cc
new file mode 100644
index 00000000..5d2293ef
--- /dev/null
+++ b/plor/transaction.cc
@@ -0,0 +1,555 @@
+
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+#include "../include/backoff.hh"
+#include "../include/debug.hh"
+#include "../include/procedure.hh"
+#include "../include/result.hh"
+#include "include/common.hh"
+#include "include/transaction.hh"
+
+using namespace std;
+
+extern void display_procedure_vector(std::vector &pro);
+
+/**
+ * @brief Search xxx set
+ * @detail Search element of local set corresponding to given key.
+ * In this prototype system, the value to be updated for each worker thread
+ * is fixed for high performance, so it is only necessary to check the key match.
+ * @param Key [in] the key of key-value
+ * @return Corresponding element of local set
+ */
+inline SetElement *TxExecutor::searchReadSet(uint64_t key) {
+ for (auto itr = read_set_.begin(); itr != read_set_.end(); ++itr) {
+ if ((*itr).key_ == key) return &(*itr);
+ }
+
+ return nullptr;
+}
+
+/**
+ * @brief Search xxx set
+ * @detail Search element of local set corresponding to given key.
+ * In this prototype system, the value to be updated for each worker thread
+ * is fixed for high performance, so it is only necessary to check the key match.
+ * @param Key [in] the key of key-value
+ * @return Corresponding element of local set
+ */
+inline SetElement *TxExecutor::searchWriteSet(uint64_t key) {
+ for (auto itr = write_set_.begin(); itr != write_set_.end(); ++itr) {
+ if ((*itr).key_ == key) return &(*itr);
+ }
+
+ return nullptr;
+}
+
+/**
+ * @brief function about abort.
+ * Clean-up local read/write set.
+ * Release locks.
+ * @return void
+ */
+void TxExecutor::abort() {
+
+ /**
+ * Release locks
+ */
+
+ for (auto itr = r_lock_list_.begin(); itr != r_lock_list_.end(); ++itr)
+ (*itr)->r_unlock();
+
+ for (auto itr = read_set_.begin(); itr != read_set_.end(); ++itr) {
+ unlockRead(this->thid_, (*itr).rcdptr_);
+ }
+
+ for (auto itr = w_lock_list_.begin(); itr != w_lock_list_.end(); ++itr)
+ (*itr)->w_unlock();
+
+ for (auto itr = write_set_.begin(); itr != write_set_.end(); ++itr) {
+ unlockWrite(this->thid_, (*itr).rcdptr_);
+ }
+
+ /**
+ * Clean-up local read/write set.
+ */
+ read_set_.clear();
+ write_set_.clear();
+
+ ++sres_->local_abort_counts_;
+
+#if BACK_OFF
+#if ADD_ANALYSIS
+ uint64_t start(rdtscp());
+#endif
+
+ Backoff::backoff(FLAGS_clocks_per_us);
+
+#if ADD_ANALYSIS
+ sres_->local_backoff_latency_ += rdtscp() - start;
+#endif
+
+#endif
+}
+
+/**
+ * @brief success termination of transaction.
+ * @return void
+ */
+
+// change to validate
+bool TxExecutor::validationPhase() {
+#if ADD_ANALYSIS
+ std::uint64_t start = rdtscp();
+#endif
+
+
+ if (thread_stats[this->thid_] == 1) {
+ return false;
+ }
+ /**
+ * Phase 1: detect read-write conflicts
+ */
+
+ //wait>
+ NNN;
+ for (auto itr = write_set_.begin(); itr != write_set_.end(); ++itr) {
+ (*itr).rcdptr_->waitRd.emplace_back(-1,-1);
+ for (int i=0; i<(*itr).rcdptr_->waitRd.size(); i++) {
+ if (thread_timestamp[this->thid_] < (*itr).rcdptr_->waitRd[i].first) {
+ thread_stats[(*itr).rcdptr_->waitRd[i].second] = 1;
+ } else {
+ // checkRd
+ NNN;
+ while (checkRd((*itr).rcdptr_->waitRd[i].second, (*itr).rcdptr_)) {
+ NNN;
+ if (thread_stats[this->thid_] == 1) {
+ break;
+ }
+ return false;
+ }
+ }
+ }
+ }
+
+ // goto Phase 3
+#if ADD_ANALYSIS
+ sres_->local_vali_latency_ += rdtscp() - start;
+#endif
+ this->status_ = TransactionStatus::committed;
+ NNN;
+ return true;
+}
+
+void TxExecutor::commit() {
+ /**
+ * Phase 2: release read locks
+ */
+
+ for (auto itr = r_lock_list_.begin(); itr != r_lock_list_.end(); ++itr)
+ (*itr)->r_unlock();
+
+ NNN;
+ for (auto itr = read_set_.begin(); itr != read_set_.end(); ++itr) {
+ unlockRead(this->thid_, (*itr).rcdptr_);
+ }
+
+ /**
+ * Phase 3: commit and release write locks
+ */
+
+ for (auto itr = w_lock_list_.begin(); itr != w_lock_list_.end(); ++itr)
+ (*itr)->w_unlock();
+
+ NNN;
+ for (auto itr = write_set_.begin(); itr != write_set_.end(); ++itr) {
+ // update payload.
+ memcpy((*itr).rcdptr_->val_, write_val_, VAL_SIZE);
+ unlockWrite(this->thid_, (*itr).rcdptr_);
+ }
+
+ NNN;
+ read_set_.clear();
+ write_set_.clear();
+}
+
+/**
+ * @brief Initialize function of transaction.
+ * Allocate timestamp.
+ * @return void
+ */
+void TxExecutor::begin() { this->status_ = TransactionStatus::inFlight; }
+
+/**
+ * @brief Transaction read function.
+ * @param [in] key The key of key-value
+ */
+void TxExecutor::read(uint64_t key) {
+#if ADD_ANALYSIS
+ uint64_t start = rdtscp();
+#endif // ADD_ANALYSIS
+ /**
+ * read-own-writes or re-read from local read set.
+ */
+ if (searchWriteSet(key) || searchReadSet(key)) goto FINISH_READ;
+
+ /**
+ * Search tuple from data structure.
+ */
+ Tuple *tuple;
+#if MASSTREE_USE
+ tuple = MT.get_value(key);
+#if ADD_ANALYSIS
+ ++sres_->local_tree_traversal_;
+#endif
+#else
+ tuple = get_tuple(Table, key);
+#endif
+
+ /**
+ * Write-Read (WR) conflict
+ */
+
+ /**
+ * @c task: check readlockAcquire bamboo
+ */
+ /** PLOR */
+ /*
+ tuple->waitRd.emplace_back(thread_timestamp[this->thid_], this->thid_);
+ while (checkRd(-1, tuple)) {
+ if (tuple->curr_writer > 0 && thread_timestamp[this->thid_] < thread_timestamp[tuple->curr_writer]) {
+ thread_stats[tuple->curr_writer] = 1;
+ }
+ if (thread_stats[this->thid_] == 1) goto FINISH_READ;
+ }
+ read_set_.emplace_back(key, tuple, tuple->val_);
+ */
+ NNN;
+ while (1) {
+ if (tuple->lock_.r_trylock()) {
+ r_lock_list_.emplace_back(&tuple->lock_);
+ read_set_.emplace_back(key, tuple, tuple->val_);
+ break;
+ }
+ else {
+ tuple->waitRd.emplace_back(thread_timestamp[this->thid_], this->thid_);
+ while (checkRd(-1, tuple)) {
+ if (tuple->curr_writer > 0 && thread_timestamp[this->thid_] < thread_timestamp[tuple->curr_writer]) {
+ thread_stats[tuple->curr_writer] = 1;
+ }
+ if (thread_stats[this->thid_] == 1) goto FINISH_READ;
+ }
+ read_set_.emplace_back(key, tuple, tuple->val_);
+ }
+ }
+
+ NNN;
+ r_lock_list_.emplace_back(&tuple->lock_);
+ read_set_.emplace_back(key, tuple, tuple->val_);
+
+FINISH_READ:
+
+#if ADD_ANALYSIS
+ sres_->local_read_latency_ += rdtscp() - start;
+#endif
+ return;
+}
+
+/**
+ * @brief transaction write operation
+ * @param [in] key The key of key-value
+ * @return void
+ */
+void TxExecutor::write(uint64_t key) {
+#if ADD_ANALYSIS
+ uint64_t start = rdtscp();
+#endif
+
+ // if it already wrote the key object once.
+
+ if (searchWriteSet(key)) goto FINISH_WRITE;
+ /**
+ * Search tuple from data structure.
+ */
+ Tuple *tuple;
+#if MASSTREE_USE
+ tuple = MT.get_value(key);
+#if ADD_ANALYSIS
+ ++sres_->local_tree_traversal_;
+#endif
+#else
+ tuple = get_tuple(Table, key);
+#endif
+
+ /** PLOR */
+ /*
+ tuple->waitWr.emplace_back(thread_timestamp[this->thid_],this->thid_);
+ sort(tuple->waitWr.begin(), tuple->waitWr.end());
+ int expected, desired;
+ expected = 0;
+ desired = this->thid_;
+ if (!tuple->curr_writer.compare_exchange_weak(expected,desired)) {
+ while (tuple->curr_writer != this->thid_) {
+ if (thread_timestamp[this->thid_] < thread_timestamp[tuple->curr_writer]) {
+ thread_stats[tuple->curr_writer] = 1;
+ }
+ if (thread_stats[this->thid_] == 1) goto FINISH_WRITE;
+ }
+ }
+ */
+
+ for (auto rItr = read_set_.begin(); rItr != read_set_.end(); ++rItr) {
+ if ((*rItr).key_ == key) { // hit
+ while (1) {
+ if (!(*rItr).rcdptr_->lock_.tryupgrade()) {
+ if (thread_timestamp[this->thid_] < thread_timestamp[tuple->curr_writer]) {
+ thread_stats[tuple->curr_writer] = 1;
+ }
+ if (thread_stats[this->thid_] == 1) goto FINISH_WRITE;
+ } else {
+ break;
+ }
+ }
+
+ // upgrade success
+ // remove old element of read lock list.
+ for (auto lItr = r_lock_list_.begin(); lItr != r_lock_list_.end();
+ ++lItr) {
+ if (*lItr == &((*rItr).rcdptr_->lock_)) {
+ write_set_.emplace_back(key, (*rItr).rcdptr_);
+ w_lock_list_.emplace_back(&(*rItr).rcdptr_->lock_);
+ r_lock_list_.erase(lItr);
+ break;
+ }
+ }
+
+ read_set_.erase(rItr);
+ goto FINISH_WRITE;
+ }
+ }
+
+ NNN;
+ while (1) {
+ if (!tuple->lock_.w_trylock()) {
+ tuple->waitWr.emplace_back(thread_timestamp[this->thid_],this->thid_);
+ sort(tuple->waitWr.begin(), tuple->waitWr.end());
+ int expected, desired;
+ expected = 0;
+ desired = this->thid_;
+ if (!tuple->curr_writer.compare_exchange_weak(expected,desired)) {
+ while (tuple->curr_writer != this->thid_) {
+ if (thread_timestamp[this->thid_] < thread_timestamp[tuple->curr_writer]) {
+ thread_stats[tuple->curr_writer] = 1;
+ }
+ if (thread_stats[this->thid_] == 1) goto FINISH_WRITE;
+ }
+ }
+ } else {
+ break;
+ }
+ }
+
+
+ /**
+ * Register the contents to write lock list and write set.
+ */
+ NNN;
+ memcpy(tuple->val_, write_val_, VAL_SIZE);
+ w_lock_list_.emplace_back(&tuple->lock_);
+ write_set_.emplace_back(key, tuple);
+
+FINISH_WRITE:
+#if ADD_ANALYSIS
+ sres_->local_write_latency_ += rdtscp() - start;
+#endif // ADD_ANALYSIS
+ return;
+}
+
+/**
+ * @brief transaction readWrite (RMW) operation
+ */
+void TxExecutor::readWrite(uint64_t key) {
+ // if it already wrote the key object once.
+
+ if (searchWriteSet(key)) goto FINISH_WRITE;
+ /**
+ * Search tuple from data structure.
+ */
+ Tuple *tuple;
+#if MASSTREE_USE
+ tuple = MT.get_value(key);
+#if ADD_ANALYSIS
+ ++sres_->local_tree_traversal_;
+#endif
+#else
+ tuple = get_tuple(Table, key);
+#endif
+
+ /** PLOR */
+ /*
+ tuple->waitWr.emplace_back(thread_timestamp[this->thid_], this->thid_);
+ sort(tuple->waitWr.begin(), tuple->waitWr.end());
+ int expected, desired;
+ expected = 0;
+ desired = this->thid_;
+
+ if (!tuple->curr_writer.compare_exchange_weak(expected,desired)) {
+ while (tuple->curr_writer != this->thid_) {
+ if (thread_timestamp[this->thid_] < thread_timestamp[tuple->curr_writer]) {
+ thread_stats[tuple->curr_writer] = 1;
+ }
+ if (thread_stats[this->thid_] == 1) goto FINISH_WRITE;
+ }
+ }
+ */
+
+ for (auto rItr = read_set_.begin(); rItr != read_set_.end(); ++rItr) {
+ if ((*rItr).key_ == key) { // hit
+ while (1) {
+ if (!(*rItr).rcdptr_->lock_.tryupgrade()) {
+ if (thread_timestamp[this->thid_] < thread_timestamp[tuple->curr_writer]) {
+ thread_stats[tuple->curr_writer] = 1;
+ }
+ if (thread_stats[this->thid_] == 1) goto FINISH_WRITE;
+ } else {
+ break;
+ }
+ }
+
+ // upgrade success
+ // remove old element of read lock list.
+ for (auto lItr = r_lock_list_.begin(); lItr != r_lock_list_.end();
+ ++lItr) {
+ if (*lItr == &((*rItr).rcdptr_->lock_)) {
+ write_set_.emplace_back(key, (*rItr).rcdptr_);
+ w_lock_list_.emplace_back(&(*rItr).rcdptr_->lock_);
+ r_lock_list_.erase(lItr);
+ break;
+ }
+ }
+
+ read_set_.erase(rItr);
+ goto FINISH_WRITE;
+ }
+ }
+
+ while (1) {
+ if (!tuple->lock_.w_trylock()) {
+ tuple->waitWr.emplace_back(thread_timestamp[this->thid_],this->thid_);
+ sort(tuple->waitWr.begin(), tuple->waitWr.end());
+ int expected, desired;
+ expected = 0;
+ desired = this->thid_;
+ if (!tuple->curr_writer.compare_exchange_weak(expected,desired)) {
+ while (tuple->curr_writer != this->thid_) {
+ if (thread_timestamp[this->thid_] < thread_timestamp[tuple->curr_writer]) {
+ thread_stats[tuple->curr_writer] = 1;
+ }
+ if (thread_stats[this->thid_] == 1) goto FINISH_WRITE;
+ }
+ }
+ } else {
+ break;
+ }
+ }
+
+
+ /**
+ * Register the contents to write lock list and write set.
+ */
+ // read payload
+ memcpy(this->return_val_, tuple->val_, VAL_SIZE);
+ // finish read.
+ memcpy(tuple->val_, write_val_, VAL_SIZE);
+ w_lock_list_.emplace_back(&tuple->lock_);
+ write_set_.emplace_back(key, tuple);
+
+FINISH_WRITE:
+ return;
+}
+
+void TxExecutor::unlockRead(int thid, Tuple *tuple) {
+ mtx_get();
+ int j;
+ NNN;
+ for (int i=0; iwaitRd.size(); i++) {
+ if (tuple->waitRd[i].second == thid) {
+ j = i;
+ break;
+ }
+ }
+ tuple->waitRd.erase(tuple->waitRd.begin()+j); //THIS IS THE BUG
+ mtx_release();
+}
+
+void TxExecutor::unlockWrite(int thid, Tuple *tuple) {
+ mtx_get();
+ /* @task:
+ * tuple->waitWr.pop_front();
+ * remove exclusive signifier in read set
+ * turn the lock to the oldest waiter(writer)
+ */
+ int j, k;
+ NNN;
+ for (int i=0; iwaitWr.size(); i++) {
+ if (tuple->waitWr[i].second == thid) {
+ j = i;
+ break;
+ }
+ }
+ tuple->waitWr.erase(tuple->waitWr.begin()+j);
+
+ NNN;
+ if (tuple->curr_writer == thid) {
+ // remove exclusive signifier in read set
+ for (int i=0; iwaitRd.size(); i++) {
+ if (tuple->waitRd[i].second == -1) {
+ k = i;
+ break;
+ }
+ }
+ tuple->waitRd.erase(tuple->waitRd.begin()+k);
+ tuple->curr_writer = tuple->waitWr[0].second;
+ }
+ mtx_release();
+}
+
+bool TxExecutor::checkRd(int thid, Tuple *tuple) {
+ mtx_get();
+ for (int i = 0; iwaitRd.size(); i++) {
+ if (tuple->waitRd[i].second == thid) {
+ return true;
+ }
+ }
+ return false;
+ mtx_release();
+}
+
+void TxExecutor::mtx_get() {
+ mtx.lock();
+}
+
+void TxExecutor::mtx_release() {
+ mtx.unlock();
+}
+
+void TxExecutor::unlockList() {
+ for (auto itr = r_lock_list_.begin(); itr != r_lock_list_.end(); ++itr)
+ (*itr)->r_unlock();
+
+ for (auto itr = w_lock_list_.begin(); itr != w_lock_list_.end(); ++itr)
+ (*itr)->w_unlock();
+
+ /**
+ * Clean-up local lock set.
+ */
+ r_lock_list_.clear();
+ w_lock_list_.clear();
+}
\ No newline at end of file
diff --git a/plor/util.cc b/plor/util.cc
new file mode 100644
index 00000000..56853473
--- /dev/null
+++ b/plor/util.cc
@@ -0,0 +1,118 @@
+
+#include
+#include // syscall(SYS_gettid),
+#include // syscall(SSY_gettid),
+#include // syscall(SSY_gettid),
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "../include/config.hh"
+#include "../include/debug.hh"
+#include "../include/masstree_wrapper.hh"
+#include "../include/procedure.hh"
+#include "../include/random.hh"
+#include "../include/result.hh"
+#include "../include/zipf.hh"
+#include "include/common.hh"
+#include "include/tuple.hh"
+#include "include/util.hh"
+
+void chkArg() {
+ displayParameter();
+
+ if (FLAGS_rratio > 100) {
+ ERR;
+ }
+
+ if (FLAGS_clocks_per_us < 100) {
+ cout << "CPU_MHZ is less than 100. are your really?" << endl;
+ ERR;
+ }
+}
+
+void displayDB() {
+ Tuple *tuple;
+
+ for (unsigned int i = 0; i < FLAGS_tuple_num; i++) {
+ tuple = &Table[i];
+ cout << "------------------------------" << endl; // - 30
+ cout << "key: " << i << endl;
+ cout << "val: " << tuple->val_ << endl;
+ }
+}
+
+void displayParameter() {
+ cout << "#FLAGS_clocks_per_us:\t" << FLAGS_clocks_per_us << endl;
+ cout << "#FLAGS_extime:\t\t" << FLAGS_extime << endl;
+ cout << "#FLAGS_max_ope:\t\t" << FLAGS_max_ope << endl;
+ cout << "#FLAGS_rmw:\t\t" << FLAGS_rmw << endl;
+ cout << "#FLAGS_rratio:\t\t" << FLAGS_rratio << endl;
+ cout << "#FLAGS_thread_num:\t" << FLAGS_thread_num << endl;
+ cout << "#FLAGS_tuple_num:\t" << FLAGS_tuple_num << endl;
+ cout << "#FLAGS_ycsb:\t\t" << FLAGS_ycsb << endl;
+ cout << "#FLAGS_zipf_skew:\t" << FLAGS_zipf_skew << endl;
+}
+
+void partTableInit([[maybe_unused]] size_t thid, uint64_t start, uint64_t end) {
+ // printf("partTableInit(...): thid %zu : %lu : %lu\n", thid, start, end);
+#if MASSTREE_USE
+ MasstreeWrapper::thread_init(thid);
+#endif
+
+ for (auto i = start; i <= end; ++i) {
+ Table[i].val_[0] = 'a';
+ Table[i].val_[1] = '\0';
+
+#if MASSTREE_USE
+ MT.insert_value(i, &Table[i]);
+#endif
+ }
+}
+
+void makeDB() {
+ if (posix_memalign((void **) &Table, PAGE_SIZE, FLAGS_tuple_num * sizeof(Tuple)) !=
+ 0)
+ ERR;
+#if dbs11
+ if (madvise((void *)Table, (FLAGS_tuple_num) * sizeof(Tuple), MADV_HUGEPAGE) != 0)
+ ERR;
+#endif
+
+ // maxthread は masstree 構築の最大並行スレッド数。
+ // 初期値はハードウェア最大値。
+ // FLAGS_tuple_num を均等に分割できる最大スレッド数を求める。
+ size_t maxthread = decideParallelBuildNumber(FLAGS_tuple_num);
+
+ std::vector thv;
+ // cout << "masstree 並列構築スレッド数 " << maxthread << endl;
+ for (size_t i = 0; i < maxthread; ++i) {
+ thv.emplace_back(partTableInit, i, i * (FLAGS_tuple_num / maxthread),
+ (i + 1) * (FLAGS_tuple_num / maxthread) - 1);
+ }
+ for (auto &th : thv) th.join();
+}
+
+void
+ShowOptParameters() {
+ cout << "#ShowOptParameters()"
+ << ": ADD_ANALYSIS " << ADD_ANALYSIS
+ << ": BACK_OFF " << BACK_OFF
+ #ifdef DLR0
+ << ": DLR0 "
+ #elif defined DLR1
+ << ": DLR1 "
+ #endif
+ << ": MASSTREE_USE " << MASSTREE_USE
+ << ": KEY_SIZE " << KEY_SIZE
+ << ": KEY_SORT " << KEY_SORT
+ << ": VAL_SIZE " << VAL_SIZE
+ << endl;
+}
diff --git a/silo/build/.ninja_deps b/silo/build/.ninja_deps
new file mode 100644
index 00000000..7d997874
Binary files /dev/null and b/silo/build/.ninja_deps differ
diff --git a/silo/build/.ninja_log b/silo/build/.ninja_log
new file mode 100644
index 00000000..9214e922
--- /dev/null
+++ b/silo/build/.ninja_log
@@ -0,0 +1,10 @@
+# ninja log v5
+0 435 1668348609437908561 CMakeFiles/silo.exe.dir/home/tngngn/ccbench/common/result.cc.o e6df043e2030658
+0 714 1668348609713899510 CMakeFiles/silo.exe.dir/home/tngngn/ccbench/common/util.cc.o 756806ec11d76926
+1 859 1668348609861894656 CMakeFiles/silo.exe.dir/result.cc.o feb612dafeb59b4e
+0 975 1668348609977890852 CMakeFiles/replay_test.exe.dir/replayTest.cc.o 1d4ceb960c01c005
+976 1041 1668348610041888753 replay_test.exe 814f8d058dc8779b
+2 1346 1668348610345878783 CMakeFiles/silo.exe.dir/transaction.cc.o a5945a0443b77c71
+2 1521 1668348610521873011 CMakeFiles/silo.exe.dir/util.cc.o b53012d03604fd3a
+1 1912 1668348610909860287 CMakeFiles/silo.exe.dir/silo.cc.o 3e19f2888286f21e
+1913 1992 1668348610993857532 silo.exe 507328c3f1946d7
diff --git a/silo/build/CMakeCache.txt b/silo/build/CMakeCache.txt
new file mode 100644
index 00000000..f15aaac8
--- /dev/null
+++ b/silo/build/CMakeCache.txt
@@ -0,0 +1,473 @@
+# This is the CMakeCache file.
+# For build in directory: /home/tngngn/ccbench/silo/build
+# It was generated by CMake: /usr/local/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//The directory containing a CMake configuration file for Boost.
+Boost_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0
+
+Boost_FILESYSTEM_LIBRARY_RELEASE:STRING=/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0
+
+//Path to a file.
+Boost_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=Release
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//User executables (bin)
+CMAKE_INSTALL_BINDIR:PATH=bin
+
+//Read-only architecture-independent data (DATAROOTDIR)
+CMAKE_INSTALL_DATADIR:PATH=
+
+//Read-only architecture-independent data root (share)
+CMAKE_INSTALL_DATAROOTDIR:PATH=share
+
+//Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
+CMAKE_INSTALL_DOCDIR:PATH=
+
+//C header files (include)
+CMAKE_INSTALL_INCLUDEDIR:PATH=include
+
+//Info documentation (DATAROOTDIR/info)
+CMAKE_INSTALL_INFODIR:PATH=
+
+//Object code libraries (lib)
+CMAKE_INSTALL_LIBDIR:PATH=lib
+
+//Program executables (libexec)
+CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
+
+//Locale-dependent data (DATAROOTDIR/locale)
+CMAKE_INSTALL_LOCALEDIR:PATH=
+
+//Modifiable single-machine data (var)
+CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
+
+//Man documentation (DATAROOTDIR/man)
+CMAKE_INSTALL_MANDIR:PATH=
+
+//C header files for non-gcc (/usr/include)
+CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Run-time variable data (LOCALSTATEDIR/run)
+CMAKE_INSTALL_RUNSTATEDIR:PATH=
+
+//System admin executables (sbin)
+CMAKE_INSTALL_SBINDIR:PATH=sbin
+
+//Modifiable architecture-independent data (com)
+CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
+
+//Read-only single-machine data (etc)
+CMAKE_INSTALL_SYSCONFDIR:PATH=etc
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Program used to build from build.ninja files.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/local/bin/ninja
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=silo of ccbench
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=ccbench_silo
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION:STATIC=0.0.1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MAJOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MINOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_PATCH:STATIC=1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_TWEAK:STATIC=
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make. This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Dot tool for use with Doxygen
+DOXYGEN_DOT_EXECUTABLE:FILEPATH=/usr/bin/dot
+
+//Doxygen documentation generation tool (http://www.doxygen.org)
+DOXYGEN_EXECUTABLE:FILEPATH=/usr/bin/doxygen
+
+//enable coverage on debug build
+ENABLE_COVERAGE:BOOL=OFF
+
+//enable sanitizer on debug build
+ENABLE_SANITIZER:BOOL=ON
+
+//enable undefined behavior sanitizer on debug build
+ENABLE_UB_SANITIZER:BOOL=OFF
+
+//The directory containing a CMake configuration file for boost_filesystem.
+boost_filesystem_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0
+
+//The directory containing a CMake configuration file for boost_headers.
+boost_headers_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0
+
+//Value Computed by CMake
+ccbench_silo_BINARY_DIR:STATIC=/home/tngngn/ccbench/silo/build
+
+//Value Computed by CMake
+ccbench_silo_SOURCE_DIR:STATIC=/home/tngngn/ccbench/silo
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: Boost_DIR
+Boost_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/tngngn/ccbench/silo/build
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=17
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/local/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Ninja
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Test CMAKE_HAVE_LIBC_PTHREAD
+CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=
+//Have library pthreads
+CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
+//Have library pthread
+CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1
+//Have include pthread.h
+CMAKE_HAVE_PTHREAD_H:INTERNAL=1
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/tngngn/ccbench/silo
+//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
+CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
+CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
+CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
+CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
+CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
+CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
+CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
+CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
+CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
+CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
+CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
+CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR
+CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
+CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
+CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
+CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/local/share/cmake-3.17
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE
+DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_EXECUTABLE
+DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1
+//Details about finding Boost
+FIND_PACKAGE_MESSAGE_DETAILS_Boost:INTERNAL=[/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake][cfound components: filesystem ][v1.71.0()]
+//Details about finding Doxygen
+FIND_PACKAGE_MESSAGE_DETAILS_Doxygen:INTERNAL=[/usr/bin/doxygen][cfound components: doxygen dot ][v1.8.17()]
+//Details about finding Threads
+FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
+//Details about finding gflags
+FIND_PACKAGE_MESSAGE_DETAILS_gflags:INTERNAL=[/usr/lib/x86_64-linux-gnu/libgflags.so][/usr/include][v()]
+//Details about finding glog
+FIND_PACKAGE_MESSAGE_DETAILS_glog:INTERNAL=[/usr/lib/x86_64-linux-gnu/libglog.so][/usr/include][v()]
+//CMAKE_INSTALL_PREFIX during last run
+_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local
+//ADVANCED property for variable: boost_filesystem_DIR
+boost_filesystem_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: boost_headers_DIR
+boost_headers_DIR-ADVANCED:INTERNAL=1
+
diff --git a/silo/build/CMakeDoxyfile.in b/silo/build/CMakeDoxyfile.in
new file mode 100644
index 00000000..848a3c81
--- /dev/null
+++ b/silo/build/CMakeDoxyfile.in
@@ -0,0 +1,280 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+DOXYFILE_ENCODING = @DOXYGEN_DOXYFILE_ENCODING@
+PROJECT_NAME = @DOXYGEN_PROJECT_NAME@
+PROJECT_NUMBER = @DOXYGEN_PROJECT_NUMBER@
+PROJECT_BRIEF = @DOXYGEN_PROJECT_BRIEF@
+PROJECT_LOGO = @DOXYGEN_PROJECT_LOGO@
+OUTPUT_DIRECTORY = @DOXYGEN_OUTPUT_DIRECTORY@
+CREATE_SUBDIRS = @DOXYGEN_CREATE_SUBDIRS@
+ALLOW_UNICODE_NAMES = @DOXYGEN_ALLOW_UNICODE_NAMES@
+OUTPUT_LANGUAGE = @DOXYGEN_OUTPUT_LANGUAGE@
+OUTPUT_TEXT_DIRECTION = @DOXYGEN_OUTPUT_TEXT_DIRECTION@
+BRIEF_MEMBER_DESC = @DOXYGEN_BRIEF_MEMBER_DESC@
+REPEAT_BRIEF = @DOXYGEN_REPEAT_BRIEF@
+ABBREVIATE_BRIEF = @DOXYGEN_ABBREVIATE_BRIEF@
+ALWAYS_DETAILED_SEC = @DOXYGEN_ALWAYS_DETAILED_SEC@
+INLINE_INHERITED_MEMB = @DOXYGEN_INLINE_INHERITED_MEMB@
+FULL_PATH_NAMES = @DOXYGEN_FULL_PATH_NAMES@
+STRIP_FROM_PATH = @DOXYGEN_STRIP_FROM_PATH@
+STRIP_FROM_INC_PATH = @DOXYGEN_STRIP_FROM_INC_PATH@
+SHORT_NAMES = @DOXYGEN_SHORT_NAMES@
+JAVADOC_AUTOBRIEF = @DOXYGEN_JAVADOC_AUTOBRIEF@
+JAVADOC_BANNER = @DOXYGEN_JAVADOC_BANNER@
+QT_AUTOBRIEF = @DOXYGEN_QT_AUTOBRIEF@
+MULTILINE_CPP_IS_BRIEF = @DOXYGEN_MULTILINE_CPP_IS_BRIEF@
+INHERIT_DOCS = @DOXYGEN_INHERIT_DOCS@
+SEPARATE_MEMBER_PAGES = @DOXYGEN_SEPARATE_MEMBER_PAGES@
+TAB_SIZE = @DOXYGEN_TAB_SIZE@
+ALIASES = @DOXYGEN_ALIASES@
+TCL_SUBST = @DOXYGEN_TCL_SUBST@
+OPTIMIZE_OUTPUT_FOR_C = @DOXYGEN_OPTIMIZE_OUTPUT_FOR_C@
+OPTIMIZE_OUTPUT_JAVA = @DOXYGEN_OPTIMIZE_OUTPUT_JAVA@
+OPTIMIZE_FOR_FORTRAN = @DOXYGEN_OPTIMIZE_FOR_FORTRAN@
+OPTIMIZE_OUTPUT_VHDL = @DOXYGEN_OPTIMIZE_OUTPUT_VHDL@
+OPTIMIZE_OUTPUT_SLICE = @DOXYGEN_OPTIMIZE_OUTPUT_SLICE@
+EXTENSION_MAPPING = @DOXYGEN_EXTENSION_MAPPING@
+MARKDOWN_SUPPORT = @DOXYGEN_MARKDOWN_SUPPORT@
+TOC_INCLUDE_HEADINGS = @DOXYGEN_TOC_INCLUDE_HEADINGS@
+AUTOLINK_SUPPORT = @DOXYGEN_AUTOLINK_SUPPORT@
+BUILTIN_STL_SUPPORT = @DOXYGEN_BUILTIN_STL_SUPPORT@
+CPP_CLI_SUPPORT = @DOXYGEN_CPP_CLI_SUPPORT@
+SIP_SUPPORT = @DOXYGEN_SIP_SUPPORT@
+IDL_PROPERTY_SUPPORT = @DOXYGEN_IDL_PROPERTY_SUPPORT@
+DISTRIBUTE_GROUP_DOC = @DOXYGEN_DISTRIBUTE_GROUP_DOC@
+GROUP_NESTED_COMPOUNDS = @DOXYGEN_GROUP_NESTED_COMPOUNDS@
+SUBGROUPING = @DOXYGEN_SUBGROUPING@
+INLINE_GROUPED_CLASSES = @DOXYGEN_INLINE_GROUPED_CLASSES@
+INLINE_SIMPLE_STRUCTS = @DOXYGEN_INLINE_SIMPLE_STRUCTS@
+TYPEDEF_HIDES_STRUCT = @DOXYGEN_TYPEDEF_HIDES_STRUCT@
+LOOKUP_CACHE_SIZE = @DOXYGEN_LOOKUP_CACHE_SIZE@
+EXTRACT_ALL = @DOXYGEN_EXTRACT_ALL@
+EXTRACT_PRIVATE = @DOXYGEN_EXTRACT_PRIVATE@
+EXTRACT_PRIV_VIRTUAL = @DOXYGEN_EXTRACT_PRIV_VIRTUAL@
+EXTRACT_PACKAGE = @DOXYGEN_EXTRACT_PACKAGE@
+EXTRACT_STATIC = @DOXYGEN_EXTRACT_STATIC@
+EXTRACT_LOCAL_CLASSES = @DOXYGEN_EXTRACT_LOCAL_CLASSES@
+EXTRACT_LOCAL_METHODS = @DOXYGEN_EXTRACT_LOCAL_METHODS@
+EXTRACT_ANON_NSPACES = @DOXYGEN_EXTRACT_ANON_NSPACES@
+HIDE_UNDOC_MEMBERS = @DOXYGEN_HIDE_UNDOC_MEMBERS@
+HIDE_UNDOC_CLASSES = @DOXYGEN_HIDE_UNDOC_CLASSES@
+HIDE_FRIEND_COMPOUNDS = @DOXYGEN_HIDE_FRIEND_COMPOUNDS@
+HIDE_IN_BODY_DOCS = @DOXYGEN_HIDE_IN_BODY_DOCS@
+INTERNAL_DOCS = @DOXYGEN_INTERNAL_DOCS@
+CASE_SENSE_NAMES = @DOXYGEN_CASE_SENSE_NAMES@
+HIDE_SCOPE_NAMES = @DOXYGEN_HIDE_SCOPE_NAMES@
+HIDE_COMPOUND_REFERENCE= @DOXYGEN_HIDE_COMPOUND_REFERENCE@
+SHOW_INCLUDE_FILES = @DOXYGEN_SHOW_INCLUDE_FILES@
+SHOW_GROUPED_MEMB_INC = @DOXYGEN_SHOW_GROUPED_MEMB_INC@
+FORCE_LOCAL_INCLUDES = @DOXYGEN_FORCE_LOCAL_INCLUDES@
+INLINE_INFO = @DOXYGEN_INLINE_INFO@
+SORT_MEMBER_DOCS = @DOXYGEN_SORT_MEMBER_DOCS@
+SORT_BRIEF_DOCS = @DOXYGEN_SORT_BRIEF_DOCS@
+SORT_MEMBERS_CTORS_1ST = @DOXYGEN_SORT_MEMBERS_CTORS_1ST@
+SORT_GROUP_NAMES = @DOXYGEN_SORT_GROUP_NAMES@
+SORT_BY_SCOPE_NAME = @DOXYGEN_SORT_BY_SCOPE_NAME@
+STRICT_PROTO_MATCHING = @DOXYGEN_STRICT_PROTO_MATCHING@
+GENERATE_TODOLIST = @DOXYGEN_GENERATE_TODOLIST@
+GENERATE_TESTLIST = @DOXYGEN_GENERATE_TESTLIST@
+GENERATE_BUGLIST = @DOXYGEN_GENERATE_BUGLIST@
+GENERATE_DEPRECATEDLIST= @DOXYGEN_GENERATE_DEPRECATEDLIST@
+ENABLED_SECTIONS = @DOXYGEN_ENABLED_SECTIONS@
+MAX_INITIALIZER_LINES = @DOXYGEN_MAX_INITIALIZER_LINES@
+SHOW_USED_FILES = @DOXYGEN_SHOW_USED_FILES@
+SHOW_FILES = @DOXYGEN_SHOW_FILES@
+SHOW_NAMESPACES = @DOXYGEN_SHOW_NAMESPACES@
+FILE_VERSION_FILTER = @DOXYGEN_FILE_VERSION_FILTER@
+LAYOUT_FILE = @DOXYGEN_LAYOUT_FILE@
+CITE_BIB_FILES = @DOXYGEN_CITE_BIB_FILES@
+QUIET = @DOXYGEN_QUIET@
+WARNINGS = @DOXYGEN_WARNINGS@
+WARN_IF_UNDOCUMENTED = @DOXYGEN_WARN_IF_UNDOCUMENTED@
+WARN_IF_DOC_ERROR = @DOXYGEN_WARN_IF_DOC_ERROR@
+WARN_NO_PARAMDOC = @DOXYGEN_WARN_NO_PARAMDOC@
+WARN_AS_ERROR = @DOXYGEN_WARN_AS_ERROR@
+WARN_FORMAT = @DOXYGEN_WARN_FORMAT@
+WARN_LOGFILE = @DOXYGEN_WARN_LOGFILE@
+INPUT = @DOXYGEN_INPUT@
+INPUT_ENCODING = @DOXYGEN_INPUT_ENCODING@
+FILE_PATTERNS = @DOXYGEN_FILE_PATTERNS@
+RECURSIVE = @DOXYGEN_RECURSIVE@
+EXCLUDE = @DOXYGEN_EXCLUDE@
+EXCLUDE_SYMLINKS = @DOXYGEN_EXCLUDE_SYMLINKS@
+EXCLUDE_PATTERNS = @DOXYGEN_EXCLUDE_PATTERNS@
+EXCLUDE_SYMBOLS = @DOXYGEN_EXCLUDE_SYMBOLS@
+EXAMPLE_PATH = @DOXYGEN_EXAMPLE_PATH@
+EXAMPLE_PATTERNS = @DOXYGEN_EXAMPLE_PATTERNS@
+EXAMPLE_RECURSIVE = @DOXYGEN_EXAMPLE_RECURSIVE@
+IMAGE_PATH = @DOXYGEN_IMAGE_PATH@
+INPUT_FILTER = @DOXYGEN_INPUT_FILTER@
+FILTER_PATTERNS = @DOXYGEN_FILTER_PATTERNS@
+FILTER_SOURCE_FILES = @DOXYGEN_FILTER_SOURCE_FILES@
+FILTER_SOURCE_PATTERNS = @DOXYGEN_FILTER_SOURCE_PATTERNS@
+USE_MDFILE_AS_MAINPAGE = @DOXYGEN_USE_MDFILE_AS_MAINPAGE@
+SOURCE_BROWSER = @DOXYGEN_SOURCE_BROWSER@
+INLINE_SOURCES = @DOXYGEN_INLINE_SOURCES@
+STRIP_CODE_COMMENTS = @DOXYGEN_STRIP_CODE_COMMENTS@
+REFERENCED_BY_RELATION = @DOXYGEN_REFERENCED_BY_RELATION@
+REFERENCES_RELATION = @DOXYGEN_REFERENCES_RELATION@
+REFERENCES_LINK_SOURCE = @DOXYGEN_REFERENCES_LINK_SOURCE@
+SOURCE_TOOLTIPS = @DOXYGEN_SOURCE_TOOLTIPS@
+USE_HTAGS = @DOXYGEN_USE_HTAGS@
+VERBATIM_HEADERS = @DOXYGEN_VERBATIM_HEADERS@
+CLANG_ASSISTED_PARSING = @DOXYGEN_CLANG_ASSISTED_PARSING@
+CLANG_OPTIONS = @DOXYGEN_CLANG_OPTIONS@
+CLANG_DATABASE_PATH = @DOXYGEN_CLANG_DATABASE_PATH@
+ALPHABETICAL_INDEX = @DOXYGEN_ALPHABETICAL_INDEX@
+COLS_IN_ALPHA_INDEX = @DOXYGEN_COLS_IN_ALPHA_INDEX@
+IGNORE_PREFIX = @DOXYGEN_IGNORE_PREFIX@
+GENERATE_HTML = @DOXYGEN_GENERATE_HTML@
+HTML_OUTPUT = @DOXYGEN_HTML_OUTPUT@
+HTML_FILE_EXTENSION = @DOXYGEN_HTML_FILE_EXTENSION@
+HTML_HEADER = @DOXYGEN_HTML_HEADER@
+HTML_FOOTER = @DOXYGEN_HTML_FOOTER@
+HTML_STYLESHEET = @DOXYGEN_HTML_STYLESHEET@
+HTML_EXTRA_STYLESHEET = @DOXYGEN_HTML_EXTRA_STYLESHEET@
+HTML_EXTRA_FILES = @DOXYGEN_HTML_EXTRA_FILES@
+HTML_COLORSTYLE_HUE = @DOXYGEN_HTML_COLORSTYLE_HUE@
+HTML_COLORSTYLE_SAT = @DOXYGEN_HTML_COLORSTYLE_SAT@
+HTML_COLORSTYLE_GAMMA = @DOXYGEN_HTML_COLORSTYLE_GAMMA@
+HTML_TIMESTAMP = @DOXYGEN_HTML_TIMESTAMP@
+HTML_DYNAMIC_MENUS = @DOXYGEN_HTML_DYNAMIC_MENUS@
+HTML_DYNAMIC_SECTIONS = @DOXYGEN_HTML_DYNAMIC_SECTIONS@
+HTML_INDEX_NUM_ENTRIES = @DOXYGEN_HTML_INDEX_NUM_ENTRIES@
+GENERATE_DOCSET = @DOXYGEN_GENERATE_DOCSET@
+DOCSET_FEEDNAME = @DOXYGEN_DOCSET_FEEDNAME@
+DOCSET_BUNDLE_ID = @DOXYGEN_DOCSET_BUNDLE_ID@
+DOCSET_PUBLISHER_ID = @DOXYGEN_DOCSET_PUBLISHER_ID@
+DOCSET_PUBLISHER_NAME = @DOXYGEN_DOCSET_PUBLISHER_NAME@
+GENERATE_HTMLHELP = @DOXYGEN_GENERATE_HTMLHELP@
+CHM_FILE = @DOXYGEN_CHM_FILE@
+HHC_LOCATION = @DOXYGEN_HHC_LOCATION@
+GENERATE_CHI = @DOXYGEN_GENERATE_CHI@
+CHM_INDEX_ENCODING = @DOXYGEN_CHM_INDEX_ENCODING@
+BINARY_TOC = @DOXYGEN_BINARY_TOC@
+TOC_EXPAND = @DOXYGEN_TOC_EXPAND@
+GENERATE_QHP = @DOXYGEN_GENERATE_QHP@
+QCH_FILE = @DOXYGEN_QCH_FILE@
+QHP_NAMESPACE = @DOXYGEN_QHP_NAMESPACE@
+QHP_VIRTUAL_FOLDER = @DOXYGEN_QHP_VIRTUAL_FOLDER@
+QHP_CUST_FILTER_NAME = @DOXYGEN_QHP_CUST_FILTER_NAME@
+QHP_CUST_FILTER_ATTRS = @DOXYGEN_QHP_CUST_FILTER_ATTRS@
+QHP_SECT_FILTER_ATTRS = @DOXYGEN_QHP_SECT_FILTER_ATTRS@
+QHG_LOCATION = @DOXYGEN_QHG_LOCATION@
+GENERATE_ECLIPSEHELP = @DOXYGEN_GENERATE_ECLIPSEHELP@
+ECLIPSE_DOC_ID = @DOXYGEN_ECLIPSE_DOC_ID@
+DISABLE_INDEX = @DOXYGEN_DISABLE_INDEX@
+GENERATE_TREEVIEW = @DOXYGEN_GENERATE_TREEVIEW@
+ENUM_VALUES_PER_LINE = @DOXYGEN_ENUM_VALUES_PER_LINE@
+TREEVIEW_WIDTH = @DOXYGEN_TREEVIEW_WIDTH@
+EXT_LINKS_IN_WINDOW = @DOXYGEN_EXT_LINKS_IN_WINDOW@
+FORMULA_FONTSIZE = @DOXYGEN_FORMULA_FONTSIZE@
+FORMULA_TRANSPARENT = @DOXYGEN_FORMULA_TRANSPARENT@
+FORMULA_MACROFILE = @DOXYGEN_FORMULA_MACROFILE@
+USE_MATHJAX = @DOXYGEN_USE_MATHJAX@
+MATHJAX_FORMAT = @DOXYGEN_MATHJAX_FORMAT@
+MATHJAX_RELPATH = @DOXYGEN_MATHJAX_RELPATH@
+MATHJAX_EXTENSIONS = @DOXYGEN_MATHJAX_EXTENSIONS@
+MATHJAX_CODEFILE = @DOXYGEN_MATHJAX_CODEFILE@
+SEARCHENGINE = @DOXYGEN_SEARCHENGINE@
+SERVER_BASED_SEARCH = @DOXYGEN_SERVER_BASED_SEARCH@
+EXTERNAL_SEARCH = @DOXYGEN_EXTERNAL_SEARCH@
+SEARCHENGINE_URL = @DOXYGEN_SEARCHENGINE_URL@
+SEARCHDATA_FILE = @DOXYGEN_SEARCHDATA_FILE@
+EXTERNAL_SEARCH_ID = @DOXYGEN_EXTERNAL_SEARCH_ID@
+EXTRA_SEARCH_MAPPINGS = @DOXYGEN_EXTRA_SEARCH_MAPPINGS@
+GENERATE_LATEX = @DOXYGEN_GENERATE_LATEX@
+LATEX_OUTPUT = @DOXYGEN_LATEX_OUTPUT@
+LATEX_CMD_NAME = @DOXYGEN_LATEX_CMD_NAME@
+MAKEINDEX_CMD_NAME = @DOXYGEN_MAKEINDEX_CMD_NAME@
+LATEX_MAKEINDEX_CMD = @DOXYGEN_LATEX_MAKEINDEX_CMD@
+COMPACT_LATEX = @DOXYGEN_COMPACT_LATEX@
+PAPER_TYPE = @DOXYGEN_PAPER_TYPE@
+EXTRA_PACKAGES = @DOXYGEN_EXTRA_PACKAGES@
+LATEX_HEADER = @DOXYGEN_LATEX_HEADER@
+LATEX_FOOTER = @DOXYGEN_LATEX_FOOTER@
+LATEX_EXTRA_STYLESHEET = @DOXYGEN_LATEX_EXTRA_STYLESHEET@
+LATEX_EXTRA_FILES = @DOXYGEN_LATEX_EXTRA_FILES@
+PDF_HYPERLINKS = @DOXYGEN_PDF_HYPERLINKS@
+USE_PDFLATEX = @DOXYGEN_USE_PDFLATEX@
+LATEX_BATCHMODE = @DOXYGEN_LATEX_BATCHMODE@
+LATEX_HIDE_INDICES = @DOXYGEN_LATEX_HIDE_INDICES@
+LATEX_SOURCE_CODE = @DOXYGEN_LATEX_SOURCE_CODE@
+LATEX_BIB_STYLE = @DOXYGEN_LATEX_BIB_STYLE@
+LATEX_TIMESTAMP = @DOXYGEN_LATEX_TIMESTAMP@
+LATEX_EMOJI_DIRECTORY = @DOXYGEN_LATEX_EMOJI_DIRECTORY@
+GENERATE_RTF = @DOXYGEN_GENERATE_RTF@
+RTF_OUTPUT = @DOXYGEN_RTF_OUTPUT@
+COMPACT_RTF = @DOXYGEN_COMPACT_RTF@
+RTF_HYPERLINKS = @DOXYGEN_RTF_HYPERLINKS@
+RTF_STYLESHEET_FILE = @DOXYGEN_RTF_STYLESHEET_FILE@
+RTF_EXTENSIONS_FILE = @DOXYGEN_RTF_EXTENSIONS_FILE@
+RTF_SOURCE_CODE = @DOXYGEN_RTF_SOURCE_CODE@
+GENERATE_MAN = @DOXYGEN_GENERATE_MAN@
+MAN_OUTPUT = @DOXYGEN_MAN_OUTPUT@
+MAN_EXTENSION = @DOXYGEN_MAN_EXTENSION@
+MAN_SUBDIR = @DOXYGEN_MAN_SUBDIR@
+MAN_LINKS = @DOXYGEN_MAN_LINKS@
+GENERATE_XML = @DOXYGEN_GENERATE_XML@
+XML_OUTPUT = @DOXYGEN_XML_OUTPUT@
+XML_PROGRAMLISTING = @DOXYGEN_XML_PROGRAMLISTING@
+XML_NS_MEMB_FILE_SCOPE = @DOXYGEN_XML_NS_MEMB_FILE_SCOPE@
+GENERATE_DOCBOOK = @DOXYGEN_GENERATE_DOCBOOK@
+DOCBOOK_OUTPUT = @DOXYGEN_DOCBOOK_OUTPUT@
+DOCBOOK_PROGRAMLISTING = @DOXYGEN_DOCBOOK_PROGRAMLISTING@
+GENERATE_AUTOGEN_DEF = @DOXYGEN_GENERATE_AUTOGEN_DEF@
+GENERATE_PERLMOD = @DOXYGEN_GENERATE_PERLMOD@
+PERLMOD_LATEX = @DOXYGEN_PERLMOD_LATEX@
+PERLMOD_PRETTY = @DOXYGEN_PERLMOD_PRETTY@
+PERLMOD_MAKEVAR_PREFIX = @DOXYGEN_PERLMOD_MAKEVAR_PREFIX@
+ENABLE_PREPROCESSING = @DOXYGEN_ENABLE_PREPROCESSING@
+MACRO_EXPANSION = @DOXYGEN_MACRO_EXPANSION@
+EXPAND_ONLY_PREDEF = @DOXYGEN_EXPAND_ONLY_PREDEF@
+SEARCH_INCLUDES = @DOXYGEN_SEARCH_INCLUDES@
+INCLUDE_PATH = @DOXYGEN_INCLUDE_PATH@
+INCLUDE_FILE_PATTERNS = @DOXYGEN_INCLUDE_FILE_PATTERNS@
+PREDEFINED = @DOXYGEN_PREDEFINED@
+EXPAND_AS_DEFINED = @DOXYGEN_EXPAND_AS_DEFINED@
+SKIP_FUNCTION_MACROS = @DOXYGEN_SKIP_FUNCTION_MACROS@
+TAGFILES = @DOXYGEN_TAGFILES@
+GENERATE_TAGFILE = @DOXYGEN_GENERATE_TAGFILE@
+ALLEXTERNALS = @DOXYGEN_ALLEXTERNALS@
+EXTERNAL_GROUPS = @DOXYGEN_EXTERNAL_GROUPS@
+EXTERNAL_PAGES = @DOXYGEN_EXTERNAL_PAGES@
+CLASS_DIAGRAMS = @DOXYGEN_CLASS_DIAGRAMS@
+DIA_PATH = @DOXYGEN_DIA_PATH@
+HIDE_UNDOC_RELATIONS = @DOXYGEN_HIDE_UNDOC_RELATIONS@
+HAVE_DOT = @DOXYGEN_HAVE_DOT@
+DOT_NUM_THREADS = @DOXYGEN_DOT_NUM_THREADS@
+DOT_FONTNAME = @DOXYGEN_DOT_FONTNAME@
+DOT_FONTSIZE = @DOXYGEN_DOT_FONTSIZE@
+DOT_FONTPATH = @DOXYGEN_DOT_FONTPATH@
+CLASS_GRAPH = @DOXYGEN_CLASS_GRAPH@
+COLLABORATION_GRAPH = @DOXYGEN_COLLABORATION_GRAPH@
+GROUP_GRAPHS = @DOXYGEN_GROUP_GRAPHS@
+UML_LOOK = @DOXYGEN_UML_LOOK@
+UML_LIMIT_NUM_FIELDS = @DOXYGEN_UML_LIMIT_NUM_FIELDS@
+TEMPLATE_RELATIONS = @DOXYGEN_TEMPLATE_RELATIONS@
+INCLUDE_GRAPH = @DOXYGEN_INCLUDE_GRAPH@
+INCLUDED_BY_GRAPH = @DOXYGEN_INCLUDED_BY_GRAPH@
+CALL_GRAPH = @DOXYGEN_CALL_GRAPH@
+CALLER_GRAPH = @DOXYGEN_CALLER_GRAPH@
+GRAPHICAL_HIERARCHY = @DOXYGEN_GRAPHICAL_HIERARCHY@
+DIRECTORY_GRAPH = @DOXYGEN_DIRECTORY_GRAPH@
+DOT_IMAGE_FORMAT = @DOXYGEN_DOT_IMAGE_FORMAT@
+INTERACTIVE_SVG = @DOXYGEN_INTERACTIVE_SVG@
+DOT_PATH = @DOXYGEN_DOT_PATH@
+DOTFILE_DIRS = @DOXYGEN_DOTFILE_DIRS@
+MSCFILE_DIRS = @DOXYGEN_MSCFILE_DIRS@
+DIAFILE_DIRS = @DOXYGEN_DIAFILE_DIRS@
+PLANTUML_JAR_PATH = @DOXYGEN_PLANTUML_JAR_PATH@
+PLANTUML_CFG_FILE = @DOXYGEN_PLANTUML_CFG_FILE@
+PLANTUML_INCLUDE_PATH = @DOXYGEN_PLANTUML_INCLUDE_PATH@
+DOT_GRAPH_MAX_NODES = @DOXYGEN_DOT_GRAPH_MAX_NODES@
+MAX_DOT_GRAPH_DEPTH = @DOXYGEN_MAX_DOT_GRAPH_DEPTH@
+DOT_TRANSPARENT = @DOXYGEN_DOT_TRANSPARENT@
+DOT_MULTI_TARGETS = @DOXYGEN_DOT_MULTI_TARGETS@
+GENERATE_LEGEND = @DOXYGEN_GENERATE_LEGEND@
+DOT_CLEANUP = @DOXYGEN_DOT_CLEANUP@
diff --git a/silo/build/CMakeDoxygenDefaults.cmake b/silo/build/CMakeDoxygenDefaults.cmake
new file mode 100644
index 00000000..db28798f
--- /dev/null
+++ b/silo/build/CMakeDoxygenDefaults.cmake
@@ -0,0 +1,672 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+if(NOT DEFINED DOXYGEN_DOXYFILE_ENCODING)
+ set(DOXYGEN_DOXYFILE_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_PROJECT_NAME)
+ set(DOXYGEN_PROJECT_NAME "My Project")
+endif()
+if(NOT DEFINED DOXYGEN_CREATE_SUBDIRS)
+ set(DOXYGEN_CREATE_SUBDIRS NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALLOW_UNICODE_NAMES)
+ set(DOXYGEN_ALLOW_UNICODE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_LANGUAGE)
+ set(DOXYGEN_OUTPUT_LANGUAGE English)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_TEXT_DIRECTION)
+ set(DOXYGEN_OUTPUT_TEXT_DIRECTION None)
+endif()
+if(NOT DEFINED DOXYGEN_BRIEF_MEMBER_DESC)
+ set(DOXYGEN_BRIEF_MEMBER_DESC YES)
+endif()
+if(NOT DEFINED DOXYGEN_REPEAT_BRIEF)
+ set(DOXYGEN_REPEAT_BRIEF YES)
+endif()
+if(NOT DEFINED DOXYGEN_ABBREVIATE_BRIEF)
+ set(DOXYGEN_ABBREVIATE_BRIEF "The $name class"
+ "The $name widget"
+ "The $name file"
+ is
+ provides
+ specifies
+ contains
+ represents
+ a
+ an
+ the)
+endif()
+if(NOT DEFINED DOXYGEN_ALWAYS_DETAILED_SEC)
+ set(DOXYGEN_ALWAYS_DETAILED_SEC NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INHERITED_MEMB)
+ set(DOXYGEN_INLINE_INHERITED_MEMB NO)
+endif()
+if(NOT DEFINED DOXYGEN_FULL_PATH_NAMES)
+ set(DOXYGEN_FULL_PATH_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHORT_NAMES)
+ set(DOXYGEN_SHORT_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_AUTOBRIEF)
+ set(DOXYGEN_JAVADOC_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_BANNER)
+ set(DOXYGEN_JAVADOC_BANNER NO)
+endif()
+if(NOT DEFINED DOXYGEN_QT_AUTOBRIEF)
+ set(DOXYGEN_QT_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_MULTILINE_CPP_IS_BRIEF)
+ set(DOXYGEN_MULTILINE_CPP_IS_BRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_INHERIT_DOCS)
+ set(DOXYGEN_INHERIT_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SEPARATE_MEMBER_PAGES)
+ set(DOXYGEN_SEPARATE_MEMBER_PAGES NO)
+endif()
+if(NOT DEFINED DOXYGEN_TAB_SIZE)
+ set(DOXYGEN_TAB_SIZE 4)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_FOR_C)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_FOR_C NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_JAVA)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_JAVA NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_FOR_FORTRAN)
+ set(DOXYGEN_OPTIMIZE_FOR_FORTRAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_VHDL)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_VHDL NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_SLICE)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_SLICE NO)
+endif()
+if(NOT DEFINED DOXYGEN_MARKDOWN_SUPPORT)
+ set(DOXYGEN_MARKDOWN_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_INCLUDE_HEADINGS)
+ set(DOXYGEN_TOC_INCLUDE_HEADINGS 5)
+endif()
+if(NOT DEFINED DOXYGEN_AUTOLINK_SUPPORT)
+ set(DOXYGEN_AUTOLINK_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_BUILTIN_STL_SUPPORT)
+ set(DOXYGEN_BUILTIN_STL_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_CPP_CLI_SUPPORT)
+ set(DOXYGEN_CPP_CLI_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_SIP_SUPPORT)
+ set(DOXYGEN_SIP_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_IDL_PROPERTY_SUPPORT)
+ set(DOXYGEN_IDL_PROPERTY_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DISTRIBUTE_GROUP_DOC)
+ set(DOXYGEN_DISTRIBUTE_GROUP_DOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_NESTED_COMPOUNDS)
+ set(DOXYGEN_GROUP_NESTED_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SUBGROUPING)
+ set(DOXYGEN_SUBGROUPING YES)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_GROUPED_CLASSES)
+ set(DOXYGEN_INLINE_GROUPED_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SIMPLE_STRUCTS)
+ set(DOXYGEN_INLINE_SIMPLE_STRUCTS NO)
+endif()
+if(NOT DEFINED DOXYGEN_TYPEDEF_HIDES_STRUCT)
+ set(DOXYGEN_TYPEDEF_HIDES_STRUCT NO)
+endif()
+if(NOT DEFINED DOXYGEN_LOOKUP_CACHE_SIZE)
+ set(DOXYGEN_LOOKUP_CACHE_SIZE 0)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ALL)
+ set(DOXYGEN_EXTRACT_ALL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIVATE)
+ set(DOXYGEN_EXTRACT_PRIVATE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIV_VIRTUAL)
+ set(DOXYGEN_EXTRACT_PRIV_VIRTUAL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PACKAGE)
+ set(DOXYGEN_EXTRACT_PACKAGE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_STATIC)
+ set(DOXYGEN_EXTRACT_STATIC NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_CLASSES)
+ set(DOXYGEN_EXTRACT_LOCAL_CLASSES YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_METHODS)
+ set(DOXYGEN_EXTRACT_LOCAL_METHODS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ANON_NSPACES)
+ set(DOXYGEN_EXTRACT_ANON_NSPACES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_MEMBERS)
+ set(DOXYGEN_HIDE_UNDOC_MEMBERS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_CLASSES)
+ set(DOXYGEN_HIDE_UNDOC_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_FRIEND_COMPOUNDS)
+ set(DOXYGEN_HIDE_FRIEND_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_IN_BODY_DOCS)
+ set(DOXYGEN_HIDE_IN_BODY_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INTERNAL_DOCS)
+ set(DOXYGEN_INTERNAL_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_CASE_SENSE_NAMES)
+ set(DOXYGEN_CASE_SENSE_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_SCOPE_NAMES)
+ set(DOXYGEN_HIDE_SCOPE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_COMPOUND_REFERENCE)
+ set(DOXYGEN_HIDE_COMPOUND_REFERENCE NO)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_INCLUDE_FILES)
+ set(DOXYGEN_SHOW_INCLUDE_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_GROUPED_MEMB_INC)
+ set(DOXYGEN_SHOW_GROUPED_MEMB_INC NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORCE_LOCAL_INCLUDES)
+ set(DOXYGEN_FORCE_LOCAL_INCLUDES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INFO)
+ set(DOXYGEN_INLINE_INFO YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBER_DOCS)
+ set(DOXYGEN_SORT_MEMBER_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BRIEF_DOCS)
+ set(DOXYGEN_SORT_BRIEF_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBERS_CTORS_1ST)
+ set(DOXYGEN_SORT_MEMBERS_CTORS_1ST NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_GROUP_NAMES)
+ set(DOXYGEN_SORT_GROUP_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BY_SCOPE_NAME)
+ set(DOXYGEN_SORT_BY_SCOPE_NAME NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRICT_PROTO_MATCHING)
+ set(DOXYGEN_STRICT_PROTO_MATCHING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TODOLIST)
+ set(DOXYGEN_GENERATE_TODOLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TESTLIST)
+ set(DOXYGEN_GENERATE_TESTLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_BUGLIST)
+ set(DOXYGEN_GENERATE_BUGLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DEPRECATEDLIST)
+ set(DOXYGEN_GENERATE_DEPRECATEDLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_INITIALIZER_LINES)
+ set(DOXYGEN_MAX_INITIALIZER_LINES 30)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_USED_FILES)
+ set(DOXYGEN_SHOW_USED_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_FILES)
+ set(DOXYGEN_SHOW_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_NAMESPACES)
+ set(DOXYGEN_SHOW_NAMESPACES YES)
+endif()
+if(NOT DEFINED DOXYGEN_QUIET)
+ set(DOXYGEN_QUIET NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARNINGS)
+ set(DOXYGEN_WARNINGS YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_UNDOCUMENTED)
+ set(DOXYGEN_WARN_IF_UNDOCUMENTED YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_DOC_ERROR)
+ set(DOXYGEN_WARN_IF_DOC_ERROR YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_NO_PARAMDOC)
+ set(DOXYGEN_WARN_NO_PARAMDOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_AS_ERROR)
+ set(DOXYGEN_WARN_AS_ERROR NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_FORMAT)
+ set(DOXYGEN_WARN_FORMAT "$file:$line: $text")
+endif()
+if(NOT DEFINED DOXYGEN_INPUT_ENCODING)
+ set(DOXYGEN_INPUT_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_FILE_PATTERNS)
+ set(DOXYGEN_FILE_PATTERNS *.c
+ *.cc
+ *.cxx
+ *.cpp
+ *.c++
+ *.java
+ *.ii
+ *.ixx
+ *.ipp
+ *.i++
+ *.inl
+ *.idl
+ *.ddl
+ *.odl
+ *.h
+ *.hh
+ *.hxx
+ *.hpp
+ *.h++
+ *.cs
+ *.d
+ *.php
+ *.php4
+ *.php5
+ *.phtml
+ *.inc
+ *.m
+ *.markdown
+ *.md
+ *.mm
+ *.dox
+ *.doc
+ *.txt
+ *.py
+ *.pyw
+ *.f90
+ *.f95
+ *.f03
+ *.f08
+ *.f
+ *.for
+ *.tcl
+ *.vhd
+ *.vhdl
+ *.ucf
+ *.qsf
+ *.ice)
+endif()
+if(NOT DEFINED DOXYGEN_RECURSIVE)
+ set(DOXYGEN_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXCLUDE_SYMLINKS)
+ set(DOXYGEN_EXCLUDE_SYMLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_PATTERNS)
+ set(DOXYGEN_EXAMPLE_PATTERNS *)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_RECURSIVE)
+ set(DOXYGEN_EXAMPLE_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_FILTER_SOURCE_FILES)
+ set(DOXYGEN_FILTER_SOURCE_FILES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_BROWSER)
+ set(DOXYGEN_SOURCE_BROWSER NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SOURCES)
+ set(DOXYGEN_INLINE_SOURCES NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRIP_CODE_COMMENTS)
+ set(DOXYGEN_STRIP_CODE_COMMENTS YES)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCED_BY_RELATION)
+ set(DOXYGEN_REFERENCED_BY_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_RELATION)
+ set(DOXYGEN_REFERENCES_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_LINK_SOURCE)
+ set(DOXYGEN_REFERENCES_LINK_SOURCE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_TOOLTIPS)
+ set(DOXYGEN_SOURCE_TOOLTIPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_HTAGS)
+ set(DOXYGEN_USE_HTAGS NO)
+endif()
+if(NOT DEFINED DOXYGEN_VERBATIM_HEADERS)
+ set(DOXYGEN_VERBATIM_HEADERS YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLANG_ASSISTED_PARSING)
+ set(DOXYGEN_CLANG_ASSISTED_PARSING NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALPHABETICAL_INDEX)
+ set(DOXYGEN_ALPHABETICAL_INDEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLS_IN_ALPHA_INDEX)
+ set(DOXYGEN_COLS_IN_ALPHA_INDEX 5)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTML)
+ set(DOXYGEN_GENERATE_HTML YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_OUTPUT)
+ set(DOXYGEN_HTML_OUTPUT html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_FILE_EXTENSION)
+ set(DOXYGEN_HTML_FILE_EXTENSION .html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_HUE)
+ set(DOXYGEN_HTML_COLORSTYLE_HUE 220)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_SAT)
+ set(DOXYGEN_HTML_COLORSTYLE_SAT 100)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_GAMMA)
+ set(DOXYGEN_HTML_COLORSTYLE_GAMMA 80)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_TIMESTAMP)
+ set(DOXYGEN_HTML_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_MENUS)
+ set(DOXYGEN_HTML_DYNAMIC_MENUS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_SECTIONS)
+ set(DOXYGEN_HTML_DYNAMIC_SECTIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_INDEX_NUM_ENTRIES)
+ set(DOXYGEN_HTML_INDEX_NUM_ENTRIES 100)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCSET)
+ set(DOXYGEN_GENERATE_DOCSET NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_FEEDNAME)
+ set(DOXYGEN_DOCSET_FEEDNAME "Doxygen generated docs")
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_BUNDLE_ID)
+ set(DOXYGEN_DOCSET_BUNDLE_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_ID)
+ set(DOXYGEN_DOCSET_PUBLISHER_ID org.doxygen.Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_NAME)
+ set(DOXYGEN_DOCSET_PUBLISHER_NAME Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTMLHELP)
+ set(DOXYGEN_GENERATE_HTMLHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_CHI)
+ set(DOXYGEN_GENERATE_CHI NO)
+endif()
+if(NOT DEFINED DOXYGEN_BINARY_TOC)
+ set(DOXYGEN_BINARY_TOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_EXPAND)
+ set(DOXYGEN_TOC_EXPAND NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_QHP)
+ set(DOXYGEN_GENERATE_QHP NO)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_NAMESPACE)
+ set(DOXYGEN_QHP_NAMESPACE org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_VIRTUAL_FOLDER)
+ set(DOXYGEN_QHP_VIRTUAL_FOLDER doc)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_ECLIPSEHELP)
+ set(DOXYGEN_GENERATE_ECLIPSEHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_ECLIPSE_DOC_ID)
+ set(DOXYGEN_ECLIPSE_DOC_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DISABLE_INDEX)
+ set(DOXYGEN_DISABLE_INDEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TREEVIEW)
+ set(DOXYGEN_GENERATE_TREEVIEW NO)
+endif()
+if(NOT DEFINED DOXYGEN_ENUM_VALUES_PER_LINE)
+ set(DOXYGEN_ENUM_VALUES_PER_LINE 4)
+endif()
+if(NOT DEFINED DOXYGEN_TREEVIEW_WIDTH)
+ set(DOXYGEN_TREEVIEW_WIDTH 250)
+endif()
+if(NOT DEFINED DOXYGEN_EXT_LINKS_IN_WINDOW)
+ set(DOXYGEN_EXT_LINKS_IN_WINDOW NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_FONTSIZE)
+ set(DOXYGEN_FORMULA_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_TRANSPARENT)
+ set(DOXYGEN_FORMULA_TRANSPARENT YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_MATHJAX)
+ set(DOXYGEN_USE_MATHJAX NO)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_FORMAT)
+ set(DOXYGEN_MATHJAX_FORMAT HTML-CSS)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_RELPATH)
+ set(DOXYGEN_MATHJAX_RELPATH https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHENGINE)
+ set(DOXYGEN_SEARCHENGINE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SERVER_BASED_SEARCH)
+ set(DOXYGEN_SERVER_BASED_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_SEARCH)
+ set(DOXYGEN_EXTERNAL_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHDATA_FILE)
+ set(DOXYGEN_SEARCHDATA_FILE searchdata.xml)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LATEX)
+ set(DOXYGEN_GENERATE_LATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_OUTPUT)
+ set(DOXYGEN_LATEX_OUTPUT latex)
+endif()
+if(NOT DEFINED DOXYGEN_MAKEINDEX_CMD_NAME)
+ set(DOXYGEN_MAKEINDEX_CMD_NAME makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_MAKEINDEX_CMD)
+ set(DOXYGEN_LATEX_MAKEINDEX_CMD makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_LATEX)
+ set(DOXYGEN_COMPACT_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PAPER_TYPE)
+ set(DOXYGEN_PAPER_TYPE a4)
+endif()
+if(NOT DEFINED DOXYGEN_PDF_HYPERLINKS)
+ set(DOXYGEN_PDF_HYPERLINKS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_PDFLATEX)
+ set(DOXYGEN_USE_PDFLATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BATCHMODE)
+ set(DOXYGEN_LATEX_BATCHMODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_HIDE_INDICES)
+ set(DOXYGEN_LATEX_HIDE_INDICES NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_SOURCE_CODE)
+ set(DOXYGEN_LATEX_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BIB_STYLE)
+ set(DOXYGEN_LATEX_BIB_STYLE plain)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_TIMESTAMP)
+ set(DOXYGEN_LATEX_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_RTF)
+ set(DOXYGEN_GENERATE_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_OUTPUT)
+ set(DOXYGEN_RTF_OUTPUT rtf)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_RTF)
+ set(DOXYGEN_COMPACT_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_HYPERLINKS)
+ set(DOXYGEN_RTF_HYPERLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_SOURCE_CODE)
+ set(DOXYGEN_RTF_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_MAN)
+ set(DOXYGEN_GENERATE_MAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_OUTPUT)
+ set(DOXYGEN_MAN_OUTPUT man)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_EXTENSION)
+ set(DOXYGEN_MAN_EXTENSION .3)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_LINKS)
+ set(DOXYGEN_MAN_LINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_XML)
+ set(DOXYGEN_GENERATE_XML NO)
+endif()
+if(NOT DEFINED DOXYGEN_XML_OUTPUT)
+ set(DOXYGEN_XML_OUTPUT xml)
+endif()
+if(NOT DEFINED DOXYGEN_XML_PROGRAMLISTING)
+ set(DOXYGEN_XML_PROGRAMLISTING YES)
+endif()
+if(NOT DEFINED DOXYGEN_XML_NS_MEMB_FILE_SCOPE)
+ set(DOXYGEN_XML_NS_MEMB_FILE_SCOPE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCBOOK)
+ set(DOXYGEN_GENERATE_DOCBOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_OUTPUT)
+ set(DOXYGEN_DOCBOOK_OUTPUT docbook)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_PROGRAMLISTING)
+ set(DOXYGEN_DOCBOOK_PROGRAMLISTING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_AUTOGEN_DEF)
+ set(DOXYGEN_GENERATE_AUTOGEN_DEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_PERLMOD)
+ set(DOXYGEN_GENERATE_PERLMOD NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_LATEX)
+ set(DOXYGEN_PERLMOD_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_PRETTY)
+ set(DOXYGEN_PERLMOD_PRETTY YES)
+endif()
+if(NOT DEFINED DOXYGEN_ENABLE_PREPROCESSING)
+ set(DOXYGEN_ENABLE_PREPROCESSING YES)
+endif()
+if(NOT DEFINED DOXYGEN_MACRO_EXPANSION)
+ set(DOXYGEN_MACRO_EXPANSION NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXPAND_ONLY_PREDEF)
+ set(DOXYGEN_EXPAND_ONLY_PREDEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCH_INCLUDES)
+ set(DOXYGEN_SEARCH_INCLUDES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SKIP_FUNCTION_MACROS)
+ set(DOXYGEN_SKIP_FUNCTION_MACROS YES)
+endif()
+if(NOT DEFINED DOXYGEN_ALLEXTERNALS)
+ set(DOXYGEN_ALLEXTERNALS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_GROUPS)
+ set(DOXYGEN_EXTERNAL_GROUPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_PAGES)
+ set(DOXYGEN_EXTERNAL_PAGES YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_DIAGRAMS)
+ set(DOXYGEN_CLASS_DIAGRAMS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_RELATIONS)
+ set(DOXYGEN_HIDE_UNDOC_RELATIONS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HAVE_DOT)
+ set(DOXYGEN_HAVE_DOT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_NUM_THREADS)
+ set(DOXYGEN_DOT_NUM_THREADS 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTNAME)
+ set(DOXYGEN_DOT_FONTNAME Helvetica)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTSIZE)
+ set(DOXYGEN_DOT_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_GRAPH)
+ set(DOXYGEN_CLASS_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLLABORATION_GRAPH)
+ set(DOXYGEN_COLLABORATION_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_GRAPHS)
+ set(DOXYGEN_GROUP_GRAPHS YES)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LOOK)
+ set(DOXYGEN_UML_LOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LIMIT_NUM_FIELDS)
+ set(DOXYGEN_UML_LIMIT_NUM_FIELDS 10)
+endif()
+if(NOT DEFINED DOXYGEN_TEMPLATE_RELATIONS)
+ set(DOXYGEN_TEMPLATE_RELATIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDE_GRAPH)
+ set(DOXYGEN_INCLUDE_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDED_BY_GRAPH)
+ set(DOXYGEN_INCLUDED_BY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_CALL_GRAPH)
+ set(DOXYGEN_CALL_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_CALLER_GRAPH)
+ set(DOXYGEN_CALLER_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_GRAPHICAL_HIERARCHY)
+ set(DOXYGEN_GRAPHICAL_HIERARCHY YES)
+endif()
+if(NOT DEFINED DOXYGEN_DIRECTORY_GRAPH)
+ set(DOXYGEN_DIRECTORY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_IMAGE_FORMAT)
+ set(DOXYGEN_DOT_IMAGE_FORMAT png)
+endif()
+if(NOT DEFINED DOXYGEN_INTERACTIVE_SVG)
+ set(DOXYGEN_INTERACTIVE_SVG NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_GRAPH_MAX_NODES)
+ set(DOXYGEN_DOT_GRAPH_MAX_NODES 50)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_DOT_GRAPH_DEPTH)
+ set(DOXYGEN_MAX_DOT_GRAPH_DEPTH 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_TRANSPARENT)
+ set(DOXYGEN_DOT_TRANSPARENT NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_MULTI_TARGETS)
+ set(DOXYGEN_DOT_MULTI_TARGETS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LEGEND)
+ set(DOXYGEN_GENERATE_LEGEND YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_CLEANUP)
+ set(DOXYGEN_DOT_CLEANUP YES)
+endif()
diff --git a/silo/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake b/silo/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
new file mode 100644
index 00000000..278ef39e
--- /dev/null
+++ b/silo/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
@@ -0,0 +1,88 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "9.4.0")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
+set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
+
+set(CMAKE_CXX_PLATFORM_ID "Linux")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+
+foreach (lang C OBJC OBJCXX)
+ if (CMAKE_${lang}_COMPILER_ID_RUN)
+ foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
+ list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
+ endforeach()
+ endif()
+endforeach()
+
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "ELF")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/silo/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin b/silo/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin
new file mode 100755
index 00000000..156cfcfc
Binary files /dev/null and b/silo/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin differ
diff --git a/silo/build/CMakeFiles/3.17.0/CMakeSystem.cmake b/silo/build/CMakeFiles/3.17.0/CMakeSystem.cmake
new file mode 100644
index 00000000..0fd1f759
--- /dev/null
+++ b/silo/build/CMakeFiles/3.17.0/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/silo/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp b/silo/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
new file mode 100644
index 00000000..69cfdba6
--- /dev/null
+++ b/silo/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
@@ -0,0 +1,660 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+ recognize the extension without flags. Borland does not know .cxx for
+ example. */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+ /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+ /* __SUNPRO_CC = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+ /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+ /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__) || defined(__GNUG__)
+# define COMPILER_ID "GNU"
+# if defined(__GNUC__)
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# else
+# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
+# if defined(__INTEL_CXX11_MODE__)
+# if defined(__cpp_aggregate_nsdmi)
+# define CXX_STD 201402L
+# else
+# define CXX_STD 201103L
+# endif
+# else
+# define CXX_STD 199711L
+# endif
+#elif defined(_MSC_VER) && defined(_MSVC_LANG)
+# define CXX_STD _MSVC_LANG
+#else
+# define CXX_STD __cplusplus
+#endif
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if CXX_STD > 201703L
+ "20"
+#elif CXX_STD >= 201703L
+ "17"
+#elif CXX_STD >= 201402L
+ "14"
+#elif CXX_STD >= 201103L
+ "11"
+#else
+ "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
diff --git a/silo/build/CMakeFiles/CMakeError.log b/silo/build/CMakeFiles/CMakeError.log
new file mode 100644
index 00000000..e5bdf9cc
--- /dev/null
+++ b/silo/build/CMakeFiles/CMakeError.log
@@ -0,0 +1,50 @@
+Performing C++ SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output:
+Change Dir: /home/tngngn/ccbench/silo/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_dec5b && [1/2] Building CXX object CMakeFiles/cmTC_dec5b.dir/src.cxx.o
+[2/2] Linking CXX executable cmTC_dec5b
+FAILED: cmTC_dec5b
+: && /usr/bin/c++ -DCMAKE_HAVE_LIBC_PTHREAD CMakeFiles/cmTC_dec5b.dir/src.cxx.o -o cmTC_dec5b && :
+/usr/bin/ld: CMakeFiles/cmTC_dec5b.dir/src.cxx.o: in function `main':
+src.cxx:(.text+0x46): undefined reference to `pthread_create'
+/usr/bin/ld: src.cxx:(.text+0x52): undefined reference to `pthread_detach'
+/usr/bin/ld: src.cxx:(.text+0x5e): undefined reference to `pthread_cancel'
+/usr/bin/ld: src.cxx:(.text+0x6f): undefined reference to `pthread_join'
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+Source file was:
+#include
+
+void* test_func(void* data)
+{
+ return data;
+}
+
+int main(void)
+{
+ pthread_t thread;
+ pthread_create(&thread, NULL, test_func, NULL);
+ pthread_detach(thread);
+ pthread_cancel(thread);
+ pthread_join(thread, NULL);
+ pthread_atfork(NULL, NULL, NULL);
+ pthread_exit(NULL);
+
+ return 0;
+}
+
+Determining if the function pthread_create exists in the pthreads failed with the following output:
+Change Dir: /home/tngngn/ccbench/silo/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_15435 && [1/2] Building CXX object CMakeFiles/cmTC_15435.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_15435
+FAILED: cmTC_15435
+: && /usr/bin/c++ -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_15435.dir/CheckFunctionExists.cxx.o -o cmTC_15435 -lpthreads && :
+/usr/bin/ld: -lpthreads が見つかりません
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+
diff --git a/silo/build/CMakeFiles/CMakeOutput.log b/silo/build/CMakeFiles/CMakeOutput.log
new file mode 100644
index 00000000..cd4ff40e
--- /dev/null
+++ b/silo/build/CMakeFiles/CMakeOutput.log
@@ -0,0 +1,235 @@
+The system is: Linux - 5.4.0-113-generic - x86_64
+Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
+Compiler: /usr/bin/c++
+Build flags:
+Id flags:
+
+The output was:
+0
+
+
+Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
+
+The CXX compiler identification is GNU, found in "/home/tngngn/ccbench/silo/build/CMakeFiles/3.17.0/CompilerIdCXX/a.out"
+
+Determining if the CXX compiler works passed with the following output:
+Change Dir: /home/tngngn/ccbench/silo/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_63ded && [1/2] Building CXX object CMakeFiles/cmTC_63ded.dir/testCXXCompiler.cxx.o
+[2/2] Linking CXX executable cmTC_63ded
+
+
+
+Detecting CXX compiler ABI info compiled with the following output:
+Change Dir: /home/tngngn/ccbench/silo/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_e8f51 && [1/2] Building CXX object CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccDw4HYY.s
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"
+ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
+#include "..." search starts here:
+#include <...> search starts here:
+ /usr/include/c++/9
+ /usr/include/x86_64-linux-gnu/c++/9
+ /usr/include/c++/9/backward
+ /usr/lib/gcc/x86_64-linux-gnu/9/include
+ /usr/local/include
+ /usr/include/x86_64-linux-gnu
+ /usr/include
+End of search list.
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ as -v --64 -o CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccDw4HYY.s
+GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+[2/2] Linking CXX executable cmTC_e8f51
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e8f51' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccS6KCjg.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_e8f51 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e8f51' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+
+
+
+Parsed CXX implicit include dir info from above output: rv=done
+ found start of include info
+ found start of implicit include info
+ add: [/usr/include/c++/9]
+ add: [/usr/include/x86_64-linux-gnu/c++/9]
+ add: [/usr/include/c++/9/backward]
+ add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ add: [/usr/local/include]
+ add: [/usr/include/x86_64-linux-gnu]
+ add: [/usr/include]
+ end of search list found
+ collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9]
+ collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9]
+ collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward]
+ collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ collapse include dir [/usr/local/include] ==> [/usr/local/include]
+ collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
+ collapse include dir [/usr/include] ==> [/usr/include]
+ implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
+
+
+Parsed CXX implicit link information from above output:
+ link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+ ignore line: [Change Dir: /home/tngngn/ccbench/silo/build/CMakeFiles/CMakeTmp]
+ ignore line: []
+ ignore line: [Run Build Command(s):/usr/local/bin/ninja cmTC_e8f51 && [1/2] Building CXX object CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccDw4HYY.s]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"]
+ ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
+ ignore line: [#include "..." search starts here:]
+ ignore line: [#include <...> search starts here:]
+ ignore line: [ /usr/include/c++/9]
+ ignore line: [ /usr/include/x86_64-linux-gnu/c++/9]
+ ignore line: [ /usr/include/c++/9/backward]
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
+ ignore line: [ /usr/local/include]
+ ignore line: [ /usr/include/x86_64-linux-gnu]
+ ignore line: [ /usr/include]
+ ignore line: [End of search list.]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ as -v --64 -o CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccDw4HYY.s]
+ ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [[2/2] Linking CXX executable cmTC_e8f51]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e8f51' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccS6KCjg.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_e8f51 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
+ arg [-plugin] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
+ arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
+ arg [-plugin-opt=-fresolution=/tmp/ccS6KCjg.res] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [--build-id] ==> ignore
+ arg [--eh-frame-hdr] ==> ignore
+ arg [-m] ==> ignore
+ arg [elf_x86_64] ==> ignore
+ arg [--hash-style=gnu] ==> ignore
+ arg [--as-needed] ==> ignore
+ arg [-dynamic-linker] ==> ignore
+ arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+ arg [-pie] ==> ignore
+ arg [-znow] ==> ignore
+ arg [-zrelro] ==> ignore
+ arg [-o] ==> ignore
+ arg [cmTC_e8f51] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
+ arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+ arg [-L/lib/../lib] ==> dir [/lib/../lib]
+ arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+ arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
+ arg [CMakeFiles/cmTC_e8f51.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+ arg [-lstdc++] ==> lib [stdc++]
+ arg [-lm] ==> lib [m]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [-lc] ==> lib [c]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
+ collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+ collapse library dir [/lib/../lib] ==> [/lib]
+ collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
+ implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
+ implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+ implicit fwks: []
+
+
+Determining if the include file pthread.h exists passed with the following output:
+Change Dir: /home/tngngn/ccbench/silo/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_afe48 && [1/2] Building CXX object CMakeFiles/cmTC_afe48.dir/CheckIncludeFile.cxx.o
+[2/2] Linking CXX executable cmTC_afe48
+
+
+
+Determining if the function pthread_create exists in the pthread passed with the following output:
+Change Dir: /home/tngngn/ccbench/silo/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_727b4 && [1/2] Building CXX object CMakeFiles/cmTC_727b4.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_727b4
+
+
+
diff --git a/silo/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx b/silo/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
new file mode 100644
index 00000000..13435e07
--- /dev/null
+++ b/silo/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
@@ -0,0 +1,28 @@
+#ifdef CHECK_FUNCTION_EXISTS
+
+# ifdef __cplusplus
+extern "C"
+# endif
+ char
+ CHECK_FUNCTION_EXISTS(void);
+# ifdef __CLASSIC_C__
+int main()
+{
+ int ac;
+ char* av[];
+# else
+int main(int ac, char* av[])
+{
+# endif
+ CHECK_FUNCTION_EXISTS();
+ if (ac > 1000) {
+ return *av[0];
+ }
+ return 0;
+}
+
+#else /* CHECK_FUNCTION_EXISTS */
+
+# error "CHECK_FUNCTION_EXISTS has to specify the function"
+
+#endif /* CHECK_FUNCTION_EXISTS */
diff --git a/silo/build/CMakeFiles/TargetDirectories.txt b/silo/build/CMakeFiles/TargetDirectories.txt
new file mode 100644
index 00000000..52eada8b
--- /dev/null
+++ b/silo/build/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,4 @@
+/home/tngngn/ccbench/silo/build/CMakeFiles/edit_cache.dir
+/home/tngngn/ccbench/silo/build/CMakeFiles/replay_test.exe.dir
+/home/tngngn/ccbench/silo/build/CMakeFiles/rebuild_cache.dir
+/home/tngngn/ccbench/silo/build/CMakeFiles/silo.exe.dir
diff --git a/silo/build/CMakeFiles/cmake.check_cache b/silo/build/CMakeFiles/cmake.check_cache
new file mode 100644
index 00000000..3dccd731
--- /dev/null
+++ b/silo/build/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/silo/build/build.ninja b/silo/build/build.ninja
new file mode 100644
index 00000000..ce41beec
--- /dev/null
+++ b/silo/build/build.ninja
@@ -0,0 +1,221 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the build statements describing the
+# compilation DAG.
+
+# =============================================================================
+# Write statements declared in CMakeLists.txt:
+#
+# Which is the root file.
+# =============================================================================
+
+# =============================================================================
+# Project: ccbench_silo
+# Configurations: Release
+# =============================================================================
+
+#############################################
+# Minimal version of Ninja required by this file
+
+ninja_required_version = 1.5
+
+
+#############################################
+# Set configuration variable for custom commands.
+
+CONFIGURATION = Release
+# =============================================================================
+# Include auxiliary files.
+
+
+#############################################
+# Include rules file.
+
+include rules.ninja
+
+
+#############################################
+# Utility command for edit_cache
+
+build CMakeFiles/edit_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/silo/build && /usr/local/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+ DESC = No interactive CMake dialog available...
+ restat = 1
+
+build edit_cache: phony CMakeFiles/edit_cache.util
+
+# =============================================================================
+# Object build statements for EXECUTABLE target replay_test.exe
+
+
+#############################################
+# Order-only phony target for replay_test.exe
+
+build cmake_object_order_depends_target_replay_test.exe_Release: phony || CMakeFiles/replay_test.exe.dir
+
+build CMakeFiles/replay_test.exe.dir/replayTest.cc.o: CXX_COMPILER__replay_test.2eexe_Release ../replayTest.cc || cmake_object_order_depends_target_replay_test.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPROCEDURE_SORT=0 -DSLEEP_READ_PHASE=0 -DVAL_SIZE=4 -DWAL=0
+ DEP_FILE = CMakeFiles/replay_test.exe.dir/replayTest.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/replay_test.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/replay_test.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/replay_test.exe.dir/
+ TARGET_PDB = replay_test.exe.pdb
+
+
+# =============================================================================
+# Link build statements for EXECUTABLE target replay_test.exe
+
+
+#############################################
+# Link the executable replay_test.exe
+
+build replay_test.exe: CXX_EXECUTABLE_LINKER__replay_test.2eexe_Release CMakeFiles/replay_test.exe.dir/replayTest.cc.o
+ FLAGS = -O3 -DNDEBUG
+ OBJECT_DIR = CMakeFiles/replay_test.exe.dir
+ POST_BUILD = :
+ PRE_LINK = :
+ TARGET_COMPILE_PDB = CMakeFiles/replay_test.exe.dir/
+ TARGET_FILE = replay_test.exe
+ TARGET_PDB = replay_test.exe.pdb
+
+
+#############################################
+# Utility command for rebuild_cache
+
+build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/silo/build && /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/silo -B/home/tngngn/ccbench/silo/build
+ DESC = Running CMake to regenerate build system...
+ pool = console
+ restat = 1
+
+build rebuild_cache: phony CMakeFiles/rebuild_cache.util
+
+# =============================================================================
+# Object build statements for EXECUTABLE target silo.exe
+
+
+#############################################
+# Order-only phony target for silo.exe
+
+build cmake_object_order_depends_target_silo.exe_Release: phony || CMakeFiles/silo.exe.dir
+
+build CMakeFiles/silo.exe.dir/home/tngngn/ccbench/common/result.cc.o: CXX_COMPILER__silo.2eexe_Release /home/tngngn/ccbench/common/result.cc || cmake_object_order_depends_target_silo.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPROCEDURE_SORT=0 -DSLEEP_READ_PHASE=0 -DVAL_SIZE=4 -DWAL=0
+ DEP_FILE = CMakeFiles/silo.exe.dir/home/tngngn/ccbench/common/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/silo.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/silo.exe.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = CMakeFiles/silo.exe.dir/
+ TARGET_PDB = silo.exe.pdb
+
+build CMakeFiles/silo.exe.dir/home/tngngn/ccbench/common/util.cc.o: CXX_COMPILER__silo.2eexe_Release /home/tngngn/ccbench/common/util.cc || cmake_object_order_depends_target_silo.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPROCEDURE_SORT=0 -DSLEEP_READ_PHASE=0 -DVAL_SIZE=4 -DWAL=0
+ DEP_FILE = CMakeFiles/silo.exe.dir/home/tngngn/ccbench/common/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/silo.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/silo.exe.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = CMakeFiles/silo.exe.dir/
+ TARGET_PDB = silo.exe.pdb
+
+build CMakeFiles/silo.exe.dir/result.cc.o: CXX_COMPILER__silo.2eexe_Release ../result.cc || cmake_object_order_depends_target_silo.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPROCEDURE_SORT=0 -DSLEEP_READ_PHASE=0 -DVAL_SIZE=4 -DWAL=0
+ DEP_FILE = CMakeFiles/silo.exe.dir/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/silo.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/silo.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/silo.exe.dir/
+ TARGET_PDB = silo.exe.pdb
+
+build CMakeFiles/silo.exe.dir/silo.cc.o: CXX_COMPILER__silo.2eexe_Release ../silo.cc || cmake_object_order_depends_target_silo.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPROCEDURE_SORT=0 -DSLEEP_READ_PHASE=0 -DVAL_SIZE=4 -DWAL=0
+ DEP_FILE = CMakeFiles/silo.exe.dir/silo.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/silo.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/silo.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/silo.exe.dir/
+ TARGET_PDB = silo.exe.pdb
+
+build CMakeFiles/silo.exe.dir/transaction.cc.o: CXX_COMPILER__silo.2eexe_Release ../transaction.cc || cmake_object_order_depends_target_silo.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPROCEDURE_SORT=0 -DSLEEP_READ_PHASE=0 -DVAL_SIZE=4 -DWAL=0
+ DEP_FILE = CMakeFiles/silo.exe.dir/transaction.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/silo.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/silo.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/silo.exe.dir/
+ TARGET_PDB = silo.exe.pdb
+
+build CMakeFiles/silo.exe.dir/util.cc.o: CXX_COMPILER__silo.2eexe_Release ../util.cc || cmake_object_order_depends_target_silo.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPROCEDURE_SORT=0 -DSLEEP_READ_PHASE=0 -DVAL_SIZE=4 -DWAL=0
+ DEP_FILE = CMakeFiles/silo.exe.dir/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/silo.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/silo.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/silo.exe.dir/
+ TARGET_PDB = silo.exe.pdb
+
+
+# =============================================================================
+# Link build statements for EXECUTABLE target silo.exe
+
+
+#############################################
+# Link the executable silo.exe
+
+build silo.exe: CXX_EXECUTABLE_LINKER__silo.2eexe_Release CMakeFiles/silo.exe.dir/home/tngngn/ccbench/common/result.cc.o CMakeFiles/silo.exe.dir/home/tngngn/ccbench/common/util.cc.o CMakeFiles/silo.exe.dir/result.cc.o CMakeFiles/silo.exe.dir/silo.cc.o CMakeFiles/silo.exe.dir/transaction.cc.o CMakeFiles/silo.exe.dir/util.cc.o | /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a
+ FLAGS = -O3 -DNDEBUG
+ LINK_LIBRARIES = /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a -lpthread
+ OBJECT_DIR = CMakeFiles/silo.exe.dir
+ POST_BUILD = :
+ PRE_LINK = :
+ TARGET_COMPILE_PDB = CMakeFiles/silo.exe.dir/
+ TARGET_FILE = silo.exe
+ TARGET_PDB = silo.exe.pdb
+
+# =============================================================================
+# Target aliases.
+
+# =============================================================================
+# Folder targets.
+
+# =============================================================================
+
+#############################################
+# Folder: /home/tngngn/ccbench/silo/build
+
+build all: phony replay_test.exe silo.exe
+
+# =============================================================================
+# Built-in targets
+
+
+#############################################
+# Re-run CMake if any of its inputs changed.
+
+build build.ninja: RERUN_CMAKE | ../CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeFindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystem.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckFunctionExists.c /usr/local/share/cmake-3.17/Modules/CheckIncludeFile.cxx.in /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
+ pool = console
+
+
+#############################################
+# A missing CMake input file is not an error.
+
+build ../CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeFindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystem.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckFunctionExists.c /usr/local/share/cmake-3.17/Modules/CheckIncludeFile.cxx.in /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx: phony
+
+
+#############################################
+# Clean all the built files.
+
+build clean: CLEAN
+
+
+#############################################
+# Print all primary targets available.
+
+build help: HELP
+
+
+#############################################
+# Make the all target the default.
+
+default all
diff --git a/silo/build/cmake_install.cmake b/silo/build/cmake_install.cmake
new file mode 100644
index 00000000..16a90344
--- /dev/null
+++ b/silo/build/cmake_install.cmake
@@ -0,0 +1,49 @@
+# Install script for directory: /home/tngngn/ccbench/silo
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ if(BUILD_TYPE)
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ else()
+ set(CMAKE_INSTALL_CONFIG_NAME "Release")
+ endif()
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+ if(COMPONENT)
+ message(STATUS "Install component: \"${COMPONENT}\"")
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ else()
+ set(CMAKE_INSTALL_COMPONENT)
+ endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+ set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+else()
+ set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+ "${CMAKE_INSTALL_MANIFEST_FILES}")
+file(WRITE "/home/tngngn/ccbench/silo/build/${CMAKE_INSTALL_MANIFEST}"
+ "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/silo/build/rules.ninja b/silo/build/rules.ninja
new file mode 100644
index 00000000..f96507fc
--- /dev/null
+++ b/silo/build/rules.ninja
@@ -0,0 +1,83 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the rules used to get the outputs files
+# built from the input files.
+# It is included in the main 'build.ninja'.
+
+# =============================================================================
+# Project: ccbench_silo
+# Configurations: Release
+# =============================================================================
+# =============================================================================
+
+#############################################
+# Rule for running custom commands.
+
+rule CUSTOM_COMMAND
+ command = $COMMAND
+ description = $DESC
+
+
+#############################################
+# Rule for compiling CXX files.
+
+rule CXX_COMPILER__replay_test.2eexe_Release
+ depfile = $DEP_FILE
+ deps = gcc
+ command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
+ description = Building CXX object $out
+
+
+#############################################
+# Rule for linking CXX executable.
+
+rule CXX_EXECUTABLE_LINKER__replay_test.2eexe_Release
+ command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD
+ description = Linking CXX executable $TARGET_FILE
+ restat = $RESTAT
+
+
+#############################################
+# Rule for compiling CXX files.
+
+rule CXX_COMPILER__silo.2eexe_Release
+ depfile = $DEP_FILE
+ deps = gcc
+ command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
+ description = Building CXX object $out
+
+
+#############################################
+# Rule for linking CXX executable.
+
+rule CXX_EXECUTABLE_LINKER__silo.2eexe_Release
+ command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD
+ description = Linking CXX executable $TARGET_FILE
+ restat = $RESTAT
+
+
+#############################################
+# Rule for re-running cmake.
+
+rule RERUN_CMAKE
+ command = /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/silo -B/home/tngngn/ccbench/silo/build
+ description = Re-running CMake...
+ generator = 1
+
+
+#############################################
+# Rule for cleaning all built files.
+
+rule CLEAN
+ command = /usr/local/bin/ninja $FILE_ARG -t clean $TARGETS
+ description = Cleaning all built files...
+
+
+#############################################
+# Rule for printing all primary targets available.
+
+rule HELP
+ command = /usr/local/bin/ninja -t targets
+ description = All primary targets available:
+
diff --git a/ss2pl/CMakeLists.txt b/ss2pl/CMakeLists.txt
index 5a3b26ba..06756666 100644
--- a/ss2pl/CMakeLists.txt
+++ b/ss2pl/CMakeLists.txt
@@ -56,8 +56,6 @@ else ()
add_definitions(-DBACK_OFF=0)
endif ()
-add_definitions(-DDLR1)
-
if (DEFINED KEY_SIZE)
add_definitions(-DKEY_SIZE=${KEY_SIZE})
else ()
diff --git a/ss2pl/build/.ninja_deps b/ss2pl/build/.ninja_deps
new file mode 100644
index 00000000..b09b192e
Binary files /dev/null and b/ss2pl/build/.ninja_deps differ
diff --git a/ss2pl/build/.ninja_log b/ss2pl/build/.ninja_log
new file mode 100644
index 00000000..4ec46418
--- /dev/null
+++ b/ss2pl/build/.ninja_log
@@ -0,0 +1,15 @@
+# ninja log v5
+0 430 1668098510613793716 CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o 81bcf81436dd096f
+3 468 1668098510649792532 test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/result.cc.o 4cf8fab3b4f2f11a
+1 699 1668098510881784905 CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o f58abb2ca12f4c9e
+3 734 1668098510917783722 test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/util.cc.o 37a5f19502ad199e
+1 827 1668098511009780697 CMakeFiles/ss2pl.exe.dir/result.cc.o 86b6f03aa5214036
+3 874 1668098511057779119 test/CMakeFiles/make_db_test.dir/__/result.cc.o 9cf7615618add105
+2 1386 1668098511569762286 CMakeFiles/ss2pl.exe.dir/transaction.cc.o cc2bb08c9330f52a
+2 1408 1668098511589761629 CMakeFiles/ss2pl.exe.dir/util.cc.o 44945d250f157858
+1 1410 1668098511593761498 CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o cc110ea1f9a389f0
+4 1424 1668098511605761103 test/CMakeFiles/make_db_test.dir/__/transaction.cc.o fb228e060b621dd3
+4 1452 1668098511633760183 test/CMakeFiles/make_db_test.dir/__/util.cc.o 4f02c7f15a443159
+1410 1483 1668098511665759131 ss2pl.exe eee19cd8572392e1
+2 1603 1668098511785755186 test/CMakeFiles/make_db_test.dir/make_db_test.cpp.o 5101962424ae4d8b
+1603 1722 1668098511905751241 test/make_db_test f51cc9023ab865e1
diff --git a/ss2pl/build/CMakeCache.txt b/ss2pl/build/CMakeCache.txt
new file mode 100644
index 00000000..b347cd90
--- /dev/null
+++ b/ss2pl/build/CMakeCache.txt
@@ -0,0 +1,473 @@
+# This is the CMakeCache file.
+# For build in directory: /home/tngngn/ccbench/ss2pl/build
+# It was generated by CMake: /usr/local/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//The directory containing a CMake configuration file for Boost.
+Boost_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0
+
+Boost_FILESYSTEM_LIBRARY_RELEASE:STRING=/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0
+
+//Path to a file.
+Boost_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=Release
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//User executables (bin)
+CMAKE_INSTALL_BINDIR:PATH=bin
+
+//Read-only architecture-independent data (DATAROOTDIR)
+CMAKE_INSTALL_DATADIR:PATH=
+
+//Read-only architecture-independent data root (share)
+CMAKE_INSTALL_DATAROOTDIR:PATH=share
+
+//Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
+CMAKE_INSTALL_DOCDIR:PATH=
+
+//C header files (include)
+CMAKE_INSTALL_INCLUDEDIR:PATH=include
+
+//Info documentation (DATAROOTDIR/info)
+CMAKE_INSTALL_INFODIR:PATH=
+
+//Object code libraries (lib)
+CMAKE_INSTALL_LIBDIR:PATH=lib
+
+//Program executables (libexec)
+CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
+
+//Locale-dependent data (DATAROOTDIR/locale)
+CMAKE_INSTALL_LOCALEDIR:PATH=
+
+//Modifiable single-machine data (var)
+CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
+
+//Man documentation (DATAROOTDIR/man)
+CMAKE_INSTALL_MANDIR:PATH=
+
+//C header files for non-gcc (/usr/include)
+CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Run-time variable data (LOCALSTATEDIR/run)
+CMAKE_INSTALL_RUNSTATEDIR:PATH=
+
+//System admin executables (sbin)
+CMAKE_INSTALL_SBINDIR:PATH=sbin
+
+//Modifiable architecture-independent data (com)
+CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
+
+//Read-only single-machine data (etc)
+CMAKE_INSTALL_SYSCONFDIR:PATH=etc
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Program used to build from build.ninja files.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/local/bin/ninja
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=ss2pl of ccbench
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=ccbench_ss2pl
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION:STATIC=0.0.1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MAJOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MINOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_PATCH:STATIC=1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_TWEAK:STATIC=
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make. This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Dot tool for use with Doxygen
+DOXYGEN_DOT_EXECUTABLE:FILEPATH=/usr/bin/dot
+
+//Doxygen documentation generation tool (http://www.doxygen.org)
+DOXYGEN_EXECUTABLE:FILEPATH=/usr/bin/doxygen
+
+//enable coverage on debug build
+ENABLE_COVERAGE:BOOL=OFF
+
+//enable sanitizer on debug build
+ENABLE_SANITIZER:BOOL=ON
+
+//enable undefined behavior sanitizer on debug build
+ENABLE_UB_SANITIZER:BOOL=OFF
+
+//The directory containing a CMake configuration file for boost_filesystem.
+boost_filesystem_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0
+
+//The directory containing a CMake configuration file for boost_headers.
+boost_headers_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0
+
+//Value Computed by CMake
+ccbench_ss2pl_BINARY_DIR:STATIC=/home/tngngn/ccbench/ss2pl/build
+
+//Value Computed by CMake
+ccbench_ss2pl_SOURCE_DIR:STATIC=/home/tngngn/ccbench/ss2pl
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: Boost_DIR
+Boost_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/tngngn/ccbench/ss2pl/build
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=17
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/local/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Ninja
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Test CMAKE_HAVE_LIBC_PTHREAD
+CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=
+//Have library pthreads
+CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
+//Have library pthread
+CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1
+//Have include pthread.h
+CMAKE_HAVE_PTHREAD_H:INTERNAL=1
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/tngngn/ccbench/ss2pl
+//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
+CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
+CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
+CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
+CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
+CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
+CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
+CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
+CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
+CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
+CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
+CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
+CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR
+CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
+CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
+CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
+CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/local/share/cmake-3.17
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE
+DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_EXECUTABLE
+DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1
+//Details about finding Boost
+FIND_PACKAGE_MESSAGE_DETAILS_Boost:INTERNAL=[/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake][cfound components: filesystem ][v1.71.0()]
+//Details about finding Doxygen
+FIND_PACKAGE_MESSAGE_DETAILS_Doxygen:INTERNAL=[/usr/bin/doxygen][cfound components: doxygen dot ][v1.8.17()]
+//Details about finding Threads
+FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
+//Details about finding gflags
+FIND_PACKAGE_MESSAGE_DETAILS_gflags:INTERNAL=[/usr/lib/x86_64-linux-gnu/libgflags.so][/usr/include][v()]
+//Details about finding glog
+FIND_PACKAGE_MESSAGE_DETAILS_glog:INTERNAL=[/usr/lib/x86_64-linux-gnu/libglog.so][/usr/include][v()]
+//CMAKE_INSTALL_PREFIX during last run
+_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local
+//ADVANCED property for variable: boost_filesystem_DIR
+boost_filesystem_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: boost_headers_DIR
+boost_headers_DIR-ADVANCED:INTERNAL=1
+
diff --git a/ss2pl/build/CMakeDoxyfile.in b/ss2pl/build/CMakeDoxyfile.in
new file mode 100644
index 00000000..848a3c81
--- /dev/null
+++ b/ss2pl/build/CMakeDoxyfile.in
@@ -0,0 +1,280 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+DOXYFILE_ENCODING = @DOXYGEN_DOXYFILE_ENCODING@
+PROJECT_NAME = @DOXYGEN_PROJECT_NAME@
+PROJECT_NUMBER = @DOXYGEN_PROJECT_NUMBER@
+PROJECT_BRIEF = @DOXYGEN_PROJECT_BRIEF@
+PROJECT_LOGO = @DOXYGEN_PROJECT_LOGO@
+OUTPUT_DIRECTORY = @DOXYGEN_OUTPUT_DIRECTORY@
+CREATE_SUBDIRS = @DOXYGEN_CREATE_SUBDIRS@
+ALLOW_UNICODE_NAMES = @DOXYGEN_ALLOW_UNICODE_NAMES@
+OUTPUT_LANGUAGE = @DOXYGEN_OUTPUT_LANGUAGE@
+OUTPUT_TEXT_DIRECTION = @DOXYGEN_OUTPUT_TEXT_DIRECTION@
+BRIEF_MEMBER_DESC = @DOXYGEN_BRIEF_MEMBER_DESC@
+REPEAT_BRIEF = @DOXYGEN_REPEAT_BRIEF@
+ABBREVIATE_BRIEF = @DOXYGEN_ABBREVIATE_BRIEF@
+ALWAYS_DETAILED_SEC = @DOXYGEN_ALWAYS_DETAILED_SEC@
+INLINE_INHERITED_MEMB = @DOXYGEN_INLINE_INHERITED_MEMB@
+FULL_PATH_NAMES = @DOXYGEN_FULL_PATH_NAMES@
+STRIP_FROM_PATH = @DOXYGEN_STRIP_FROM_PATH@
+STRIP_FROM_INC_PATH = @DOXYGEN_STRIP_FROM_INC_PATH@
+SHORT_NAMES = @DOXYGEN_SHORT_NAMES@
+JAVADOC_AUTOBRIEF = @DOXYGEN_JAVADOC_AUTOBRIEF@
+JAVADOC_BANNER = @DOXYGEN_JAVADOC_BANNER@
+QT_AUTOBRIEF = @DOXYGEN_QT_AUTOBRIEF@
+MULTILINE_CPP_IS_BRIEF = @DOXYGEN_MULTILINE_CPP_IS_BRIEF@
+INHERIT_DOCS = @DOXYGEN_INHERIT_DOCS@
+SEPARATE_MEMBER_PAGES = @DOXYGEN_SEPARATE_MEMBER_PAGES@
+TAB_SIZE = @DOXYGEN_TAB_SIZE@
+ALIASES = @DOXYGEN_ALIASES@
+TCL_SUBST = @DOXYGEN_TCL_SUBST@
+OPTIMIZE_OUTPUT_FOR_C = @DOXYGEN_OPTIMIZE_OUTPUT_FOR_C@
+OPTIMIZE_OUTPUT_JAVA = @DOXYGEN_OPTIMIZE_OUTPUT_JAVA@
+OPTIMIZE_FOR_FORTRAN = @DOXYGEN_OPTIMIZE_FOR_FORTRAN@
+OPTIMIZE_OUTPUT_VHDL = @DOXYGEN_OPTIMIZE_OUTPUT_VHDL@
+OPTIMIZE_OUTPUT_SLICE = @DOXYGEN_OPTIMIZE_OUTPUT_SLICE@
+EXTENSION_MAPPING = @DOXYGEN_EXTENSION_MAPPING@
+MARKDOWN_SUPPORT = @DOXYGEN_MARKDOWN_SUPPORT@
+TOC_INCLUDE_HEADINGS = @DOXYGEN_TOC_INCLUDE_HEADINGS@
+AUTOLINK_SUPPORT = @DOXYGEN_AUTOLINK_SUPPORT@
+BUILTIN_STL_SUPPORT = @DOXYGEN_BUILTIN_STL_SUPPORT@
+CPP_CLI_SUPPORT = @DOXYGEN_CPP_CLI_SUPPORT@
+SIP_SUPPORT = @DOXYGEN_SIP_SUPPORT@
+IDL_PROPERTY_SUPPORT = @DOXYGEN_IDL_PROPERTY_SUPPORT@
+DISTRIBUTE_GROUP_DOC = @DOXYGEN_DISTRIBUTE_GROUP_DOC@
+GROUP_NESTED_COMPOUNDS = @DOXYGEN_GROUP_NESTED_COMPOUNDS@
+SUBGROUPING = @DOXYGEN_SUBGROUPING@
+INLINE_GROUPED_CLASSES = @DOXYGEN_INLINE_GROUPED_CLASSES@
+INLINE_SIMPLE_STRUCTS = @DOXYGEN_INLINE_SIMPLE_STRUCTS@
+TYPEDEF_HIDES_STRUCT = @DOXYGEN_TYPEDEF_HIDES_STRUCT@
+LOOKUP_CACHE_SIZE = @DOXYGEN_LOOKUP_CACHE_SIZE@
+EXTRACT_ALL = @DOXYGEN_EXTRACT_ALL@
+EXTRACT_PRIVATE = @DOXYGEN_EXTRACT_PRIVATE@
+EXTRACT_PRIV_VIRTUAL = @DOXYGEN_EXTRACT_PRIV_VIRTUAL@
+EXTRACT_PACKAGE = @DOXYGEN_EXTRACT_PACKAGE@
+EXTRACT_STATIC = @DOXYGEN_EXTRACT_STATIC@
+EXTRACT_LOCAL_CLASSES = @DOXYGEN_EXTRACT_LOCAL_CLASSES@
+EXTRACT_LOCAL_METHODS = @DOXYGEN_EXTRACT_LOCAL_METHODS@
+EXTRACT_ANON_NSPACES = @DOXYGEN_EXTRACT_ANON_NSPACES@
+HIDE_UNDOC_MEMBERS = @DOXYGEN_HIDE_UNDOC_MEMBERS@
+HIDE_UNDOC_CLASSES = @DOXYGEN_HIDE_UNDOC_CLASSES@
+HIDE_FRIEND_COMPOUNDS = @DOXYGEN_HIDE_FRIEND_COMPOUNDS@
+HIDE_IN_BODY_DOCS = @DOXYGEN_HIDE_IN_BODY_DOCS@
+INTERNAL_DOCS = @DOXYGEN_INTERNAL_DOCS@
+CASE_SENSE_NAMES = @DOXYGEN_CASE_SENSE_NAMES@
+HIDE_SCOPE_NAMES = @DOXYGEN_HIDE_SCOPE_NAMES@
+HIDE_COMPOUND_REFERENCE= @DOXYGEN_HIDE_COMPOUND_REFERENCE@
+SHOW_INCLUDE_FILES = @DOXYGEN_SHOW_INCLUDE_FILES@
+SHOW_GROUPED_MEMB_INC = @DOXYGEN_SHOW_GROUPED_MEMB_INC@
+FORCE_LOCAL_INCLUDES = @DOXYGEN_FORCE_LOCAL_INCLUDES@
+INLINE_INFO = @DOXYGEN_INLINE_INFO@
+SORT_MEMBER_DOCS = @DOXYGEN_SORT_MEMBER_DOCS@
+SORT_BRIEF_DOCS = @DOXYGEN_SORT_BRIEF_DOCS@
+SORT_MEMBERS_CTORS_1ST = @DOXYGEN_SORT_MEMBERS_CTORS_1ST@
+SORT_GROUP_NAMES = @DOXYGEN_SORT_GROUP_NAMES@
+SORT_BY_SCOPE_NAME = @DOXYGEN_SORT_BY_SCOPE_NAME@
+STRICT_PROTO_MATCHING = @DOXYGEN_STRICT_PROTO_MATCHING@
+GENERATE_TODOLIST = @DOXYGEN_GENERATE_TODOLIST@
+GENERATE_TESTLIST = @DOXYGEN_GENERATE_TESTLIST@
+GENERATE_BUGLIST = @DOXYGEN_GENERATE_BUGLIST@
+GENERATE_DEPRECATEDLIST= @DOXYGEN_GENERATE_DEPRECATEDLIST@
+ENABLED_SECTIONS = @DOXYGEN_ENABLED_SECTIONS@
+MAX_INITIALIZER_LINES = @DOXYGEN_MAX_INITIALIZER_LINES@
+SHOW_USED_FILES = @DOXYGEN_SHOW_USED_FILES@
+SHOW_FILES = @DOXYGEN_SHOW_FILES@
+SHOW_NAMESPACES = @DOXYGEN_SHOW_NAMESPACES@
+FILE_VERSION_FILTER = @DOXYGEN_FILE_VERSION_FILTER@
+LAYOUT_FILE = @DOXYGEN_LAYOUT_FILE@
+CITE_BIB_FILES = @DOXYGEN_CITE_BIB_FILES@
+QUIET = @DOXYGEN_QUIET@
+WARNINGS = @DOXYGEN_WARNINGS@
+WARN_IF_UNDOCUMENTED = @DOXYGEN_WARN_IF_UNDOCUMENTED@
+WARN_IF_DOC_ERROR = @DOXYGEN_WARN_IF_DOC_ERROR@
+WARN_NO_PARAMDOC = @DOXYGEN_WARN_NO_PARAMDOC@
+WARN_AS_ERROR = @DOXYGEN_WARN_AS_ERROR@
+WARN_FORMAT = @DOXYGEN_WARN_FORMAT@
+WARN_LOGFILE = @DOXYGEN_WARN_LOGFILE@
+INPUT = @DOXYGEN_INPUT@
+INPUT_ENCODING = @DOXYGEN_INPUT_ENCODING@
+FILE_PATTERNS = @DOXYGEN_FILE_PATTERNS@
+RECURSIVE = @DOXYGEN_RECURSIVE@
+EXCLUDE = @DOXYGEN_EXCLUDE@
+EXCLUDE_SYMLINKS = @DOXYGEN_EXCLUDE_SYMLINKS@
+EXCLUDE_PATTERNS = @DOXYGEN_EXCLUDE_PATTERNS@
+EXCLUDE_SYMBOLS = @DOXYGEN_EXCLUDE_SYMBOLS@
+EXAMPLE_PATH = @DOXYGEN_EXAMPLE_PATH@
+EXAMPLE_PATTERNS = @DOXYGEN_EXAMPLE_PATTERNS@
+EXAMPLE_RECURSIVE = @DOXYGEN_EXAMPLE_RECURSIVE@
+IMAGE_PATH = @DOXYGEN_IMAGE_PATH@
+INPUT_FILTER = @DOXYGEN_INPUT_FILTER@
+FILTER_PATTERNS = @DOXYGEN_FILTER_PATTERNS@
+FILTER_SOURCE_FILES = @DOXYGEN_FILTER_SOURCE_FILES@
+FILTER_SOURCE_PATTERNS = @DOXYGEN_FILTER_SOURCE_PATTERNS@
+USE_MDFILE_AS_MAINPAGE = @DOXYGEN_USE_MDFILE_AS_MAINPAGE@
+SOURCE_BROWSER = @DOXYGEN_SOURCE_BROWSER@
+INLINE_SOURCES = @DOXYGEN_INLINE_SOURCES@
+STRIP_CODE_COMMENTS = @DOXYGEN_STRIP_CODE_COMMENTS@
+REFERENCED_BY_RELATION = @DOXYGEN_REFERENCED_BY_RELATION@
+REFERENCES_RELATION = @DOXYGEN_REFERENCES_RELATION@
+REFERENCES_LINK_SOURCE = @DOXYGEN_REFERENCES_LINK_SOURCE@
+SOURCE_TOOLTIPS = @DOXYGEN_SOURCE_TOOLTIPS@
+USE_HTAGS = @DOXYGEN_USE_HTAGS@
+VERBATIM_HEADERS = @DOXYGEN_VERBATIM_HEADERS@
+CLANG_ASSISTED_PARSING = @DOXYGEN_CLANG_ASSISTED_PARSING@
+CLANG_OPTIONS = @DOXYGEN_CLANG_OPTIONS@
+CLANG_DATABASE_PATH = @DOXYGEN_CLANG_DATABASE_PATH@
+ALPHABETICAL_INDEX = @DOXYGEN_ALPHABETICAL_INDEX@
+COLS_IN_ALPHA_INDEX = @DOXYGEN_COLS_IN_ALPHA_INDEX@
+IGNORE_PREFIX = @DOXYGEN_IGNORE_PREFIX@
+GENERATE_HTML = @DOXYGEN_GENERATE_HTML@
+HTML_OUTPUT = @DOXYGEN_HTML_OUTPUT@
+HTML_FILE_EXTENSION = @DOXYGEN_HTML_FILE_EXTENSION@
+HTML_HEADER = @DOXYGEN_HTML_HEADER@
+HTML_FOOTER = @DOXYGEN_HTML_FOOTER@
+HTML_STYLESHEET = @DOXYGEN_HTML_STYLESHEET@
+HTML_EXTRA_STYLESHEET = @DOXYGEN_HTML_EXTRA_STYLESHEET@
+HTML_EXTRA_FILES = @DOXYGEN_HTML_EXTRA_FILES@
+HTML_COLORSTYLE_HUE = @DOXYGEN_HTML_COLORSTYLE_HUE@
+HTML_COLORSTYLE_SAT = @DOXYGEN_HTML_COLORSTYLE_SAT@
+HTML_COLORSTYLE_GAMMA = @DOXYGEN_HTML_COLORSTYLE_GAMMA@
+HTML_TIMESTAMP = @DOXYGEN_HTML_TIMESTAMP@
+HTML_DYNAMIC_MENUS = @DOXYGEN_HTML_DYNAMIC_MENUS@
+HTML_DYNAMIC_SECTIONS = @DOXYGEN_HTML_DYNAMIC_SECTIONS@
+HTML_INDEX_NUM_ENTRIES = @DOXYGEN_HTML_INDEX_NUM_ENTRIES@
+GENERATE_DOCSET = @DOXYGEN_GENERATE_DOCSET@
+DOCSET_FEEDNAME = @DOXYGEN_DOCSET_FEEDNAME@
+DOCSET_BUNDLE_ID = @DOXYGEN_DOCSET_BUNDLE_ID@
+DOCSET_PUBLISHER_ID = @DOXYGEN_DOCSET_PUBLISHER_ID@
+DOCSET_PUBLISHER_NAME = @DOXYGEN_DOCSET_PUBLISHER_NAME@
+GENERATE_HTMLHELP = @DOXYGEN_GENERATE_HTMLHELP@
+CHM_FILE = @DOXYGEN_CHM_FILE@
+HHC_LOCATION = @DOXYGEN_HHC_LOCATION@
+GENERATE_CHI = @DOXYGEN_GENERATE_CHI@
+CHM_INDEX_ENCODING = @DOXYGEN_CHM_INDEX_ENCODING@
+BINARY_TOC = @DOXYGEN_BINARY_TOC@
+TOC_EXPAND = @DOXYGEN_TOC_EXPAND@
+GENERATE_QHP = @DOXYGEN_GENERATE_QHP@
+QCH_FILE = @DOXYGEN_QCH_FILE@
+QHP_NAMESPACE = @DOXYGEN_QHP_NAMESPACE@
+QHP_VIRTUAL_FOLDER = @DOXYGEN_QHP_VIRTUAL_FOLDER@
+QHP_CUST_FILTER_NAME = @DOXYGEN_QHP_CUST_FILTER_NAME@
+QHP_CUST_FILTER_ATTRS = @DOXYGEN_QHP_CUST_FILTER_ATTRS@
+QHP_SECT_FILTER_ATTRS = @DOXYGEN_QHP_SECT_FILTER_ATTRS@
+QHG_LOCATION = @DOXYGEN_QHG_LOCATION@
+GENERATE_ECLIPSEHELP = @DOXYGEN_GENERATE_ECLIPSEHELP@
+ECLIPSE_DOC_ID = @DOXYGEN_ECLIPSE_DOC_ID@
+DISABLE_INDEX = @DOXYGEN_DISABLE_INDEX@
+GENERATE_TREEVIEW = @DOXYGEN_GENERATE_TREEVIEW@
+ENUM_VALUES_PER_LINE = @DOXYGEN_ENUM_VALUES_PER_LINE@
+TREEVIEW_WIDTH = @DOXYGEN_TREEVIEW_WIDTH@
+EXT_LINKS_IN_WINDOW = @DOXYGEN_EXT_LINKS_IN_WINDOW@
+FORMULA_FONTSIZE = @DOXYGEN_FORMULA_FONTSIZE@
+FORMULA_TRANSPARENT = @DOXYGEN_FORMULA_TRANSPARENT@
+FORMULA_MACROFILE = @DOXYGEN_FORMULA_MACROFILE@
+USE_MATHJAX = @DOXYGEN_USE_MATHJAX@
+MATHJAX_FORMAT = @DOXYGEN_MATHJAX_FORMAT@
+MATHJAX_RELPATH = @DOXYGEN_MATHJAX_RELPATH@
+MATHJAX_EXTENSIONS = @DOXYGEN_MATHJAX_EXTENSIONS@
+MATHJAX_CODEFILE = @DOXYGEN_MATHJAX_CODEFILE@
+SEARCHENGINE = @DOXYGEN_SEARCHENGINE@
+SERVER_BASED_SEARCH = @DOXYGEN_SERVER_BASED_SEARCH@
+EXTERNAL_SEARCH = @DOXYGEN_EXTERNAL_SEARCH@
+SEARCHENGINE_URL = @DOXYGEN_SEARCHENGINE_URL@
+SEARCHDATA_FILE = @DOXYGEN_SEARCHDATA_FILE@
+EXTERNAL_SEARCH_ID = @DOXYGEN_EXTERNAL_SEARCH_ID@
+EXTRA_SEARCH_MAPPINGS = @DOXYGEN_EXTRA_SEARCH_MAPPINGS@
+GENERATE_LATEX = @DOXYGEN_GENERATE_LATEX@
+LATEX_OUTPUT = @DOXYGEN_LATEX_OUTPUT@
+LATEX_CMD_NAME = @DOXYGEN_LATEX_CMD_NAME@
+MAKEINDEX_CMD_NAME = @DOXYGEN_MAKEINDEX_CMD_NAME@
+LATEX_MAKEINDEX_CMD = @DOXYGEN_LATEX_MAKEINDEX_CMD@
+COMPACT_LATEX = @DOXYGEN_COMPACT_LATEX@
+PAPER_TYPE = @DOXYGEN_PAPER_TYPE@
+EXTRA_PACKAGES = @DOXYGEN_EXTRA_PACKAGES@
+LATEX_HEADER = @DOXYGEN_LATEX_HEADER@
+LATEX_FOOTER = @DOXYGEN_LATEX_FOOTER@
+LATEX_EXTRA_STYLESHEET = @DOXYGEN_LATEX_EXTRA_STYLESHEET@
+LATEX_EXTRA_FILES = @DOXYGEN_LATEX_EXTRA_FILES@
+PDF_HYPERLINKS = @DOXYGEN_PDF_HYPERLINKS@
+USE_PDFLATEX = @DOXYGEN_USE_PDFLATEX@
+LATEX_BATCHMODE = @DOXYGEN_LATEX_BATCHMODE@
+LATEX_HIDE_INDICES = @DOXYGEN_LATEX_HIDE_INDICES@
+LATEX_SOURCE_CODE = @DOXYGEN_LATEX_SOURCE_CODE@
+LATEX_BIB_STYLE = @DOXYGEN_LATEX_BIB_STYLE@
+LATEX_TIMESTAMP = @DOXYGEN_LATEX_TIMESTAMP@
+LATEX_EMOJI_DIRECTORY = @DOXYGEN_LATEX_EMOJI_DIRECTORY@
+GENERATE_RTF = @DOXYGEN_GENERATE_RTF@
+RTF_OUTPUT = @DOXYGEN_RTF_OUTPUT@
+COMPACT_RTF = @DOXYGEN_COMPACT_RTF@
+RTF_HYPERLINKS = @DOXYGEN_RTF_HYPERLINKS@
+RTF_STYLESHEET_FILE = @DOXYGEN_RTF_STYLESHEET_FILE@
+RTF_EXTENSIONS_FILE = @DOXYGEN_RTF_EXTENSIONS_FILE@
+RTF_SOURCE_CODE = @DOXYGEN_RTF_SOURCE_CODE@
+GENERATE_MAN = @DOXYGEN_GENERATE_MAN@
+MAN_OUTPUT = @DOXYGEN_MAN_OUTPUT@
+MAN_EXTENSION = @DOXYGEN_MAN_EXTENSION@
+MAN_SUBDIR = @DOXYGEN_MAN_SUBDIR@
+MAN_LINKS = @DOXYGEN_MAN_LINKS@
+GENERATE_XML = @DOXYGEN_GENERATE_XML@
+XML_OUTPUT = @DOXYGEN_XML_OUTPUT@
+XML_PROGRAMLISTING = @DOXYGEN_XML_PROGRAMLISTING@
+XML_NS_MEMB_FILE_SCOPE = @DOXYGEN_XML_NS_MEMB_FILE_SCOPE@
+GENERATE_DOCBOOK = @DOXYGEN_GENERATE_DOCBOOK@
+DOCBOOK_OUTPUT = @DOXYGEN_DOCBOOK_OUTPUT@
+DOCBOOK_PROGRAMLISTING = @DOXYGEN_DOCBOOK_PROGRAMLISTING@
+GENERATE_AUTOGEN_DEF = @DOXYGEN_GENERATE_AUTOGEN_DEF@
+GENERATE_PERLMOD = @DOXYGEN_GENERATE_PERLMOD@
+PERLMOD_LATEX = @DOXYGEN_PERLMOD_LATEX@
+PERLMOD_PRETTY = @DOXYGEN_PERLMOD_PRETTY@
+PERLMOD_MAKEVAR_PREFIX = @DOXYGEN_PERLMOD_MAKEVAR_PREFIX@
+ENABLE_PREPROCESSING = @DOXYGEN_ENABLE_PREPROCESSING@
+MACRO_EXPANSION = @DOXYGEN_MACRO_EXPANSION@
+EXPAND_ONLY_PREDEF = @DOXYGEN_EXPAND_ONLY_PREDEF@
+SEARCH_INCLUDES = @DOXYGEN_SEARCH_INCLUDES@
+INCLUDE_PATH = @DOXYGEN_INCLUDE_PATH@
+INCLUDE_FILE_PATTERNS = @DOXYGEN_INCLUDE_FILE_PATTERNS@
+PREDEFINED = @DOXYGEN_PREDEFINED@
+EXPAND_AS_DEFINED = @DOXYGEN_EXPAND_AS_DEFINED@
+SKIP_FUNCTION_MACROS = @DOXYGEN_SKIP_FUNCTION_MACROS@
+TAGFILES = @DOXYGEN_TAGFILES@
+GENERATE_TAGFILE = @DOXYGEN_GENERATE_TAGFILE@
+ALLEXTERNALS = @DOXYGEN_ALLEXTERNALS@
+EXTERNAL_GROUPS = @DOXYGEN_EXTERNAL_GROUPS@
+EXTERNAL_PAGES = @DOXYGEN_EXTERNAL_PAGES@
+CLASS_DIAGRAMS = @DOXYGEN_CLASS_DIAGRAMS@
+DIA_PATH = @DOXYGEN_DIA_PATH@
+HIDE_UNDOC_RELATIONS = @DOXYGEN_HIDE_UNDOC_RELATIONS@
+HAVE_DOT = @DOXYGEN_HAVE_DOT@
+DOT_NUM_THREADS = @DOXYGEN_DOT_NUM_THREADS@
+DOT_FONTNAME = @DOXYGEN_DOT_FONTNAME@
+DOT_FONTSIZE = @DOXYGEN_DOT_FONTSIZE@
+DOT_FONTPATH = @DOXYGEN_DOT_FONTPATH@
+CLASS_GRAPH = @DOXYGEN_CLASS_GRAPH@
+COLLABORATION_GRAPH = @DOXYGEN_COLLABORATION_GRAPH@
+GROUP_GRAPHS = @DOXYGEN_GROUP_GRAPHS@
+UML_LOOK = @DOXYGEN_UML_LOOK@
+UML_LIMIT_NUM_FIELDS = @DOXYGEN_UML_LIMIT_NUM_FIELDS@
+TEMPLATE_RELATIONS = @DOXYGEN_TEMPLATE_RELATIONS@
+INCLUDE_GRAPH = @DOXYGEN_INCLUDE_GRAPH@
+INCLUDED_BY_GRAPH = @DOXYGEN_INCLUDED_BY_GRAPH@
+CALL_GRAPH = @DOXYGEN_CALL_GRAPH@
+CALLER_GRAPH = @DOXYGEN_CALLER_GRAPH@
+GRAPHICAL_HIERARCHY = @DOXYGEN_GRAPHICAL_HIERARCHY@
+DIRECTORY_GRAPH = @DOXYGEN_DIRECTORY_GRAPH@
+DOT_IMAGE_FORMAT = @DOXYGEN_DOT_IMAGE_FORMAT@
+INTERACTIVE_SVG = @DOXYGEN_INTERACTIVE_SVG@
+DOT_PATH = @DOXYGEN_DOT_PATH@
+DOTFILE_DIRS = @DOXYGEN_DOTFILE_DIRS@
+MSCFILE_DIRS = @DOXYGEN_MSCFILE_DIRS@
+DIAFILE_DIRS = @DOXYGEN_DIAFILE_DIRS@
+PLANTUML_JAR_PATH = @DOXYGEN_PLANTUML_JAR_PATH@
+PLANTUML_CFG_FILE = @DOXYGEN_PLANTUML_CFG_FILE@
+PLANTUML_INCLUDE_PATH = @DOXYGEN_PLANTUML_INCLUDE_PATH@
+DOT_GRAPH_MAX_NODES = @DOXYGEN_DOT_GRAPH_MAX_NODES@
+MAX_DOT_GRAPH_DEPTH = @DOXYGEN_MAX_DOT_GRAPH_DEPTH@
+DOT_TRANSPARENT = @DOXYGEN_DOT_TRANSPARENT@
+DOT_MULTI_TARGETS = @DOXYGEN_DOT_MULTI_TARGETS@
+GENERATE_LEGEND = @DOXYGEN_GENERATE_LEGEND@
+DOT_CLEANUP = @DOXYGEN_DOT_CLEANUP@
diff --git a/ss2pl/build/CMakeDoxygenDefaults.cmake b/ss2pl/build/CMakeDoxygenDefaults.cmake
new file mode 100644
index 00000000..db28798f
--- /dev/null
+++ b/ss2pl/build/CMakeDoxygenDefaults.cmake
@@ -0,0 +1,672 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+if(NOT DEFINED DOXYGEN_DOXYFILE_ENCODING)
+ set(DOXYGEN_DOXYFILE_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_PROJECT_NAME)
+ set(DOXYGEN_PROJECT_NAME "My Project")
+endif()
+if(NOT DEFINED DOXYGEN_CREATE_SUBDIRS)
+ set(DOXYGEN_CREATE_SUBDIRS NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALLOW_UNICODE_NAMES)
+ set(DOXYGEN_ALLOW_UNICODE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_LANGUAGE)
+ set(DOXYGEN_OUTPUT_LANGUAGE English)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_TEXT_DIRECTION)
+ set(DOXYGEN_OUTPUT_TEXT_DIRECTION None)
+endif()
+if(NOT DEFINED DOXYGEN_BRIEF_MEMBER_DESC)
+ set(DOXYGEN_BRIEF_MEMBER_DESC YES)
+endif()
+if(NOT DEFINED DOXYGEN_REPEAT_BRIEF)
+ set(DOXYGEN_REPEAT_BRIEF YES)
+endif()
+if(NOT DEFINED DOXYGEN_ABBREVIATE_BRIEF)
+ set(DOXYGEN_ABBREVIATE_BRIEF "The $name class"
+ "The $name widget"
+ "The $name file"
+ is
+ provides
+ specifies
+ contains
+ represents
+ a
+ an
+ the)
+endif()
+if(NOT DEFINED DOXYGEN_ALWAYS_DETAILED_SEC)
+ set(DOXYGEN_ALWAYS_DETAILED_SEC NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INHERITED_MEMB)
+ set(DOXYGEN_INLINE_INHERITED_MEMB NO)
+endif()
+if(NOT DEFINED DOXYGEN_FULL_PATH_NAMES)
+ set(DOXYGEN_FULL_PATH_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHORT_NAMES)
+ set(DOXYGEN_SHORT_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_AUTOBRIEF)
+ set(DOXYGEN_JAVADOC_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_BANNER)
+ set(DOXYGEN_JAVADOC_BANNER NO)
+endif()
+if(NOT DEFINED DOXYGEN_QT_AUTOBRIEF)
+ set(DOXYGEN_QT_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_MULTILINE_CPP_IS_BRIEF)
+ set(DOXYGEN_MULTILINE_CPP_IS_BRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_INHERIT_DOCS)
+ set(DOXYGEN_INHERIT_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SEPARATE_MEMBER_PAGES)
+ set(DOXYGEN_SEPARATE_MEMBER_PAGES NO)
+endif()
+if(NOT DEFINED DOXYGEN_TAB_SIZE)
+ set(DOXYGEN_TAB_SIZE 4)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_FOR_C)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_FOR_C NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_JAVA)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_JAVA NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_FOR_FORTRAN)
+ set(DOXYGEN_OPTIMIZE_FOR_FORTRAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_VHDL)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_VHDL NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_SLICE)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_SLICE NO)
+endif()
+if(NOT DEFINED DOXYGEN_MARKDOWN_SUPPORT)
+ set(DOXYGEN_MARKDOWN_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_INCLUDE_HEADINGS)
+ set(DOXYGEN_TOC_INCLUDE_HEADINGS 5)
+endif()
+if(NOT DEFINED DOXYGEN_AUTOLINK_SUPPORT)
+ set(DOXYGEN_AUTOLINK_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_BUILTIN_STL_SUPPORT)
+ set(DOXYGEN_BUILTIN_STL_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_CPP_CLI_SUPPORT)
+ set(DOXYGEN_CPP_CLI_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_SIP_SUPPORT)
+ set(DOXYGEN_SIP_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_IDL_PROPERTY_SUPPORT)
+ set(DOXYGEN_IDL_PROPERTY_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DISTRIBUTE_GROUP_DOC)
+ set(DOXYGEN_DISTRIBUTE_GROUP_DOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_NESTED_COMPOUNDS)
+ set(DOXYGEN_GROUP_NESTED_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SUBGROUPING)
+ set(DOXYGEN_SUBGROUPING YES)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_GROUPED_CLASSES)
+ set(DOXYGEN_INLINE_GROUPED_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SIMPLE_STRUCTS)
+ set(DOXYGEN_INLINE_SIMPLE_STRUCTS NO)
+endif()
+if(NOT DEFINED DOXYGEN_TYPEDEF_HIDES_STRUCT)
+ set(DOXYGEN_TYPEDEF_HIDES_STRUCT NO)
+endif()
+if(NOT DEFINED DOXYGEN_LOOKUP_CACHE_SIZE)
+ set(DOXYGEN_LOOKUP_CACHE_SIZE 0)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ALL)
+ set(DOXYGEN_EXTRACT_ALL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIVATE)
+ set(DOXYGEN_EXTRACT_PRIVATE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIV_VIRTUAL)
+ set(DOXYGEN_EXTRACT_PRIV_VIRTUAL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PACKAGE)
+ set(DOXYGEN_EXTRACT_PACKAGE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_STATIC)
+ set(DOXYGEN_EXTRACT_STATIC NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_CLASSES)
+ set(DOXYGEN_EXTRACT_LOCAL_CLASSES YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_METHODS)
+ set(DOXYGEN_EXTRACT_LOCAL_METHODS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ANON_NSPACES)
+ set(DOXYGEN_EXTRACT_ANON_NSPACES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_MEMBERS)
+ set(DOXYGEN_HIDE_UNDOC_MEMBERS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_CLASSES)
+ set(DOXYGEN_HIDE_UNDOC_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_FRIEND_COMPOUNDS)
+ set(DOXYGEN_HIDE_FRIEND_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_IN_BODY_DOCS)
+ set(DOXYGEN_HIDE_IN_BODY_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INTERNAL_DOCS)
+ set(DOXYGEN_INTERNAL_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_CASE_SENSE_NAMES)
+ set(DOXYGEN_CASE_SENSE_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_SCOPE_NAMES)
+ set(DOXYGEN_HIDE_SCOPE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_COMPOUND_REFERENCE)
+ set(DOXYGEN_HIDE_COMPOUND_REFERENCE NO)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_INCLUDE_FILES)
+ set(DOXYGEN_SHOW_INCLUDE_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_GROUPED_MEMB_INC)
+ set(DOXYGEN_SHOW_GROUPED_MEMB_INC NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORCE_LOCAL_INCLUDES)
+ set(DOXYGEN_FORCE_LOCAL_INCLUDES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INFO)
+ set(DOXYGEN_INLINE_INFO YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBER_DOCS)
+ set(DOXYGEN_SORT_MEMBER_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BRIEF_DOCS)
+ set(DOXYGEN_SORT_BRIEF_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBERS_CTORS_1ST)
+ set(DOXYGEN_SORT_MEMBERS_CTORS_1ST NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_GROUP_NAMES)
+ set(DOXYGEN_SORT_GROUP_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BY_SCOPE_NAME)
+ set(DOXYGEN_SORT_BY_SCOPE_NAME NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRICT_PROTO_MATCHING)
+ set(DOXYGEN_STRICT_PROTO_MATCHING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TODOLIST)
+ set(DOXYGEN_GENERATE_TODOLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TESTLIST)
+ set(DOXYGEN_GENERATE_TESTLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_BUGLIST)
+ set(DOXYGEN_GENERATE_BUGLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DEPRECATEDLIST)
+ set(DOXYGEN_GENERATE_DEPRECATEDLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_INITIALIZER_LINES)
+ set(DOXYGEN_MAX_INITIALIZER_LINES 30)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_USED_FILES)
+ set(DOXYGEN_SHOW_USED_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_FILES)
+ set(DOXYGEN_SHOW_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_NAMESPACES)
+ set(DOXYGEN_SHOW_NAMESPACES YES)
+endif()
+if(NOT DEFINED DOXYGEN_QUIET)
+ set(DOXYGEN_QUIET NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARNINGS)
+ set(DOXYGEN_WARNINGS YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_UNDOCUMENTED)
+ set(DOXYGEN_WARN_IF_UNDOCUMENTED YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_DOC_ERROR)
+ set(DOXYGEN_WARN_IF_DOC_ERROR YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_NO_PARAMDOC)
+ set(DOXYGEN_WARN_NO_PARAMDOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_AS_ERROR)
+ set(DOXYGEN_WARN_AS_ERROR NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_FORMAT)
+ set(DOXYGEN_WARN_FORMAT "$file:$line: $text")
+endif()
+if(NOT DEFINED DOXYGEN_INPUT_ENCODING)
+ set(DOXYGEN_INPUT_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_FILE_PATTERNS)
+ set(DOXYGEN_FILE_PATTERNS *.c
+ *.cc
+ *.cxx
+ *.cpp
+ *.c++
+ *.java
+ *.ii
+ *.ixx
+ *.ipp
+ *.i++
+ *.inl
+ *.idl
+ *.ddl
+ *.odl
+ *.h
+ *.hh
+ *.hxx
+ *.hpp
+ *.h++
+ *.cs
+ *.d
+ *.php
+ *.php4
+ *.php5
+ *.phtml
+ *.inc
+ *.m
+ *.markdown
+ *.md
+ *.mm
+ *.dox
+ *.doc
+ *.txt
+ *.py
+ *.pyw
+ *.f90
+ *.f95
+ *.f03
+ *.f08
+ *.f
+ *.for
+ *.tcl
+ *.vhd
+ *.vhdl
+ *.ucf
+ *.qsf
+ *.ice)
+endif()
+if(NOT DEFINED DOXYGEN_RECURSIVE)
+ set(DOXYGEN_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXCLUDE_SYMLINKS)
+ set(DOXYGEN_EXCLUDE_SYMLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_PATTERNS)
+ set(DOXYGEN_EXAMPLE_PATTERNS *)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_RECURSIVE)
+ set(DOXYGEN_EXAMPLE_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_FILTER_SOURCE_FILES)
+ set(DOXYGEN_FILTER_SOURCE_FILES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_BROWSER)
+ set(DOXYGEN_SOURCE_BROWSER NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SOURCES)
+ set(DOXYGEN_INLINE_SOURCES NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRIP_CODE_COMMENTS)
+ set(DOXYGEN_STRIP_CODE_COMMENTS YES)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCED_BY_RELATION)
+ set(DOXYGEN_REFERENCED_BY_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_RELATION)
+ set(DOXYGEN_REFERENCES_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_LINK_SOURCE)
+ set(DOXYGEN_REFERENCES_LINK_SOURCE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_TOOLTIPS)
+ set(DOXYGEN_SOURCE_TOOLTIPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_HTAGS)
+ set(DOXYGEN_USE_HTAGS NO)
+endif()
+if(NOT DEFINED DOXYGEN_VERBATIM_HEADERS)
+ set(DOXYGEN_VERBATIM_HEADERS YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLANG_ASSISTED_PARSING)
+ set(DOXYGEN_CLANG_ASSISTED_PARSING NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALPHABETICAL_INDEX)
+ set(DOXYGEN_ALPHABETICAL_INDEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLS_IN_ALPHA_INDEX)
+ set(DOXYGEN_COLS_IN_ALPHA_INDEX 5)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTML)
+ set(DOXYGEN_GENERATE_HTML YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_OUTPUT)
+ set(DOXYGEN_HTML_OUTPUT html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_FILE_EXTENSION)
+ set(DOXYGEN_HTML_FILE_EXTENSION .html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_HUE)
+ set(DOXYGEN_HTML_COLORSTYLE_HUE 220)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_SAT)
+ set(DOXYGEN_HTML_COLORSTYLE_SAT 100)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_GAMMA)
+ set(DOXYGEN_HTML_COLORSTYLE_GAMMA 80)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_TIMESTAMP)
+ set(DOXYGEN_HTML_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_MENUS)
+ set(DOXYGEN_HTML_DYNAMIC_MENUS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_SECTIONS)
+ set(DOXYGEN_HTML_DYNAMIC_SECTIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_INDEX_NUM_ENTRIES)
+ set(DOXYGEN_HTML_INDEX_NUM_ENTRIES 100)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCSET)
+ set(DOXYGEN_GENERATE_DOCSET NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_FEEDNAME)
+ set(DOXYGEN_DOCSET_FEEDNAME "Doxygen generated docs")
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_BUNDLE_ID)
+ set(DOXYGEN_DOCSET_BUNDLE_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_ID)
+ set(DOXYGEN_DOCSET_PUBLISHER_ID org.doxygen.Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_NAME)
+ set(DOXYGEN_DOCSET_PUBLISHER_NAME Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTMLHELP)
+ set(DOXYGEN_GENERATE_HTMLHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_CHI)
+ set(DOXYGEN_GENERATE_CHI NO)
+endif()
+if(NOT DEFINED DOXYGEN_BINARY_TOC)
+ set(DOXYGEN_BINARY_TOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_EXPAND)
+ set(DOXYGEN_TOC_EXPAND NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_QHP)
+ set(DOXYGEN_GENERATE_QHP NO)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_NAMESPACE)
+ set(DOXYGEN_QHP_NAMESPACE org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_VIRTUAL_FOLDER)
+ set(DOXYGEN_QHP_VIRTUAL_FOLDER doc)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_ECLIPSEHELP)
+ set(DOXYGEN_GENERATE_ECLIPSEHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_ECLIPSE_DOC_ID)
+ set(DOXYGEN_ECLIPSE_DOC_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DISABLE_INDEX)
+ set(DOXYGEN_DISABLE_INDEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TREEVIEW)
+ set(DOXYGEN_GENERATE_TREEVIEW NO)
+endif()
+if(NOT DEFINED DOXYGEN_ENUM_VALUES_PER_LINE)
+ set(DOXYGEN_ENUM_VALUES_PER_LINE 4)
+endif()
+if(NOT DEFINED DOXYGEN_TREEVIEW_WIDTH)
+ set(DOXYGEN_TREEVIEW_WIDTH 250)
+endif()
+if(NOT DEFINED DOXYGEN_EXT_LINKS_IN_WINDOW)
+ set(DOXYGEN_EXT_LINKS_IN_WINDOW NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_FONTSIZE)
+ set(DOXYGEN_FORMULA_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_TRANSPARENT)
+ set(DOXYGEN_FORMULA_TRANSPARENT YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_MATHJAX)
+ set(DOXYGEN_USE_MATHJAX NO)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_FORMAT)
+ set(DOXYGEN_MATHJAX_FORMAT HTML-CSS)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_RELPATH)
+ set(DOXYGEN_MATHJAX_RELPATH https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHENGINE)
+ set(DOXYGEN_SEARCHENGINE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SERVER_BASED_SEARCH)
+ set(DOXYGEN_SERVER_BASED_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_SEARCH)
+ set(DOXYGEN_EXTERNAL_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHDATA_FILE)
+ set(DOXYGEN_SEARCHDATA_FILE searchdata.xml)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LATEX)
+ set(DOXYGEN_GENERATE_LATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_OUTPUT)
+ set(DOXYGEN_LATEX_OUTPUT latex)
+endif()
+if(NOT DEFINED DOXYGEN_MAKEINDEX_CMD_NAME)
+ set(DOXYGEN_MAKEINDEX_CMD_NAME makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_MAKEINDEX_CMD)
+ set(DOXYGEN_LATEX_MAKEINDEX_CMD makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_LATEX)
+ set(DOXYGEN_COMPACT_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PAPER_TYPE)
+ set(DOXYGEN_PAPER_TYPE a4)
+endif()
+if(NOT DEFINED DOXYGEN_PDF_HYPERLINKS)
+ set(DOXYGEN_PDF_HYPERLINKS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_PDFLATEX)
+ set(DOXYGEN_USE_PDFLATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BATCHMODE)
+ set(DOXYGEN_LATEX_BATCHMODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_HIDE_INDICES)
+ set(DOXYGEN_LATEX_HIDE_INDICES NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_SOURCE_CODE)
+ set(DOXYGEN_LATEX_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BIB_STYLE)
+ set(DOXYGEN_LATEX_BIB_STYLE plain)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_TIMESTAMP)
+ set(DOXYGEN_LATEX_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_RTF)
+ set(DOXYGEN_GENERATE_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_OUTPUT)
+ set(DOXYGEN_RTF_OUTPUT rtf)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_RTF)
+ set(DOXYGEN_COMPACT_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_HYPERLINKS)
+ set(DOXYGEN_RTF_HYPERLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_SOURCE_CODE)
+ set(DOXYGEN_RTF_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_MAN)
+ set(DOXYGEN_GENERATE_MAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_OUTPUT)
+ set(DOXYGEN_MAN_OUTPUT man)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_EXTENSION)
+ set(DOXYGEN_MAN_EXTENSION .3)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_LINKS)
+ set(DOXYGEN_MAN_LINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_XML)
+ set(DOXYGEN_GENERATE_XML NO)
+endif()
+if(NOT DEFINED DOXYGEN_XML_OUTPUT)
+ set(DOXYGEN_XML_OUTPUT xml)
+endif()
+if(NOT DEFINED DOXYGEN_XML_PROGRAMLISTING)
+ set(DOXYGEN_XML_PROGRAMLISTING YES)
+endif()
+if(NOT DEFINED DOXYGEN_XML_NS_MEMB_FILE_SCOPE)
+ set(DOXYGEN_XML_NS_MEMB_FILE_SCOPE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCBOOK)
+ set(DOXYGEN_GENERATE_DOCBOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_OUTPUT)
+ set(DOXYGEN_DOCBOOK_OUTPUT docbook)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_PROGRAMLISTING)
+ set(DOXYGEN_DOCBOOK_PROGRAMLISTING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_AUTOGEN_DEF)
+ set(DOXYGEN_GENERATE_AUTOGEN_DEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_PERLMOD)
+ set(DOXYGEN_GENERATE_PERLMOD NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_LATEX)
+ set(DOXYGEN_PERLMOD_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_PRETTY)
+ set(DOXYGEN_PERLMOD_PRETTY YES)
+endif()
+if(NOT DEFINED DOXYGEN_ENABLE_PREPROCESSING)
+ set(DOXYGEN_ENABLE_PREPROCESSING YES)
+endif()
+if(NOT DEFINED DOXYGEN_MACRO_EXPANSION)
+ set(DOXYGEN_MACRO_EXPANSION NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXPAND_ONLY_PREDEF)
+ set(DOXYGEN_EXPAND_ONLY_PREDEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCH_INCLUDES)
+ set(DOXYGEN_SEARCH_INCLUDES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SKIP_FUNCTION_MACROS)
+ set(DOXYGEN_SKIP_FUNCTION_MACROS YES)
+endif()
+if(NOT DEFINED DOXYGEN_ALLEXTERNALS)
+ set(DOXYGEN_ALLEXTERNALS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_GROUPS)
+ set(DOXYGEN_EXTERNAL_GROUPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_PAGES)
+ set(DOXYGEN_EXTERNAL_PAGES YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_DIAGRAMS)
+ set(DOXYGEN_CLASS_DIAGRAMS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_RELATIONS)
+ set(DOXYGEN_HIDE_UNDOC_RELATIONS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HAVE_DOT)
+ set(DOXYGEN_HAVE_DOT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_NUM_THREADS)
+ set(DOXYGEN_DOT_NUM_THREADS 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTNAME)
+ set(DOXYGEN_DOT_FONTNAME Helvetica)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTSIZE)
+ set(DOXYGEN_DOT_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_GRAPH)
+ set(DOXYGEN_CLASS_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLLABORATION_GRAPH)
+ set(DOXYGEN_COLLABORATION_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_GRAPHS)
+ set(DOXYGEN_GROUP_GRAPHS YES)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LOOK)
+ set(DOXYGEN_UML_LOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LIMIT_NUM_FIELDS)
+ set(DOXYGEN_UML_LIMIT_NUM_FIELDS 10)
+endif()
+if(NOT DEFINED DOXYGEN_TEMPLATE_RELATIONS)
+ set(DOXYGEN_TEMPLATE_RELATIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDE_GRAPH)
+ set(DOXYGEN_INCLUDE_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDED_BY_GRAPH)
+ set(DOXYGEN_INCLUDED_BY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_CALL_GRAPH)
+ set(DOXYGEN_CALL_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_CALLER_GRAPH)
+ set(DOXYGEN_CALLER_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_GRAPHICAL_HIERARCHY)
+ set(DOXYGEN_GRAPHICAL_HIERARCHY YES)
+endif()
+if(NOT DEFINED DOXYGEN_DIRECTORY_GRAPH)
+ set(DOXYGEN_DIRECTORY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_IMAGE_FORMAT)
+ set(DOXYGEN_DOT_IMAGE_FORMAT png)
+endif()
+if(NOT DEFINED DOXYGEN_INTERACTIVE_SVG)
+ set(DOXYGEN_INTERACTIVE_SVG NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_GRAPH_MAX_NODES)
+ set(DOXYGEN_DOT_GRAPH_MAX_NODES 50)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_DOT_GRAPH_DEPTH)
+ set(DOXYGEN_MAX_DOT_GRAPH_DEPTH 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_TRANSPARENT)
+ set(DOXYGEN_DOT_TRANSPARENT NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_MULTI_TARGETS)
+ set(DOXYGEN_DOT_MULTI_TARGETS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LEGEND)
+ set(DOXYGEN_GENERATE_LEGEND YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_CLEANUP)
+ set(DOXYGEN_DOT_CLEANUP YES)
+endif()
diff --git a/ss2pl/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake b/ss2pl/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
new file mode 100644
index 00000000..278ef39e
--- /dev/null
+++ b/ss2pl/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
@@ -0,0 +1,88 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "9.4.0")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
+set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
+
+set(CMAKE_CXX_PLATFORM_ID "Linux")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+
+foreach (lang C OBJC OBJCXX)
+ if (CMAKE_${lang}_COMPILER_ID_RUN)
+ foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
+ list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
+ endforeach()
+ endif()
+endforeach()
+
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "ELF")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/ss2pl/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin b/ss2pl/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin
new file mode 100755
index 00000000..156cfcfc
Binary files /dev/null and b/ss2pl/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin differ
diff --git a/ss2pl/build/CMakeFiles/3.17.0/CMakeSystem.cmake b/ss2pl/build/CMakeFiles/3.17.0/CMakeSystem.cmake
new file mode 100644
index 00000000..0fd1f759
--- /dev/null
+++ b/ss2pl/build/CMakeFiles/3.17.0/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/ss2pl/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp b/ss2pl/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
new file mode 100644
index 00000000..69cfdba6
--- /dev/null
+++ b/ss2pl/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
@@ -0,0 +1,660 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+ recognize the extension without flags. Borland does not know .cxx for
+ example. */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+ /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+ /* __SUNPRO_CC = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+ /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+ /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__) || defined(__GNUG__)
+# define COMPILER_ID "GNU"
+# if defined(__GNUC__)
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# else
+# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
+# if defined(__INTEL_CXX11_MODE__)
+# if defined(__cpp_aggregate_nsdmi)
+# define CXX_STD 201402L
+# else
+# define CXX_STD 201103L
+# endif
+# else
+# define CXX_STD 199711L
+# endif
+#elif defined(_MSC_VER) && defined(_MSVC_LANG)
+# define CXX_STD _MSVC_LANG
+#else
+# define CXX_STD __cplusplus
+#endif
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if CXX_STD > 201703L
+ "20"
+#elif CXX_STD >= 201703L
+ "17"
+#elif CXX_STD >= 201402L
+ "14"
+#elif CXX_STD >= 201103L
+ "11"
+#else
+ "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
diff --git a/ss2pl/build/CMakeFiles/CMakeError.log b/ss2pl/build/CMakeFiles/CMakeError.log
new file mode 100644
index 00000000..7dfd171f
--- /dev/null
+++ b/ss2pl/build/CMakeFiles/CMakeError.log
@@ -0,0 +1,50 @@
+Performing C++ SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output:
+Change Dir: /home/tngngn/ccbench/ss2pl/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_58c2c && [1/2] Building CXX object CMakeFiles/cmTC_58c2c.dir/src.cxx.o
+[2/2] Linking CXX executable cmTC_58c2c
+FAILED: cmTC_58c2c
+: && /usr/bin/c++ -DCMAKE_HAVE_LIBC_PTHREAD CMakeFiles/cmTC_58c2c.dir/src.cxx.o -o cmTC_58c2c && :
+/usr/bin/ld: CMakeFiles/cmTC_58c2c.dir/src.cxx.o: in function `main':
+src.cxx:(.text+0x46): undefined reference to `pthread_create'
+/usr/bin/ld: src.cxx:(.text+0x52): undefined reference to `pthread_detach'
+/usr/bin/ld: src.cxx:(.text+0x5e): undefined reference to `pthread_cancel'
+/usr/bin/ld: src.cxx:(.text+0x6f): undefined reference to `pthread_join'
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+Source file was:
+#include
+
+void* test_func(void* data)
+{
+ return data;
+}
+
+int main(void)
+{
+ pthread_t thread;
+ pthread_create(&thread, NULL, test_func, NULL);
+ pthread_detach(thread);
+ pthread_cancel(thread);
+ pthread_join(thread, NULL);
+ pthread_atfork(NULL, NULL, NULL);
+ pthread_exit(NULL);
+
+ return 0;
+}
+
+Determining if the function pthread_create exists in the pthreads failed with the following output:
+Change Dir: /home/tngngn/ccbench/ss2pl/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_f4998 && [1/2] Building CXX object CMakeFiles/cmTC_f4998.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_f4998
+FAILED: cmTC_f4998
+: && /usr/bin/c++ -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_f4998.dir/CheckFunctionExists.cxx.o -o cmTC_f4998 -lpthreads && :
+/usr/bin/ld: -lpthreads が見つかりません
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+
diff --git a/ss2pl/build/CMakeFiles/CMakeOutput.log b/ss2pl/build/CMakeFiles/CMakeOutput.log
new file mode 100644
index 00000000..1cacb92b
--- /dev/null
+++ b/ss2pl/build/CMakeFiles/CMakeOutput.log
@@ -0,0 +1,235 @@
+The system is: Linux - 5.4.0-113-generic - x86_64
+Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
+Compiler: /usr/bin/c++
+Build flags:
+Id flags:
+
+The output was:
+0
+
+
+Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
+
+The CXX compiler identification is GNU, found in "/home/tngngn/ccbench/ss2pl/build/CMakeFiles/3.17.0/CompilerIdCXX/a.out"
+
+Determining if the CXX compiler works passed with the following output:
+Change Dir: /home/tngngn/ccbench/ss2pl/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_53a74 && [1/2] Building CXX object CMakeFiles/cmTC_53a74.dir/testCXXCompiler.cxx.o
+[2/2] Linking CXX executable cmTC_53a74
+
+
+
+Detecting CXX compiler ABI info compiled with the following output:
+Change Dir: /home/tngngn/ccbench/ss2pl/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_047a2 && [1/2] Building CXX object CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc4UoyQ5.s
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"
+ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
+#include "..." search starts here:
+#include <...> search starts here:
+ /usr/include/c++/9
+ /usr/include/x86_64-linux-gnu/c++/9
+ /usr/include/c++/9/backward
+ /usr/lib/gcc/x86_64-linux-gnu/9/include
+ /usr/local/include
+ /usr/include/x86_64-linux-gnu
+ /usr/include
+End of search list.
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ as -v --64 -o CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o /tmp/cc4UoyQ5.s
+GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+[2/2] Linking CXX executable cmTC_047a2
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_047a2' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccOvyW9p.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_047a2 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_047a2' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+
+
+
+Parsed CXX implicit include dir info from above output: rv=done
+ found start of include info
+ found start of implicit include info
+ add: [/usr/include/c++/9]
+ add: [/usr/include/x86_64-linux-gnu/c++/9]
+ add: [/usr/include/c++/9/backward]
+ add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ add: [/usr/local/include]
+ add: [/usr/include/x86_64-linux-gnu]
+ add: [/usr/include]
+ end of search list found
+ collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9]
+ collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9]
+ collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward]
+ collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ collapse include dir [/usr/local/include] ==> [/usr/local/include]
+ collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
+ collapse include dir [/usr/include] ==> [/usr/include]
+ implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
+
+
+Parsed CXX implicit link information from above output:
+ link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+ ignore line: [Change Dir: /home/tngngn/ccbench/ss2pl/build/CMakeFiles/CMakeTmp]
+ ignore line: []
+ ignore line: [Run Build Command(s):/usr/local/bin/ninja cmTC_047a2 && [1/2] Building CXX object CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc4UoyQ5.s]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"]
+ ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
+ ignore line: [#include "..." search starts here:]
+ ignore line: [#include <...> search starts here:]
+ ignore line: [ /usr/include/c++/9]
+ ignore line: [ /usr/include/x86_64-linux-gnu/c++/9]
+ ignore line: [ /usr/include/c++/9/backward]
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
+ ignore line: [ /usr/local/include]
+ ignore line: [ /usr/include/x86_64-linux-gnu]
+ ignore line: [ /usr/include]
+ ignore line: [End of search list.]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ as -v --64 -o CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o /tmp/cc4UoyQ5.s]
+ ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [[2/2] Linking CXX executable cmTC_047a2]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_047a2' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccOvyW9p.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_047a2 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
+ arg [-plugin] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
+ arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
+ arg [-plugin-opt=-fresolution=/tmp/ccOvyW9p.res] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [--build-id] ==> ignore
+ arg [--eh-frame-hdr] ==> ignore
+ arg [-m] ==> ignore
+ arg [elf_x86_64] ==> ignore
+ arg [--hash-style=gnu] ==> ignore
+ arg [--as-needed] ==> ignore
+ arg [-dynamic-linker] ==> ignore
+ arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+ arg [-pie] ==> ignore
+ arg [-znow] ==> ignore
+ arg [-zrelro] ==> ignore
+ arg [-o] ==> ignore
+ arg [cmTC_047a2] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
+ arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+ arg [-L/lib/../lib] ==> dir [/lib/../lib]
+ arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+ arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
+ arg [CMakeFiles/cmTC_047a2.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+ arg [-lstdc++] ==> lib [stdc++]
+ arg [-lm] ==> lib [m]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [-lc] ==> lib [c]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
+ collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+ collapse library dir [/lib/../lib] ==> [/lib]
+ collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
+ implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
+ implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+ implicit fwks: []
+
+
+Determining if the include file pthread.h exists passed with the following output:
+Change Dir: /home/tngngn/ccbench/ss2pl/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_34428 && [1/2] Building CXX object CMakeFiles/cmTC_34428.dir/CheckIncludeFile.cxx.o
+[2/2] Linking CXX executable cmTC_34428
+
+
+
+Determining if the function pthread_create exists in the pthread passed with the following output:
+Change Dir: /home/tngngn/ccbench/ss2pl/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_63519 && [1/2] Building CXX object CMakeFiles/cmTC_63519.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_63519
+
+
+
diff --git a/ss2pl/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx b/ss2pl/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
new file mode 100644
index 00000000..13435e07
--- /dev/null
+++ b/ss2pl/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
@@ -0,0 +1,28 @@
+#ifdef CHECK_FUNCTION_EXISTS
+
+# ifdef __cplusplus
+extern "C"
+# endif
+ char
+ CHECK_FUNCTION_EXISTS(void);
+# ifdef __CLASSIC_C__
+int main()
+{
+ int ac;
+ char* av[];
+# else
+int main(int ac, char* av[])
+{
+# endif
+ CHECK_FUNCTION_EXISTS();
+ if (ac > 1000) {
+ return *av[0];
+ }
+ return 0;
+}
+
+#else /* CHECK_FUNCTION_EXISTS */
+
+# error "CHECK_FUNCTION_EXISTS has to specify the function"
+
+#endif /* CHECK_FUNCTION_EXISTS */
diff --git a/ss2pl/build/CMakeFiles/TargetDirectories.txt b/ss2pl/build/CMakeFiles/TargetDirectories.txt
new file mode 100644
index 00000000..c56eceba
--- /dev/null
+++ b/ss2pl/build/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,8 @@
+/home/tngngn/ccbench/ss2pl/build/CMakeFiles/rebuild_cache.dir
+/home/tngngn/ccbench/ss2pl/build/CMakeFiles/edit_cache.dir
+/home/tngngn/ccbench/ss2pl/build/CMakeFiles/test.dir
+/home/tngngn/ccbench/ss2pl/build/CMakeFiles/ss2pl.exe.dir
+/home/tngngn/ccbench/ss2pl/build/test/CMakeFiles/rebuild_cache.dir
+/home/tngngn/ccbench/ss2pl/build/test/CMakeFiles/edit_cache.dir
+/home/tngngn/ccbench/ss2pl/build/test/CMakeFiles/test.dir
+/home/tngngn/ccbench/ss2pl/build/test/CMakeFiles/make_db_test.dir
diff --git a/ss2pl/build/CMakeFiles/cmake.check_cache b/ss2pl/build/CMakeFiles/cmake.check_cache
new file mode 100644
index 00000000..3dccd731
--- /dev/null
+++ b/ss2pl/build/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/ss2pl/build/CTestTestfile.cmake b/ss2pl/build/CTestTestfile.cmake
new file mode 100644
index 00000000..54a72084
--- /dev/null
+++ b/ss2pl/build/CTestTestfile.cmake
@@ -0,0 +1,7 @@
+# CMake generated Testfile for
+# Source directory: /home/tngngn/ccbench/ss2pl
+# Build directory: /home/tngngn/ccbench/ss2pl/build
+#
+# This file includes the relevant testing commands required for
+# testing this directory and lists subdirectories to be tested as well.
+subdirs("test")
diff --git a/ss2pl/build/build.ninja b/ss2pl/build/build.ninja
new file mode 100644
index 00000000..4a08aea0
--- /dev/null
+++ b/ss2pl/build/build.ninja
@@ -0,0 +1,334 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the build statements describing the
+# compilation DAG.
+
+# =============================================================================
+# Write statements declared in CMakeLists.txt:
+#
+# Which is the root file.
+# =============================================================================
+
+# =============================================================================
+# Project: ccbench_ss2pl
+# Configurations: Release
+# =============================================================================
+
+#############################################
+# Minimal version of Ninja required by this file
+
+ninja_required_version = 1.5
+
+
+#############################################
+# Set configuration variable for custom commands.
+
+CONFIGURATION = Release
+# =============================================================================
+# Include auxiliary files.
+
+
+#############################################
+# Include rules file.
+
+include rules.ninja
+
+
+#############################################
+# Utility command for rebuild_cache
+
+build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/ss2pl/build && /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/ss2pl -B/home/tngngn/ccbench/ss2pl/build
+ DESC = Running CMake to regenerate build system...
+ pool = console
+ restat = 1
+
+build rebuild_cache: phony CMakeFiles/rebuild_cache.util
+
+
+#############################################
+# Utility command for edit_cache
+
+build CMakeFiles/edit_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/ss2pl/build && /usr/local/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+ DESC = No interactive CMake dialog available...
+ restat = 1
+
+build edit_cache: phony CMakeFiles/edit_cache.util
+
+
+#############################################
+# Utility command for test
+
+build CMakeFiles/test.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/ss2pl/build && /usr/local/bin/ctest --force-new-ctest-process
+ DESC = Running tests...
+ pool = console
+ restat = 1
+
+build test: phony CMakeFiles/test.util
+
+# =============================================================================
+# Object build statements for EXECUTABLE target ss2pl.exe
+
+
+#############################################
+# Order-only phony target for ss2pl.exe
+
+build cmake_object_order_depends_target_ss2pl.exe_Release: phony || CMakeFiles/ss2pl.exe.dir
+
+build CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o: CXX_COMPILER__ss2pl.2eexe_Release /home/tngngn/ccbench/common/result.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o: CXX_COMPILER__ss2pl.2eexe_Release /home/tngngn/ccbench/common/util.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/result.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../result.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../ss2pl.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/transaction.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../transaction.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/transaction.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/util.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../util.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+
+# =============================================================================
+# Link build statements for EXECUTABLE target ss2pl.exe
+
+
+#############################################
+# Link the executable ss2pl.exe
+
+build ss2pl.exe: CXX_EXECUTABLE_LINKER__ss2pl.2eexe_Release CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o CMakeFiles/ss2pl.exe.dir/result.cc.o CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o CMakeFiles/ss2pl.exe.dir/transaction.cc.o CMakeFiles/ss2pl.exe.dir/util.cc.o | /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a
+ FLAGS = -O3 -DNDEBUG
+ LINK_LIBRARIES = /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a -lpthread
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ POST_BUILD = :
+ PRE_LINK = :
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_FILE = ss2pl.exe
+ TARGET_PDB = ss2pl.exe.pdb
+
+# =============================================================================
+# Write statements declared in CMakeLists.txt:
+# /home/tngngn/ccbench/ss2pl/CMakeLists.txt
+# =============================================================================
+
+
+#############################################
+# Utility command for rebuild_cache
+
+build test/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/ss2pl/build/test && /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/ss2pl -B/home/tngngn/ccbench/ss2pl/build
+ DESC = Running CMake to regenerate build system...
+ pool = console
+ restat = 1
+
+build test/rebuild_cache: phony test/CMakeFiles/rebuild_cache.util
+
+
+#############################################
+# Utility command for edit_cache
+
+build test/CMakeFiles/edit_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/ss2pl/build/test && /usr/local/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+ DESC = No interactive CMake dialog available...
+ restat = 1
+
+build test/edit_cache: phony test/CMakeFiles/edit_cache.util
+
+
+#############################################
+# Utility command for test
+
+build test/CMakeFiles/test.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/ss2pl/build/test && /usr/local/bin/ctest --force-new-ctest-process
+ DESC = Running tests...
+ pool = console
+ restat = 1
+
+build test/test: phony test/CMakeFiles/test.util
+
+# =============================================================================
+# Object build statements for EXECUTABLE target make_db_test
+
+
+#############################################
+# Order-only phony target for make_db_test
+
+build cmake_object_order_depends_target_make_db_test_Release: phony || test/CMakeFiles/make_db_test.dir
+
+build test/CMakeFiles/make_db_test.dir/make_db_test.cpp.o: CXX_COMPILER__make_db_test_Release ../test/make_db_test.cpp || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/make_db_test.cpp.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir
+ TARGET_COMPILE_PDB = test/CMakeFiles/make_db_test.dir/
+ TARGET_PDB = test/make_db_test.pdb
+
+build test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/result.cc.o: CXX_COMPILER__make_db_test_Release /home/tngngn/ccbench/common/result.cc || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = test/CMakeFiles/make_db_test.dir/
+ TARGET_PDB = test/make_db_test.pdb
+
+build test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/util.cc.o: CXX_COMPILER__make_db_test_Release /home/tngngn/ccbench/common/util.cc || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = test/CMakeFiles/make_db_test.dir/
+ TARGET_PDB = test/make_db_test.pdb
+
+build test/CMakeFiles/make_db_test.dir/__/result.cc.o: CXX_COMPILER__make_db_test_Release ../result.cc || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/__/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir/__
+ TARGET_COMPILE_PDB = test/CMakeFiles/make_db_test.dir/
+ TARGET_PDB = test/make_db_test.pdb
+
+build test/CMakeFiles/make_db_test.dir/__/transaction.cc.o: CXX_COMPILER__make_db_test_Release ../transaction.cc || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/__/transaction.cc.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir/__
+ TARGET_COMPILE_PDB = test/CMakeFiles/make_db_test.dir/
+ TARGET_PDB = test/make_db_test.pdb
+
+build test/CMakeFiles/make_db_test.dir/__/util.cc.o: CXX_COMPILER__make_db_test_Release ../util.cc || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/__/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir/__
+ TARGET_COMPILE_PDB = test/CMakeFiles/make_db_test.dir/
+ TARGET_PDB = test/make_db_test.pdb
+
+
+# =============================================================================
+# Link build statements for EXECUTABLE target make_db_test
+
+
+#############################################
+# Link the executable test/make_db_test
+
+build test/make_db_test: CXX_EXECUTABLE_LINKER__make_db_test_Release test/CMakeFiles/make_db_test.dir/make_db_test.cpp.o test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/result.cc.o test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/util.cc.o test/CMakeFiles/make_db_test.dir/__/result.cc.o test/CMakeFiles/make_db_test.dir/__/transaction.cc.o test/CMakeFiles/make_db_test.dir/__/util.cc.o | /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so /usr/lib/x86_64-linux-gnu/libglog.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a ../../third_party/googletest/build/lib/libgtest.a ../../third_party/googletest/build/lib/libgtest_main.a
+ FLAGS = -O3 -DNDEBUG
+ LINK_LIBRARIES = /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so /usr/lib/x86_64-linux-gnu/libglog.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a ../../third_party/googletest/build/lib/libgtest.a ../../third_party/googletest/build/lib/libgtest_main.a -lpthread
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ POST_BUILD = :
+ PRE_LINK = :
+ TARGET_COMPILE_PDB = test/CMakeFiles/make_db_test.dir/
+ TARGET_FILE = test/make_db_test
+ TARGET_PDB = test/make_db_test.pdb
+
+# =============================================================================
+# Target aliases.
+
+build make_db_test: phony test/make_db_test
+
+# =============================================================================
+# Folder targets.
+
+# =============================================================================
+
+#############################################
+# Folder: /home/tngngn/ccbench/ss2pl/build
+
+build all: phony ss2pl.exe test/all
+
+# =============================================================================
+
+#############################################
+# Folder: /home/tngngn/ccbench/ss2pl/build/test
+
+build test/all: phony test/make_db_test
+
+# =============================================================================
+# Built-in targets
+
+
+#############################################
+# Re-run CMake if any of its inputs changed.
+
+build build.ninja: RERUN_CMAKE | ../CMakeLists.txt ../test/CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeFindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystem.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckFunctionExists.c /usr/local/share/cmake-3.17/Modules/CheckIncludeFile.cxx.in /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
+ pool = console
+
+
+#############################################
+# A missing CMake input file is not an error.
+
+build ../CMakeLists.txt ../test/CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeFindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystem.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckFunctionExists.c /usr/local/share/cmake-3.17/Modules/CheckIncludeFile.cxx.in /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx: phony
+
+
+#############################################
+# Clean all the built files.
+
+build clean: CLEAN
+
+
+#############################################
+# Print all primary targets available.
+
+build help: HELP
+
+
+#############################################
+# Make the all target the default.
+
+default all
diff --git a/ss2pl/build/cmake_install.cmake b/ss2pl/build/cmake_install.cmake
new file mode 100644
index 00000000..c388a1a1
--- /dev/null
+++ b/ss2pl/build/cmake_install.cmake
@@ -0,0 +1,55 @@
+# Install script for directory: /home/tngngn/ccbench/ss2pl
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ if(BUILD_TYPE)
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ else()
+ set(CMAKE_INSTALL_CONFIG_NAME "Release")
+ endif()
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+ if(COMPONENT)
+ message(STATUS "Install component: \"${COMPONENT}\"")
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ else()
+ set(CMAKE_INSTALL_COMPONENT)
+ endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+ # Include the install script for each subdirectory.
+ include("/home/tngngn/ccbench/ss2pl/build/test/cmake_install.cmake")
+
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+ set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+else()
+ set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+ "${CMAKE_INSTALL_MANIFEST_FILES}")
+file(WRITE "/home/tngngn/ccbench/ss2pl/build/${CMAKE_INSTALL_MANIFEST}"
+ "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/ss2pl/build/rules.ninja b/ss2pl/build/rules.ninja
new file mode 100644
index 00000000..d7b58b67
--- /dev/null
+++ b/ss2pl/build/rules.ninja
@@ -0,0 +1,83 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the rules used to get the outputs files
+# built from the input files.
+# It is included in the main 'build.ninja'.
+
+# =============================================================================
+# Project: ccbench_ss2pl
+# Configurations: Release
+# =============================================================================
+# =============================================================================
+
+#############################################
+# Rule for running custom commands.
+
+rule CUSTOM_COMMAND
+ command = $COMMAND
+ description = $DESC
+
+
+#############################################
+# Rule for compiling CXX files.
+
+rule CXX_COMPILER__ss2pl.2eexe_Release
+ depfile = $DEP_FILE
+ deps = gcc
+ command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
+ description = Building CXX object $out
+
+
+#############################################
+# Rule for linking CXX executable.
+
+rule CXX_EXECUTABLE_LINKER__ss2pl.2eexe_Release
+ command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD
+ description = Linking CXX executable $TARGET_FILE
+ restat = $RESTAT
+
+
+#############################################
+# Rule for compiling CXX files.
+
+rule CXX_COMPILER__make_db_test_Release
+ depfile = $DEP_FILE
+ deps = gcc
+ command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
+ description = Building CXX object $out
+
+
+#############################################
+# Rule for linking CXX executable.
+
+rule CXX_EXECUTABLE_LINKER__make_db_test_Release
+ command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD
+ description = Linking CXX executable $TARGET_FILE
+ restat = $RESTAT
+
+
+#############################################
+# Rule for re-running cmake.
+
+rule RERUN_CMAKE
+ command = /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/ss2pl -B/home/tngngn/ccbench/ss2pl/build
+ description = Re-running CMake...
+ generator = 1
+
+
+#############################################
+# Rule for cleaning all built files.
+
+rule CLEAN
+ command = /usr/local/bin/ninja $FILE_ARG -t clean $TARGETS
+ description = Cleaning all built files...
+
+
+#############################################
+# Rule for printing all primary targets available.
+
+rule HELP
+ command = /usr/local/bin/ninja -t targets
+ description = All primary targets available:
+
diff --git a/ss2pl/build/test/CTestTestfile.cmake b/ss2pl/build/test/CTestTestfile.cmake
new file mode 100644
index 00000000..3f0cf7f0
--- /dev/null
+++ b/ss2pl/build/test/CTestTestfile.cmake
@@ -0,0 +1,8 @@
+# CMake generated Testfile for
+# Source directory: /home/tngngn/ccbench/ss2pl/test
+# Build directory: /home/tngngn/ccbench/ss2pl/build/test
+#
+# This file includes the relevant testing commands required for
+# testing this directory and lists subdirectories to be tested as well.
+add_test(make_db_test "/home/tngngn/ccbench/ss2pl/build/test/make_db_test" "--gtest_output=xml:make_db_test_gtest_result.xml")
+set_tests_properties(make_db_test PROPERTIES _BACKTRACE_TRIPLES "/home/tngngn/ccbench/ss2pl/test/CMakeLists.txt;72;add_test;/home/tngngn/ccbench/ss2pl/test/CMakeLists.txt;0;")
diff --git a/ss2pl/build/test/cmake_install.cmake b/ss2pl/build/test/cmake_install.cmake
new file mode 100644
index 00000000..7943d9f6
--- /dev/null
+++ b/ss2pl/build/test/cmake_install.cmake
@@ -0,0 +1,39 @@
+# Install script for directory: /home/tngngn/ccbench/ss2pl/test
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ if(BUILD_TYPE)
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ else()
+ set(CMAKE_INSTALL_CONFIG_NAME "Release")
+ endif()
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+ if(COMPONENT)
+ message(STATUS "Install component: \"${COMPONENT}\"")
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ else()
+ set(CMAKE_INSTALL_COMPONENT)
+ endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
diff --git a/ss2pl/build/test/make_db_test b/ss2pl/build/test/make_db_test
new file mode 100755
index 00000000..33574ee8
Binary files /dev/null and b/ss2pl/build/test/make_db_test differ
diff --git a/ss2pl/include/common.hh b/ss2pl/include/common.hh
index aa5c94b6..579055ef 100644
--- a/ss2pl/include/common.hh
+++ b/ss2pl/include/common.hh
@@ -53,3 +53,5 @@ DECLARE_double(zipf_skew);
#endif
alignas(CACHE_LINE_SIZE) GLOBAL Tuple *Table;
+alignas(CACHE_LINE_SIZE) GLOBAL int thread_stats[224];
+alignas(CACHE_LINE_SIZE) GLOBAL int thread_timestamp[224];
diff --git a/ss2pl/include/transaction.hh b/ss2pl/include/transaction.hh
index 5431f352..5ac0efdf 100644
--- a/ss2pl/include/transaction.hh
+++ b/ss2pl/include/transaction.hh
@@ -21,6 +21,7 @@ extern void writeValGenerator(char *writeVal, size_t val_size, size_t thid);
class TxExecutor {
public:
alignas(CACHE_LINE_SIZE) int thid_;
+ int txid_;
std::vector r_lock_list_;
std::vector w_lock_list_;
TransactionStatus status_ = TransactionStatus::inFlight;
diff --git a/ss2pl/include/tuple.hh b/ss2pl/include/tuple.hh
index cc2610ce..8cc50194 100644
--- a/ss2pl/include/tuple.hh
+++ b/ss2pl/include/tuple.hh
@@ -8,9 +8,14 @@
#include "../../include/rwlock.hh"
using namespace std;
+#define UNLOCKED INT32_MAX
class Tuple {
public:
alignas(CACHE_LINE_SIZE) RWLock lock_;
+ RWLock latch_;
char val_[VAL_SIZE];
+ int writer_;
+ int reader_;
+ bool writeflag_;
};
diff --git a/ss2pl/ss2pl.cc b/ss2pl/ss2pl.cc
index 22829295..c601a19a 100644
--- a/ss2pl/ss2pl.cc
+++ b/ss2pl/ss2pl.cc
@@ -1,4 +1,3 @@
-
#include //isdigit,
#include
#include //strlen,
diff --git a/ss2pl/transaction.cc b/ss2pl/transaction.cc
index eacf0aa3..6250d0b8 100644
--- a/ss2pl/transaction.cc
+++ b/ss2pl/transaction.cc
@@ -1,4 +1,3 @@
-
#include
#include
@@ -86,6 +85,7 @@ void TxExecutor::abort() {
* @return void
*/
void TxExecutor::commit() {
+ //printf("tx%d commit\n", thid_);
for (auto itr = write_set_.begin(); itr != write_set_.end(); ++itr) {
/**
* update payload.
@@ -103,6 +103,7 @@ void TxExecutor::commit() {
*/
read_set_.clear();
write_set_.clear();
+
}
/**
@@ -138,26 +139,34 @@ void TxExecutor::read(uint64_t key) {
#else
tuple = get_tuple(Table, key);
#endif
-
-#ifdef DLR0
- /**
- * Acquire lock with wait.
- */
- tuple->lock_.r_lock();
- r_lock_list_.emplace_back(&tuple->lock_);
- read_set_.emplace_back(key, tuple, tuple->val_);
-#elif defined(DLR1)
- if (tuple->lock_.r_trylock()) {
- r_lock_list_.emplace_back(&tuple->lock_);
- read_set_.emplace_back(key, tuple, tuple->val_);
- } else {
- /**
- * No-wait and abort.
- */
- this->status_ = TransactionStatus::aborted;
- goto FINISH_READ;
+ while(1) {
+ if(!tuple->latch_.w_trylock()) {
+ usleep(1);
+ continue;
+ }
+ if(tuple->writeflag_) {
+ if(thid_ > tuple->writer_) {
+ tuple->latch_.w_unlock();
+ status_ = TransactionStatus::aborted;
+ goto FINISH_READ;
+ }
+ tuple->latch_.w_unlock();
+ usleep(1);
+ continue;
+ }
+ else {
+ while(1) {
+ if(tuple->lock_.r_trylock()) {
+ if(thid_ < tuple->reader_)
+ tuple->reader_ = txid_;
+ tuple->latch_.w_unlock();
+ read_set_.emplace_back(key, tuple, tuple->val_);
+ goto FINISH_READ;
+ }
+ usleep(1);
+ }
+ }
}
-#endif
FINISH_READ:
@@ -179,35 +188,6 @@ void TxExecutor::write(uint64_t key) {
// if it already wrote the key object once.
if (searchWriteSet(key)) goto FINISH_WRITE;
-
- for (auto rItr = read_set_.begin(); rItr != read_set_.end(); ++rItr) {
- if ((*rItr).key_ == key) { // hit
-#if DLR0
- (*rItr).rcdptr_->lock_.upgrade();
-#elif defined(DLR1)
- if (!(*rItr).rcdptr_->lock_.tryupgrade()) {
- this->status_ = TransactionStatus::aborted;
- goto FINISH_WRITE;
- }
-#endif
-
- // upgrade success
- // remove old element of read lock list.
- for (auto lItr = r_lock_list_.begin(); lItr != r_lock_list_.end();
- ++lItr) {
- if (*lItr == &((*rItr).rcdptr_->lock_)) {
- write_set_.emplace_back(key, (*rItr).rcdptr_);
- w_lock_list_.emplace_back(&(*rItr).rcdptr_->lock_);
- r_lock_list_.erase(lItr);
- break;
- }
- }
-
- read_set_.erase(rItr);
- goto FINISH_WRITE;
- }
- }
-
/**
* Search tuple from data structure.
*/
@@ -220,27 +200,90 @@ void TxExecutor::write(uint64_t key) {
#else
tuple = get_tuple(Table, key);
#endif
-
-#if DLR0
- /**
- * Lock with wait.
- */
- tuple->lock_.w_lock();
-#elif defined(DLR1)
- if (!tuple->lock_.w_trylock()) {
- /**
- * No-wait and abort.
- */
- this->status_ = TransactionStatus::aborted;
- goto FINISH_WRITE;
+
+ for (auto rItr = read_set_.begin(); rItr != read_set_.end(); ++rItr) {
+ if ((*rItr).key_ == key) { // hit
+ while(1) {
+ if(!tuple->latch_.w_trylock()) {
+ usleep(1);
+ continue;
+ }
+ if(tuple->writeflag_) {
+ if(thid_ > tuple->writer_) {
+ tuple->latch_.w_unlock();
+ status_ = TransactionStatus::aborted;
+ goto FINISH_WRITE;
+ }
+ tuple->latch_.w_unlock();
+ usleep(1);
+ continue;
+ }
+ tuple->writeflag_ = true; // the fact that i am holding the lock suggests that there is no need to spinwait writeflag
+ tuple->writer_ = thid_;
+ if(thid_ > tuple->reader_) {
+ tuple->writeflag_ = false;
+ tuple->latch_.w_unlock();
+ status_ = TransactionStatus::aborted;
+ goto FINISH_WRITE;
+ }
+ tuple->latch_.w_unlock();
+ while(1) {
+ if(tuple->lock_.tryupgrade()) {
+ tuple->reader_ = UNLOCKED;
+ tuple->writer_ = thid_;
+ write_set_.emplace_back(key, (*rItr).rcdptr_);
+ read_set_.erase(rItr);
+ goto FINISH_WRITE;
+ }
+ if(thid_ > tuple->reader_) {
+ tuple->writeflag_ = false;
+ status_ = TransactionStatus::aborted;
+ goto FINISH_WRITE;
+ }
+ usleep(1);
+ }
+ }
+ }
}
-#endif
- /**
- * Register the contents to write lock list and write set.
- */
- w_lock_list_.emplace_back(&tuple->lock_);
- write_set_.emplace_back(key, tuple);
+ while (1) {
+ if(!tuple->latch_.w_trylock()) {
+ usleep(1);
+ continue;
+ }
+ if(tuple->writeflag_) {
+ if(thid_ > tuple->writer_) {
+ tuple->latch_.w_unlock();
+ status_ = TransactionStatus::aborted;
+ goto FINISH_WRITE;
+ }
+ tuple->latch_.w_unlock();
+ usleep(1);
+ continue;
+ }
+ tuple->writeflag_ = true;
+ tuple->writer_ = thid_;
+ if(txid_ > tuple->reader_) {
+ tuple->writeflag_ = false;
+ tuple->latch_.w_unlock();
+ status_ = TransactionStatus::aborted;
+ goto FINISH_WRITE;
+ }
+ tuple->latch_.w_unlock();
+ while(1){
+ if(tuple->lock_.w_trylock()) {
+ tuple->writer_ = thid_;
+ write_set_.emplace_back(key, tuple);
+ goto FINISH_WRITE;
+ }
+ if(thid_ > tuple->reader_) {
+ tuple->writeflag_ = false;
+ status_ = TransactionStatus::aborted;
+ goto FINISH_WRITE;
+ }
+ usleep(1);
+ }
+ }
FINISH_WRITE:
#if ADD_ANALYSIS
@@ -255,75 +298,77 @@ void TxExecutor::write(uint64_t key) {
void TxExecutor::readWrite(uint64_t key) {
// if it already wrote the key object once.
if (searchWriteSet(key)) goto FINISH_WRITE;
-
+ Tuple *tuple;
+ tuple = get_tuple(Table, key);
for (auto rItr = read_set_.begin(); rItr != read_set_.end(); ++rItr) {
if ((*rItr).key_ == key) { // hit
-#if DLR0
- (*rItr).rcdptr_->lock_.upgrade();
-#elif defined(DLR1)
- if (!(*rItr).rcdptr_->lock_.tryupgrade()) {
- /**
- * No-wait and abort.
- */
- this->status_ = TransactionStatus::aborted;
+ tuple->latch_.w_lock();
+ if(thid_ > tuple->reader_) {
+ tuple->latch_.w_unlock();
+ status_ = TransactionStatus::aborted;
goto FINISH_WRITE;
}
-#endif
-
- // upgrade success
- // remove old element of read set.
- for (auto lItr = r_lock_list_.begin(); lItr != r_lock_list_.end();
- ++lItr) {
- if (*lItr == &((*rItr).rcdptr_->lock_)) {
- write_set_.emplace_back(key, (*rItr).rcdptr_);
- w_lock_list_.emplace_back(&(*rItr).rcdptr_->lock_);
- r_lock_list_.erase(lItr);
- break;
+ else {
+ tuple->writeflag_ = true; // the fact that i am holding the lock suggests that there is no need to spinwait writeflag
+ tuple->latch_.w_unlock();
+ while(1) {
+ if(tuple->lock_.tryupgrade()) {
+ tuple->reader_ = UNLOCKED;
+ tuple->writer_ = thid_;
+ for (auto lItr = r_lock_list_.begin(); lItr != r_lock_list_.end();
+ ++lItr) {
+ if (*lItr == &((*rItr).rcdptr_->lock_)) {
+ write_set_.emplace_back(key, (*rItr).rcdptr_);
+ w_lock_list_.emplace_back(&(*rItr).rcdptr_->lock_);
+ r_lock_list_.erase(lItr);
+ break;
+ }
+ }
+ read_set_.erase(rItr);
+ goto FINISH_WRITE;
+ }
+ usleep(1);
}
}
-
- read_set_.erase(rItr);
- goto FINISH_WRITE;
}
}
- /**
- * Search tuple from data structure.
- */
- Tuple *tuple;
-#if MASSTREE_USE
- tuple = MT.get_value(key);
-#if ADD_ANALYSIS
- ++sres_->local_tree_traversal_;
-#endif
-#else
- tuple = get_tuple(Table, key);
-#endif
-
-#if DLR0
- /**
- * Lock with wait.
- */
- tuple->lock_.w_lock();
-#elif defined(DLR1)
- if (!tuple->lock_.w_trylock()) {
- /**
- * Nowait and abort.
- */
- this->status_ = TransactionStatus::aborted;
- goto FINISH_WRITE;
+ while (1) {
+ tuple->latch_.w_lock();
+ if(tuple->writeflag_) {
+ if(thid_ > tuple->writer_) {
+ status_ = TransactionStatus::aborted;
+ tuple->latch_.w_unlock();
+ goto FINISH_WRITE;
+ }
+ tuple->latch_.w_unlock();
+ usleep(1);
+ continue;
+ }
+ tuple->writeflag_ = true;
+ if(thid_ > tuple->reader_) {
+ tuple->writeflag_ = false;
+ tuple->latch_.w_unlock();
+ status_ = TransactionStatus::aborted;
+ goto FINISH_WRITE;
+ }
+ tuple->latch_.w_unlock();
+ while(1){
+ if(tuple->lock_.w_trylock()) {
+ tuple->latch_.w_unlock();
+ tuple->writer_ = thid_;
+ memcpy(this->return_val_, tuple->val_, VAL_SIZE);
+ w_lock_list_.emplace_back(&tuple->lock_);
+ write_set_.emplace_back(key, tuple);
+ goto FINISH_WRITE;
+ }
+ if(thid_ > tuple->reader_) {
+ status_ = TransactionStatus::aborted;
+ goto FINISH_WRITE;
+ }
+ usleep(1);
+ }
}
-#endif
-
- // read payload
- memcpy(this->return_val_, tuple->val_, VAL_SIZE);
- // finish read.
-
- /**
- * Register the contents to write lock list and write set.
- */
- w_lock_list_.emplace_back(&tuple->lock_);
- write_set_.emplace_back(key, tuple);
FINISH_WRITE:
return;
@@ -334,11 +379,20 @@ void TxExecutor::readWrite(uint64_t key) {
* @return void
*/
void TxExecutor::unlockList() {
- for (auto itr = r_lock_list_.begin(); itr != r_lock_list_.end(); ++itr)
- (*itr)->r_unlock();
- for (auto itr = w_lock_list_.begin(); itr != w_lock_list_.end(); ++itr)
- (*itr)->w_unlock();
+ for (auto itr = read_set_.begin(); itr != read_set_.end(); ++itr) {
+ (*itr).rcdptr_->latch_.w_lock();
+ int reader = (*itr).rcdptr_->lock_.counter.load(memory_order_acquire);
+ if(reader == 1) (*itr).rcdptr_->reader_ = UNLOCKED;
+ (*itr).rcdptr_->lock_.r_unlock();
+ (*itr).rcdptr_->latch_.w_unlock();
+ }
+
+ for (auto itr = write_set_.begin(); itr != write_set_.end(); ++itr) {
+ (*itr).rcdptr_->writeflag_ = false;
+ (*itr).rcdptr_->writer_ = UNLOCKED;
+ (*itr).rcdptr_->lock_.w_unlock();
+ }
/**
* Clean-up local lock set.
diff --git a/tictoc/build/.ninja_deps b/tictoc/build/.ninja_deps
new file mode 100644
index 00000000..10f82053
Binary files /dev/null and b/tictoc/build/.ninja_deps differ
diff --git a/tictoc/build/.ninja_log b/tictoc/build/.ninja_log
new file mode 100644
index 00000000..4fed420d
--- /dev/null
+++ b/tictoc/build/.ninja_log
@@ -0,0 +1,8 @@
+# ninja log v5
+0 445 1668087329801362193 CMakeFiles/tictoc.exe.dir/home/tngngn/ccbench/common/result.cc.o 43b4c771a03ac530
+1 711 1668087330065353515 CMakeFiles/tictoc.exe.dir/home/tngngn/ccbench/common/util.cc.o 256a9acb33c22082
+1 839 1668087330193349307 CMakeFiles/tictoc.exe.dir/result.cc.o 92561fb93c55f28d
+1 1426 1668087330781329978 CMakeFiles/tictoc.exe.dir/tictoc.cc.o a3a206848fd0b4a1
+2 1437 1668087330789329716 CMakeFiles/tictoc.exe.dir/transaction.cc.o 67de39d100444d62
+2 1450 1668087330805329190 CMakeFiles/tictoc.exe.dir/util.cc.o 2a11247fe7affd08
+1450 1527 1668087330881326692 tictoc.exe b157a3edf0b62953
diff --git a/tictoc/build/CMakeCache.txt b/tictoc/build/CMakeCache.txt
new file mode 100644
index 00000000..62f8e726
--- /dev/null
+++ b/tictoc/build/CMakeCache.txt
@@ -0,0 +1,473 @@
+# This is the CMakeCache file.
+# For build in directory: /home/tngngn/ccbench/tictoc/build
+# It was generated by CMake: /usr/local/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//The directory containing a CMake configuration file for Boost.
+Boost_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0
+
+Boost_FILESYSTEM_LIBRARY_RELEASE:STRING=/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0
+
+//Path to a file.
+Boost_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=Release
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//User executables (bin)
+CMAKE_INSTALL_BINDIR:PATH=bin
+
+//Read-only architecture-independent data (DATAROOTDIR)
+CMAKE_INSTALL_DATADIR:PATH=
+
+//Read-only architecture-independent data root (share)
+CMAKE_INSTALL_DATAROOTDIR:PATH=share
+
+//Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
+CMAKE_INSTALL_DOCDIR:PATH=
+
+//C header files (include)
+CMAKE_INSTALL_INCLUDEDIR:PATH=include
+
+//Info documentation (DATAROOTDIR/info)
+CMAKE_INSTALL_INFODIR:PATH=
+
+//Object code libraries (lib)
+CMAKE_INSTALL_LIBDIR:PATH=lib
+
+//Program executables (libexec)
+CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
+
+//Locale-dependent data (DATAROOTDIR/locale)
+CMAKE_INSTALL_LOCALEDIR:PATH=
+
+//Modifiable single-machine data (var)
+CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
+
+//Man documentation (DATAROOTDIR/man)
+CMAKE_INSTALL_MANDIR:PATH=
+
+//C header files for non-gcc (/usr/include)
+CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Run-time variable data (LOCALSTATEDIR/run)
+CMAKE_INSTALL_RUNSTATEDIR:PATH=
+
+//System admin executables (sbin)
+CMAKE_INSTALL_SBINDIR:PATH=sbin
+
+//Modifiable architecture-independent data (com)
+CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
+
+//Read-only single-machine data (etc)
+CMAKE_INSTALL_SYSCONFDIR:PATH=etc
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Program used to build from build.ninja files.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/local/bin/ninja
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=tictoc of ccbench
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=ccbench_tictoc
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION:STATIC=0.0.1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MAJOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MINOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_PATCH:STATIC=1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_TWEAK:STATIC=
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make. This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Dot tool for use with Doxygen
+DOXYGEN_DOT_EXECUTABLE:FILEPATH=/usr/bin/dot
+
+//Doxygen documentation generation tool (http://www.doxygen.org)
+DOXYGEN_EXECUTABLE:FILEPATH=/usr/bin/doxygen
+
+//enable coverage on debug build
+ENABLE_COVERAGE:BOOL=OFF
+
+//enable sanitizer on debug build
+ENABLE_SANITIZER:BOOL=ON
+
+//enable undefined behavior sanitizer on debug build
+ENABLE_UB_SANITIZER:BOOL=OFF
+
+//The directory containing a CMake configuration file for boost_filesystem.
+boost_filesystem_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0
+
+//The directory containing a CMake configuration file for boost_headers.
+boost_headers_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0
+
+//Value Computed by CMake
+ccbench_tictoc_BINARY_DIR:STATIC=/home/tngngn/ccbench/tictoc/build
+
+//Value Computed by CMake
+ccbench_tictoc_SOURCE_DIR:STATIC=/home/tngngn/ccbench/tictoc
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: Boost_DIR
+Boost_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/tngngn/ccbench/tictoc/build
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=17
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/local/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Ninja
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Test CMAKE_HAVE_LIBC_PTHREAD
+CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=
+//Have library pthreads
+CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
+//Have library pthread
+CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1
+//Have include pthread.h
+CMAKE_HAVE_PTHREAD_H:INTERNAL=1
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/tngngn/ccbench/tictoc
+//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
+CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
+CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
+CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
+CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
+CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
+CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
+CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
+CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
+CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
+CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
+CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
+CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR
+CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
+CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
+CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
+CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/local/share/cmake-3.17
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE
+DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_EXECUTABLE
+DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1
+//Details about finding Boost
+FIND_PACKAGE_MESSAGE_DETAILS_Boost:INTERNAL=[/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake][cfound components: filesystem ][v1.71.0()]
+//Details about finding Doxygen
+FIND_PACKAGE_MESSAGE_DETAILS_Doxygen:INTERNAL=[/usr/bin/doxygen][cfound components: doxygen dot ][v1.8.17()]
+//Details about finding Threads
+FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
+//Details about finding gflags
+FIND_PACKAGE_MESSAGE_DETAILS_gflags:INTERNAL=[/usr/lib/x86_64-linux-gnu/libgflags.so][/usr/include][v()]
+//Details about finding glog
+FIND_PACKAGE_MESSAGE_DETAILS_glog:INTERNAL=[/usr/lib/x86_64-linux-gnu/libglog.so][/usr/include][v()]
+//CMAKE_INSTALL_PREFIX during last run
+_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local
+//ADVANCED property for variable: boost_filesystem_DIR
+boost_filesystem_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: boost_headers_DIR
+boost_headers_DIR-ADVANCED:INTERNAL=1
+
diff --git a/tictoc/build/CMakeDoxyfile.in b/tictoc/build/CMakeDoxyfile.in
new file mode 100644
index 00000000..848a3c81
--- /dev/null
+++ b/tictoc/build/CMakeDoxyfile.in
@@ -0,0 +1,280 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+DOXYFILE_ENCODING = @DOXYGEN_DOXYFILE_ENCODING@
+PROJECT_NAME = @DOXYGEN_PROJECT_NAME@
+PROJECT_NUMBER = @DOXYGEN_PROJECT_NUMBER@
+PROJECT_BRIEF = @DOXYGEN_PROJECT_BRIEF@
+PROJECT_LOGO = @DOXYGEN_PROJECT_LOGO@
+OUTPUT_DIRECTORY = @DOXYGEN_OUTPUT_DIRECTORY@
+CREATE_SUBDIRS = @DOXYGEN_CREATE_SUBDIRS@
+ALLOW_UNICODE_NAMES = @DOXYGEN_ALLOW_UNICODE_NAMES@
+OUTPUT_LANGUAGE = @DOXYGEN_OUTPUT_LANGUAGE@
+OUTPUT_TEXT_DIRECTION = @DOXYGEN_OUTPUT_TEXT_DIRECTION@
+BRIEF_MEMBER_DESC = @DOXYGEN_BRIEF_MEMBER_DESC@
+REPEAT_BRIEF = @DOXYGEN_REPEAT_BRIEF@
+ABBREVIATE_BRIEF = @DOXYGEN_ABBREVIATE_BRIEF@
+ALWAYS_DETAILED_SEC = @DOXYGEN_ALWAYS_DETAILED_SEC@
+INLINE_INHERITED_MEMB = @DOXYGEN_INLINE_INHERITED_MEMB@
+FULL_PATH_NAMES = @DOXYGEN_FULL_PATH_NAMES@
+STRIP_FROM_PATH = @DOXYGEN_STRIP_FROM_PATH@
+STRIP_FROM_INC_PATH = @DOXYGEN_STRIP_FROM_INC_PATH@
+SHORT_NAMES = @DOXYGEN_SHORT_NAMES@
+JAVADOC_AUTOBRIEF = @DOXYGEN_JAVADOC_AUTOBRIEF@
+JAVADOC_BANNER = @DOXYGEN_JAVADOC_BANNER@
+QT_AUTOBRIEF = @DOXYGEN_QT_AUTOBRIEF@
+MULTILINE_CPP_IS_BRIEF = @DOXYGEN_MULTILINE_CPP_IS_BRIEF@
+INHERIT_DOCS = @DOXYGEN_INHERIT_DOCS@
+SEPARATE_MEMBER_PAGES = @DOXYGEN_SEPARATE_MEMBER_PAGES@
+TAB_SIZE = @DOXYGEN_TAB_SIZE@
+ALIASES = @DOXYGEN_ALIASES@
+TCL_SUBST = @DOXYGEN_TCL_SUBST@
+OPTIMIZE_OUTPUT_FOR_C = @DOXYGEN_OPTIMIZE_OUTPUT_FOR_C@
+OPTIMIZE_OUTPUT_JAVA = @DOXYGEN_OPTIMIZE_OUTPUT_JAVA@
+OPTIMIZE_FOR_FORTRAN = @DOXYGEN_OPTIMIZE_FOR_FORTRAN@
+OPTIMIZE_OUTPUT_VHDL = @DOXYGEN_OPTIMIZE_OUTPUT_VHDL@
+OPTIMIZE_OUTPUT_SLICE = @DOXYGEN_OPTIMIZE_OUTPUT_SLICE@
+EXTENSION_MAPPING = @DOXYGEN_EXTENSION_MAPPING@
+MARKDOWN_SUPPORT = @DOXYGEN_MARKDOWN_SUPPORT@
+TOC_INCLUDE_HEADINGS = @DOXYGEN_TOC_INCLUDE_HEADINGS@
+AUTOLINK_SUPPORT = @DOXYGEN_AUTOLINK_SUPPORT@
+BUILTIN_STL_SUPPORT = @DOXYGEN_BUILTIN_STL_SUPPORT@
+CPP_CLI_SUPPORT = @DOXYGEN_CPP_CLI_SUPPORT@
+SIP_SUPPORT = @DOXYGEN_SIP_SUPPORT@
+IDL_PROPERTY_SUPPORT = @DOXYGEN_IDL_PROPERTY_SUPPORT@
+DISTRIBUTE_GROUP_DOC = @DOXYGEN_DISTRIBUTE_GROUP_DOC@
+GROUP_NESTED_COMPOUNDS = @DOXYGEN_GROUP_NESTED_COMPOUNDS@
+SUBGROUPING = @DOXYGEN_SUBGROUPING@
+INLINE_GROUPED_CLASSES = @DOXYGEN_INLINE_GROUPED_CLASSES@
+INLINE_SIMPLE_STRUCTS = @DOXYGEN_INLINE_SIMPLE_STRUCTS@
+TYPEDEF_HIDES_STRUCT = @DOXYGEN_TYPEDEF_HIDES_STRUCT@
+LOOKUP_CACHE_SIZE = @DOXYGEN_LOOKUP_CACHE_SIZE@
+EXTRACT_ALL = @DOXYGEN_EXTRACT_ALL@
+EXTRACT_PRIVATE = @DOXYGEN_EXTRACT_PRIVATE@
+EXTRACT_PRIV_VIRTUAL = @DOXYGEN_EXTRACT_PRIV_VIRTUAL@
+EXTRACT_PACKAGE = @DOXYGEN_EXTRACT_PACKAGE@
+EXTRACT_STATIC = @DOXYGEN_EXTRACT_STATIC@
+EXTRACT_LOCAL_CLASSES = @DOXYGEN_EXTRACT_LOCAL_CLASSES@
+EXTRACT_LOCAL_METHODS = @DOXYGEN_EXTRACT_LOCAL_METHODS@
+EXTRACT_ANON_NSPACES = @DOXYGEN_EXTRACT_ANON_NSPACES@
+HIDE_UNDOC_MEMBERS = @DOXYGEN_HIDE_UNDOC_MEMBERS@
+HIDE_UNDOC_CLASSES = @DOXYGEN_HIDE_UNDOC_CLASSES@
+HIDE_FRIEND_COMPOUNDS = @DOXYGEN_HIDE_FRIEND_COMPOUNDS@
+HIDE_IN_BODY_DOCS = @DOXYGEN_HIDE_IN_BODY_DOCS@
+INTERNAL_DOCS = @DOXYGEN_INTERNAL_DOCS@
+CASE_SENSE_NAMES = @DOXYGEN_CASE_SENSE_NAMES@
+HIDE_SCOPE_NAMES = @DOXYGEN_HIDE_SCOPE_NAMES@
+HIDE_COMPOUND_REFERENCE= @DOXYGEN_HIDE_COMPOUND_REFERENCE@
+SHOW_INCLUDE_FILES = @DOXYGEN_SHOW_INCLUDE_FILES@
+SHOW_GROUPED_MEMB_INC = @DOXYGEN_SHOW_GROUPED_MEMB_INC@
+FORCE_LOCAL_INCLUDES = @DOXYGEN_FORCE_LOCAL_INCLUDES@
+INLINE_INFO = @DOXYGEN_INLINE_INFO@
+SORT_MEMBER_DOCS = @DOXYGEN_SORT_MEMBER_DOCS@
+SORT_BRIEF_DOCS = @DOXYGEN_SORT_BRIEF_DOCS@
+SORT_MEMBERS_CTORS_1ST = @DOXYGEN_SORT_MEMBERS_CTORS_1ST@
+SORT_GROUP_NAMES = @DOXYGEN_SORT_GROUP_NAMES@
+SORT_BY_SCOPE_NAME = @DOXYGEN_SORT_BY_SCOPE_NAME@
+STRICT_PROTO_MATCHING = @DOXYGEN_STRICT_PROTO_MATCHING@
+GENERATE_TODOLIST = @DOXYGEN_GENERATE_TODOLIST@
+GENERATE_TESTLIST = @DOXYGEN_GENERATE_TESTLIST@
+GENERATE_BUGLIST = @DOXYGEN_GENERATE_BUGLIST@
+GENERATE_DEPRECATEDLIST= @DOXYGEN_GENERATE_DEPRECATEDLIST@
+ENABLED_SECTIONS = @DOXYGEN_ENABLED_SECTIONS@
+MAX_INITIALIZER_LINES = @DOXYGEN_MAX_INITIALIZER_LINES@
+SHOW_USED_FILES = @DOXYGEN_SHOW_USED_FILES@
+SHOW_FILES = @DOXYGEN_SHOW_FILES@
+SHOW_NAMESPACES = @DOXYGEN_SHOW_NAMESPACES@
+FILE_VERSION_FILTER = @DOXYGEN_FILE_VERSION_FILTER@
+LAYOUT_FILE = @DOXYGEN_LAYOUT_FILE@
+CITE_BIB_FILES = @DOXYGEN_CITE_BIB_FILES@
+QUIET = @DOXYGEN_QUIET@
+WARNINGS = @DOXYGEN_WARNINGS@
+WARN_IF_UNDOCUMENTED = @DOXYGEN_WARN_IF_UNDOCUMENTED@
+WARN_IF_DOC_ERROR = @DOXYGEN_WARN_IF_DOC_ERROR@
+WARN_NO_PARAMDOC = @DOXYGEN_WARN_NO_PARAMDOC@
+WARN_AS_ERROR = @DOXYGEN_WARN_AS_ERROR@
+WARN_FORMAT = @DOXYGEN_WARN_FORMAT@
+WARN_LOGFILE = @DOXYGEN_WARN_LOGFILE@
+INPUT = @DOXYGEN_INPUT@
+INPUT_ENCODING = @DOXYGEN_INPUT_ENCODING@
+FILE_PATTERNS = @DOXYGEN_FILE_PATTERNS@
+RECURSIVE = @DOXYGEN_RECURSIVE@
+EXCLUDE = @DOXYGEN_EXCLUDE@
+EXCLUDE_SYMLINKS = @DOXYGEN_EXCLUDE_SYMLINKS@
+EXCLUDE_PATTERNS = @DOXYGEN_EXCLUDE_PATTERNS@
+EXCLUDE_SYMBOLS = @DOXYGEN_EXCLUDE_SYMBOLS@
+EXAMPLE_PATH = @DOXYGEN_EXAMPLE_PATH@
+EXAMPLE_PATTERNS = @DOXYGEN_EXAMPLE_PATTERNS@
+EXAMPLE_RECURSIVE = @DOXYGEN_EXAMPLE_RECURSIVE@
+IMAGE_PATH = @DOXYGEN_IMAGE_PATH@
+INPUT_FILTER = @DOXYGEN_INPUT_FILTER@
+FILTER_PATTERNS = @DOXYGEN_FILTER_PATTERNS@
+FILTER_SOURCE_FILES = @DOXYGEN_FILTER_SOURCE_FILES@
+FILTER_SOURCE_PATTERNS = @DOXYGEN_FILTER_SOURCE_PATTERNS@
+USE_MDFILE_AS_MAINPAGE = @DOXYGEN_USE_MDFILE_AS_MAINPAGE@
+SOURCE_BROWSER = @DOXYGEN_SOURCE_BROWSER@
+INLINE_SOURCES = @DOXYGEN_INLINE_SOURCES@
+STRIP_CODE_COMMENTS = @DOXYGEN_STRIP_CODE_COMMENTS@
+REFERENCED_BY_RELATION = @DOXYGEN_REFERENCED_BY_RELATION@
+REFERENCES_RELATION = @DOXYGEN_REFERENCES_RELATION@
+REFERENCES_LINK_SOURCE = @DOXYGEN_REFERENCES_LINK_SOURCE@
+SOURCE_TOOLTIPS = @DOXYGEN_SOURCE_TOOLTIPS@
+USE_HTAGS = @DOXYGEN_USE_HTAGS@
+VERBATIM_HEADERS = @DOXYGEN_VERBATIM_HEADERS@
+CLANG_ASSISTED_PARSING = @DOXYGEN_CLANG_ASSISTED_PARSING@
+CLANG_OPTIONS = @DOXYGEN_CLANG_OPTIONS@
+CLANG_DATABASE_PATH = @DOXYGEN_CLANG_DATABASE_PATH@
+ALPHABETICAL_INDEX = @DOXYGEN_ALPHABETICAL_INDEX@
+COLS_IN_ALPHA_INDEX = @DOXYGEN_COLS_IN_ALPHA_INDEX@
+IGNORE_PREFIX = @DOXYGEN_IGNORE_PREFIX@
+GENERATE_HTML = @DOXYGEN_GENERATE_HTML@
+HTML_OUTPUT = @DOXYGEN_HTML_OUTPUT@
+HTML_FILE_EXTENSION = @DOXYGEN_HTML_FILE_EXTENSION@
+HTML_HEADER = @DOXYGEN_HTML_HEADER@
+HTML_FOOTER = @DOXYGEN_HTML_FOOTER@
+HTML_STYLESHEET = @DOXYGEN_HTML_STYLESHEET@
+HTML_EXTRA_STYLESHEET = @DOXYGEN_HTML_EXTRA_STYLESHEET@
+HTML_EXTRA_FILES = @DOXYGEN_HTML_EXTRA_FILES@
+HTML_COLORSTYLE_HUE = @DOXYGEN_HTML_COLORSTYLE_HUE@
+HTML_COLORSTYLE_SAT = @DOXYGEN_HTML_COLORSTYLE_SAT@
+HTML_COLORSTYLE_GAMMA = @DOXYGEN_HTML_COLORSTYLE_GAMMA@
+HTML_TIMESTAMP = @DOXYGEN_HTML_TIMESTAMP@
+HTML_DYNAMIC_MENUS = @DOXYGEN_HTML_DYNAMIC_MENUS@
+HTML_DYNAMIC_SECTIONS = @DOXYGEN_HTML_DYNAMIC_SECTIONS@
+HTML_INDEX_NUM_ENTRIES = @DOXYGEN_HTML_INDEX_NUM_ENTRIES@
+GENERATE_DOCSET = @DOXYGEN_GENERATE_DOCSET@
+DOCSET_FEEDNAME = @DOXYGEN_DOCSET_FEEDNAME@
+DOCSET_BUNDLE_ID = @DOXYGEN_DOCSET_BUNDLE_ID@
+DOCSET_PUBLISHER_ID = @DOXYGEN_DOCSET_PUBLISHER_ID@
+DOCSET_PUBLISHER_NAME = @DOXYGEN_DOCSET_PUBLISHER_NAME@
+GENERATE_HTMLHELP = @DOXYGEN_GENERATE_HTMLHELP@
+CHM_FILE = @DOXYGEN_CHM_FILE@
+HHC_LOCATION = @DOXYGEN_HHC_LOCATION@
+GENERATE_CHI = @DOXYGEN_GENERATE_CHI@
+CHM_INDEX_ENCODING = @DOXYGEN_CHM_INDEX_ENCODING@
+BINARY_TOC = @DOXYGEN_BINARY_TOC@
+TOC_EXPAND = @DOXYGEN_TOC_EXPAND@
+GENERATE_QHP = @DOXYGEN_GENERATE_QHP@
+QCH_FILE = @DOXYGEN_QCH_FILE@
+QHP_NAMESPACE = @DOXYGEN_QHP_NAMESPACE@
+QHP_VIRTUAL_FOLDER = @DOXYGEN_QHP_VIRTUAL_FOLDER@
+QHP_CUST_FILTER_NAME = @DOXYGEN_QHP_CUST_FILTER_NAME@
+QHP_CUST_FILTER_ATTRS = @DOXYGEN_QHP_CUST_FILTER_ATTRS@
+QHP_SECT_FILTER_ATTRS = @DOXYGEN_QHP_SECT_FILTER_ATTRS@
+QHG_LOCATION = @DOXYGEN_QHG_LOCATION@
+GENERATE_ECLIPSEHELP = @DOXYGEN_GENERATE_ECLIPSEHELP@
+ECLIPSE_DOC_ID = @DOXYGEN_ECLIPSE_DOC_ID@
+DISABLE_INDEX = @DOXYGEN_DISABLE_INDEX@
+GENERATE_TREEVIEW = @DOXYGEN_GENERATE_TREEVIEW@
+ENUM_VALUES_PER_LINE = @DOXYGEN_ENUM_VALUES_PER_LINE@
+TREEVIEW_WIDTH = @DOXYGEN_TREEVIEW_WIDTH@
+EXT_LINKS_IN_WINDOW = @DOXYGEN_EXT_LINKS_IN_WINDOW@
+FORMULA_FONTSIZE = @DOXYGEN_FORMULA_FONTSIZE@
+FORMULA_TRANSPARENT = @DOXYGEN_FORMULA_TRANSPARENT@
+FORMULA_MACROFILE = @DOXYGEN_FORMULA_MACROFILE@
+USE_MATHJAX = @DOXYGEN_USE_MATHJAX@
+MATHJAX_FORMAT = @DOXYGEN_MATHJAX_FORMAT@
+MATHJAX_RELPATH = @DOXYGEN_MATHJAX_RELPATH@
+MATHJAX_EXTENSIONS = @DOXYGEN_MATHJAX_EXTENSIONS@
+MATHJAX_CODEFILE = @DOXYGEN_MATHJAX_CODEFILE@
+SEARCHENGINE = @DOXYGEN_SEARCHENGINE@
+SERVER_BASED_SEARCH = @DOXYGEN_SERVER_BASED_SEARCH@
+EXTERNAL_SEARCH = @DOXYGEN_EXTERNAL_SEARCH@
+SEARCHENGINE_URL = @DOXYGEN_SEARCHENGINE_URL@
+SEARCHDATA_FILE = @DOXYGEN_SEARCHDATA_FILE@
+EXTERNAL_SEARCH_ID = @DOXYGEN_EXTERNAL_SEARCH_ID@
+EXTRA_SEARCH_MAPPINGS = @DOXYGEN_EXTRA_SEARCH_MAPPINGS@
+GENERATE_LATEX = @DOXYGEN_GENERATE_LATEX@
+LATEX_OUTPUT = @DOXYGEN_LATEX_OUTPUT@
+LATEX_CMD_NAME = @DOXYGEN_LATEX_CMD_NAME@
+MAKEINDEX_CMD_NAME = @DOXYGEN_MAKEINDEX_CMD_NAME@
+LATEX_MAKEINDEX_CMD = @DOXYGEN_LATEX_MAKEINDEX_CMD@
+COMPACT_LATEX = @DOXYGEN_COMPACT_LATEX@
+PAPER_TYPE = @DOXYGEN_PAPER_TYPE@
+EXTRA_PACKAGES = @DOXYGEN_EXTRA_PACKAGES@
+LATEX_HEADER = @DOXYGEN_LATEX_HEADER@
+LATEX_FOOTER = @DOXYGEN_LATEX_FOOTER@
+LATEX_EXTRA_STYLESHEET = @DOXYGEN_LATEX_EXTRA_STYLESHEET@
+LATEX_EXTRA_FILES = @DOXYGEN_LATEX_EXTRA_FILES@
+PDF_HYPERLINKS = @DOXYGEN_PDF_HYPERLINKS@
+USE_PDFLATEX = @DOXYGEN_USE_PDFLATEX@
+LATEX_BATCHMODE = @DOXYGEN_LATEX_BATCHMODE@
+LATEX_HIDE_INDICES = @DOXYGEN_LATEX_HIDE_INDICES@
+LATEX_SOURCE_CODE = @DOXYGEN_LATEX_SOURCE_CODE@
+LATEX_BIB_STYLE = @DOXYGEN_LATEX_BIB_STYLE@
+LATEX_TIMESTAMP = @DOXYGEN_LATEX_TIMESTAMP@
+LATEX_EMOJI_DIRECTORY = @DOXYGEN_LATEX_EMOJI_DIRECTORY@
+GENERATE_RTF = @DOXYGEN_GENERATE_RTF@
+RTF_OUTPUT = @DOXYGEN_RTF_OUTPUT@
+COMPACT_RTF = @DOXYGEN_COMPACT_RTF@
+RTF_HYPERLINKS = @DOXYGEN_RTF_HYPERLINKS@
+RTF_STYLESHEET_FILE = @DOXYGEN_RTF_STYLESHEET_FILE@
+RTF_EXTENSIONS_FILE = @DOXYGEN_RTF_EXTENSIONS_FILE@
+RTF_SOURCE_CODE = @DOXYGEN_RTF_SOURCE_CODE@
+GENERATE_MAN = @DOXYGEN_GENERATE_MAN@
+MAN_OUTPUT = @DOXYGEN_MAN_OUTPUT@
+MAN_EXTENSION = @DOXYGEN_MAN_EXTENSION@
+MAN_SUBDIR = @DOXYGEN_MAN_SUBDIR@
+MAN_LINKS = @DOXYGEN_MAN_LINKS@
+GENERATE_XML = @DOXYGEN_GENERATE_XML@
+XML_OUTPUT = @DOXYGEN_XML_OUTPUT@
+XML_PROGRAMLISTING = @DOXYGEN_XML_PROGRAMLISTING@
+XML_NS_MEMB_FILE_SCOPE = @DOXYGEN_XML_NS_MEMB_FILE_SCOPE@
+GENERATE_DOCBOOK = @DOXYGEN_GENERATE_DOCBOOK@
+DOCBOOK_OUTPUT = @DOXYGEN_DOCBOOK_OUTPUT@
+DOCBOOK_PROGRAMLISTING = @DOXYGEN_DOCBOOK_PROGRAMLISTING@
+GENERATE_AUTOGEN_DEF = @DOXYGEN_GENERATE_AUTOGEN_DEF@
+GENERATE_PERLMOD = @DOXYGEN_GENERATE_PERLMOD@
+PERLMOD_LATEX = @DOXYGEN_PERLMOD_LATEX@
+PERLMOD_PRETTY = @DOXYGEN_PERLMOD_PRETTY@
+PERLMOD_MAKEVAR_PREFIX = @DOXYGEN_PERLMOD_MAKEVAR_PREFIX@
+ENABLE_PREPROCESSING = @DOXYGEN_ENABLE_PREPROCESSING@
+MACRO_EXPANSION = @DOXYGEN_MACRO_EXPANSION@
+EXPAND_ONLY_PREDEF = @DOXYGEN_EXPAND_ONLY_PREDEF@
+SEARCH_INCLUDES = @DOXYGEN_SEARCH_INCLUDES@
+INCLUDE_PATH = @DOXYGEN_INCLUDE_PATH@
+INCLUDE_FILE_PATTERNS = @DOXYGEN_INCLUDE_FILE_PATTERNS@
+PREDEFINED = @DOXYGEN_PREDEFINED@
+EXPAND_AS_DEFINED = @DOXYGEN_EXPAND_AS_DEFINED@
+SKIP_FUNCTION_MACROS = @DOXYGEN_SKIP_FUNCTION_MACROS@
+TAGFILES = @DOXYGEN_TAGFILES@
+GENERATE_TAGFILE = @DOXYGEN_GENERATE_TAGFILE@
+ALLEXTERNALS = @DOXYGEN_ALLEXTERNALS@
+EXTERNAL_GROUPS = @DOXYGEN_EXTERNAL_GROUPS@
+EXTERNAL_PAGES = @DOXYGEN_EXTERNAL_PAGES@
+CLASS_DIAGRAMS = @DOXYGEN_CLASS_DIAGRAMS@
+DIA_PATH = @DOXYGEN_DIA_PATH@
+HIDE_UNDOC_RELATIONS = @DOXYGEN_HIDE_UNDOC_RELATIONS@
+HAVE_DOT = @DOXYGEN_HAVE_DOT@
+DOT_NUM_THREADS = @DOXYGEN_DOT_NUM_THREADS@
+DOT_FONTNAME = @DOXYGEN_DOT_FONTNAME@
+DOT_FONTSIZE = @DOXYGEN_DOT_FONTSIZE@
+DOT_FONTPATH = @DOXYGEN_DOT_FONTPATH@
+CLASS_GRAPH = @DOXYGEN_CLASS_GRAPH@
+COLLABORATION_GRAPH = @DOXYGEN_COLLABORATION_GRAPH@
+GROUP_GRAPHS = @DOXYGEN_GROUP_GRAPHS@
+UML_LOOK = @DOXYGEN_UML_LOOK@
+UML_LIMIT_NUM_FIELDS = @DOXYGEN_UML_LIMIT_NUM_FIELDS@
+TEMPLATE_RELATIONS = @DOXYGEN_TEMPLATE_RELATIONS@
+INCLUDE_GRAPH = @DOXYGEN_INCLUDE_GRAPH@
+INCLUDED_BY_GRAPH = @DOXYGEN_INCLUDED_BY_GRAPH@
+CALL_GRAPH = @DOXYGEN_CALL_GRAPH@
+CALLER_GRAPH = @DOXYGEN_CALLER_GRAPH@
+GRAPHICAL_HIERARCHY = @DOXYGEN_GRAPHICAL_HIERARCHY@
+DIRECTORY_GRAPH = @DOXYGEN_DIRECTORY_GRAPH@
+DOT_IMAGE_FORMAT = @DOXYGEN_DOT_IMAGE_FORMAT@
+INTERACTIVE_SVG = @DOXYGEN_INTERACTIVE_SVG@
+DOT_PATH = @DOXYGEN_DOT_PATH@
+DOTFILE_DIRS = @DOXYGEN_DOTFILE_DIRS@
+MSCFILE_DIRS = @DOXYGEN_MSCFILE_DIRS@
+DIAFILE_DIRS = @DOXYGEN_DIAFILE_DIRS@
+PLANTUML_JAR_PATH = @DOXYGEN_PLANTUML_JAR_PATH@
+PLANTUML_CFG_FILE = @DOXYGEN_PLANTUML_CFG_FILE@
+PLANTUML_INCLUDE_PATH = @DOXYGEN_PLANTUML_INCLUDE_PATH@
+DOT_GRAPH_MAX_NODES = @DOXYGEN_DOT_GRAPH_MAX_NODES@
+MAX_DOT_GRAPH_DEPTH = @DOXYGEN_MAX_DOT_GRAPH_DEPTH@
+DOT_TRANSPARENT = @DOXYGEN_DOT_TRANSPARENT@
+DOT_MULTI_TARGETS = @DOXYGEN_DOT_MULTI_TARGETS@
+GENERATE_LEGEND = @DOXYGEN_GENERATE_LEGEND@
+DOT_CLEANUP = @DOXYGEN_DOT_CLEANUP@
diff --git a/tictoc/build/CMakeDoxygenDefaults.cmake b/tictoc/build/CMakeDoxygenDefaults.cmake
new file mode 100644
index 00000000..db28798f
--- /dev/null
+++ b/tictoc/build/CMakeDoxygenDefaults.cmake
@@ -0,0 +1,672 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+if(NOT DEFINED DOXYGEN_DOXYFILE_ENCODING)
+ set(DOXYGEN_DOXYFILE_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_PROJECT_NAME)
+ set(DOXYGEN_PROJECT_NAME "My Project")
+endif()
+if(NOT DEFINED DOXYGEN_CREATE_SUBDIRS)
+ set(DOXYGEN_CREATE_SUBDIRS NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALLOW_UNICODE_NAMES)
+ set(DOXYGEN_ALLOW_UNICODE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_LANGUAGE)
+ set(DOXYGEN_OUTPUT_LANGUAGE English)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_TEXT_DIRECTION)
+ set(DOXYGEN_OUTPUT_TEXT_DIRECTION None)
+endif()
+if(NOT DEFINED DOXYGEN_BRIEF_MEMBER_DESC)
+ set(DOXYGEN_BRIEF_MEMBER_DESC YES)
+endif()
+if(NOT DEFINED DOXYGEN_REPEAT_BRIEF)
+ set(DOXYGEN_REPEAT_BRIEF YES)
+endif()
+if(NOT DEFINED DOXYGEN_ABBREVIATE_BRIEF)
+ set(DOXYGEN_ABBREVIATE_BRIEF "The $name class"
+ "The $name widget"
+ "The $name file"
+ is
+ provides
+ specifies
+ contains
+ represents
+ a
+ an
+ the)
+endif()
+if(NOT DEFINED DOXYGEN_ALWAYS_DETAILED_SEC)
+ set(DOXYGEN_ALWAYS_DETAILED_SEC NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INHERITED_MEMB)
+ set(DOXYGEN_INLINE_INHERITED_MEMB NO)
+endif()
+if(NOT DEFINED DOXYGEN_FULL_PATH_NAMES)
+ set(DOXYGEN_FULL_PATH_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHORT_NAMES)
+ set(DOXYGEN_SHORT_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_AUTOBRIEF)
+ set(DOXYGEN_JAVADOC_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_BANNER)
+ set(DOXYGEN_JAVADOC_BANNER NO)
+endif()
+if(NOT DEFINED DOXYGEN_QT_AUTOBRIEF)
+ set(DOXYGEN_QT_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_MULTILINE_CPP_IS_BRIEF)
+ set(DOXYGEN_MULTILINE_CPP_IS_BRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_INHERIT_DOCS)
+ set(DOXYGEN_INHERIT_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SEPARATE_MEMBER_PAGES)
+ set(DOXYGEN_SEPARATE_MEMBER_PAGES NO)
+endif()
+if(NOT DEFINED DOXYGEN_TAB_SIZE)
+ set(DOXYGEN_TAB_SIZE 4)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_FOR_C)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_FOR_C NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_JAVA)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_JAVA NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_FOR_FORTRAN)
+ set(DOXYGEN_OPTIMIZE_FOR_FORTRAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_VHDL)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_VHDL NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_SLICE)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_SLICE NO)
+endif()
+if(NOT DEFINED DOXYGEN_MARKDOWN_SUPPORT)
+ set(DOXYGEN_MARKDOWN_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_INCLUDE_HEADINGS)
+ set(DOXYGEN_TOC_INCLUDE_HEADINGS 5)
+endif()
+if(NOT DEFINED DOXYGEN_AUTOLINK_SUPPORT)
+ set(DOXYGEN_AUTOLINK_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_BUILTIN_STL_SUPPORT)
+ set(DOXYGEN_BUILTIN_STL_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_CPP_CLI_SUPPORT)
+ set(DOXYGEN_CPP_CLI_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_SIP_SUPPORT)
+ set(DOXYGEN_SIP_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_IDL_PROPERTY_SUPPORT)
+ set(DOXYGEN_IDL_PROPERTY_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DISTRIBUTE_GROUP_DOC)
+ set(DOXYGEN_DISTRIBUTE_GROUP_DOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_NESTED_COMPOUNDS)
+ set(DOXYGEN_GROUP_NESTED_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SUBGROUPING)
+ set(DOXYGEN_SUBGROUPING YES)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_GROUPED_CLASSES)
+ set(DOXYGEN_INLINE_GROUPED_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SIMPLE_STRUCTS)
+ set(DOXYGEN_INLINE_SIMPLE_STRUCTS NO)
+endif()
+if(NOT DEFINED DOXYGEN_TYPEDEF_HIDES_STRUCT)
+ set(DOXYGEN_TYPEDEF_HIDES_STRUCT NO)
+endif()
+if(NOT DEFINED DOXYGEN_LOOKUP_CACHE_SIZE)
+ set(DOXYGEN_LOOKUP_CACHE_SIZE 0)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ALL)
+ set(DOXYGEN_EXTRACT_ALL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIVATE)
+ set(DOXYGEN_EXTRACT_PRIVATE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIV_VIRTUAL)
+ set(DOXYGEN_EXTRACT_PRIV_VIRTUAL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PACKAGE)
+ set(DOXYGEN_EXTRACT_PACKAGE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_STATIC)
+ set(DOXYGEN_EXTRACT_STATIC NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_CLASSES)
+ set(DOXYGEN_EXTRACT_LOCAL_CLASSES YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_METHODS)
+ set(DOXYGEN_EXTRACT_LOCAL_METHODS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ANON_NSPACES)
+ set(DOXYGEN_EXTRACT_ANON_NSPACES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_MEMBERS)
+ set(DOXYGEN_HIDE_UNDOC_MEMBERS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_CLASSES)
+ set(DOXYGEN_HIDE_UNDOC_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_FRIEND_COMPOUNDS)
+ set(DOXYGEN_HIDE_FRIEND_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_IN_BODY_DOCS)
+ set(DOXYGEN_HIDE_IN_BODY_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INTERNAL_DOCS)
+ set(DOXYGEN_INTERNAL_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_CASE_SENSE_NAMES)
+ set(DOXYGEN_CASE_SENSE_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_SCOPE_NAMES)
+ set(DOXYGEN_HIDE_SCOPE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_COMPOUND_REFERENCE)
+ set(DOXYGEN_HIDE_COMPOUND_REFERENCE NO)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_INCLUDE_FILES)
+ set(DOXYGEN_SHOW_INCLUDE_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_GROUPED_MEMB_INC)
+ set(DOXYGEN_SHOW_GROUPED_MEMB_INC NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORCE_LOCAL_INCLUDES)
+ set(DOXYGEN_FORCE_LOCAL_INCLUDES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INFO)
+ set(DOXYGEN_INLINE_INFO YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBER_DOCS)
+ set(DOXYGEN_SORT_MEMBER_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BRIEF_DOCS)
+ set(DOXYGEN_SORT_BRIEF_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBERS_CTORS_1ST)
+ set(DOXYGEN_SORT_MEMBERS_CTORS_1ST NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_GROUP_NAMES)
+ set(DOXYGEN_SORT_GROUP_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BY_SCOPE_NAME)
+ set(DOXYGEN_SORT_BY_SCOPE_NAME NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRICT_PROTO_MATCHING)
+ set(DOXYGEN_STRICT_PROTO_MATCHING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TODOLIST)
+ set(DOXYGEN_GENERATE_TODOLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TESTLIST)
+ set(DOXYGEN_GENERATE_TESTLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_BUGLIST)
+ set(DOXYGEN_GENERATE_BUGLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DEPRECATEDLIST)
+ set(DOXYGEN_GENERATE_DEPRECATEDLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_INITIALIZER_LINES)
+ set(DOXYGEN_MAX_INITIALIZER_LINES 30)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_USED_FILES)
+ set(DOXYGEN_SHOW_USED_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_FILES)
+ set(DOXYGEN_SHOW_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_NAMESPACES)
+ set(DOXYGEN_SHOW_NAMESPACES YES)
+endif()
+if(NOT DEFINED DOXYGEN_QUIET)
+ set(DOXYGEN_QUIET NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARNINGS)
+ set(DOXYGEN_WARNINGS YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_UNDOCUMENTED)
+ set(DOXYGEN_WARN_IF_UNDOCUMENTED YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_DOC_ERROR)
+ set(DOXYGEN_WARN_IF_DOC_ERROR YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_NO_PARAMDOC)
+ set(DOXYGEN_WARN_NO_PARAMDOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_AS_ERROR)
+ set(DOXYGEN_WARN_AS_ERROR NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_FORMAT)
+ set(DOXYGEN_WARN_FORMAT "$file:$line: $text")
+endif()
+if(NOT DEFINED DOXYGEN_INPUT_ENCODING)
+ set(DOXYGEN_INPUT_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_FILE_PATTERNS)
+ set(DOXYGEN_FILE_PATTERNS *.c
+ *.cc
+ *.cxx
+ *.cpp
+ *.c++
+ *.java
+ *.ii
+ *.ixx
+ *.ipp
+ *.i++
+ *.inl
+ *.idl
+ *.ddl
+ *.odl
+ *.h
+ *.hh
+ *.hxx
+ *.hpp
+ *.h++
+ *.cs
+ *.d
+ *.php
+ *.php4
+ *.php5
+ *.phtml
+ *.inc
+ *.m
+ *.markdown
+ *.md
+ *.mm
+ *.dox
+ *.doc
+ *.txt
+ *.py
+ *.pyw
+ *.f90
+ *.f95
+ *.f03
+ *.f08
+ *.f
+ *.for
+ *.tcl
+ *.vhd
+ *.vhdl
+ *.ucf
+ *.qsf
+ *.ice)
+endif()
+if(NOT DEFINED DOXYGEN_RECURSIVE)
+ set(DOXYGEN_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXCLUDE_SYMLINKS)
+ set(DOXYGEN_EXCLUDE_SYMLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_PATTERNS)
+ set(DOXYGEN_EXAMPLE_PATTERNS *)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_RECURSIVE)
+ set(DOXYGEN_EXAMPLE_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_FILTER_SOURCE_FILES)
+ set(DOXYGEN_FILTER_SOURCE_FILES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_BROWSER)
+ set(DOXYGEN_SOURCE_BROWSER NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SOURCES)
+ set(DOXYGEN_INLINE_SOURCES NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRIP_CODE_COMMENTS)
+ set(DOXYGEN_STRIP_CODE_COMMENTS YES)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCED_BY_RELATION)
+ set(DOXYGEN_REFERENCED_BY_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_RELATION)
+ set(DOXYGEN_REFERENCES_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_LINK_SOURCE)
+ set(DOXYGEN_REFERENCES_LINK_SOURCE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_TOOLTIPS)
+ set(DOXYGEN_SOURCE_TOOLTIPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_HTAGS)
+ set(DOXYGEN_USE_HTAGS NO)
+endif()
+if(NOT DEFINED DOXYGEN_VERBATIM_HEADERS)
+ set(DOXYGEN_VERBATIM_HEADERS YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLANG_ASSISTED_PARSING)
+ set(DOXYGEN_CLANG_ASSISTED_PARSING NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALPHABETICAL_INDEX)
+ set(DOXYGEN_ALPHABETICAL_INDEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLS_IN_ALPHA_INDEX)
+ set(DOXYGEN_COLS_IN_ALPHA_INDEX 5)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTML)
+ set(DOXYGEN_GENERATE_HTML YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_OUTPUT)
+ set(DOXYGEN_HTML_OUTPUT html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_FILE_EXTENSION)
+ set(DOXYGEN_HTML_FILE_EXTENSION .html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_HUE)
+ set(DOXYGEN_HTML_COLORSTYLE_HUE 220)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_SAT)
+ set(DOXYGEN_HTML_COLORSTYLE_SAT 100)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_GAMMA)
+ set(DOXYGEN_HTML_COLORSTYLE_GAMMA 80)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_TIMESTAMP)
+ set(DOXYGEN_HTML_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_MENUS)
+ set(DOXYGEN_HTML_DYNAMIC_MENUS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_SECTIONS)
+ set(DOXYGEN_HTML_DYNAMIC_SECTIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_INDEX_NUM_ENTRIES)
+ set(DOXYGEN_HTML_INDEX_NUM_ENTRIES 100)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCSET)
+ set(DOXYGEN_GENERATE_DOCSET NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_FEEDNAME)
+ set(DOXYGEN_DOCSET_FEEDNAME "Doxygen generated docs")
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_BUNDLE_ID)
+ set(DOXYGEN_DOCSET_BUNDLE_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_ID)
+ set(DOXYGEN_DOCSET_PUBLISHER_ID org.doxygen.Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_NAME)
+ set(DOXYGEN_DOCSET_PUBLISHER_NAME Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTMLHELP)
+ set(DOXYGEN_GENERATE_HTMLHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_CHI)
+ set(DOXYGEN_GENERATE_CHI NO)
+endif()
+if(NOT DEFINED DOXYGEN_BINARY_TOC)
+ set(DOXYGEN_BINARY_TOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_EXPAND)
+ set(DOXYGEN_TOC_EXPAND NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_QHP)
+ set(DOXYGEN_GENERATE_QHP NO)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_NAMESPACE)
+ set(DOXYGEN_QHP_NAMESPACE org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_VIRTUAL_FOLDER)
+ set(DOXYGEN_QHP_VIRTUAL_FOLDER doc)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_ECLIPSEHELP)
+ set(DOXYGEN_GENERATE_ECLIPSEHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_ECLIPSE_DOC_ID)
+ set(DOXYGEN_ECLIPSE_DOC_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DISABLE_INDEX)
+ set(DOXYGEN_DISABLE_INDEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TREEVIEW)
+ set(DOXYGEN_GENERATE_TREEVIEW NO)
+endif()
+if(NOT DEFINED DOXYGEN_ENUM_VALUES_PER_LINE)
+ set(DOXYGEN_ENUM_VALUES_PER_LINE 4)
+endif()
+if(NOT DEFINED DOXYGEN_TREEVIEW_WIDTH)
+ set(DOXYGEN_TREEVIEW_WIDTH 250)
+endif()
+if(NOT DEFINED DOXYGEN_EXT_LINKS_IN_WINDOW)
+ set(DOXYGEN_EXT_LINKS_IN_WINDOW NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_FONTSIZE)
+ set(DOXYGEN_FORMULA_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_TRANSPARENT)
+ set(DOXYGEN_FORMULA_TRANSPARENT YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_MATHJAX)
+ set(DOXYGEN_USE_MATHJAX NO)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_FORMAT)
+ set(DOXYGEN_MATHJAX_FORMAT HTML-CSS)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_RELPATH)
+ set(DOXYGEN_MATHJAX_RELPATH https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHENGINE)
+ set(DOXYGEN_SEARCHENGINE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SERVER_BASED_SEARCH)
+ set(DOXYGEN_SERVER_BASED_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_SEARCH)
+ set(DOXYGEN_EXTERNAL_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHDATA_FILE)
+ set(DOXYGEN_SEARCHDATA_FILE searchdata.xml)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LATEX)
+ set(DOXYGEN_GENERATE_LATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_OUTPUT)
+ set(DOXYGEN_LATEX_OUTPUT latex)
+endif()
+if(NOT DEFINED DOXYGEN_MAKEINDEX_CMD_NAME)
+ set(DOXYGEN_MAKEINDEX_CMD_NAME makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_MAKEINDEX_CMD)
+ set(DOXYGEN_LATEX_MAKEINDEX_CMD makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_LATEX)
+ set(DOXYGEN_COMPACT_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PAPER_TYPE)
+ set(DOXYGEN_PAPER_TYPE a4)
+endif()
+if(NOT DEFINED DOXYGEN_PDF_HYPERLINKS)
+ set(DOXYGEN_PDF_HYPERLINKS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_PDFLATEX)
+ set(DOXYGEN_USE_PDFLATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BATCHMODE)
+ set(DOXYGEN_LATEX_BATCHMODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_HIDE_INDICES)
+ set(DOXYGEN_LATEX_HIDE_INDICES NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_SOURCE_CODE)
+ set(DOXYGEN_LATEX_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BIB_STYLE)
+ set(DOXYGEN_LATEX_BIB_STYLE plain)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_TIMESTAMP)
+ set(DOXYGEN_LATEX_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_RTF)
+ set(DOXYGEN_GENERATE_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_OUTPUT)
+ set(DOXYGEN_RTF_OUTPUT rtf)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_RTF)
+ set(DOXYGEN_COMPACT_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_HYPERLINKS)
+ set(DOXYGEN_RTF_HYPERLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_SOURCE_CODE)
+ set(DOXYGEN_RTF_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_MAN)
+ set(DOXYGEN_GENERATE_MAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_OUTPUT)
+ set(DOXYGEN_MAN_OUTPUT man)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_EXTENSION)
+ set(DOXYGEN_MAN_EXTENSION .3)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_LINKS)
+ set(DOXYGEN_MAN_LINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_XML)
+ set(DOXYGEN_GENERATE_XML NO)
+endif()
+if(NOT DEFINED DOXYGEN_XML_OUTPUT)
+ set(DOXYGEN_XML_OUTPUT xml)
+endif()
+if(NOT DEFINED DOXYGEN_XML_PROGRAMLISTING)
+ set(DOXYGEN_XML_PROGRAMLISTING YES)
+endif()
+if(NOT DEFINED DOXYGEN_XML_NS_MEMB_FILE_SCOPE)
+ set(DOXYGEN_XML_NS_MEMB_FILE_SCOPE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCBOOK)
+ set(DOXYGEN_GENERATE_DOCBOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_OUTPUT)
+ set(DOXYGEN_DOCBOOK_OUTPUT docbook)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_PROGRAMLISTING)
+ set(DOXYGEN_DOCBOOK_PROGRAMLISTING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_AUTOGEN_DEF)
+ set(DOXYGEN_GENERATE_AUTOGEN_DEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_PERLMOD)
+ set(DOXYGEN_GENERATE_PERLMOD NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_LATEX)
+ set(DOXYGEN_PERLMOD_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_PRETTY)
+ set(DOXYGEN_PERLMOD_PRETTY YES)
+endif()
+if(NOT DEFINED DOXYGEN_ENABLE_PREPROCESSING)
+ set(DOXYGEN_ENABLE_PREPROCESSING YES)
+endif()
+if(NOT DEFINED DOXYGEN_MACRO_EXPANSION)
+ set(DOXYGEN_MACRO_EXPANSION NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXPAND_ONLY_PREDEF)
+ set(DOXYGEN_EXPAND_ONLY_PREDEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCH_INCLUDES)
+ set(DOXYGEN_SEARCH_INCLUDES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SKIP_FUNCTION_MACROS)
+ set(DOXYGEN_SKIP_FUNCTION_MACROS YES)
+endif()
+if(NOT DEFINED DOXYGEN_ALLEXTERNALS)
+ set(DOXYGEN_ALLEXTERNALS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_GROUPS)
+ set(DOXYGEN_EXTERNAL_GROUPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_PAGES)
+ set(DOXYGEN_EXTERNAL_PAGES YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_DIAGRAMS)
+ set(DOXYGEN_CLASS_DIAGRAMS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_RELATIONS)
+ set(DOXYGEN_HIDE_UNDOC_RELATIONS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HAVE_DOT)
+ set(DOXYGEN_HAVE_DOT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_NUM_THREADS)
+ set(DOXYGEN_DOT_NUM_THREADS 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTNAME)
+ set(DOXYGEN_DOT_FONTNAME Helvetica)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTSIZE)
+ set(DOXYGEN_DOT_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_GRAPH)
+ set(DOXYGEN_CLASS_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLLABORATION_GRAPH)
+ set(DOXYGEN_COLLABORATION_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_GRAPHS)
+ set(DOXYGEN_GROUP_GRAPHS YES)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LOOK)
+ set(DOXYGEN_UML_LOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LIMIT_NUM_FIELDS)
+ set(DOXYGEN_UML_LIMIT_NUM_FIELDS 10)
+endif()
+if(NOT DEFINED DOXYGEN_TEMPLATE_RELATIONS)
+ set(DOXYGEN_TEMPLATE_RELATIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDE_GRAPH)
+ set(DOXYGEN_INCLUDE_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDED_BY_GRAPH)
+ set(DOXYGEN_INCLUDED_BY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_CALL_GRAPH)
+ set(DOXYGEN_CALL_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_CALLER_GRAPH)
+ set(DOXYGEN_CALLER_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_GRAPHICAL_HIERARCHY)
+ set(DOXYGEN_GRAPHICAL_HIERARCHY YES)
+endif()
+if(NOT DEFINED DOXYGEN_DIRECTORY_GRAPH)
+ set(DOXYGEN_DIRECTORY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_IMAGE_FORMAT)
+ set(DOXYGEN_DOT_IMAGE_FORMAT png)
+endif()
+if(NOT DEFINED DOXYGEN_INTERACTIVE_SVG)
+ set(DOXYGEN_INTERACTIVE_SVG NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_GRAPH_MAX_NODES)
+ set(DOXYGEN_DOT_GRAPH_MAX_NODES 50)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_DOT_GRAPH_DEPTH)
+ set(DOXYGEN_MAX_DOT_GRAPH_DEPTH 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_TRANSPARENT)
+ set(DOXYGEN_DOT_TRANSPARENT NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_MULTI_TARGETS)
+ set(DOXYGEN_DOT_MULTI_TARGETS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LEGEND)
+ set(DOXYGEN_GENERATE_LEGEND YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_CLEANUP)
+ set(DOXYGEN_DOT_CLEANUP YES)
+endif()
diff --git a/tictoc/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake b/tictoc/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
new file mode 100644
index 00000000..278ef39e
--- /dev/null
+++ b/tictoc/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
@@ -0,0 +1,88 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "9.4.0")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
+set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
+
+set(CMAKE_CXX_PLATFORM_ID "Linux")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+
+foreach (lang C OBJC OBJCXX)
+ if (CMAKE_${lang}_COMPILER_ID_RUN)
+ foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
+ list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
+ endforeach()
+ endif()
+endforeach()
+
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "ELF")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/tictoc/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin b/tictoc/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin
new file mode 100755
index 00000000..156cfcfc
Binary files /dev/null and b/tictoc/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin differ
diff --git a/tictoc/build/CMakeFiles/3.17.0/CMakeSystem.cmake b/tictoc/build/CMakeFiles/3.17.0/CMakeSystem.cmake
new file mode 100644
index 00000000..0fd1f759
--- /dev/null
+++ b/tictoc/build/CMakeFiles/3.17.0/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/tictoc/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp b/tictoc/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
new file mode 100644
index 00000000..69cfdba6
--- /dev/null
+++ b/tictoc/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
@@ -0,0 +1,660 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+ recognize the extension without flags. Borland does not know .cxx for
+ example. */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+ /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+ /* __SUNPRO_CC = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+ /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+ /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__) || defined(__GNUG__)
+# define COMPILER_ID "GNU"
+# if defined(__GNUC__)
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# else
+# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
+# if defined(__INTEL_CXX11_MODE__)
+# if defined(__cpp_aggregate_nsdmi)
+# define CXX_STD 201402L
+# else
+# define CXX_STD 201103L
+# endif
+# else
+# define CXX_STD 199711L
+# endif
+#elif defined(_MSC_VER) && defined(_MSVC_LANG)
+# define CXX_STD _MSVC_LANG
+#else
+# define CXX_STD __cplusplus
+#endif
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if CXX_STD > 201703L
+ "20"
+#elif CXX_STD >= 201703L
+ "17"
+#elif CXX_STD >= 201402L
+ "14"
+#elif CXX_STD >= 201103L
+ "11"
+#else
+ "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
diff --git a/tictoc/build/CMakeFiles/CMakeError.log b/tictoc/build/CMakeFiles/CMakeError.log
new file mode 100644
index 00000000..5da81105
--- /dev/null
+++ b/tictoc/build/CMakeFiles/CMakeError.log
@@ -0,0 +1,50 @@
+Performing C++ SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output:
+Change Dir: /home/tngngn/ccbench/tictoc/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_ede5b && [1/2] Building CXX object CMakeFiles/cmTC_ede5b.dir/src.cxx.o
+[2/2] Linking CXX executable cmTC_ede5b
+FAILED: cmTC_ede5b
+: && /usr/bin/c++ -DCMAKE_HAVE_LIBC_PTHREAD CMakeFiles/cmTC_ede5b.dir/src.cxx.o -o cmTC_ede5b && :
+/usr/bin/ld: CMakeFiles/cmTC_ede5b.dir/src.cxx.o: in function `main':
+src.cxx:(.text+0x46): undefined reference to `pthread_create'
+/usr/bin/ld: src.cxx:(.text+0x52): undefined reference to `pthread_detach'
+/usr/bin/ld: src.cxx:(.text+0x5e): undefined reference to `pthread_cancel'
+/usr/bin/ld: src.cxx:(.text+0x6f): undefined reference to `pthread_join'
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+Source file was:
+#include
+
+void* test_func(void* data)
+{
+ return data;
+}
+
+int main(void)
+{
+ pthread_t thread;
+ pthread_create(&thread, NULL, test_func, NULL);
+ pthread_detach(thread);
+ pthread_cancel(thread);
+ pthread_join(thread, NULL);
+ pthread_atfork(NULL, NULL, NULL);
+ pthread_exit(NULL);
+
+ return 0;
+}
+
+Determining if the function pthread_create exists in the pthreads failed with the following output:
+Change Dir: /home/tngngn/ccbench/tictoc/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_239e3 && [1/2] Building CXX object CMakeFiles/cmTC_239e3.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_239e3
+FAILED: cmTC_239e3
+: && /usr/bin/c++ -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_239e3.dir/CheckFunctionExists.cxx.o -o cmTC_239e3 -lpthreads && :
+/usr/bin/ld: -lpthreads が見つかりません
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+
diff --git a/tictoc/build/CMakeFiles/CMakeOutput.log b/tictoc/build/CMakeFiles/CMakeOutput.log
new file mode 100644
index 00000000..d34dd3e6
--- /dev/null
+++ b/tictoc/build/CMakeFiles/CMakeOutput.log
@@ -0,0 +1,235 @@
+The system is: Linux - 5.4.0-113-generic - x86_64
+Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
+Compiler: /usr/bin/c++
+Build flags:
+Id flags:
+
+The output was:
+0
+
+
+Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
+
+The CXX compiler identification is GNU, found in "/home/tngngn/ccbench/tictoc/build/CMakeFiles/3.17.0/CompilerIdCXX/a.out"
+
+Determining if the CXX compiler works passed with the following output:
+Change Dir: /home/tngngn/ccbench/tictoc/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_e39df && [1/2] Building CXX object CMakeFiles/cmTC_e39df.dir/testCXXCompiler.cxx.o
+[2/2] Linking CXX executable cmTC_e39df
+
+
+
+Detecting CXX compiler ABI info compiled with the following output:
+Change Dir: /home/tngngn/ccbench/tictoc/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_f8be0 && [1/2] Building CXX object CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccEHmNAT.s
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"
+ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
+#include "..." search starts here:
+#include <...> search starts here:
+ /usr/include/c++/9
+ /usr/include/x86_64-linux-gnu/c++/9
+ /usr/include/c++/9/backward
+ /usr/lib/gcc/x86_64-linux-gnu/9/include
+ /usr/local/include
+ /usr/include/x86_64-linux-gnu
+ /usr/include
+End of search list.
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ as -v --64 -o CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccEHmNAT.s
+GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+[2/2] Linking CXX executable cmTC_f8be0
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f8be0' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccBmfq3c.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_f8be0 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f8be0' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+
+
+
+Parsed CXX implicit include dir info from above output: rv=done
+ found start of include info
+ found start of implicit include info
+ add: [/usr/include/c++/9]
+ add: [/usr/include/x86_64-linux-gnu/c++/9]
+ add: [/usr/include/c++/9/backward]
+ add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ add: [/usr/local/include]
+ add: [/usr/include/x86_64-linux-gnu]
+ add: [/usr/include]
+ end of search list found
+ collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9]
+ collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9]
+ collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward]
+ collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ collapse include dir [/usr/local/include] ==> [/usr/local/include]
+ collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
+ collapse include dir [/usr/include] ==> [/usr/include]
+ implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
+
+
+Parsed CXX implicit link information from above output:
+ link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+ ignore line: [Change Dir: /home/tngngn/ccbench/tictoc/build/CMakeFiles/CMakeTmp]
+ ignore line: []
+ ignore line: [Run Build Command(s):/usr/local/bin/ninja cmTC_f8be0 && [1/2] Building CXX object CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccEHmNAT.s]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"]
+ ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
+ ignore line: [#include "..." search starts here:]
+ ignore line: [#include <...> search starts here:]
+ ignore line: [ /usr/include/c++/9]
+ ignore line: [ /usr/include/x86_64-linux-gnu/c++/9]
+ ignore line: [ /usr/include/c++/9/backward]
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
+ ignore line: [ /usr/local/include]
+ ignore line: [ /usr/include/x86_64-linux-gnu]
+ ignore line: [ /usr/include]
+ ignore line: [End of search list.]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ as -v --64 -o CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccEHmNAT.s]
+ ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [[2/2] Linking CXX executable cmTC_f8be0]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f8be0' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccBmfq3c.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_f8be0 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
+ arg [-plugin] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
+ arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
+ arg [-plugin-opt=-fresolution=/tmp/ccBmfq3c.res] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [--build-id] ==> ignore
+ arg [--eh-frame-hdr] ==> ignore
+ arg [-m] ==> ignore
+ arg [elf_x86_64] ==> ignore
+ arg [--hash-style=gnu] ==> ignore
+ arg [--as-needed] ==> ignore
+ arg [-dynamic-linker] ==> ignore
+ arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+ arg [-pie] ==> ignore
+ arg [-znow] ==> ignore
+ arg [-zrelro] ==> ignore
+ arg [-o] ==> ignore
+ arg [cmTC_f8be0] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
+ arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+ arg [-L/lib/../lib] ==> dir [/lib/../lib]
+ arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+ arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
+ arg [CMakeFiles/cmTC_f8be0.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+ arg [-lstdc++] ==> lib [stdc++]
+ arg [-lm] ==> lib [m]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [-lc] ==> lib [c]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
+ collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+ collapse library dir [/lib/../lib] ==> [/lib]
+ collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
+ implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
+ implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+ implicit fwks: []
+
+
+Determining if the include file pthread.h exists passed with the following output:
+Change Dir: /home/tngngn/ccbench/tictoc/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_3d657 && [1/2] Building CXX object CMakeFiles/cmTC_3d657.dir/CheckIncludeFile.cxx.o
+[2/2] Linking CXX executable cmTC_3d657
+
+
+
+Determining if the function pthread_create exists in the pthread passed with the following output:
+Change Dir: /home/tngngn/ccbench/tictoc/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_19892 && [1/2] Building CXX object CMakeFiles/cmTC_19892.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_19892
+
+
+
diff --git a/tictoc/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx b/tictoc/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
new file mode 100644
index 00000000..13435e07
--- /dev/null
+++ b/tictoc/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
@@ -0,0 +1,28 @@
+#ifdef CHECK_FUNCTION_EXISTS
+
+# ifdef __cplusplus
+extern "C"
+# endif
+ char
+ CHECK_FUNCTION_EXISTS(void);
+# ifdef __CLASSIC_C__
+int main()
+{
+ int ac;
+ char* av[];
+# else
+int main(int ac, char* av[])
+{
+# endif
+ CHECK_FUNCTION_EXISTS();
+ if (ac > 1000) {
+ return *av[0];
+ }
+ return 0;
+}
+
+#else /* CHECK_FUNCTION_EXISTS */
+
+# error "CHECK_FUNCTION_EXISTS has to specify the function"
+
+#endif /* CHECK_FUNCTION_EXISTS */
diff --git a/tictoc/build/CMakeFiles/TargetDirectories.txt b/tictoc/build/CMakeFiles/TargetDirectories.txt
new file mode 100644
index 00000000..b597d005
--- /dev/null
+++ b/tictoc/build/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,3 @@
+/home/tngngn/ccbench/tictoc/build/CMakeFiles/rebuild_cache.dir
+/home/tngngn/ccbench/tictoc/build/CMakeFiles/edit_cache.dir
+/home/tngngn/ccbench/tictoc/build/CMakeFiles/tictoc.exe.dir
diff --git a/tictoc/build/CMakeFiles/cmake.check_cache b/tictoc/build/CMakeFiles/cmake.check_cache
new file mode 100644
index 00000000..3dccd731
--- /dev/null
+++ b/tictoc/build/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/tictoc/build/build.ninja b/tictoc/build/build.ninja
new file mode 100644
index 00000000..9972fcf1
--- /dev/null
+++ b/tictoc/build/build.ninja
@@ -0,0 +1,186 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the build statements describing the
+# compilation DAG.
+
+# =============================================================================
+# Write statements declared in CMakeLists.txt:
+#
+# Which is the root file.
+# =============================================================================
+
+# =============================================================================
+# Project: ccbench_tictoc
+# Configurations: Release
+# =============================================================================
+
+#############################################
+# Minimal version of Ninja required by this file
+
+ninja_required_version = 1.5
+
+
+#############################################
+# Set configuration variable for custom commands.
+
+CONFIGURATION = Release
+# =============================================================================
+# Include auxiliary files.
+
+
+#############################################
+# Include rules file.
+
+include rules.ninja
+
+
+#############################################
+# Utility command for rebuild_cache
+
+build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/tictoc/build && /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/tictoc -B/home/tngngn/ccbench/tictoc/build
+ DESC = Running CMake to regenerate build system...
+ pool = console
+ restat = 1
+
+build rebuild_cache: phony CMakeFiles/rebuild_cache.util
+
+
+#############################################
+# Utility command for edit_cache
+
+build CMakeFiles/edit_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/tictoc/build && /usr/local/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+ DESC = No interactive CMake dialog available...
+ restat = 1
+
+build edit_cache: phony CMakeFiles/edit_cache.util
+
+# =============================================================================
+# Object build statements for EXECUTABLE target tictoc.exe
+
+
+#############################################
+# Order-only phony target for tictoc.exe
+
+build cmake_object_order_depends_target_tictoc.exe_Release: phony || CMakeFiles/tictoc.exe.dir
+
+build CMakeFiles/tictoc.exe.dir/home/tngngn/ccbench/common/result.cc.o: CXX_COMPILER__tictoc.2eexe_Release /home/tngngn/ccbench/common/result.cc || cmake_object_order_depends_target_tictoc.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPREEMPTIVE_ABORTS=1 -DSLEEP_READ_PHASE=0 -DTIMESTAMP_HISTORY=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/tictoc.exe.dir/home/tngngn/ccbench/common/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/tictoc.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/tictoc.exe.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = CMakeFiles/tictoc.exe.dir/
+ TARGET_PDB = tictoc.exe.pdb
+
+build CMakeFiles/tictoc.exe.dir/home/tngngn/ccbench/common/util.cc.o: CXX_COMPILER__tictoc.2eexe_Release /home/tngngn/ccbench/common/util.cc || cmake_object_order_depends_target_tictoc.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPREEMPTIVE_ABORTS=1 -DSLEEP_READ_PHASE=0 -DTIMESTAMP_HISTORY=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/tictoc.exe.dir/home/tngngn/ccbench/common/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/tictoc.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/tictoc.exe.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = CMakeFiles/tictoc.exe.dir/
+ TARGET_PDB = tictoc.exe.pdb
+
+build CMakeFiles/tictoc.exe.dir/result.cc.o: CXX_COMPILER__tictoc.2eexe_Release ../result.cc || cmake_object_order_depends_target_tictoc.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPREEMPTIVE_ABORTS=1 -DSLEEP_READ_PHASE=0 -DTIMESTAMP_HISTORY=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/tictoc.exe.dir/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/tictoc.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/tictoc.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/tictoc.exe.dir/
+ TARGET_PDB = tictoc.exe.pdb
+
+build CMakeFiles/tictoc.exe.dir/tictoc.cc.o: CXX_COMPILER__tictoc.2eexe_Release ../tictoc.cc || cmake_object_order_depends_target_tictoc.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPREEMPTIVE_ABORTS=1 -DSLEEP_READ_PHASE=0 -DTIMESTAMP_HISTORY=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/tictoc.exe.dir/tictoc.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/tictoc.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/tictoc.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/tictoc.exe.dir/
+ TARGET_PDB = tictoc.exe.pdb
+
+build CMakeFiles/tictoc.exe.dir/transaction.cc.o: CXX_COMPILER__tictoc.2eexe_Release ../transaction.cc || cmake_object_order_depends_target_tictoc.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPREEMPTIVE_ABORTS=1 -DSLEEP_READ_PHASE=0 -DTIMESTAMP_HISTORY=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/tictoc.exe.dir/transaction.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/tictoc.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/tictoc.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/tictoc.exe.dir/
+ TARGET_PDB = tictoc.exe.pdb
+
+build CMakeFiles/tictoc.exe.dir/util.cc.o: CXX_COMPILER__tictoc.2eexe_Release ../util.cc || cmake_object_order_depends_target_tictoc.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DMASSTREE_USE=1 -DNO_WAIT_LOCKING_IN_VALIDATION=1 -DNO_WAIT_OF_TICTOC=0 -DPARTITION_TABLE=0 -DPREEMPTIVE_ABORTS=1 -DSLEEP_READ_PHASE=0 -DTIMESTAMP_HISTORY=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/tictoc.exe.dir/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/tictoc.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/tictoc.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/tictoc.exe.dir/
+ TARGET_PDB = tictoc.exe.pdb
+
+
+# =============================================================================
+# Link build statements for EXECUTABLE target tictoc.exe
+
+
+#############################################
+# Link the executable tictoc.exe
+
+build tictoc.exe: CXX_EXECUTABLE_LINKER__tictoc.2eexe_Release CMakeFiles/tictoc.exe.dir/home/tngngn/ccbench/common/result.cc.o CMakeFiles/tictoc.exe.dir/home/tngngn/ccbench/common/util.cc.o CMakeFiles/tictoc.exe.dir/result.cc.o CMakeFiles/tictoc.exe.dir/tictoc.cc.o CMakeFiles/tictoc.exe.dir/transaction.cc.o CMakeFiles/tictoc.exe.dir/util.cc.o | /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a
+ FLAGS = -O3 -DNDEBUG
+ LINK_LIBRARIES = /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a -lpthread
+ OBJECT_DIR = CMakeFiles/tictoc.exe.dir
+ POST_BUILD = :
+ PRE_LINK = :
+ TARGET_COMPILE_PDB = CMakeFiles/tictoc.exe.dir/
+ TARGET_FILE = tictoc.exe
+ TARGET_PDB = tictoc.exe.pdb
+
+# =============================================================================
+# Target aliases.
+
+# =============================================================================
+# Folder targets.
+
+# =============================================================================
+
+#############################################
+# Folder: /home/tngngn/ccbench/tictoc/build
+
+build all: phony tictoc.exe
+
+# =============================================================================
+# Built-in targets
+
+
+#############################################
+# Re-run CMake if any of its inputs changed.
+
+build build.ninja: RERUN_CMAKE | ../CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeFindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystem.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckFunctionExists.c /usr/local/share/cmake-3.17/Modules/CheckIncludeFile.cxx.in /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
+ pool = console
+
+
+#############################################
+# A missing CMake input file is not an error.
+
+build ../CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeFindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystem.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckFunctionExists.c /usr/local/share/cmake-3.17/Modules/CheckIncludeFile.cxx.in /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx: phony
+
+
+#############################################
+# Clean all the built files.
+
+build clean: CLEAN
+
+
+#############################################
+# Print all primary targets available.
+
+build help: HELP
+
+
+#############################################
+# Make the all target the default.
+
+default all
diff --git a/tictoc/build/cmake_install.cmake b/tictoc/build/cmake_install.cmake
new file mode 100644
index 00000000..48bbfb80
--- /dev/null
+++ b/tictoc/build/cmake_install.cmake
@@ -0,0 +1,49 @@
+# Install script for directory: /home/tngngn/ccbench/tictoc
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ if(BUILD_TYPE)
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ else()
+ set(CMAKE_INSTALL_CONFIG_NAME "Release")
+ endif()
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+ if(COMPONENT)
+ message(STATUS "Install component: \"${COMPONENT}\"")
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ else()
+ set(CMAKE_INSTALL_COMPONENT)
+ endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+ set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+else()
+ set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+ "${CMAKE_INSTALL_MANIFEST_FILES}")
+file(WRITE "/home/tngngn/ccbench/tictoc/build/${CMAKE_INSTALL_MANIFEST}"
+ "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/tictoc/build/rules.ninja b/tictoc/build/rules.ninja
new file mode 100644
index 00000000..3f694d35
--- /dev/null
+++ b/tictoc/build/rules.ninja
@@ -0,0 +1,64 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the rules used to get the outputs files
+# built from the input files.
+# It is included in the main 'build.ninja'.
+
+# =============================================================================
+# Project: ccbench_tictoc
+# Configurations: Release
+# =============================================================================
+# =============================================================================
+
+#############################################
+# Rule for running custom commands.
+
+rule CUSTOM_COMMAND
+ command = $COMMAND
+ description = $DESC
+
+
+#############################################
+# Rule for compiling CXX files.
+
+rule CXX_COMPILER__tictoc.2eexe_Release
+ depfile = $DEP_FILE
+ deps = gcc
+ command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
+ description = Building CXX object $out
+
+
+#############################################
+# Rule for linking CXX executable.
+
+rule CXX_EXECUTABLE_LINKER__tictoc.2eexe_Release
+ command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD
+ description = Linking CXX executable $TARGET_FILE
+ restat = $RESTAT
+
+
+#############################################
+# Rule for re-running cmake.
+
+rule RERUN_CMAKE
+ command = /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/tictoc -B/home/tngngn/ccbench/tictoc/build
+ description = Re-running CMake...
+ generator = 1
+
+
+#############################################
+# Rule for cleaning all built files.
+
+rule CLEAN
+ command = /usr/local/bin/ninja $FILE_ARG -t clean $TARGETS
+ description = Cleaning all built files...
+
+
+#############################################
+# Rule for printing all primary targets available.
+
+rule HELP
+ command = /usr/local/bin/ninja -t targets
+ description = All primary targets available:
+
diff --git a/wait-die/build/.ninja_deps b/wait-die/build/.ninja_deps
new file mode 100644
index 00000000..1293b83c
Binary files /dev/null and b/wait-die/build/.ninja_deps differ
diff --git a/wait-die/build/.ninja_log b/wait-die/build/.ninja_log
new file mode 100644
index 00000000..8601d940
--- /dev/null
+++ b/wait-die/build/.ninja_log
@@ -0,0 +1,15 @@
+# ninja log v5
+0 435 1672986652585006736 CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o 81bcf81436dd096f
+3 469 1672986652621006291 test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/result.cc.o 4cf8fab3b4f2f11a
+5 1553 1672986653704992899 test/CMakeFiles/make_db_test.dir/__/util.cc.o 4f02c7f15a443159
+1 713 1672986652865003276 CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o f58abb2ca12f4c9e
+3 734 1672986652885003029 test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/util.cc.o 37a5f19502ad199e
+1 837 1672986652989001745 CMakeFiles/ss2pl.exe.dir/result.cc.o 86b6f03aa5214036
+4 868 1672986653021001349 test/CMakeFiles/make_db_test.dir/__/result.cc.o 9cf7615618add105
+2 1405 1672986653556994727 CMakeFiles/ss2pl.exe.dir/util.cc.o 44945d250f157858
+3 1617 1672986653768992108 test/CMakeFiles/make_db_test.dir/make_db_test.cpp.o 5101962424ae4d8b
+4 1287 1672986844518635550 test/CMakeFiles/make_db_test.dir/__/transaction.cc.o fb228e060b621dd3
+4 1404 1672986844634634117 CMakeFiles/ss2pl.exe.dir/transaction.cc.o cc2bb08c9330f52a
+3 139 1672986900769940611 test/make_db_test f51cc9023ab865e1
+3 1313 1672986901941926132 CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o cc110ea1f9a389f0
+1313 1390 1672986902017925193 ss2pl.exe eee19cd8572392e1
diff --git a/wait-die/build/CMakeCache.txt b/wait-die/build/CMakeCache.txt
new file mode 100644
index 00000000..f974ea11
--- /dev/null
+++ b/wait-die/build/CMakeCache.txt
@@ -0,0 +1,473 @@
+# This is the CMakeCache file.
+# For build in directory: /home/tngngn/ccbench/wait-die/build
+# It was generated by CMake: /usr/local/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//The directory containing a CMake configuration file for Boost.
+Boost_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0
+
+Boost_FILESYSTEM_LIBRARY_RELEASE:STRING=/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0
+
+//Path to a file.
+Boost_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=Release
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//User executables (bin)
+CMAKE_INSTALL_BINDIR:PATH=bin
+
+//Read-only architecture-independent data (DATAROOTDIR)
+CMAKE_INSTALL_DATADIR:PATH=
+
+//Read-only architecture-independent data root (share)
+CMAKE_INSTALL_DATAROOTDIR:PATH=share
+
+//Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
+CMAKE_INSTALL_DOCDIR:PATH=
+
+//C header files (include)
+CMAKE_INSTALL_INCLUDEDIR:PATH=include
+
+//Info documentation (DATAROOTDIR/info)
+CMAKE_INSTALL_INFODIR:PATH=
+
+//Object code libraries (lib)
+CMAKE_INSTALL_LIBDIR:PATH=lib
+
+//Program executables (libexec)
+CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
+
+//Locale-dependent data (DATAROOTDIR/locale)
+CMAKE_INSTALL_LOCALEDIR:PATH=
+
+//Modifiable single-machine data (var)
+CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
+
+//Man documentation (DATAROOTDIR/man)
+CMAKE_INSTALL_MANDIR:PATH=
+
+//C header files for non-gcc (/usr/include)
+CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Run-time variable data (LOCALSTATEDIR/run)
+CMAKE_INSTALL_RUNSTATEDIR:PATH=
+
+//System admin executables (sbin)
+CMAKE_INSTALL_SBINDIR:PATH=sbin
+
+//Modifiable architecture-independent data (com)
+CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
+
+//Read-only single-machine data (etc)
+CMAKE_INSTALL_SYSCONFDIR:PATH=etc
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Program used to build from build.ninja files.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/local/bin/ninja
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=ss2pl of ccbench
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=ccbench_ss2pl
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION:STATIC=0.0.1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MAJOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MINOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_PATCH:STATIC=1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_TWEAK:STATIC=
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make. This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Dot tool for use with Doxygen
+DOXYGEN_DOT_EXECUTABLE:FILEPATH=/usr/bin/dot
+
+//Doxygen documentation generation tool (http://www.doxygen.org)
+DOXYGEN_EXECUTABLE:FILEPATH=/usr/bin/doxygen
+
+//enable coverage on debug build
+ENABLE_COVERAGE:BOOL=OFF
+
+//enable sanitizer on debug build
+ENABLE_SANITIZER:BOOL=ON
+
+//enable undefined behavior sanitizer on debug build
+ENABLE_UB_SANITIZER:BOOL=OFF
+
+//The directory containing a CMake configuration file for boost_filesystem.
+boost_filesystem_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0
+
+//The directory containing a CMake configuration file for boost_headers.
+boost_headers_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0
+
+//Value Computed by CMake
+ccbench_ss2pl_BINARY_DIR:STATIC=/home/tngngn/ccbench/wait-die/build
+
+//Value Computed by CMake
+ccbench_ss2pl_SOURCE_DIR:STATIC=/home/tngngn/ccbench/wait-die
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: Boost_DIR
+Boost_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/tngngn/ccbench/wait-die/build
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=17
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/local/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Ninja
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Test CMAKE_HAVE_LIBC_PTHREAD
+CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=
+//Have library pthreads
+CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
+//Have library pthread
+CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1
+//Have include pthread.h
+CMAKE_HAVE_PTHREAD_H:INTERNAL=1
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/tngngn/ccbench/wait-die
+//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
+CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
+CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
+CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
+CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
+CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
+CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
+CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
+CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
+CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
+CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
+CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
+CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR
+CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
+CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
+CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
+CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/local/share/cmake-3.17
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE
+DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_EXECUTABLE
+DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1
+//Details about finding Boost
+FIND_PACKAGE_MESSAGE_DETAILS_Boost:INTERNAL=[/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake][cfound components: filesystem ][v1.71.0()]
+//Details about finding Doxygen
+FIND_PACKAGE_MESSAGE_DETAILS_Doxygen:INTERNAL=[/usr/bin/doxygen][cfound components: doxygen dot ][v1.8.17()]
+//Details about finding Threads
+FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
+//Details about finding gflags
+FIND_PACKAGE_MESSAGE_DETAILS_gflags:INTERNAL=[/usr/lib/x86_64-linux-gnu/libgflags.so][/usr/include][v()]
+//Details about finding glog
+FIND_PACKAGE_MESSAGE_DETAILS_glog:INTERNAL=[/usr/lib/x86_64-linux-gnu/libglog.so][/usr/include][v()]
+//CMAKE_INSTALL_PREFIX during last run
+_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local
+//ADVANCED property for variable: boost_filesystem_DIR
+boost_filesystem_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: boost_headers_DIR
+boost_headers_DIR-ADVANCED:INTERNAL=1
+
diff --git a/wait-die/build/CMakeDoxyfile.in b/wait-die/build/CMakeDoxyfile.in
new file mode 100644
index 00000000..848a3c81
--- /dev/null
+++ b/wait-die/build/CMakeDoxyfile.in
@@ -0,0 +1,280 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+DOXYFILE_ENCODING = @DOXYGEN_DOXYFILE_ENCODING@
+PROJECT_NAME = @DOXYGEN_PROJECT_NAME@
+PROJECT_NUMBER = @DOXYGEN_PROJECT_NUMBER@
+PROJECT_BRIEF = @DOXYGEN_PROJECT_BRIEF@
+PROJECT_LOGO = @DOXYGEN_PROJECT_LOGO@
+OUTPUT_DIRECTORY = @DOXYGEN_OUTPUT_DIRECTORY@
+CREATE_SUBDIRS = @DOXYGEN_CREATE_SUBDIRS@
+ALLOW_UNICODE_NAMES = @DOXYGEN_ALLOW_UNICODE_NAMES@
+OUTPUT_LANGUAGE = @DOXYGEN_OUTPUT_LANGUAGE@
+OUTPUT_TEXT_DIRECTION = @DOXYGEN_OUTPUT_TEXT_DIRECTION@
+BRIEF_MEMBER_DESC = @DOXYGEN_BRIEF_MEMBER_DESC@
+REPEAT_BRIEF = @DOXYGEN_REPEAT_BRIEF@
+ABBREVIATE_BRIEF = @DOXYGEN_ABBREVIATE_BRIEF@
+ALWAYS_DETAILED_SEC = @DOXYGEN_ALWAYS_DETAILED_SEC@
+INLINE_INHERITED_MEMB = @DOXYGEN_INLINE_INHERITED_MEMB@
+FULL_PATH_NAMES = @DOXYGEN_FULL_PATH_NAMES@
+STRIP_FROM_PATH = @DOXYGEN_STRIP_FROM_PATH@
+STRIP_FROM_INC_PATH = @DOXYGEN_STRIP_FROM_INC_PATH@
+SHORT_NAMES = @DOXYGEN_SHORT_NAMES@
+JAVADOC_AUTOBRIEF = @DOXYGEN_JAVADOC_AUTOBRIEF@
+JAVADOC_BANNER = @DOXYGEN_JAVADOC_BANNER@
+QT_AUTOBRIEF = @DOXYGEN_QT_AUTOBRIEF@
+MULTILINE_CPP_IS_BRIEF = @DOXYGEN_MULTILINE_CPP_IS_BRIEF@
+INHERIT_DOCS = @DOXYGEN_INHERIT_DOCS@
+SEPARATE_MEMBER_PAGES = @DOXYGEN_SEPARATE_MEMBER_PAGES@
+TAB_SIZE = @DOXYGEN_TAB_SIZE@
+ALIASES = @DOXYGEN_ALIASES@
+TCL_SUBST = @DOXYGEN_TCL_SUBST@
+OPTIMIZE_OUTPUT_FOR_C = @DOXYGEN_OPTIMIZE_OUTPUT_FOR_C@
+OPTIMIZE_OUTPUT_JAVA = @DOXYGEN_OPTIMIZE_OUTPUT_JAVA@
+OPTIMIZE_FOR_FORTRAN = @DOXYGEN_OPTIMIZE_FOR_FORTRAN@
+OPTIMIZE_OUTPUT_VHDL = @DOXYGEN_OPTIMIZE_OUTPUT_VHDL@
+OPTIMIZE_OUTPUT_SLICE = @DOXYGEN_OPTIMIZE_OUTPUT_SLICE@
+EXTENSION_MAPPING = @DOXYGEN_EXTENSION_MAPPING@
+MARKDOWN_SUPPORT = @DOXYGEN_MARKDOWN_SUPPORT@
+TOC_INCLUDE_HEADINGS = @DOXYGEN_TOC_INCLUDE_HEADINGS@
+AUTOLINK_SUPPORT = @DOXYGEN_AUTOLINK_SUPPORT@
+BUILTIN_STL_SUPPORT = @DOXYGEN_BUILTIN_STL_SUPPORT@
+CPP_CLI_SUPPORT = @DOXYGEN_CPP_CLI_SUPPORT@
+SIP_SUPPORT = @DOXYGEN_SIP_SUPPORT@
+IDL_PROPERTY_SUPPORT = @DOXYGEN_IDL_PROPERTY_SUPPORT@
+DISTRIBUTE_GROUP_DOC = @DOXYGEN_DISTRIBUTE_GROUP_DOC@
+GROUP_NESTED_COMPOUNDS = @DOXYGEN_GROUP_NESTED_COMPOUNDS@
+SUBGROUPING = @DOXYGEN_SUBGROUPING@
+INLINE_GROUPED_CLASSES = @DOXYGEN_INLINE_GROUPED_CLASSES@
+INLINE_SIMPLE_STRUCTS = @DOXYGEN_INLINE_SIMPLE_STRUCTS@
+TYPEDEF_HIDES_STRUCT = @DOXYGEN_TYPEDEF_HIDES_STRUCT@
+LOOKUP_CACHE_SIZE = @DOXYGEN_LOOKUP_CACHE_SIZE@
+EXTRACT_ALL = @DOXYGEN_EXTRACT_ALL@
+EXTRACT_PRIVATE = @DOXYGEN_EXTRACT_PRIVATE@
+EXTRACT_PRIV_VIRTUAL = @DOXYGEN_EXTRACT_PRIV_VIRTUAL@
+EXTRACT_PACKAGE = @DOXYGEN_EXTRACT_PACKAGE@
+EXTRACT_STATIC = @DOXYGEN_EXTRACT_STATIC@
+EXTRACT_LOCAL_CLASSES = @DOXYGEN_EXTRACT_LOCAL_CLASSES@
+EXTRACT_LOCAL_METHODS = @DOXYGEN_EXTRACT_LOCAL_METHODS@
+EXTRACT_ANON_NSPACES = @DOXYGEN_EXTRACT_ANON_NSPACES@
+HIDE_UNDOC_MEMBERS = @DOXYGEN_HIDE_UNDOC_MEMBERS@
+HIDE_UNDOC_CLASSES = @DOXYGEN_HIDE_UNDOC_CLASSES@
+HIDE_FRIEND_COMPOUNDS = @DOXYGEN_HIDE_FRIEND_COMPOUNDS@
+HIDE_IN_BODY_DOCS = @DOXYGEN_HIDE_IN_BODY_DOCS@
+INTERNAL_DOCS = @DOXYGEN_INTERNAL_DOCS@
+CASE_SENSE_NAMES = @DOXYGEN_CASE_SENSE_NAMES@
+HIDE_SCOPE_NAMES = @DOXYGEN_HIDE_SCOPE_NAMES@
+HIDE_COMPOUND_REFERENCE= @DOXYGEN_HIDE_COMPOUND_REFERENCE@
+SHOW_INCLUDE_FILES = @DOXYGEN_SHOW_INCLUDE_FILES@
+SHOW_GROUPED_MEMB_INC = @DOXYGEN_SHOW_GROUPED_MEMB_INC@
+FORCE_LOCAL_INCLUDES = @DOXYGEN_FORCE_LOCAL_INCLUDES@
+INLINE_INFO = @DOXYGEN_INLINE_INFO@
+SORT_MEMBER_DOCS = @DOXYGEN_SORT_MEMBER_DOCS@
+SORT_BRIEF_DOCS = @DOXYGEN_SORT_BRIEF_DOCS@
+SORT_MEMBERS_CTORS_1ST = @DOXYGEN_SORT_MEMBERS_CTORS_1ST@
+SORT_GROUP_NAMES = @DOXYGEN_SORT_GROUP_NAMES@
+SORT_BY_SCOPE_NAME = @DOXYGEN_SORT_BY_SCOPE_NAME@
+STRICT_PROTO_MATCHING = @DOXYGEN_STRICT_PROTO_MATCHING@
+GENERATE_TODOLIST = @DOXYGEN_GENERATE_TODOLIST@
+GENERATE_TESTLIST = @DOXYGEN_GENERATE_TESTLIST@
+GENERATE_BUGLIST = @DOXYGEN_GENERATE_BUGLIST@
+GENERATE_DEPRECATEDLIST= @DOXYGEN_GENERATE_DEPRECATEDLIST@
+ENABLED_SECTIONS = @DOXYGEN_ENABLED_SECTIONS@
+MAX_INITIALIZER_LINES = @DOXYGEN_MAX_INITIALIZER_LINES@
+SHOW_USED_FILES = @DOXYGEN_SHOW_USED_FILES@
+SHOW_FILES = @DOXYGEN_SHOW_FILES@
+SHOW_NAMESPACES = @DOXYGEN_SHOW_NAMESPACES@
+FILE_VERSION_FILTER = @DOXYGEN_FILE_VERSION_FILTER@
+LAYOUT_FILE = @DOXYGEN_LAYOUT_FILE@
+CITE_BIB_FILES = @DOXYGEN_CITE_BIB_FILES@
+QUIET = @DOXYGEN_QUIET@
+WARNINGS = @DOXYGEN_WARNINGS@
+WARN_IF_UNDOCUMENTED = @DOXYGEN_WARN_IF_UNDOCUMENTED@
+WARN_IF_DOC_ERROR = @DOXYGEN_WARN_IF_DOC_ERROR@
+WARN_NO_PARAMDOC = @DOXYGEN_WARN_NO_PARAMDOC@
+WARN_AS_ERROR = @DOXYGEN_WARN_AS_ERROR@
+WARN_FORMAT = @DOXYGEN_WARN_FORMAT@
+WARN_LOGFILE = @DOXYGEN_WARN_LOGFILE@
+INPUT = @DOXYGEN_INPUT@
+INPUT_ENCODING = @DOXYGEN_INPUT_ENCODING@
+FILE_PATTERNS = @DOXYGEN_FILE_PATTERNS@
+RECURSIVE = @DOXYGEN_RECURSIVE@
+EXCLUDE = @DOXYGEN_EXCLUDE@
+EXCLUDE_SYMLINKS = @DOXYGEN_EXCLUDE_SYMLINKS@
+EXCLUDE_PATTERNS = @DOXYGEN_EXCLUDE_PATTERNS@
+EXCLUDE_SYMBOLS = @DOXYGEN_EXCLUDE_SYMBOLS@
+EXAMPLE_PATH = @DOXYGEN_EXAMPLE_PATH@
+EXAMPLE_PATTERNS = @DOXYGEN_EXAMPLE_PATTERNS@
+EXAMPLE_RECURSIVE = @DOXYGEN_EXAMPLE_RECURSIVE@
+IMAGE_PATH = @DOXYGEN_IMAGE_PATH@
+INPUT_FILTER = @DOXYGEN_INPUT_FILTER@
+FILTER_PATTERNS = @DOXYGEN_FILTER_PATTERNS@
+FILTER_SOURCE_FILES = @DOXYGEN_FILTER_SOURCE_FILES@
+FILTER_SOURCE_PATTERNS = @DOXYGEN_FILTER_SOURCE_PATTERNS@
+USE_MDFILE_AS_MAINPAGE = @DOXYGEN_USE_MDFILE_AS_MAINPAGE@
+SOURCE_BROWSER = @DOXYGEN_SOURCE_BROWSER@
+INLINE_SOURCES = @DOXYGEN_INLINE_SOURCES@
+STRIP_CODE_COMMENTS = @DOXYGEN_STRIP_CODE_COMMENTS@
+REFERENCED_BY_RELATION = @DOXYGEN_REFERENCED_BY_RELATION@
+REFERENCES_RELATION = @DOXYGEN_REFERENCES_RELATION@
+REFERENCES_LINK_SOURCE = @DOXYGEN_REFERENCES_LINK_SOURCE@
+SOURCE_TOOLTIPS = @DOXYGEN_SOURCE_TOOLTIPS@
+USE_HTAGS = @DOXYGEN_USE_HTAGS@
+VERBATIM_HEADERS = @DOXYGEN_VERBATIM_HEADERS@
+CLANG_ASSISTED_PARSING = @DOXYGEN_CLANG_ASSISTED_PARSING@
+CLANG_OPTIONS = @DOXYGEN_CLANG_OPTIONS@
+CLANG_DATABASE_PATH = @DOXYGEN_CLANG_DATABASE_PATH@
+ALPHABETICAL_INDEX = @DOXYGEN_ALPHABETICAL_INDEX@
+COLS_IN_ALPHA_INDEX = @DOXYGEN_COLS_IN_ALPHA_INDEX@
+IGNORE_PREFIX = @DOXYGEN_IGNORE_PREFIX@
+GENERATE_HTML = @DOXYGEN_GENERATE_HTML@
+HTML_OUTPUT = @DOXYGEN_HTML_OUTPUT@
+HTML_FILE_EXTENSION = @DOXYGEN_HTML_FILE_EXTENSION@
+HTML_HEADER = @DOXYGEN_HTML_HEADER@
+HTML_FOOTER = @DOXYGEN_HTML_FOOTER@
+HTML_STYLESHEET = @DOXYGEN_HTML_STYLESHEET@
+HTML_EXTRA_STYLESHEET = @DOXYGEN_HTML_EXTRA_STYLESHEET@
+HTML_EXTRA_FILES = @DOXYGEN_HTML_EXTRA_FILES@
+HTML_COLORSTYLE_HUE = @DOXYGEN_HTML_COLORSTYLE_HUE@
+HTML_COLORSTYLE_SAT = @DOXYGEN_HTML_COLORSTYLE_SAT@
+HTML_COLORSTYLE_GAMMA = @DOXYGEN_HTML_COLORSTYLE_GAMMA@
+HTML_TIMESTAMP = @DOXYGEN_HTML_TIMESTAMP@
+HTML_DYNAMIC_MENUS = @DOXYGEN_HTML_DYNAMIC_MENUS@
+HTML_DYNAMIC_SECTIONS = @DOXYGEN_HTML_DYNAMIC_SECTIONS@
+HTML_INDEX_NUM_ENTRIES = @DOXYGEN_HTML_INDEX_NUM_ENTRIES@
+GENERATE_DOCSET = @DOXYGEN_GENERATE_DOCSET@
+DOCSET_FEEDNAME = @DOXYGEN_DOCSET_FEEDNAME@
+DOCSET_BUNDLE_ID = @DOXYGEN_DOCSET_BUNDLE_ID@
+DOCSET_PUBLISHER_ID = @DOXYGEN_DOCSET_PUBLISHER_ID@
+DOCSET_PUBLISHER_NAME = @DOXYGEN_DOCSET_PUBLISHER_NAME@
+GENERATE_HTMLHELP = @DOXYGEN_GENERATE_HTMLHELP@
+CHM_FILE = @DOXYGEN_CHM_FILE@
+HHC_LOCATION = @DOXYGEN_HHC_LOCATION@
+GENERATE_CHI = @DOXYGEN_GENERATE_CHI@
+CHM_INDEX_ENCODING = @DOXYGEN_CHM_INDEX_ENCODING@
+BINARY_TOC = @DOXYGEN_BINARY_TOC@
+TOC_EXPAND = @DOXYGEN_TOC_EXPAND@
+GENERATE_QHP = @DOXYGEN_GENERATE_QHP@
+QCH_FILE = @DOXYGEN_QCH_FILE@
+QHP_NAMESPACE = @DOXYGEN_QHP_NAMESPACE@
+QHP_VIRTUAL_FOLDER = @DOXYGEN_QHP_VIRTUAL_FOLDER@
+QHP_CUST_FILTER_NAME = @DOXYGEN_QHP_CUST_FILTER_NAME@
+QHP_CUST_FILTER_ATTRS = @DOXYGEN_QHP_CUST_FILTER_ATTRS@
+QHP_SECT_FILTER_ATTRS = @DOXYGEN_QHP_SECT_FILTER_ATTRS@
+QHG_LOCATION = @DOXYGEN_QHG_LOCATION@
+GENERATE_ECLIPSEHELP = @DOXYGEN_GENERATE_ECLIPSEHELP@
+ECLIPSE_DOC_ID = @DOXYGEN_ECLIPSE_DOC_ID@
+DISABLE_INDEX = @DOXYGEN_DISABLE_INDEX@
+GENERATE_TREEVIEW = @DOXYGEN_GENERATE_TREEVIEW@
+ENUM_VALUES_PER_LINE = @DOXYGEN_ENUM_VALUES_PER_LINE@
+TREEVIEW_WIDTH = @DOXYGEN_TREEVIEW_WIDTH@
+EXT_LINKS_IN_WINDOW = @DOXYGEN_EXT_LINKS_IN_WINDOW@
+FORMULA_FONTSIZE = @DOXYGEN_FORMULA_FONTSIZE@
+FORMULA_TRANSPARENT = @DOXYGEN_FORMULA_TRANSPARENT@
+FORMULA_MACROFILE = @DOXYGEN_FORMULA_MACROFILE@
+USE_MATHJAX = @DOXYGEN_USE_MATHJAX@
+MATHJAX_FORMAT = @DOXYGEN_MATHJAX_FORMAT@
+MATHJAX_RELPATH = @DOXYGEN_MATHJAX_RELPATH@
+MATHJAX_EXTENSIONS = @DOXYGEN_MATHJAX_EXTENSIONS@
+MATHJAX_CODEFILE = @DOXYGEN_MATHJAX_CODEFILE@
+SEARCHENGINE = @DOXYGEN_SEARCHENGINE@
+SERVER_BASED_SEARCH = @DOXYGEN_SERVER_BASED_SEARCH@
+EXTERNAL_SEARCH = @DOXYGEN_EXTERNAL_SEARCH@
+SEARCHENGINE_URL = @DOXYGEN_SEARCHENGINE_URL@
+SEARCHDATA_FILE = @DOXYGEN_SEARCHDATA_FILE@
+EXTERNAL_SEARCH_ID = @DOXYGEN_EXTERNAL_SEARCH_ID@
+EXTRA_SEARCH_MAPPINGS = @DOXYGEN_EXTRA_SEARCH_MAPPINGS@
+GENERATE_LATEX = @DOXYGEN_GENERATE_LATEX@
+LATEX_OUTPUT = @DOXYGEN_LATEX_OUTPUT@
+LATEX_CMD_NAME = @DOXYGEN_LATEX_CMD_NAME@
+MAKEINDEX_CMD_NAME = @DOXYGEN_MAKEINDEX_CMD_NAME@
+LATEX_MAKEINDEX_CMD = @DOXYGEN_LATEX_MAKEINDEX_CMD@
+COMPACT_LATEX = @DOXYGEN_COMPACT_LATEX@
+PAPER_TYPE = @DOXYGEN_PAPER_TYPE@
+EXTRA_PACKAGES = @DOXYGEN_EXTRA_PACKAGES@
+LATEX_HEADER = @DOXYGEN_LATEX_HEADER@
+LATEX_FOOTER = @DOXYGEN_LATEX_FOOTER@
+LATEX_EXTRA_STYLESHEET = @DOXYGEN_LATEX_EXTRA_STYLESHEET@
+LATEX_EXTRA_FILES = @DOXYGEN_LATEX_EXTRA_FILES@
+PDF_HYPERLINKS = @DOXYGEN_PDF_HYPERLINKS@
+USE_PDFLATEX = @DOXYGEN_USE_PDFLATEX@
+LATEX_BATCHMODE = @DOXYGEN_LATEX_BATCHMODE@
+LATEX_HIDE_INDICES = @DOXYGEN_LATEX_HIDE_INDICES@
+LATEX_SOURCE_CODE = @DOXYGEN_LATEX_SOURCE_CODE@
+LATEX_BIB_STYLE = @DOXYGEN_LATEX_BIB_STYLE@
+LATEX_TIMESTAMP = @DOXYGEN_LATEX_TIMESTAMP@
+LATEX_EMOJI_DIRECTORY = @DOXYGEN_LATEX_EMOJI_DIRECTORY@
+GENERATE_RTF = @DOXYGEN_GENERATE_RTF@
+RTF_OUTPUT = @DOXYGEN_RTF_OUTPUT@
+COMPACT_RTF = @DOXYGEN_COMPACT_RTF@
+RTF_HYPERLINKS = @DOXYGEN_RTF_HYPERLINKS@
+RTF_STYLESHEET_FILE = @DOXYGEN_RTF_STYLESHEET_FILE@
+RTF_EXTENSIONS_FILE = @DOXYGEN_RTF_EXTENSIONS_FILE@
+RTF_SOURCE_CODE = @DOXYGEN_RTF_SOURCE_CODE@
+GENERATE_MAN = @DOXYGEN_GENERATE_MAN@
+MAN_OUTPUT = @DOXYGEN_MAN_OUTPUT@
+MAN_EXTENSION = @DOXYGEN_MAN_EXTENSION@
+MAN_SUBDIR = @DOXYGEN_MAN_SUBDIR@
+MAN_LINKS = @DOXYGEN_MAN_LINKS@
+GENERATE_XML = @DOXYGEN_GENERATE_XML@
+XML_OUTPUT = @DOXYGEN_XML_OUTPUT@
+XML_PROGRAMLISTING = @DOXYGEN_XML_PROGRAMLISTING@
+XML_NS_MEMB_FILE_SCOPE = @DOXYGEN_XML_NS_MEMB_FILE_SCOPE@
+GENERATE_DOCBOOK = @DOXYGEN_GENERATE_DOCBOOK@
+DOCBOOK_OUTPUT = @DOXYGEN_DOCBOOK_OUTPUT@
+DOCBOOK_PROGRAMLISTING = @DOXYGEN_DOCBOOK_PROGRAMLISTING@
+GENERATE_AUTOGEN_DEF = @DOXYGEN_GENERATE_AUTOGEN_DEF@
+GENERATE_PERLMOD = @DOXYGEN_GENERATE_PERLMOD@
+PERLMOD_LATEX = @DOXYGEN_PERLMOD_LATEX@
+PERLMOD_PRETTY = @DOXYGEN_PERLMOD_PRETTY@
+PERLMOD_MAKEVAR_PREFIX = @DOXYGEN_PERLMOD_MAKEVAR_PREFIX@
+ENABLE_PREPROCESSING = @DOXYGEN_ENABLE_PREPROCESSING@
+MACRO_EXPANSION = @DOXYGEN_MACRO_EXPANSION@
+EXPAND_ONLY_PREDEF = @DOXYGEN_EXPAND_ONLY_PREDEF@
+SEARCH_INCLUDES = @DOXYGEN_SEARCH_INCLUDES@
+INCLUDE_PATH = @DOXYGEN_INCLUDE_PATH@
+INCLUDE_FILE_PATTERNS = @DOXYGEN_INCLUDE_FILE_PATTERNS@
+PREDEFINED = @DOXYGEN_PREDEFINED@
+EXPAND_AS_DEFINED = @DOXYGEN_EXPAND_AS_DEFINED@
+SKIP_FUNCTION_MACROS = @DOXYGEN_SKIP_FUNCTION_MACROS@
+TAGFILES = @DOXYGEN_TAGFILES@
+GENERATE_TAGFILE = @DOXYGEN_GENERATE_TAGFILE@
+ALLEXTERNALS = @DOXYGEN_ALLEXTERNALS@
+EXTERNAL_GROUPS = @DOXYGEN_EXTERNAL_GROUPS@
+EXTERNAL_PAGES = @DOXYGEN_EXTERNAL_PAGES@
+CLASS_DIAGRAMS = @DOXYGEN_CLASS_DIAGRAMS@
+DIA_PATH = @DOXYGEN_DIA_PATH@
+HIDE_UNDOC_RELATIONS = @DOXYGEN_HIDE_UNDOC_RELATIONS@
+HAVE_DOT = @DOXYGEN_HAVE_DOT@
+DOT_NUM_THREADS = @DOXYGEN_DOT_NUM_THREADS@
+DOT_FONTNAME = @DOXYGEN_DOT_FONTNAME@
+DOT_FONTSIZE = @DOXYGEN_DOT_FONTSIZE@
+DOT_FONTPATH = @DOXYGEN_DOT_FONTPATH@
+CLASS_GRAPH = @DOXYGEN_CLASS_GRAPH@
+COLLABORATION_GRAPH = @DOXYGEN_COLLABORATION_GRAPH@
+GROUP_GRAPHS = @DOXYGEN_GROUP_GRAPHS@
+UML_LOOK = @DOXYGEN_UML_LOOK@
+UML_LIMIT_NUM_FIELDS = @DOXYGEN_UML_LIMIT_NUM_FIELDS@
+TEMPLATE_RELATIONS = @DOXYGEN_TEMPLATE_RELATIONS@
+INCLUDE_GRAPH = @DOXYGEN_INCLUDE_GRAPH@
+INCLUDED_BY_GRAPH = @DOXYGEN_INCLUDED_BY_GRAPH@
+CALL_GRAPH = @DOXYGEN_CALL_GRAPH@
+CALLER_GRAPH = @DOXYGEN_CALLER_GRAPH@
+GRAPHICAL_HIERARCHY = @DOXYGEN_GRAPHICAL_HIERARCHY@
+DIRECTORY_GRAPH = @DOXYGEN_DIRECTORY_GRAPH@
+DOT_IMAGE_FORMAT = @DOXYGEN_DOT_IMAGE_FORMAT@
+INTERACTIVE_SVG = @DOXYGEN_INTERACTIVE_SVG@
+DOT_PATH = @DOXYGEN_DOT_PATH@
+DOTFILE_DIRS = @DOXYGEN_DOTFILE_DIRS@
+MSCFILE_DIRS = @DOXYGEN_MSCFILE_DIRS@
+DIAFILE_DIRS = @DOXYGEN_DIAFILE_DIRS@
+PLANTUML_JAR_PATH = @DOXYGEN_PLANTUML_JAR_PATH@
+PLANTUML_CFG_FILE = @DOXYGEN_PLANTUML_CFG_FILE@
+PLANTUML_INCLUDE_PATH = @DOXYGEN_PLANTUML_INCLUDE_PATH@
+DOT_GRAPH_MAX_NODES = @DOXYGEN_DOT_GRAPH_MAX_NODES@
+MAX_DOT_GRAPH_DEPTH = @DOXYGEN_MAX_DOT_GRAPH_DEPTH@
+DOT_TRANSPARENT = @DOXYGEN_DOT_TRANSPARENT@
+DOT_MULTI_TARGETS = @DOXYGEN_DOT_MULTI_TARGETS@
+GENERATE_LEGEND = @DOXYGEN_GENERATE_LEGEND@
+DOT_CLEANUP = @DOXYGEN_DOT_CLEANUP@
diff --git a/wait-die/build/CMakeDoxygenDefaults.cmake b/wait-die/build/CMakeDoxygenDefaults.cmake
new file mode 100644
index 00000000..db28798f
--- /dev/null
+++ b/wait-die/build/CMakeDoxygenDefaults.cmake
@@ -0,0 +1,672 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+if(NOT DEFINED DOXYGEN_DOXYFILE_ENCODING)
+ set(DOXYGEN_DOXYFILE_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_PROJECT_NAME)
+ set(DOXYGEN_PROJECT_NAME "My Project")
+endif()
+if(NOT DEFINED DOXYGEN_CREATE_SUBDIRS)
+ set(DOXYGEN_CREATE_SUBDIRS NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALLOW_UNICODE_NAMES)
+ set(DOXYGEN_ALLOW_UNICODE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_LANGUAGE)
+ set(DOXYGEN_OUTPUT_LANGUAGE English)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_TEXT_DIRECTION)
+ set(DOXYGEN_OUTPUT_TEXT_DIRECTION None)
+endif()
+if(NOT DEFINED DOXYGEN_BRIEF_MEMBER_DESC)
+ set(DOXYGEN_BRIEF_MEMBER_DESC YES)
+endif()
+if(NOT DEFINED DOXYGEN_REPEAT_BRIEF)
+ set(DOXYGEN_REPEAT_BRIEF YES)
+endif()
+if(NOT DEFINED DOXYGEN_ABBREVIATE_BRIEF)
+ set(DOXYGEN_ABBREVIATE_BRIEF "The $name class"
+ "The $name widget"
+ "The $name file"
+ is
+ provides
+ specifies
+ contains
+ represents
+ a
+ an
+ the)
+endif()
+if(NOT DEFINED DOXYGEN_ALWAYS_DETAILED_SEC)
+ set(DOXYGEN_ALWAYS_DETAILED_SEC NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INHERITED_MEMB)
+ set(DOXYGEN_INLINE_INHERITED_MEMB NO)
+endif()
+if(NOT DEFINED DOXYGEN_FULL_PATH_NAMES)
+ set(DOXYGEN_FULL_PATH_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHORT_NAMES)
+ set(DOXYGEN_SHORT_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_AUTOBRIEF)
+ set(DOXYGEN_JAVADOC_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_BANNER)
+ set(DOXYGEN_JAVADOC_BANNER NO)
+endif()
+if(NOT DEFINED DOXYGEN_QT_AUTOBRIEF)
+ set(DOXYGEN_QT_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_MULTILINE_CPP_IS_BRIEF)
+ set(DOXYGEN_MULTILINE_CPP_IS_BRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_INHERIT_DOCS)
+ set(DOXYGEN_INHERIT_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SEPARATE_MEMBER_PAGES)
+ set(DOXYGEN_SEPARATE_MEMBER_PAGES NO)
+endif()
+if(NOT DEFINED DOXYGEN_TAB_SIZE)
+ set(DOXYGEN_TAB_SIZE 4)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_FOR_C)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_FOR_C NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_JAVA)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_JAVA NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_FOR_FORTRAN)
+ set(DOXYGEN_OPTIMIZE_FOR_FORTRAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_VHDL)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_VHDL NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_SLICE)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_SLICE NO)
+endif()
+if(NOT DEFINED DOXYGEN_MARKDOWN_SUPPORT)
+ set(DOXYGEN_MARKDOWN_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_INCLUDE_HEADINGS)
+ set(DOXYGEN_TOC_INCLUDE_HEADINGS 5)
+endif()
+if(NOT DEFINED DOXYGEN_AUTOLINK_SUPPORT)
+ set(DOXYGEN_AUTOLINK_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_BUILTIN_STL_SUPPORT)
+ set(DOXYGEN_BUILTIN_STL_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_CPP_CLI_SUPPORT)
+ set(DOXYGEN_CPP_CLI_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_SIP_SUPPORT)
+ set(DOXYGEN_SIP_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_IDL_PROPERTY_SUPPORT)
+ set(DOXYGEN_IDL_PROPERTY_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DISTRIBUTE_GROUP_DOC)
+ set(DOXYGEN_DISTRIBUTE_GROUP_DOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_NESTED_COMPOUNDS)
+ set(DOXYGEN_GROUP_NESTED_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SUBGROUPING)
+ set(DOXYGEN_SUBGROUPING YES)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_GROUPED_CLASSES)
+ set(DOXYGEN_INLINE_GROUPED_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SIMPLE_STRUCTS)
+ set(DOXYGEN_INLINE_SIMPLE_STRUCTS NO)
+endif()
+if(NOT DEFINED DOXYGEN_TYPEDEF_HIDES_STRUCT)
+ set(DOXYGEN_TYPEDEF_HIDES_STRUCT NO)
+endif()
+if(NOT DEFINED DOXYGEN_LOOKUP_CACHE_SIZE)
+ set(DOXYGEN_LOOKUP_CACHE_SIZE 0)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ALL)
+ set(DOXYGEN_EXTRACT_ALL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIVATE)
+ set(DOXYGEN_EXTRACT_PRIVATE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIV_VIRTUAL)
+ set(DOXYGEN_EXTRACT_PRIV_VIRTUAL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PACKAGE)
+ set(DOXYGEN_EXTRACT_PACKAGE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_STATIC)
+ set(DOXYGEN_EXTRACT_STATIC NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_CLASSES)
+ set(DOXYGEN_EXTRACT_LOCAL_CLASSES YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_METHODS)
+ set(DOXYGEN_EXTRACT_LOCAL_METHODS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ANON_NSPACES)
+ set(DOXYGEN_EXTRACT_ANON_NSPACES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_MEMBERS)
+ set(DOXYGEN_HIDE_UNDOC_MEMBERS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_CLASSES)
+ set(DOXYGEN_HIDE_UNDOC_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_FRIEND_COMPOUNDS)
+ set(DOXYGEN_HIDE_FRIEND_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_IN_BODY_DOCS)
+ set(DOXYGEN_HIDE_IN_BODY_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INTERNAL_DOCS)
+ set(DOXYGEN_INTERNAL_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_CASE_SENSE_NAMES)
+ set(DOXYGEN_CASE_SENSE_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_SCOPE_NAMES)
+ set(DOXYGEN_HIDE_SCOPE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_COMPOUND_REFERENCE)
+ set(DOXYGEN_HIDE_COMPOUND_REFERENCE NO)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_INCLUDE_FILES)
+ set(DOXYGEN_SHOW_INCLUDE_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_GROUPED_MEMB_INC)
+ set(DOXYGEN_SHOW_GROUPED_MEMB_INC NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORCE_LOCAL_INCLUDES)
+ set(DOXYGEN_FORCE_LOCAL_INCLUDES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INFO)
+ set(DOXYGEN_INLINE_INFO YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBER_DOCS)
+ set(DOXYGEN_SORT_MEMBER_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BRIEF_DOCS)
+ set(DOXYGEN_SORT_BRIEF_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBERS_CTORS_1ST)
+ set(DOXYGEN_SORT_MEMBERS_CTORS_1ST NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_GROUP_NAMES)
+ set(DOXYGEN_SORT_GROUP_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BY_SCOPE_NAME)
+ set(DOXYGEN_SORT_BY_SCOPE_NAME NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRICT_PROTO_MATCHING)
+ set(DOXYGEN_STRICT_PROTO_MATCHING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TODOLIST)
+ set(DOXYGEN_GENERATE_TODOLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TESTLIST)
+ set(DOXYGEN_GENERATE_TESTLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_BUGLIST)
+ set(DOXYGEN_GENERATE_BUGLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DEPRECATEDLIST)
+ set(DOXYGEN_GENERATE_DEPRECATEDLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_INITIALIZER_LINES)
+ set(DOXYGEN_MAX_INITIALIZER_LINES 30)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_USED_FILES)
+ set(DOXYGEN_SHOW_USED_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_FILES)
+ set(DOXYGEN_SHOW_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_NAMESPACES)
+ set(DOXYGEN_SHOW_NAMESPACES YES)
+endif()
+if(NOT DEFINED DOXYGEN_QUIET)
+ set(DOXYGEN_QUIET NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARNINGS)
+ set(DOXYGEN_WARNINGS YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_UNDOCUMENTED)
+ set(DOXYGEN_WARN_IF_UNDOCUMENTED YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_DOC_ERROR)
+ set(DOXYGEN_WARN_IF_DOC_ERROR YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_NO_PARAMDOC)
+ set(DOXYGEN_WARN_NO_PARAMDOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_AS_ERROR)
+ set(DOXYGEN_WARN_AS_ERROR NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_FORMAT)
+ set(DOXYGEN_WARN_FORMAT "$file:$line: $text")
+endif()
+if(NOT DEFINED DOXYGEN_INPUT_ENCODING)
+ set(DOXYGEN_INPUT_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_FILE_PATTERNS)
+ set(DOXYGEN_FILE_PATTERNS *.c
+ *.cc
+ *.cxx
+ *.cpp
+ *.c++
+ *.java
+ *.ii
+ *.ixx
+ *.ipp
+ *.i++
+ *.inl
+ *.idl
+ *.ddl
+ *.odl
+ *.h
+ *.hh
+ *.hxx
+ *.hpp
+ *.h++
+ *.cs
+ *.d
+ *.php
+ *.php4
+ *.php5
+ *.phtml
+ *.inc
+ *.m
+ *.markdown
+ *.md
+ *.mm
+ *.dox
+ *.doc
+ *.txt
+ *.py
+ *.pyw
+ *.f90
+ *.f95
+ *.f03
+ *.f08
+ *.f
+ *.for
+ *.tcl
+ *.vhd
+ *.vhdl
+ *.ucf
+ *.qsf
+ *.ice)
+endif()
+if(NOT DEFINED DOXYGEN_RECURSIVE)
+ set(DOXYGEN_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXCLUDE_SYMLINKS)
+ set(DOXYGEN_EXCLUDE_SYMLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_PATTERNS)
+ set(DOXYGEN_EXAMPLE_PATTERNS *)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_RECURSIVE)
+ set(DOXYGEN_EXAMPLE_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_FILTER_SOURCE_FILES)
+ set(DOXYGEN_FILTER_SOURCE_FILES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_BROWSER)
+ set(DOXYGEN_SOURCE_BROWSER NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SOURCES)
+ set(DOXYGEN_INLINE_SOURCES NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRIP_CODE_COMMENTS)
+ set(DOXYGEN_STRIP_CODE_COMMENTS YES)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCED_BY_RELATION)
+ set(DOXYGEN_REFERENCED_BY_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_RELATION)
+ set(DOXYGEN_REFERENCES_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_LINK_SOURCE)
+ set(DOXYGEN_REFERENCES_LINK_SOURCE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_TOOLTIPS)
+ set(DOXYGEN_SOURCE_TOOLTIPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_HTAGS)
+ set(DOXYGEN_USE_HTAGS NO)
+endif()
+if(NOT DEFINED DOXYGEN_VERBATIM_HEADERS)
+ set(DOXYGEN_VERBATIM_HEADERS YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLANG_ASSISTED_PARSING)
+ set(DOXYGEN_CLANG_ASSISTED_PARSING NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALPHABETICAL_INDEX)
+ set(DOXYGEN_ALPHABETICAL_INDEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLS_IN_ALPHA_INDEX)
+ set(DOXYGEN_COLS_IN_ALPHA_INDEX 5)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTML)
+ set(DOXYGEN_GENERATE_HTML YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_OUTPUT)
+ set(DOXYGEN_HTML_OUTPUT html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_FILE_EXTENSION)
+ set(DOXYGEN_HTML_FILE_EXTENSION .html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_HUE)
+ set(DOXYGEN_HTML_COLORSTYLE_HUE 220)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_SAT)
+ set(DOXYGEN_HTML_COLORSTYLE_SAT 100)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_GAMMA)
+ set(DOXYGEN_HTML_COLORSTYLE_GAMMA 80)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_TIMESTAMP)
+ set(DOXYGEN_HTML_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_MENUS)
+ set(DOXYGEN_HTML_DYNAMIC_MENUS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_SECTIONS)
+ set(DOXYGEN_HTML_DYNAMIC_SECTIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_INDEX_NUM_ENTRIES)
+ set(DOXYGEN_HTML_INDEX_NUM_ENTRIES 100)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCSET)
+ set(DOXYGEN_GENERATE_DOCSET NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_FEEDNAME)
+ set(DOXYGEN_DOCSET_FEEDNAME "Doxygen generated docs")
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_BUNDLE_ID)
+ set(DOXYGEN_DOCSET_BUNDLE_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_ID)
+ set(DOXYGEN_DOCSET_PUBLISHER_ID org.doxygen.Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_NAME)
+ set(DOXYGEN_DOCSET_PUBLISHER_NAME Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTMLHELP)
+ set(DOXYGEN_GENERATE_HTMLHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_CHI)
+ set(DOXYGEN_GENERATE_CHI NO)
+endif()
+if(NOT DEFINED DOXYGEN_BINARY_TOC)
+ set(DOXYGEN_BINARY_TOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_EXPAND)
+ set(DOXYGEN_TOC_EXPAND NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_QHP)
+ set(DOXYGEN_GENERATE_QHP NO)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_NAMESPACE)
+ set(DOXYGEN_QHP_NAMESPACE org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_VIRTUAL_FOLDER)
+ set(DOXYGEN_QHP_VIRTUAL_FOLDER doc)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_ECLIPSEHELP)
+ set(DOXYGEN_GENERATE_ECLIPSEHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_ECLIPSE_DOC_ID)
+ set(DOXYGEN_ECLIPSE_DOC_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DISABLE_INDEX)
+ set(DOXYGEN_DISABLE_INDEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TREEVIEW)
+ set(DOXYGEN_GENERATE_TREEVIEW NO)
+endif()
+if(NOT DEFINED DOXYGEN_ENUM_VALUES_PER_LINE)
+ set(DOXYGEN_ENUM_VALUES_PER_LINE 4)
+endif()
+if(NOT DEFINED DOXYGEN_TREEVIEW_WIDTH)
+ set(DOXYGEN_TREEVIEW_WIDTH 250)
+endif()
+if(NOT DEFINED DOXYGEN_EXT_LINKS_IN_WINDOW)
+ set(DOXYGEN_EXT_LINKS_IN_WINDOW NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_FONTSIZE)
+ set(DOXYGEN_FORMULA_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_TRANSPARENT)
+ set(DOXYGEN_FORMULA_TRANSPARENT YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_MATHJAX)
+ set(DOXYGEN_USE_MATHJAX NO)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_FORMAT)
+ set(DOXYGEN_MATHJAX_FORMAT HTML-CSS)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_RELPATH)
+ set(DOXYGEN_MATHJAX_RELPATH https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHENGINE)
+ set(DOXYGEN_SEARCHENGINE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SERVER_BASED_SEARCH)
+ set(DOXYGEN_SERVER_BASED_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_SEARCH)
+ set(DOXYGEN_EXTERNAL_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHDATA_FILE)
+ set(DOXYGEN_SEARCHDATA_FILE searchdata.xml)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LATEX)
+ set(DOXYGEN_GENERATE_LATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_OUTPUT)
+ set(DOXYGEN_LATEX_OUTPUT latex)
+endif()
+if(NOT DEFINED DOXYGEN_MAKEINDEX_CMD_NAME)
+ set(DOXYGEN_MAKEINDEX_CMD_NAME makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_MAKEINDEX_CMD)
+ set(DOXYGEN_LATEX_MAKEINDEX_CMD makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_LATEX)
+ set(DOXYGEN_COMPACT_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PAPER_TYPE)
+ set(DOXYGEN_PAPER_TYPE a4)
+endif()
+if(NOT DEFINED DOXYGEN_PDF_HYPERLINKS)
+ set(DOXYGEN_PDF_HYPERLINKS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_PDFLATEX)
+ set(DOXYGEN_USE_PDFLATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BATCHMODE)
+ set(DOXYGEN_LATEX_BATCHMODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_HIDE_INDICES)
+ set(DOXYGEN_LATEX_HIDE_INDICES NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_SOURCE_CODE)
+ set(DOXYGEN_LATEX_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BIB_STYLE)
+ set(DOXYGEN_LATEX_BIB_STYLE plain)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_TIMESTAMP)
+ set(DOXYGEN_LATEX_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_RTF)
+ set(DOXYGEN_GENERATE_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_OUTPUT)
+ set(DOXYGEN_RTF_OUTPUT rtf)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_RTF)
+ set(DOXYGEN_COMPACT_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_HYPERLINKS)
+ set(DOXYGEN_RTF_HYPERLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_SOURCE_CODE)
+ set(DOXYGEN_RTF_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_MAN)
+ set(DOXYGEN_GENERATE_MAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_OUTPUT)
+ set(DOXYGEN_MAN_OUTPUT man)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_EXTENSION)
+ set(DOXYGEN_MAN_EXTENSION .3)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_LINKS)
+ set(DOXYGEN_MAN_LINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_XML)
+ set(DOXYGEN_GENERATE_XML NO)
+endif()
+if(NOT DEFINED DOXYGEN_XML_OUTPUT)
+ set(DOXYGEN_XML_OUTPUT xml)
+endif()
+if(NOT DEFINED DOXYGEN_XML_PROGRAMLISTING)
+ set(DOXYGEN_XML_PROGRAMLISTING YES)
+endif()
+if(NOT DEFINED DOXYGEN_XML_NS_MEMB_FILE_SCOPE)
+ set(DOXYGEN_XML_NS_MEMB_FILE_SCOPE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCBOOK)
+ set(DOXYGEN_GENERATE_DOCBOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_OUTPUT)
+ set(DOXYGEN_DOCBOOK_OUTPUT docbook)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_PROGRAMLISTING)
+ set(DOXYGEN_DOCBOOK_PROGRAMLISTING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_AUTOGEN_DEF)
+ set(DOXYGEN_GENERATE_AUTOGEN_DEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_PERLMOD)
+ set(DOXYGEN_GENERATE_PERLMOD NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_LATEX)
+ set(DOXYGEN_PERLMOD_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_PRETTY)
+ set(DOXYGEN_PERLMOD_PRETTY YES)
+endif()
+if(NOT DEFINED DOXYGEN_ENABLE_PREPROCESSING)
+ set(DOXYGEN_ENABLE_PREPROCESSING YES)
+endif()
+if(NOT DEFINED DOXYGEN_MACRO_EXPANSION)
+ set(DOXYGEN_MACRO_EXPANSION NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXPAND_ONLY_PREDEF)
+ set(DOXYGEN_EXPAND_ONLY_PREDEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCH_INCLUDES)
+ set(DOXYGEN_SEARCH_INCLUDES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SKIP_FUNCTION_MACROS)
+ set(DOXYGEN_SKIP_FUNCTION_MACROS YES)
+endif()
+if(NOT DEFINED DOXYGEN_ALLEXTERNALS)
+ set(DOXYGEN_ALLEXTERNALS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_GROUPS)
+ set(DOXYGEN_EXTERNAL_GROUPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_PAGES)
+ set(DOXYGEN_EXTERNAL_PAGES YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_DIAGRAMS)
+ set(DOXYGEN_CLASS_DIAGRAMS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_RELATIONS)
+ set(DOXYGEN_HIDE_UNDOC_RELATIONS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HAVE_DOT)
+ set(DOXYGEN_HAVE_DOT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_NUM_THREADS)
+ set(DOXYGEN_DOT_NUM_THREADS 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTNAME)
+ set(DOXYGEN_DOT_FONTNAME Helvetica)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTSIZE)
+ set(DOXYGEN_DOT_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_GRAPH)
+ set(DOXYGEN_CLASS_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLLABORATION_GRAPH)
+ set(DOXYGEN_COLLABORATION_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_GRAPHS)
+ set(DOXYGEN_GROUP_GRAPHS YES)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LOOK)
+ set(DOXYGEN_UML_LOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LIMIT_NUM_FIELDS)
+ set(DOXYGEN_UML_LIMIT_NUM_FIELDS 10)
+endif()
+if(NOT DEFINED DOXYGEN_TEMPLATE_RELATIONS)
+ set(DOXYGEN_TEMPLATE_RELATIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDE_GRAPH)
+ set(DOXYGEN_INCLUDE_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDED_BY_GRAPH)
+ set(DOXYGEN_INCLUDED_BY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_CALL_GRAPH)
+ set(DOXYGEN_CALL_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_CALLER_GRAPH)
+ set(DOXYGEN_CALLER_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_GRAPHICAL_HIERARCHY)
+ set(DOXYGEN_GRAPHICAL_HIERARCHY YES)
+endif()
+if(NOT DEFINED DOXYGEN_DIRECTORY_GRAPH)
+ set(DOXYGEN_DIRECTORY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_IMAGE_FORMAT)
+ set(DOXYGEN_DOT_IMAGE_FORMAT png)
+endif()
+if(NOT DEFINED DOXYGEN_INTERACTIVE_SVG)
+ set(DOXYGEN_INTERACTIVE_SVG NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_GRAPH_MAX_NODES)
+ set(DOXYGEN_DOT_GRAPH_MAX_NODES 50)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_DOT_GRAPH_DEPTH)
+ set(DOXYGEN_MAX_DOT_GRAPH_DEPTH 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_TRANSPARENT)
+ set(DOXYGEN_DOT_TRANSPARENT NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_MULTI_TARGETS)
+ set(DOXYGEN_DOT_MULTI_TARGETS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LEGEND)
+ set(DOXYGEN_GENERATE_LEGEND YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_CLEANUP)
+ set(DOXYGEN_DOT_CLEANUP YES)
+endif()
diff --git a/wait-die/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake b/wait-die/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
new file mode 100644
index 00000000..278ef39e
--- /dev/null
+++ b/wait-die/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
@@ -0,0 +1,88 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "9.4.0")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
+set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
+
+set(CMAKE_CXX_PLATFORM_ID "Linux")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+
+foreach (lang C OBJC OBJCXX)
+ if (CMAKE_${lang}_COMPILER_ID_RUN)
+ foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
+ list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
+ endforeach()
+ endif()
+endforeach()
+
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "ELF")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/wait-die/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin b/wait-die/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin
new file mode 100755
index 00000000..156cfcfc
Binary files /dev/null and b/wait-die/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin differ
diff --git a/wait-die/build/CMakeFiles/3.17.0/CMakeSystem.cmake b/wait-die/build/CMakeFiles/3.17.0/CMakeSystem.cmake
new file mode 100644
index 00000000..0fd1f759
--- /dev/null
+++ b/wait-die/build/CMakeFiles/3.17.0/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/wait-die/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp b/wait-die/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
new file mode 100644
index 00000000..69cfdba6
--- /dev/null
+++ b/wait-die/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
@@ -0,0 +1,660 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+ recognize the extension without flags. Borland does not know .cxx for
+ example. */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+ /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+ /* __SUNPRO_CC = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+ /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+ /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__) || defined(__GNUG__)
+# define COMPILER_ID "GNU"
+# if defined(__GNUC__)
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# else
+# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
+# if defined(__INTEL_CXX11_MODE__)
+# if defined(__cpp_aggregate_nsdmi)
+# define CXX_STD 201402L
+# else
+# define CXX_STD 201103L
+# endif
+# else
+# define CXX_STD 199711L
+# endif
+#elif defined(_MSC_VER) && defined(_MSVC_LANG)
+# define CXX_STD _MSVC_LANG
+#else
+# define CXX_STD __cplusplus
+#endif
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if CXX_STD > 201703L
+ "20"
+#elif CXX_STD >= 201703L
+ "17"
+#elif CXX_STD >= 201402L
+ "14"
+#elif CXX_STD >= 201103L
+ "11"
+#else
+ "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
diff --git a/wait-die/build/CMakeFiles/CMakeError.log b/wait-die/build/CMakeFiles/CMakeError.log
new file mode 100644
index 00000000..20e2f601
--- /dev/null
+++ b/wait-die/build/CMakeFiles/CMakeError.log
@@ -0,0 +1,50 @@
+Performing C++ SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output:
+Change Dir: /home/tngngn/ccbench/wait-die/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_1d38b && [1/2] Building CXX object CMakeFiles/cmTC_1d38b.dir/src.cxx.o
+[2/2] Linking CXX executable cmTC_1d38b
+FAILED: cmTC_1d38b
+: && /usr/bin/c++ -DCMAKE_HAVE_LIBC_PTHREAD CMakeFiles/cmTC_1d38b.dir/src.cxx.o -o cmTC_1d38b && :
+/usr/bin/ld: CMakeFiles/cmTC_1d38b.dir/src.cxx.o: in function `main':
+src.cxx:(.text+0x46): undefined reference to `pthread_create'
+/usr/bin/ld: src.cxx:(.text+0x52): undefined reference to `pthread_detach'
+/usr/bin/ld: src.cxx:(.text+0x5e): undefined reference to `pthread_cancel'
+/usr/bin/ld: src.cxx:(.text+0x6f): undefined reference to `pthread_join'
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+Source file was:
+#include
+
+void* test_func(void* data)
+{
+ return data;
+}
+
+int main(void)
+{
+ pthread_t thread;
+ pthread_create(&thread, NULL, test_func, NULL);
+ pthread_detach(thread);
+ pthread_cancel(thread);
+ pthread_join(thread, NULL);
+ pthread_atfork(NULL, NULL, NULL);
+ pthread_exit(NULL);
+
+ return 0;
+}
+
+Determining if the function pthread_create exists in the pthreads failed with the following output:
+Change Dir: /home/tngngn/ccbench/wait-die/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_f5b6b && [1/2] Building CXX object CMakeFiles/cmTC_f5b6b.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_f5b6b
+FAILED: cmTC_f5b6b
+: && /usr/bin/c++ -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_f5b6b.dir/CheckFunctionExists.cxx.o -o cmTC_f5b6b -lpthreads && :
+/usr/bin/ld: -lpthreads が見つかりません
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+
diff --git a/wait-die/build/CMakeFiles/CMakeOutput.log b/wait-die/build/CMakeFiles/CMakeOutput.log
new file mode 100644
index 00000000..04fef894
--- /dev/null
+++ b/wait-die/build/CMakeFiles/CMakeOutput.log
@@ -0,0 +1,235 @@
+The system is: Linux - 5.4.0-113-generic - x86_64
+Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
+Compiler: /usr/bin/c++
+Build flags:
+Id flags:
+
+The output was:
+0
+
+
+Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
+
+The CXX compiler identification is GNU, found in "/home/tngngn/ccbench/wait-die/build/CMakeFiles/3.17.0/CompilerIdCXX/a.out"
+
+Determining if the CXX compiler works passed with the following output:
+Change Dir: /home/tngngn/ccbench/wait-die/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_f7e15 && [1/2] Building CXX object CMakeFiles/cmTC_f7e15.dir/testCXXCompiler.cxx.o
+[2/2] Linking CXX executable cmTC_f7e15
+
+
+
+Detecting CXX compiler ABI info compiled with the following output:
+Change Dir: /home/tngngn/ccbench/wait-die/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_158a9 && [1/2] Building CXX object CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccTPEbMb.s
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"
+ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
+#include "..." search starts here:
+#include <...> search starts here:
+ /usr/include/c++/9
+ /usr/include/x86_64-linux-gnu/c++/9
+ /usr/include/c++/9/backward
+ /usr/lib/gcc/x86_64-linux-gnu/9/include
+ /usr/local/include
+ /usr/include/x86_64-linux-gnu
+ /usr/include
+End of search list.
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ as -v --64 -o CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccTPEbMb.s
+GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+[2/2] Linking CXX executable cmTC_158a9
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_158a9' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cc9RDLhy.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_158a9 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_158a9' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+
+
+
+Parsed CXX implicit include dir info from above output: rv=done
+ found start of include info
+ found start of implicit include info
+ add: [/usr/include/c++/9]
+ add: [/usr/include/x86_64-linux-gnu/c++/9]
+ add: [/usr/include/c++/9/backward]
+ add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ add: [/usr/local/include]
+ add: [/usr/include/x86_64-linux-gnu]
+ add: [/usr/include]
+ end of search list found
+ collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9]
+ collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9]
+ collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward]
+ collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ collapse include dir [/usr/local/include] ==> [/usr/local/include]
+ collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
+ collapse include dir [/usr/include] ==> [/usr/include]
+ implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
+
+
+Parsed CXX implicit link information from above output:
+ link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+ ignore line: [Change Dir: /home/tngngn/ccbench/wait-die/build/CMakeFiles/CMakeTmp]
+ ignore line: []
+ ignore line: [Run Build Command(s):/usr/local/bin/ninja cmTC_158a9 && [1/2] Building CXX object CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccTPEbMb.s]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"]
+ ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
+ ignore line: [#include "..." search starts here:]
+ ignore line: [#include <...> search starts here:]
+ ignore line: [ /usr/include/c++/9]
+ ignore line: [ /usr/include/x86_64-linux-gnu/c++/9]
+ ignore line: [ /usr/include/c++/9/backward]
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
+ ignore line: [ /usr/local/include]
+ ignore line: [ /usr/include/x86_64-linux-gnu]
+ ignore line: [ /usr/include]
+ ignore line: [End of search list.]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ as -v --64 -o CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccTPEbMb.s]
+ ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [[2/2] Linking CXX executable cmTC_158a9]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_158a9' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cc9RDLhy.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_158a9 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
+ arg [-plugin] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
+ arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
+ arg [-plugin-opt=-fresolution=/tmp/cc9RDLhy.res] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [--build-id] ==> ignore
+ arg [--eh-frame-hdr] ==> ignore
+ arg [-m] ==> ignore
+ arg [elf_x86_64] ==> ignore
+ arg [--hash-style=gnu] ==> ignore
+ arg [--as-needed] ==> ignore
+ arg [-dynamic-linker] ==> ignore
+ arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+ arg [-pie] ==> ignore
+ arg [-znow] ==> ignore
+ arg [-zrelro] ==> ignore
+ arg [-o] ==> ignore
+ arg [cmTC_158a9] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
+ arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+ arg [-L/lib/../lib] ==> dir [/lib/../lib]
+ arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+ arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
+ arg [CMakeFiles/cmTC_158a9.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+ arg [-lstdc++] ==> lib [stdc++]
+ arg [-lm] ==> lib [m]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [-lc] ==> lib [c]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
+ collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+ collapse library dir [/lib/../lib] ==> [/lib]
+ collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
+ implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
+ implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+ implicit fwks: []
+
+
+Determining if the include file pthread.h exists passed with the following output:
+Change Dir: /home/tngngn/ccbench/wait-die/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_457bd && [1/2] Building CXX object CMakeFiles/cmTC_457bd.dir/CheckIncludeFile.cxx.o
+[2/2] Linking CXX executable cmTC_457bd
+
+
+
+Determining if the function pthread_create exists in the pthread passed with the following output:
+Change Dir: /home/tngngn/ccbench/wait-die/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_fe26e && [1/2] Building CXX object CMakeFiles/cmTC_fe26e.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_fe26e
+
+
+
diff --git a/wait-die/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx b/wait-die/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
new file mode 100644
index 00000000..13435e07
--- /dev/null
+++ b/wait-die/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
@@ -0,0 +1,28 @@
+#ifdef CHECK_FUNCTION_EXISTS
+
+# ifdef __cplusplus
+extern "C"
+# endif
+ char
+ CHECK_FUNCTION_EXISTS(void);
+# ifdef __CLASSIC_C__
+int main()
+{
+ int ac;
+ char* av[];
+# else
+int main(int ac, char* av[])
+{
+# endif
+ CHECK_FUNCTION_EXISTS();
+ if (ac > 1000) {
+ return *av[0];
+ }
+ return 0;
+}
+
+#else /* CHECK_FUNCTION_EXISTS */
+
+# error "CHECK_FUNCTION_EXISTS has to specify the function"
+
+#endif /* CHECK_FUNCTION_EXISTS */
diff --git a/wait-die/build/CMakeFiles/TargetDirectories.txt b/wait-die/build/CMakeFiles/TargetDirectories.txt
new file mode 100644
index 00000000..b954d225
--- /dev/null
+++ b/wait-die/build/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,8 @@
+/home/tngngn/ccbench/wait-die/build/CMakeFiles/rebuild_cache.dir
+/home/tngngn/ccbench/wait-die/build/CMakeFiles/edit_cache.dir
+/home/tngngn/ccbench/wait-die/build/CMakeFiles/test.dir
+/home/tngngn/ccbench/wait-die/build/CMakeFiles/ss2pl.exe.dir
+/home/tngngn/ccbench/wait-die/build/test/CMakeFiles/rebuild_cache.dir
+/home/tngngn/ccbench/wait-die/build/test/CMakeFiles/edit_cache.dir
+/home/tngngn/ccbench/wait-die/build/test/CMakeFiles/test.dir
+/home/tngngn/ccbench/wait-die/build/test/CMakeFiles/make_db_test.dir
diff --git a/wait-die/build/CMakeFiles/cmake.check_cache b/wait-die/build/CMakeFiles/cmake.check_cache
new file mode 100644
index 00000000..3dccd731
--- /dev/null
+++ b/wait-die/build/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/wait-die/build/CTestTestfile.cmake b/wait-die/build/CTestTestfile.cmake
new file mode 100644
index 00000000..8465cb15
--- /dev/null
+++ b/wait-die/build/CTestTestfile.cmake
@@ -0,0 +1,7 @@
+# CMake generated Testfile for
+# Source directory: /home/tngngn/ccbench/wait-die
+# Build directory: /home/tngngn/ccbench/wait-die/build
+#
+# This file includes the relevant testing commands required for
+# testing this directory and lists subdirectories to be tested as well.
+subdirs("test")
diff --git a/wait-die/build/build.ninja b/wait-die/build/build.ninja
new file mode 100644
index 00000000..e881b0fe
--- /dev/null
+++ b/wait-die/build/build.ninja
@@ -0,0 +1,308 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the build statements describing the
+# compilation DAG.
+
+# =============================================================================
+# Write statements declared in CMakeLists.txt:
+#
+# Which is the root file.
+# =============================================================================
+
+# =============================================================================
+# Project: ccbench_ss2pl
+# Configurations: Release
+# =============================================================================
+
+#############################################
+# Minimal version of Ninja required by this file
+
+ninja_required_version = 1.5
+
+
+#############################################
+# Set configuration variable for custom commands.
+
+CONFIGURATION = Release
+# =============================================================================
+# Include auxiliary files.
+
+
+#############################################
+# Include rules file.
+
+include rules.ninja
+
+
+#############################################
+# Utility command for rebuild_cache
+
+build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/wait-die/build && /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/wait-die -B/home/tngngn/ccbench/wait-die/build
+ DESC = Running CMake to regenerate build system...
+ pool = console
+ restat = 1
+
+build rebuild_cache: phony CMakeFiles/rebuild_cache.util
+
+
+#############################################
+# Utility command for edit_cache
+
+build CMakeFiles/edit_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/wait-die/build && /usr/local/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+ DESC = No interactive CMake dialog available...
+ restat = 1
+
+build edit_cache: phony CMakeFiles/edit_cache.util
+
+
+#############################################
+# Utility command for test
+
+build CMakeFiles/test.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/wait-die/build && /usr/local/bin/ctest --force-new-ctest-process
+ DESC = Running tests...
+ pool = console
+ restat = 1
+
+build test: phony CMakeFiles/test.util
+
+# =============================================================================
+# Object build statements for EXECUTABLE target ss2pl.exe
+
+
+#############################################
+# Order-only phony target for ss2pl.exe
+
+build cmake_object_order_depends_target_ss2pl.exe_Release: phony || CMakeFiles/ss2pl.exe.dir
+
+build CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o: CXX_COMPILER__ss2pl.2eexe_Release /home/tngngn/ccbench/common/result.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common
+
+build CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o: CXX_COMPILER__ss2pl.2eexe_Release /home/tngngn/ccbench/common/util.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common
+
+build CMakeFiles/ss2pl.exe.dir/result.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../result.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+
+build CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../ss2pl.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+
+build CMakeFiles/ss2pl.exe.dir/transaction.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../transaction.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/transaction.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+
+build CMakeFiles/ss2pl.exe.dir/util.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../util.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+
+
+# =============================================================================
+# Link build statements for EXECUTABLE target ss2pl.exe
+
+
+#############################################
+# Link the executable ss2pl.exe
+
+build ss2pl.exe: CXX_EXECUTABLE_LINKER__ss2pl.2eexe_Release CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o CMakeFiles/ss2pl.exe.dir/result.cc.o CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o CMakeFiles/ss2pl.exe.dir/transaction.cc.o CMakeFiles/ss2pl.exe.dir/util.cc.o | /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a
+ FLAGS = -O3 -DNDEBUG
+ LINK_LIBRARIES = /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a -lpthread
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ POST_BUILD = :
+ PRE_LINK = :
+ TARGET_FILE = ss2pl.exe
+ TARGET_PDB = ss2pl.exe.dbg
+
+# =============================================================================
+# Write statements declared in CMakeLists.txt:
+# /home/tngngn/ccbench/wait-die/CMakeLists.txt
+# =============================================================================
+
+
+#############################################
+# Utility command for rebuild_cache
+
+build test/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/wait-die/build/test && /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/wait-die -B/home/tngngn/ccbench/wait-die/build
+ DESC = Running CMake to regenerate build system...
+ pool = console
+ restat = 1
+
+build test/rebuild_cache: phony test/CMakeFiles/rebuild_cache.util
+
+
+#############################################
+# Utility command for edit_cache
+
+build test/CMakeFiles/edit_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/wait-die/build/test && /usr/local/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+ DESC = No interactive CMake dialog available...
+ restat = 1
+
+build test/edit_cache: phony test/CMakeFiles/edit_cache.util
+
+
+#############################################
+# Utility command for test
+
+build test/CMakeFiles/test.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/wait-die/build/test && /usr/local/bin/ctest --force-new-ctest-process
+ DESC = Running tests...
+ pool = console
+ restat = 1
+
+build test/test: phony test/CMakeFiles/test.util
+
+# =============================================================================
+# Object build statements for EXECUTABLE target make_db_test
+
+
+#############################################
+# Order-only phony target for make_db_test
+
+build cmake_object_order_depends_target_make_db_test_Release: phony || test/CMakeFiles/make_db_test.dir
+
+build test/CMakeFiles/make_db_test.dir/make_db_test.cpp.o: CXX_COMPILER__make_db_test_Release ../test/make_db_test.cpp || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/make_db_test.cpp.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir
+
+build test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/result.cc.o: CXX_COMPILER__make_db_test_Release /home/tngngn/ccbench/common/result.cc || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common
+
+build test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/util.cc.o: CXX_COMPILER__make_db_test_Release /home/tngngn/ccbench/common/util.cc || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common
+
+build test/CMakeFiles/make_db_test.dir/__/result.cc.o: CXX_COMPILER__make_db_test_Release ../result.cc || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/__/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir/__
+
+build test/CMakeFiles/make_db_test.dir/__/transaction.cc.o: CXX_COMPILER__make_db_test_Release ../transaction.cc || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/__/transaction.cc.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir/__
+
+build test/CMakeFiles/make_db_test.dir/__/util.cc.o: CXX_COMPILER__make_db_test_Release ../util.cc || cmake_object_order_depends_target_make_db_test_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = test/CMakeFiles/make_db_test.dir/__/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -Wall -Wextra -Werror -std=c++17
+ INCLUDES = -I../../third_party/googletest/googletest/include
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ OBJECT_FILE_DIR = test/CMakeFiles/make_db_test.dir/__
+
+
+# =============================================================================
+# Link build statements for EXECUTABLE target make_db_test
+
+
+#############################################
+# Link the executable test/make_db_test
+
+build test/make_db_test: CXX_EXECUTABLE_LINKER__make_db_test_Release test/CMakeFiles/make_db_test.dir/make_db_test.cpp.o test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/result.cc.o test/CMakeFiles/make_db_test.dir/home/tngngn/ccbench/common/util.cc.o test/CMakeFiles/make_db_test.dir/__/result.cc.o test/CMakeFiles/make_db_test.dir/__/transaction.cc.o test/CMakeFiles/make_db_test.dir/__/util.cc.o | /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so /usr/lib/x86_64-linux-gnu/libglog.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a ../../third_party/googletest/build/lib/libgtest.a ../../third_party/googletest/build/lib/libgtest_main.a
+ FLAGS = -O3 -DNDEBUG
+ LINK_LIBRARIES = /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so /usr/lib/x86_64-linux-gnu/libglog.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a ../../third_party/googletest/build/lib/libgtest.a ../../third_party/googletest/build/lib/libgtest_main.a -lpthread
+ OBJECT_DIR = test/CMakeFiles/make_db_test.dir
+ POST_BUILD = :
+ PRE_LINK = :
+ TARGET_FILE = test/make_db_test
+ TARGET_PDB = make_db_test.dbg
+
+# =============================================================================
+# Target aliases.
+
+build make_db_test: phony test/make_db_test
+
+# =============================================================================
+# Folder targets.
+
+# =============================================================================
+
+#############################################
+# Folder: /home/tngngn/ccbench/wait-die/build
+
+build all: phony ss2pl.exe test/all
+
+# =============================================================================
+
+#############################################
+# Folder: /home/tngngn/ccbench/wait-die/build/test
+
+build test/all: phony test/make_db_test
+
+# =============================================================================
+# Built-in targets
+
+
+#############################################
+# Re-run CMake if any of its inputs changed.
+
+build build.ninja: RERUN_CMAKE | ../CMakeLists.txt ../test/CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake
+ pool = console
+
+
+#############################################
+# A missing CMake input file is not an error.
+
+build ../CMakeLists.txt ../test/CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake: phony
+
+
+#############################################
+# Clean all the built files.
+
+build clean: CLEAN
+
+
+#############################################
+# Print all primary targets available.
+
+build help: HELP
+
+
+#############################################
+# Make the all target the default.
+
+default all
diff --git a/wait-die/build/cmake_install.cmake b/wait-die/build/cmake_install.cmake
new file mode 100644
index 00000000..997916cf
--- /dev/null
+++ b/wait-die/build/cmake_install.cmake
@@ -0,0 +1,55 @@
+# Install script for directory: /home/tngngn/ccbench/wait-die
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ if(BUILD_TYPE)
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ else()
+ set(CMAKE_INSTALL_CONFIG_NAME "Release")
+ endif()
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+ if(COMPONENT)
+ message(STATUS "Install component: \"${COMPONENT}\"")
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ else()
+ set(CMAKE_INSTALL_COMPONENT)
+ endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+if(NOT CMAKE_INSTALL_LOCAL_ONLY)
+ # Include the install script for each subdirectory.
+ include("/home/tngngn/ccbench/wait-die/build/test/cmake_install.cmake")
+
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+ set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+else()
+ set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+ "${CMAKE_INSTALL_MANIFEST_FILES}")
+file(WRITE "/home/tngngn/ccbench/wait-die/build/${CMAKE_INSTALL_MANIFEST}"
+ "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/wait-die/build/rules.ninja b/wait-die/build/rules.ninja
new file mode 100644
index 00000000..e07442a1
--- /dev/null
+++ b/wait-die/build/rules.ninja
@@ -0,0 +1,83 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the rules used to get the outputs files
+# built from the input files.
+# It is included in the main 'build.ninja'.
+
+# =============================================================================
+# Project: ccbench_ss2pl
+# Configurations: Release
+# =============================================================================
+# =============================================================================
+
+#############################################
+# Rule for running custom commands.
+
+rule CUSTOM_COMMAND
+ command = $COMMAND
+ description = $DESC
+
+
+#############################################
+# Rule for compiling CXX files.
+
+rule CXX_COMPILER__ss2pl.2eexe_Release
+ depfile = $DEP_FILE
+ deps = gcc
+ command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
+ description = Building CXX object $out
+
+
+#############################################
+# Rule for linking CXX executable.
+
+rule CXX_EXECUTABLE_LINKER__ss2pl.2eexe_Release
+ command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD
+ description = Linking CXX executable $TARGET_FILE
+ restat = $RESTAT
+
+
+#############################################
+# Rule for compiling CXX files.
+
+rule CXX_COMPILER__make_db_test_Release
+ depfile = $DEP_FILE
+ deps = gcc
+ command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
+ description = Building CXX object $out
+
+
+#############################################
+# Rule for linking CXX executable.
+
+rule CXX_EXECUTABLE_LINKER__make_db_test_Release
+ command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD
+ description = Linking CXX executable $TARGET_FILE
+ restat = $RESTAT
+
+
+#############################################
+# Rule for re-running cmake.
+
+rule RERUN_CMAKE
+ command = /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/wait-die -B/home/tngngn/ccbench/wait-die/build
+ description = Re-running CMake...
+ generator = 1
+
+
+#############################################
+# Rule for cleaning all built files.
+
+rule CLEAN
+ command = /usr/local/bin/ninja $FILE_ARG -t clean $TARGETS
+ description = Cleaning all built files...
+
+
+#############################################
+# Rule for printing all primary targets available.
+
+rule HELP
+ command = /usr/local/bin/ninja -t targets
+ description = All primary targets available:
+
diff --git a/wait-die/build/test/CTestTestfile.cmake b/wait-die/build/test/CTestTestfile.cmake
new file mode 100644
index 00000000..0f1e98c5
--- /dev/null
+++ b/wait-die/build/test/CTestTestfile.cmake
@@ -0,0 +1,8 @@
+# CMake generated Testfile for
+# Source directory: /home/tngngn/ccbench/wait-die/test
+# Build directory: /home/tngngn/ccbench/wait-die/build/test
+#
+# This file includes the relevant testing commands required for
+# testing this directory and lists subdirectories to be tested as well.
+add_test(make_db_test "/home/tngngn/ccbench/wait-die/build/test/make_db_test" "--gtest_output=xml:make_db_test_gtest_result.xml")
+set_tests_properties(make_db_test PROPERTIES _BACKTRACE_TRIPLES "/home/tngngn/ccbench/wait-die/test/CMakeLists.txt;72;add_test;/home/tngngn/ccbench/wait-die/test/CMakeLists.txt;0;")
diff --git a/wait-die/build/test/cmake_install.cmake b/wait-die/build/test/cmake_install.cmake
new file mode 100644
index 00000000..0629bae2
--- /dev/null
+++ b/wait-die/build/test/cmake_install.cmake
@@ -0,0 +1,39 @@
+# Install script for directory: /home/tngngn/ccbench/wait-die/test
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ if(BUILD_TYPE)
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ else()
+ set(CMAKE_INSTALL_CONFIG_NAME "Release")
+ endif()
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+ if(COMPONENT)
+ message(STATUS "Install component: \"${COMPONENT}\"")
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ else()
+ set(CMAKE_INSTALL_COMPONENT)
+ endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
diff --git a/wait-die/build/test/make_db_test b/wait-die/build/test/make_db_test
new file mode 100755
index 00000000..d1c85b88
Binary files /dev/null and b/wait-die/build/test/make_db_test differ
diff --git a/wait-die/include/common.hh b/wait-die/include/common.hh
index aa5c94b6..579055ef 100644
--- a/wait-die/include/common.hh
+++ b/wait-die/include/common.hh
@@ -53,3 +53,5 @@ DECLARE_double(zipf_skew);
#endif
alignas(CACHE_LINE_SIZE) GLOBAL Tuple *Table;
+alignas(CACHE_LINE_SIZE) GLOBAL int thread_stats[224];
+alignas(CACHE_LINE_SIZE) GLOBAL int thread_timestamp[224];
diff --git a/wait-die/include/tuple.hh b/wait-die/include/tuple.hh
index 10ee3680..b1cd41eb 100644
--- a/wait-die/include/tuple.hh
+++ b/wait-die/include/tuple.hh
@@ -8,7 +8,6 @@
#include "../../include/rwlock.hh"
using namespace std;
-
#define UNLOCKED INT32_MAX
class Tuple {
@@ -18,4 +17,3 @@ public:
int writer_;
int reader_;
};
-
diff --git a/wound-wait/CMakeLists.txt b/wound-wait/CMakeLists.txt
new file mode 100644
index 00000000..61817a38
--- /dev/null
+++ b/wound-wait/CMakeLists.txt
@@ -0,0 +1,80 @@
+cmake_minimum_required(VERSION 3.10)
+
+project(ccbench_ss2pl
+ VERSION 0.0.1
+ DESCRIPTION "ss2pl of ccbench"
+ LANGUAGES CXX)
+
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../cmake")
+
+option(ENABLE_SANITIZER "enable sanitizer on debug build" ON)
+option(ENABLE_UB_SANITIZER "enable undefined behavior sanitizer on debug build" OFF)
+option(ENABLE_COVERAGE "enable coverage on debug build" OFF)
+
+find_package(Doxygen)
+find_package(Threads REQUIRED)
+find_package(gflags REQUIRED)
+find_package(glog REQUIRED)
+find_package(Boost
+ COMPONENTS filesystem)
+
+include(GNUInstallDirs)
+include(CMakePackageConfigHelpers)
+include(CompileOptions)
+
+file(GLOB ERMIA_SOURCES
+ "../common/result.cc"
+ "../common/util.cc"
+ "ss2pl.cc"
+ "result.cc"
+ "transaction.cc"
+ "util.cc"
+ )
+
+add_executable(ss2pl.exe ${ERMIA_SOURCES})
+
+target_link_libraries(ss2pl.exe
+ Boost::filesystem
+ gflags::gflags
+ ${PROJECT_SOURCE_DIR}/../third_party/mimalloc/out/release/libmimalloc.a
+ ${PROJECT_SOURCE_DIR}/../third_party/masstree/libkohler_masstree_json.a
+ Threads::Threads
+ )
+
+if (DEFINED ADD_ANALYSIS)
+ add_definitions(-DADD_ANALYSIS=${ADD_ANALYSIS})
+else ()
+ add_definitions(-DADD_ANALYSIS=0)
+endif ()
+
+if (DEFINED BACK_OFF)
+ add_definitions(-DBACK_OFF=${BACK_OFF})
+else ()
+ add_definitions(-DBACK_OFF=0)
+endif ()
+
+add_definitions(-DDLR1)
+
+if (DEFINED KEY_SIZE)
+ add_definitions(-DKEY_SIZE=${KEY_SIZE})
+else ()
+ add_definitions(-DKEY_SIZE=8)
+endif ()
+
+if (DEFINED KEY_SORT)
+ add_definitions(-DKEY_SORT=${KEY_SORT})
+else ()
+ add_definitions(-DKEY_SORT=0)
+endif ()
+
+if (DEFINED MASSTREE_USE)
+ add_definitions(-DMASSTREE_USE=${MASSTREE_USE})
+else ()
+ add_definitions(-DMASSTREE_USE=1)
+endif ()
+
+if (DEFINED VAL_SIZE)
+ add_definitions(-DVAL_SIZE=${VAL_SIZE})
+else ()
+ add_definitions(-DVAL_SIZE=4)
+endif ()
diff --git a/wound-wait/README.md b/wound-wait/README.md
new file mode 100644
index 00000000..fdbe3c4b
--- /dev/null
+++ b/wound-wait/README.md
@@ -0,0 +1,50 @@
+# 2PL
+
+## How to use
+- Build masstree in ccbench directory
+```
+$ ./build_tools/bootstrap.sh
+```
+This makes ccbench/third_party/masstree/libkohler_masstree_json.a used by building ss2pl.
+- Build mimalloc in ccbench directory
+```
+$ ./build_tools/bootstrap_mimalloc.sh
+```
+This makes ../third_party/mimalloc/out/release/libmimalloc.a used by building ss2pl.
+- Build
+```
+$ mkdir build
+$ cd build
+$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
+$ ninja
+```
+- Confirm usage
+```
+$ ./ss2pl.exe -help
+```
+- Execution example
+```
+$ numactl --interleave=all ./ss2pl.exe -clocks_per_us=2100 -extime=3 -max_ope=10 -rmw=0 -rratio=100 -thread_num=224 -tuple_num=1000000 -ycsb=1 -zipf_skew=0
+```
+
+## How to customize options in CMakeLists.txt
+- `ADD_ANALYSIS` : If this is 1, it is deeper analysis than setting 0.
+default : `0`
+- `BACK_OFF` : If this is 1, it use Cicada's backoff.
+default : `0`
+- `KEY_SORT` : If this is 1, its transaction accesses records in ascending key order.
+default : `0`
+- `MASSTREE_USE` : If this is 1, it use masstree as data structure. If not, it use simple array αs data structure.
+default : `1`
+- `VAL_SIZE` : Value of key-value size. In other words, payload size.
+default : `4`
+- `DLR0` : Dead lock resolution is timeout.
+- `DLR1` : Dead lock resolution is no-wait.
+
+## Optimizations
+- Backoff.
+- Timeout of dead lock resolution.
+- No-wait of dead lock resolution.
+
+## Implementation
+- Lock : reader/writer lock
diff --git a/wound-wait/build/.ninja_deps b/wound-wait/build/.ninja_deps
new file mode 100644
index 00000000..46df5f94
Binary files /dev/null and b/wound-wait/build/.ninja_deps differ
diff --git a/wound-wait/build/.ninja_log b/wound-wait/build/.ninja_log
new file mode 100644
index 00000000..aee719cb
--- /dev/null
+++ b/wound-wait/build/.ninja_log
@@ -0,0 +1,8 @@
+# ninja log v5
+0 435 1673113065435513569 CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o cb094bc7f3f6c775
+1 710 1673113065707510223 CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o f95633baccc8a3ed
+1 863 1673113065863508303 CMakeFiles/ss2pl.exe.dir/result.cc.o 851e6c2fa850bcf5
+2 1352 1673113066351502299 CMakeFiles/ss2pl.exe.dir/transaction.cc.o 57b8653ac41a1255
+2 1428 1673113066427501364 CMakeFiles/ss2pl.exe.dir/util.cc.o c9c2e62e88d9d2c6
+2 1439 1673113066439501216 CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o 788a57bce6d40cdd
+1439 1515 1673113066515500281 ss2pl.exe eee19cd8572392e1
diff --git a/wound-wait/build/CMakeCache.txt b/wound-wait/build/CMakeCache.txt
new file mode 100644
index 00000000..80f6c3bf
--- /dev/null
+++ b/wound-wait/build/CMakeCache.txt
@@ -0,0 +1,473 @@
+# This is the CMakeCache file.
+# For build in directory: /home/tngngn/ccbench/wound-wait/build
+# It was generated by CMake: /usr/local/bin/cmake
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//The directory containing a CMake configuration file for Boost.
+Boost_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0
+
+Boost_FILESYSTEM_LIBRARY_RELEASE:STRING=/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0
+
+//Path to a file.
+Boost_INCLUDE_DIR:PATH=/usr/include
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
+
+//Path to a program.
+CMAKE_AR:FILEPATH=/usr/bin/ar
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=Release
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Enable/Disable output of compile commands during generation.
+CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
+
+//User executables (bin)
+CMAKE_INSTALL_BINDIR:PATH=bin
+
+//Read-only architecture-independent data (DATAROOTDIR)
+CMAKE_INSTALL_DATADIR:PATH=
+
+//Read-only architecture-independent data root (share)
+CMAKE_INSTALL_DATAROOTDIR:PATH=share
+
+//Documentation root (DATAROOTDIR/doc/PROJECT_NAME)
+CMAKE_INSTALL_DOCDIR:PATH=
+
+//C header files (include)
+CMAKE_INSTALL_INCLUDEDIR:PATH=include
+
+//Info documentation (DATAROOTDIR/info)
+CMAKE_INSTALL_INFODIR:PATH=
+
+//Object code libraries (lib)
+CMAKE_INSTALL_LIBDIR:PATH=lib
+
+//Program executables (libexec)
+CMAKE_INSTALL_LIBEXECDIR:PATH=libexec
+
+//Locale-dependent data (DATAROOTDIR/locale)
+CMAKE_INSTALL_LOCALEDIR:PATH=
+
+//Modifiable single-machine data (var)
+CMAKE_INSTALL_LOCALSTATEDIR:PATH=var
+
+//Man documentation (DATAROOTDIR/man)
+CMAKE_INSTALL_MANDIR:PATH=
+
+//C header files for non-gcc (/usr/include)
+CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Run-time variable data (LOCALSTATEDIR/run)
+CMAKE_INSTALL_RUNSTATEDIR:PATH=
+
+//System admin executables (sbin)
+CMAKE_INSTALL_SBINDIR:PATH=sbin
+
+//Modifiable architecture-independent data (com)
+CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com
+
+//Read-only single-machine data (etc)
+CMAKE_INSTALL_SYSCONFDIR:PATH=etc
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Program used to build from build.ninja files.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/local/bin/ninja
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=/usr/bin/nm
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=ss2pl of ccbench
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=ccbench_ss2pl
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION:STATIC=0.0.1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MAJOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MINOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_PATCH:STATIC=1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_TWEAK:STATIC=
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=/usr/bin/readelf
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=/usr/bin/strip
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make. This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Dot tool for use with Doxygen
+DOXYGEN_DOT_EXECUTABLE:FILEPATH=/usr/bin/dot
+
+//Doxygen documentation generation tool (http://www.doxygen.org)
+DOXYGEN_EXECUTABLE:FILEPATH=/usr/bin/doxygen
+
+//enable coverage on debug build
+ENABLE_COVERAGE:BOOL=OFF
+
+//enable sanitizer on debug build
+ENABLE_SANITIZER:BOOL=ON
+
+//enable undefined behavior sanitizer on debug build
+ENABLE_UB_SANITIZER:BOOL=OFF
+
+//The directory containing a CMake configuration file for boost_filesystem.
+boost_filesystem_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0
+
+//The directory containing a CMake configuration file for boost_headers.
+boost_headers_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0
+
+//Value Computed by CMake
+ccbench_ss2pl_BINARY_DIR:STATIC=/home/tngngn/ccbench/wound-wait/build
+
+//Value Computed by CMake
+ccbench_ss2pl_SOURCE_DIR:STATIC=/home/tngngn/ccbench/wound-wait
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: Boost_DIR
+Boost_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=/home/tngngn/ccbench/wound-wait/build
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=17
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/local/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/bin/ctest
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
+CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=Ninja
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Test CMAKE_HAVE_LIBC_PTHREAD
+CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=
+//Have library pthreads
+CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
+//Have library pthread
+CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1
+//Have include pthread.h
+CMAKE_HAVE_PTHREAD_H:INTERNAL=1
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/tngngn/ccbench/wound-wait
+//ADVANCED property for variable: CMAKE_INSTALL_BINDIR
+CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATADIR
+CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR
+CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR
+CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR
+CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_INFODIR
+CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR
+CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR
+CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR
+CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR
+CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_MANDIR
+CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR
+CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR
+CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR
+CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR
+CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
+//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR
+CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/local/share/cmake-3.17
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//uname command
+CMAKE_UNAME:INTERNAL=/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE
+DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: DOXYGEN_EXECUTABLE
+DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1
+//Details about finding Boost
+FIND_PACKAGE_MESSAGE_DETAILS_Boost:INTERNAL=[/usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake][cfound components: filesystem ][v1.71.0()]
+//Details about finding Doxygen
+FIND_PACKAGE_MESSAGE_DETAILS_Doxygen:INTERNAL=[/usr/bin/doxygen][cfound components: doxygen dot ][v1.8.17()]
+//Details about finding Threads
+FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
+//Details about finding gflags
+FIND_PACKAGE_MESSAGE_DETAILS_gflags:INTERNAL=[/usr/lib/x86_64-linux-gnu/libgflags.so][/usr/include][v()]
+//Details about finding glog
+FIND_PACKAGE_MESSAGE_DETAILS_glog:INTERNAL=[/usr/lib/x86_64-linux-gnu/libglog.so][/usr/include][v()]
+//CMAKE_INSTALL_PREFIX during last run
+_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local
+//ADVANCED property for variable: boost_filesystem_DIR
+boost_filesystem_DIR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: boost_headers_DIR
+boost_headers_DIR-ADVANCED:INTERNAL=1
+
diff --git a/wound-wait/build/CMakeDoxyfile.in b/wound-wait/build/CMakeDoxyfile.in
new file mode 100644
index 00000000..848a3c81
--- /dev/null
+++ b/wound-wait/build/CMakeDoxyfile.in
@@ -0,0 +1,280 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+DOXYFILE_ENCODING = @DOXYGEN_DOXYFILE_ENCODING@
+PROJECT_NAME = @DOXYGEN_PROJECT_NAME@
+PROJECT_NUMBER = @DOXYGEN_PROJECT_NUMBER@
+PROJECT_BRIEF = @DOXYGEN_PROJECT_BRIEF@
+PROJECT_LOGO = @DOXYGEN_PROJECT_LOGO@
+OUTPUT_DIRECTORY = @DOXYGEN_OUTPUT_DIRECTORY@
+CREATE_SUBDIRS = @DOXYGEN_CREATE_SUBDIRS@
+ALLOW_UNICODE_NAMES = @DOXYGEN_ALLOW_UNICODE_NAMES@
+OUTPUT_LANGUAGE = @DOXYGEN_OUTPUT_LANGUAGE@
+OUTPUT_TEXT_DIRECTION = @DOXYGEN_OUTPUT_TEXT_DIRECTION@
+BRIEF_MEMBER_DESC = @DOXYGEN_BRIEF_MEMBER_DESC@
+REPEAT_BRIEF = @DOXYGEN_REPEAT_BRIEF@
+ABBREVIATE_BRIEF = @DOXYGEN_ABBREVIATE_BRIEF@
+ALWAYS_DETAILED_SEC = @DOXYGEN_ALWAYS_DETAILED_SEC@
+INLINE_INHERITED_MEMB = @DOXYGEN_INLINE_INHERITED_MEMB@
+FULL_PATH_NAMES = @DOXYGEN_FULL_PATH_NAMES@
+STRIP_FROM_PATH = @DOXYGEN_STRIP_FROM_PATH@
+STRIP_FROM_INC_PATH = @DOXYGEN_STRIP_FROM_INC_PATH@
+SHORT_NAMES = @DOXYGEN_SHORT_NAMES@
+JAVADOC_AUTOBRIEF = @DOXYGEN_JAVADOC_AUTOBRIEF@
+JAVADOC_BANNER = @DOXYGEN_JAVADOC_BANNER@
+QT_AUTOBRIEF = @DOXYGEN_QT_AUTOBRIEF@
+MULTILINE_CPP_IS_BRIEF = @DOXYGEN_MULTILINE_CPP_IS_BRIEF@
+INHERIT_DOCS = @DOXYGEN_INHERIT_DOCS@
+SEPARATE_MEMBER_PAGES = @DOXYGEN_SEPARATE_MEMBER_PAGES@
+TAB_SIZE = @DOXYGEN_TAB_SIZE@
+ALIASES = @DOXYGEN_ALIASES@
+TCL_SUBST = @DOXYGEN_TCL_SUBST@
+OPTIMIZE_OUTPUT_FOR_C = @DOXYGEN_OPTIMIZE_OUTPUT_FOR_C@
+OPTIMIZE_OUTPUT_JAVA = @DOXYGEN_OPTIMIZE_OUTPUT_JAVA@
+OPTIMIZE_FOR_FORTRAN = @DOXYGEN_OPTIMIZE_FOR_FORTRAN@
+OPTIMIZE_OUTPUT_VHDL = @DOXYGEN_OPTIMIZE_OUTPUT_VHDL@
+OPTIMIZE_OUTPUT_SLICE = @DOXYGEN_OPTIMIZE_OUTPUT_SLICE@
+EXTENSION_MAPPING = @DOXYGEN_EXTENSION_MAPPING@
+MARKDOWN_SUPPORT = @DOXYGEN_MARKDOWN_SUPPORT@
+TOC_INCLUDE_HEADINGS = @DOXYGEN_TOC_INCLUDE_HEADINGS@
+AUTOLINK_SUPPORT = @DOXYGEN_AUTOLINK_SUPPORT@
+BUILTIN_STL_SUPPORT = @DOXYGEN_BUILTIN_STL_SUPPORT@
+CPP_CLI_SUPPORT = @DOXYGEN_CPP_CLI_SUPPORT@
+SIP_SUPPORT = @DOXYGEN_SIP_SUPPORT@
+IDL_PROPERTY_SUPPORT = @DOXYGEN_IDL_PROPERTY_SUPPORT@
+DISTRIBUTE_GROUP_DOC = @DOXYGEN_DISTRIBUTE_GROUP_DOC@
+GROUP_NESTED_COMPOUNDS = @DOXYGEN_GROUP_NESTED_COMPOUNDS@
+SUBGROUPING = @DOXYGEN_SUBGROUPING@
+INLINE_GROUPED_CLASSES = @DOXYGEN_INLINE_GROUPED_CLASSES@
+INLINE_SIMPLE_STRUCTS = @DOXYGEN_INLINE_SIMPLE_STRUCTS@
+TYPEDEF_HIDES_STRUCT = @DOXYGEN_TYPEDEF_HIDES_STRUCT@
+LOOKUP_CACHE_SIZE = @DOXYGEN_LOOKUP_CACHE_SIZE@
+EXTRACT_ALL = @DOXYGEN_EXTRACT_ALL@
+EXTRACT_PRIVATE = @DOXYGEN_EXTRACT_PRIVATE@
+EXTRACT_PRIV_VIRTUAL = @DOXYGEN_EXTRACT_PRIV_VIRTUAL@
+EXTRACT_PACKAGE = @DOXYGEN_EXTRACT_PACKAGE@
+EXTRACT_STATIC = @DOXYGEN_EXTRACT_STATIC@
+EXTRACT_LOCAL_CLASSES = @DOXYGEN_EXTRACT_LOCAL_CLASSES@
+EXTRACT_LOCAL_METHODS = @DOXYGEN_EXTRACT_LOCAL_METHODS@
+EXTRACT_ANON_NSPACES = @DOXYGEN_EXTRACT_ANON_NSPACES@
+HIDE_UNDOC_MEMBERS = @DOXYGEN_HIDE_UNDOC_MEMBERS@
+HIDE_UNDOC_CLASSES = @DOXYGEN_HIDE_UNDOC_CLASSES@
+HIDE_FRIEND_COMPOUNDS = @DOXYGEN_HIDE_FRIEND_COMPOUNDS@
+HIDE_IN_BODY_DOCS = @DOXYGEN_HIDE_IN_BODY_DOCS@
+INTERNAL_DOCS = @DOXYGEN_INTERNAL_DOCS@
+CASE_SENSE_NAMES = @DOXYGEN_CASE_SENSE_NAMES@
+HIDE_SCOPE_NAMES = @DOXYGEN_HIDE_SCOPE_NAMES@
+HIDE_COMPOUND_REFERENCE= @DOXYGEN_HIDE_COMPOUND_REFERENCE@
+SHOW_INCLUDE_FILES = @DOXYGEN_SHOW_INCLUDE_FILES@
+SHOW_GROUPED_MEMB_INC = @DOXYGEN_SHOW_GROUPED_MEMB_INC@
+FORCE_LOCAL_INCLUDES = @DOXYGEN_FORCE_LOCAL_INCLUDES@
+INLINE_INFO = @DOXYGEN_INLINE_INFO@
+SORT_MEMBER_DOCS = @DOXYGEN_SORT_MEMBER_DOCS@
+SORT_BRIEF_DOCS = @DOXYGEN_SORT_BRIEF_DOCS@
+SORT_MEMBERS_CTORS_1ST = @DOXYGEN_SORT_MEMBERS_CTORS_1ST@
+SORT_GROUP_NAMES = @DOXYGEN_SORT_GROUP_NAMES@
+SORT_BY_SCOPE_NAME = @DOXYGEN_SORT_BY_SCOPE_NAME@
+STRICT_PROTO_MATCHING = @DOXYGEN_STRICT_PROTO_MATCHING@
+GENERATE_TODOLIST = @DOXYGEN_GENERATE_TODOLIST@
+GENERATE_TESTLIST = @DOXYGEN_GENERATE_TESTLIST@
+GENERATE_BUGLIST = @DOXYGEN_GENERATE_BUGLIST@
+GENERATE_DEPRECATEDLIST= @DOXYGEN_GENERATE_DEPRECATEDLIST@
+ENABLED_SECTIONS = @DOXYGEN_ENABLED_SECTIONS@
+MAX_INITIALIZER_LINES = @DOXYGEN_MAX_INITIALIZER_LINES@
+SHOW_USED_FILES = @DOXYGEN_SHOW_USED_FILES@
+SHOW_FILES = @DOXYGEN_SHOW_FILES@
+SHOW_NAMESPACES = @DOXYGEN_SHOW_NAMESPACES@
+FILE_VERSION_FILTER = @DOXYGEN_FILE_VERSION_FILTER@
+LAYOUT_FILE = @DOXYGEN_LAYOUT_FILE@
+CITE_BIB_FILES = @DOXYGEN_CITE_BIB_FILES@
+QUIET = @DOXYGEN_QUIET@
+WARNINGS = @DOXYGEN_WARNINGS@
+WARN_IF_UNDOCUMENTED = @DOXYGEN_WARN_IF_UNDOCUMENTED@
+WARN_IF_DOC_ERROR = @DOXYGEN_WARN_IF_DOC_ERROR@
+WARN_NO_PARAMDOC = @DOXYGEN_WARN_NO_PARAMDOC@
+WARN_AS_ERROR = @DOXYGEN_WARN_AS_ERROR@
+WARN_FORMAT = @DOXYGEN_WARN_FORMAT@
+WARN_LOGFILE = @DOXYGEN_WARN_LOGFILE@
+INPUT = @DOXYGEN_INPUT@
+INPUT_ENCODING = @DOXYGEN_INPUT_ENCODING@
+FILE_PATTERNS = @DOXYGEN_FILE_PATTERNS@
+RECURSIVE = @DOXYGEN_RECURSIVE@
+EXCLUDE = @DOXYGEN_EXCLUDE@
+EXCLUDE_SYMLINKS = @DOXYGEN_EXCLUDE_SYMLINKS@
+EXCLUDE_PATTERNS = @DOXYGEN_EXCLUDE_PATTERNS@
+EXCLUDE_SYMBOLS = @DOXYGEN_EXCLUDE_SYMBOLS@
+EXAMPLE_PATH = @DOXYGEN_EXAMPLE_PATH@
+EXAMPLE_PATTERNS = @DOXYGEN_EXAMPLE_PATTERNS@
+EXAMPLE_RECURSIVE = @DOXYGEN_EXAMPLE_RECURSIVE@
+IMAGE_PATH = @DOXYGEN_IMAGE_PATH@
+INPUT_FILTER = @DOXYGEN_INPUT_FILTER@
+FILTER_PATTERNS = @DOXYGEN_FILTER_PATTERNS@
+FILTER_SOURCE_FILES = @DOXYGEN_FILTER_SOURCE_FILES@
+FILTER_SOURCE_PATTERNS = @DOXYGEN_FILTER_SOURCE_PATTERNS@
+USE_MDFILE_AS_MAINPAGE = @DOXYGEN_USE_MDFILE_AS_MAINPAGE@
+SOURCE_BROWSER = @DOXYGEN_SOURCE_BROWSER@
+INLINE_SOURCES = @DOXYGEN_INLINE_SOURCES@
+STRIP_CODE_COMMENTS = @DOXYGEN_STRIP_CODE_COMMENTS@
+REFERENCED_BY_RELATION = @DOXYGEN_REFERENCED_BY_RELATION@
+REFERENCES_RELATION = @DOXYGEN_REFERENCES_RELATION@
+REFERENCES_LINK_SOURCE = @DOXYGEN_REFERENCES_LINK_SOURCE@
+SOURCE_TOOLTIPS = @DOXYGEN_SOURCE_TOOLTIPS@
+USE_HTAGS = @DOXYGEN_USE_HTAGS@
+VERBATIM_HEADERS = @DOXYGEN_VERBATIM_HEADERS@
+CLANG_ASSISTED_PARSING = @DOXYGEN_CLANG_ASSISTED_PARSING@
+CLANG_OPTIONS = @DOXYGEN_CLANG_OPTIONS@
+CLANG_DATABASE_PATH = @DOXYGEN_CLANG_DATABASE_PATH@
+ALPHABETICAL_INDEX = @DOXYGEN_ALPHABETICAL_INDEX@
+COLS_IN_ALPHA_INDEX = @DOXYGEN_COLS_IN_ALPHA_INDEX@
+IGNORE_PREFIX = @DOXYGEN_IGNORE_PREFIX@
+GENERATE_HTML = @DOXYGEN_GENERATE_HTML@
+HTML_OUTPUT = @DOXYGEN_HTML_OUTPUT@
+HTML_FILE_EXTENSION = @DOXYGEN_HTML_FILE_EXTENSION@
+HTML_HEADER = @DOXYGEN_HTML_HEADER@
+HTML_FOOTER = @DOXYGEN_HTML_FOOTER@
+HTML_STYLESHEET = @DOXYGEN_HTML_STYLESHEET@
+HTML_EXTRA_STYLESHEET = @DOXYGEN_HTML_EXTRA_STYLESHEET@
+HTML_EXTRA_FILES = @DOXYGEN_HTML_EXTRA_FILES@
+HTML_COLORSTYLE_HUE = @DOXYGEN_HTML_COLORSTYLE_HUE@
+HTML_COLORSTYLE_SAT = @DOXYGEN_HTML_COLORSTYLE_SAT@
+HTML_COLORSTYLE_GAMMA = @DOXYGEN_HTML_COLORSTYLE_GAMMA@
+HTML_TIMESTAMP = @DOXYGEN_HTML_TIMESTAMP@
+HTML_DYNAMIC_MENUS = @DOXYGEN_HTML_DYNAMIC_MENUS@
+HTML_DYNAMIC_SECTIONS = @DOXYGEN_HTML_DYNAMIC_SECTIONS@
+HTML_INDEX_NUM_ENTRIES = @DOXYGEN_HTML_INDEX_NUM_ENTRIES@
+GENERATE_DOCSET = @DOXYGEN_GENERATE_DOCSET@
+DOCSET_FEEDNAME = @DOXYGEN_DOCSET_FEEDNAME@
+DOCSET_BUNDLE_ID = @DOXYGEN_DOCSET_BUNDLE_ID@
+DOCSET_PUBLISHER_ID = @DOXYGEN_DOCSET_PUBLISHER_ID@
+DOCSET_PUBLISHER_NAME = @DOXYGEN_DOCSET_PUBLISHER_NAME@
+GENERATE_HTMLHELP = @DOXYGEN_GENERATE_HTMLHELP@
+CHM_FILE = @DOXYGEN_CHM_FILE@
+HHC_LOCATION = @DOXYGEN_HHC_LOCATION@
+GENERATE_CHI = @DOXYGEN_GENERATE_CHI@
+CHM_INDEX_ENCODING = @DOXYGEN_CHM_INDEX_ENCODING@
+BINARY_TOC = @DOXYGEN_BINARY_TOC@
+TOC_EXPAND = @DOXYGEN_TOC_EXPAND@
+GENERATE_QHP = @DOXYGEN_GENERATE_QHP@
+QCH_FILE = @DOXYGEN_QCH_FILE@
+QHP_NAMESPACE = @DOXYGEN_QHP_NAMESPACE@
+QHP_VIRTUAL_FOLDER = @DOXYGEN_QHP_VIRTUAL_FOLDER@
+QHP_CUST_FILTER_NAME = @DOXYGEN_QHP_CUST_FILTER_NAME@
+QHP_CUST_FILTER_ATTRS = @DOXYGEN_QHP_CUST_FILTER_ATTRS@
+QHP_SECT_FILTER_ATTRS = @DOXYGEN_QHP_SECT_FILTER_ATTRS@
+QHG_LOCATION = @DOXYGEN_QHG_LOCATION@
+GENERATE_ECLIPSEHELP = @DOXYGEN_GENERATE_ECLIPSEHELP@
+ECLIPSE_DOC_ID = @DOXYGEN_ECLIPSE_DOC_ID@
+DISABLE_INDEX = @DOXYGEN_DISABLE_INDEX@
+GENERATE_TREEVIEW = @DOXYGEN_GENERATE_TREEVIEW@
+ENUM_VALUES_PER_LINE = @DOXYGEN_ENUM_VALUES_PER_LINE@
+TREEVIEW_WIDTH = @DOXYGEN_TREEVIEW_WIDTH@
+EXT_LINKS_IN_WINDOW = @DOXYGEN_EXT_LINKS_IN_WINDOW@
+FORMULA_FONTSIZE = @DOXYGEN_FORMULA_FONTSIZE@
+FORMULA_TRANSPARENT = @DOXYGEN_FORMULA_TRANSPARENT@
+FORMULA_MACROFILE = @DOXYGEN_FORMULA_MACROFILE@
+USE_MATHJAX = @DOXYGEN_USE_MATHJAX@
+MATHJAX_FORMAT = @DOXYGEN_MATHJAX_FORMAT@
+MATHJAX_RELPATH = @DOXYGEN_MATHJAX_RELPATH@
+MATHJAX_EXTENSIONS = @DOXYGEN_MATHJAX_EXTENSIONS@
+MATHJAX_CODEFILE = @DOXYGEN_MATHJAX_CODEFILE@
+SEARCHENGINE = @DOXYGEN_SEARCHENGINE@
+SERVER_BASED_SEARCH = @DOXYGEN_SERVER_BASED_SEARCH@
+EXTERNAL_SEARCH = @DOXYGEN_EXTERNAL_SEARCH@
+SEARCHENGINE_URL = @DOXYGEN_SEARCHENGINE_URL@
+SEARCHDATA_FILE = @DOXYGEN_SEARCHDATA_FILE@
+EXTERNAL_SEARCH_ID = @DOXYGEN_EXTERNAL_SEARCH_ID@
+EXTRA_SEARCH_MAPPINGS = @DOXYGEN_EXTRA_SEARCH_MAPPINGS@
+GENERATE_LATEX = @DOXYGEN_GENERATE_LATEX@
+LATEX_OUTPUT = @DOXYGEN_LATEX_OUTPUT@
+LATEX_CMD_NAME = @DOXYGEN_LATEX_CMD_NAME@
+MAKEINDEX_CMD_NAME = @DOXYGEN_MAKEINDEX_CMD_NAME@
+LATEX_MAKEINDEX_CMD = @DOXYGEN_LATEX_MAKEINDEX_CMD@
+COMPACT_LATEX = @DOXYGEN_COMPACT_LATEX@
+PAPER_TYPE = @DOXYGEN_PAPER_TYPE@
+EXTRA_PACKAGES = @DOXYGEN_EXTRA_PACKAGES@
+LATEX_HEADER = @DOXYGEN_LATEX_HEADER@
+LATEX_FOOTER = @DOXYGEN_LATEX_FOOTER@
+LATEX_EXTRA_STYLESHEET = @DOXYGEN_LATEX_EXTRA_STYLESHEET@
+LATEX_EXTRA_FILES = @DOXYGEN_LATEX_EXTRA_FILES@
+PDF_HYPERLINKS = @DOXYGEN_PDF_HYPERLINKS@
+USE_PDFLATEX = @DOXYGEN_USE_PDFLATEX@
+LATEX_BATCHMODE = @DOXYGEN_LATEX_BATCHMODE@
+LATEX_HIDE_INDICES = @DOXYGEN_LATEX_HIDE_INDICES@
+LATEX_SOURCE_CODE = @DOXYGEN_LATEX_SOURCE_CODE@
+LATEX_BIB_STYLE = @DOXYGEN_LATEX_BIB_STYLE@
+LATEX_TIMESTAMP = @DOXYGEN_LATEX_TIMESTAMP@
+LATEX_EMOJI_DIRECTORY = @DOXYGEN_LATEX_EMOJI_DIRECTORY@
+GENERATE_RTF = @DOXYGEN_GENERATE_RTF@
+RTF_OUTPUT = @DOXYGEN_RTF_OUTPUT@
+COMPACT_RTF = @DOXYGEN_COMPACT_RTF@
+RTF_HYPERLINKS = @DOXYGEN_RTF_HYPERLINKS@
+RTF_STYLESHEET_FILE = @DOXYGEN_RTF_STYLESHEET_FILE@
+RTF_EXTENSIONS_FILE = @DOXYGEN_RTF_EXTENSIONS_FILE@
+RTF_SOURCE_CODE = @DOXYGEN_RTF_SOURCE_CODE@
+GENERATE_MAN = @DOXYGEN_GENERATE_MAN@
+MAN_OUTPUT = @DOXYGEN_MAN_OUTPUT@
+MAN_EXTENSION = @DOXYGEN_MAN_EXTENSION@
+MAN_SUBDIR = @DOXYGEN_MAN_SUBDIR@
+MAN_LINKS = @DOXYGEN_MAN_LINKS@
+GENERATE_XML = @DOXYGEN_GENERATE_XML@
+XML_OUTPUT = @DOXYGEN_XML_OUTPUT@
+XML_PROGRAMLISTING = @DOXYGEN_XML_PROGRAMLISTING@
+XML_NS_MEMB_FILE_SCOPE = @DOXYGEN_XML_NS_MEMB_FILE_SCOPE@
+GENERATE_DOCBOOK = @DOXYGEN_GENERATE_DOCBOOK@
+DOCBOOK_OUTPUT = @DOXYGEN_DOCBOOK_OUTPUT@
+DOCBOOK_PROGRAMLISTING = @DOXYGEN_DOCBOOK_PROGRAMLISTING@
+GENERATE_AUTOGEN_DEF = @DOXYGEN_GENERATE_AUTOGEN_DEF@
+GENERATE_PERLMOD = @DOXYGEN_GENERATE_PERLMOD@
+PERLMOD_LATEX = @DOXYGEN_PERLMOD_LATEX@
+PERLMOD_PRETTY = @DOXYGEN_PERLMOD_PRETTY@
+PERLMOD_MAKEVAR_PREFIX = @DOXYGEN_PERLMOD_MAKEVAR_PREFIX@
+ENABLE_PREPROCESSING = @DOXYGEN_ENABLE_PREPROCESSING@
+MACRO_EXPANSION = @DOXYGEN_MACRO_EXPANSION@
+EXPAND_ONLY_PREDEF = @DOXYGEN_EXPAND_ONLY_PREDEF@
+SEARCH_INCLUDES = @DOXYGEN_SEARCH_INCLUDES@
+INCLUDE_PATH = @DOXYGEN_INCLUDE_PATH@
+INCLUDE_FILE_PATTERNS = @DOXYGEN_INCLUDE_FILE_PATTERNS@
+PREDEFINED = @DOXYGEN_PREDEFINED@
+EXPAND_AS_DEFINED = @DOXYGEN_EXPAND_AS_DEFINED@
+SKIP_FUNCTION_MACROS = @DOXYGEN_SKIP_FUNCTION_MACROS@
+TAGFILES = @DOXYGEN_TAGFILES@
+GENERATE_TAGFILE = @DOXYGEN_GENERATE_TAGFILE@
+ALLEXTERNALS = @DOXYGEN_ALLEXTERNALS@
+EXTERNAL_GROUPS = @DOXYGEN_EXTERNAL_GROUPS@
+EXTERNAL_PAGES = @DOXYGEN_EXTERNAL_PAGES@
+CLASS_DIAGRAMS = @DOXYGEN_CLASS_DIAGRAMS@
+DIA_PATH = @DOXYGEN_DIA_PATH@
+HIDE_UNDOC_RELATIONS = @DOXYGEN_HIDE_UNDOC_RELATIONS@
+HAVE_DOT = @DOXYGEN_HAVE_DOT@
+DOT_NUM_THREADS = @DOXYGEN_DOT_NUM_THREADS@
+DOT_FONTNAME = @DOXYGEN_DOT_FONTNAME@
+DOT_FONTSIZE = @DOXYGEN_DOT_FONTSIZE@
+DOT_FONTPATH = @DOXYGEN_DOT_FONTPATH@
+CLASS_GRAPH = @DOXYGEN_CLASS_GRAPH@
+COLLABORATION_GRAPH = @DOXYGEN_COLLABORATION_GRAPH@
+GROUP_GRAPHS = @DOXYGEN_GROUP_GRAPHS@
+UML_LOOK = @DOXYGEN_UML_LOOK@
+UML_LIMIT_NUM_FIELDS = @DOXYGEN_UML_LIMIT_NUM_FIELDS@
+TEMPLATE_RELATIONS = @DOXYGEN_TEMPLATE_RELATIONS@
+INCLUDE_GRAPH = @DOXYGEN_INCLUDE_GRAPH@
+INCLUDED_BY_GRAPH = @DOXYGEN_INCLUDED_BY_GRAPH@
+CALL_GRAPH = @DOXYGEN_CALL_GRAPH@
+CALLER_GRAPH = @DOXYGEN_CALLER_GRAPH@
+GRAPHICAL_HIERARCHY = @DOXYGEN_GRAPHICAL_HIERARCHY@
+DIRECTORY_GRAPH = @DOXYGEN_DIRECTORY_GRAPH@
+DOT_IMAGE_FORMAT = @DOXYGEN_DOT_IMAGE_FORMAT@
+INTERACTIVE_SVG = @DOXYGEN_INTERACTIVE_SVG@
+DOT_PATH = @DOXYGEN_DOT_PATH@
+DOTFILE_DIRS = @DOXYGEN_DOTFILE_DIRS@
+MSCFILE_DIRS = @DOXYGEN_MSCFILE_DIRS@
+DIAFILE_DIRS = @DOXYGEN_DIAFILE_DIRS@
+PLANTUML_JAR_PATH = @DOXYGEN_PLANTUML_JAR_PATH@
+PLANTUML_CFG_FILE = @DOXYGEN_PLANTUML_CFG_FILE@
+PLANTUML_INCLUDE_PATH = @DOXYGEN_PLANTUML_INCLUDE_PATH@
+DOT_GRAPH_MAX_NODES = @DOXYGEN_DOT_GRAPH_MAX_NODES@
+MAX_DOT_GRAPH_DEPTH = @DOXYGEN_MAX_DOT_GRAPH_DEPTH@
+DOT_TRANSPARENT = @DOXYGEN_DOT_TRANSPARENT@
+DOT_MULTI_TARGETS = @DOXYGEN_DOT_MULTI_TARGETS@
+GENERATE_LEGEND = @DOXYGEN_GENERATE_LEGEND@
+DOT_CLEANUP = @DOXYGEN_DOT_CLEANUP@
diff --git a/wound-wait/build/CMakeDoxygenDefaults.cmake b/wound-wait/build/CMakeDoxygenDefaults.cmake
new file mode 100644
index 00000000..db28798f
--- /dev/null
+++ b/wound-wait/build/CMakeDoxygenDefaults.cmake
@@ -0,0 +1,672 @@
+#
+# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE!
+#
+
+if(NOT DEFINED DOXYGEN_DOXYFILE_ENCODING)
+ set(DOXYGEN_DOXYFILE_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_PROJECT_NAME)
+ set(DOXYGEN_PROJECT_NAME "My Project")
+endif()
+if(NOT DEFINED DOXYGEN_CREATE_SUBDIRS)
+ set(DOXYGEN_CREATE_SUBDIRS NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALLOW_UNICODE_NAMES)
+ set(DOXYGEN_ALLOW_UNICODE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_LANGUAGE)
+ set(DOXYGEN_OUTPUT_LANGUAGE English)
+endif()
+if(NOT DEFINED DOXYGEN_OUTPUT_TEXT_DIRECTION)
+ set(DOXYGEN_OUTPUT_TEXT_DIRECTION None)
+endif()
+if(NOT DEFINED DOXYGEN_BRIEF_MEMBER_DESC)
+ set(DOXYGEN_BRIEF_MEMBER_DESC YES)
+endif()
+if(NOT DEFINED DOXYGEN_REPEAT_BRIEF)
+ set(DOXYGEN_REPEAT_BRIEF YES)
+endif()
+if(NOT DEFINED DOXYGEN_ABBREVIATE_BRIEF)
+ set(DOXYGEN_ABBREVIATE_BRIEF "The $name class"
+ "The $name widget"
+ "The $name file"
+ is
+ provides
+ specifies
+ contains
+ represents
+ a
+ an
+ the)
+endif()
+if(NOT DEFINED DOXYGEN_ALWAYS_DETAILED_SEC)
+ set(DOXYGEN_ALWAYS_DETAILED_SEC NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INHERITED_MEMB)
+ set(DOXYGEN_INLINE_INHERITED_MEMB NO)
+endif()
+if(NOT DEFINED DOXYGEN_FULL_PATH_NAMES)
+ set(DOXYGEN_FULL_PATH_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHORT_NAMES)
+ set(DOXYGEN_SHORT_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_AUTOBRIEF)
+ set(DOXYGEN_JAVADOC_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_JAVADOC_BANNER)
+ set(DOXYGEN_JAVADOC_BANNER NO)
+endif()
+if(NOT DEFINED DOXYGEN_QT_AUTOBRIEF)
+ set(DOXYGEN_QT_AUTOBRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_MULTILINE_CPP_IS_BRIEF)
+ set(DOXYGEN_MULTILINE_CPP_IS_BRIEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_INHERIT_DOCS)
+ set(DOXYGEN_INHERIT_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SEPARATE_MEMBER_PAGES)
+ set(DOXYGEN_SEPARATE_MEMBER_PAGES NO)
+endif()
+if(NOT DEFINED DOXYGEN_TAB_SIZE)
+ set(DOXYGEN_TAB_SIZE 4)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_FOR_C)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_FOR_C NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_JAVA)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_JAVA NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_FOR_FORTRAN)
+ set(DOXYGEN_OPTIMIZE_FOR_FORTRAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_VHDL)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_VHDL NO)
+endif()
+if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_SLICE)
+ set(DOXYGEN_OPTIMIZE_OUTPUT_SLICE NO)
+endif()
+if(NOT DEFINED DOXYGEN_MARKDOWN_SUPPORT)
+ set(DOXYGEN_MARKDOWN_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_INCLUDE_HEADINGS)
+ set(DOXYGEN_TOC_INCLUDE_HEADINGS 5)
+endif()
+if(NOT DEFINED DOXYGEN_AUTOLINK_SUPPORT)
+ set(DOXYGEN_AUTOLINK_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_BUILTIN_STL_SUPPORT)
+ set(DOXYGEN_BUILTIN_STL_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_CPP_CLI_SUPPORT)
+ set(DOXYGEN_CPP_CLI_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_SIP_SUPPORT)
+ set(DOXYGEN_SIP_SUPPORT NO)
+endif()
+if(NOT DEFINED DOXYGEN_IDL_PROPERTY_SUPPORT)
+ set(DOXYGEN_IDL_PROPERTY_SUPPORT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DISTRIBUTE_GROUP_DOC)
+ set(DOXYGEN_DISTRIBUTE_GROUP_DOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_NESTED_COMPOUNDS)
+ set(DOXYGEN_GROUP_NESTED_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SUBGROUPING)
+ set(DOXYGEN_SUBGROUPING YES)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_GROUPED_CLASSES)
+ set(DOXYGEN_INLINE_GROUPED_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SIMPLE_STRUCTS)
+ set(DOXYGEN_INLINE_SIMPLE_STRUCTS NO)
+endif()
+if(NOT DEFINED DOXYGEN_TYPEDEF_HIDES_STRUCT)
+ set(DOXYGEN_TYPEDEF_HIDES_STRUCT NO)
+endif()
+if(NOT DEFINED DOXYGEN_LOOKUP_CACHE_SIZE)
+ set(DOXYGEN_LOOKUP_CACHE_SIZE 0)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ALL)
+ set(DOXYGEN_EXTRACT_ALL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIVATE)
+ set(DOXYGEN_EXTRACT_PRIVATE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PRIV_VIRTUAL)
+ set(DOXYGEN_EXTRACT_PRIV_VIRTUAL NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_PACKAGE)
+ set(DOXYGEN_EXTRACT_PACKAGE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_STATIC)
+ set(DOXYGEN_EXTRACT_STATIC NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_CLASSES)
+ set(DOXYGEN_EXTRACT_LOCAL_CLASSES YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_METHODS)
+ set(DOXYGEN_EXTRACT_LOCAL_METHODS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTRACT_ANON_NSPACES)
+ set(DOXYGEN_EXTRACT_ANON_NSPACES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_MEMBERS)
+ set(DOXYGEN_HIDE_UNDOC_MEMBERS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_CLASSES)
+ set(DOXYGEN_HIDE_UNDOC_CLASSES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_FRIEND_COMPOUNDS)
+ set(DOXYGEN_HIDE_FRIEND_COMPOUNDS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_IN_BODY_DOCS)
+ set(DOXYGEN_HIDE_IN_BODY_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INTERNAL_DOCS)
+ set(DOXYGEN_INTERNAL_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_CASE_SENSE_NAMES)
+ set(DOXYGEN_CASE_SENSE_NAMES YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_SCOPE_NAMES)
+ set(DOXYGEN_HIDE_SCOPE_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_COMPOUND_REFERENCE)
+ set(DOXYGEN_HIDE_COMPOUND_REFERENCE NO)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_INCLUDE_FILES)
+ set(DOXYGEN_SHOW_INCLUDE_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_GROUPED_MEMB_INC)
+ set(DOXYGEN_SHOW_GROUPED_MEMB_INC NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORCE_LOCAL_INCLUDES)
+ set(DOXYGEN_FORCE_LOCAL_INCLUDES NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_INFO)
+ set(DOXYGEN_INLINE_INFO YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBER_DOCS)
+ set(DOXYGEN_SORT_MEMBER_DOCS YES)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BRIEF_DOCS)
+ set(DOXYGEN_SORT_BRIEF_DOCS NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_MEMBERS_CTORS_1ST)
+ set(DOXYGEN_SORT_MEMBERS_CTORS_1ST NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_GROUP_NAMES)
+ set(DOXYGEN_SORT_GROUP_NAMES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SORT_BY_SCOPE_NAME)
+ set(DOXYGEN_SORT_BY_SCOPE_NAME NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRICT_PROTO_MATCHING)
+ set(DOXYGEN_STRICT_PROTO_MATCHING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TODOLIST)
+ set(DOXYGEN_GENERATE_TODOLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TESTLIST)
+ set(DOXYGEN_GENERATE_TESTLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_BUGLIST)
+ set(DOXYGEN_GENERATE_BUGLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DEPRECATEDLIST)
+ set(DOXYGEN_GENERATE_DEPRECATEDLIST YES)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_INITIALIZER_LINES)
+ set(DOXYGEN_MAX_INITIALIZER_LINES 30)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_USED_FILES)
+ set(DOXYGEN_SHOW_USED_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_FILES)
+ set(DOXYGEN_SHOW_FILES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SHOW_NAMESPACES)
+ set(DOXYGEN_SHOW_NAMESPACES YES)
+endif()
+if(NOT DEFINED DOXYGEN_QUIET)
+ set(DOXYGEN_QUIET NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARNINGS)
+ set(DOXYGEN_WARNINGS YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_UNDOCUMENTED)
+ set(DOXYGEN_WARN_IF_UNDOCUMENTED YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_IF_DOC_ERROR)
+ set(DOXYGEN_WARN_IF_DOC_ERROR YES)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_NO_PARAMDOC)
+ set(DOXYGEN_WARN_NO_PARAMDOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_AS_ERROR)
+ set(DOXYGEN_WARN_AS_ERROR NO)
+endif()
+if(NOT DEFINED DOXYGEN_WARN_FORMAT)
+ set(DOXYGEN_WARN_FORMAT "$file:$line: $text")
+endif()
+if(NOT DEFINED DOXYGEN_INPUT_ENCODING)
+ set(DOXYGEN_INPUT_ENCODING UTF-8)
+endif()
+if(NOT DEFINED DOXYGEN_FILE_PATTERNS)
+ set(DOXYGEN_FILE_PATTERNS *.c
+ *.cc
+ *.cxx
+ *.cpp
+ *.c++
+ *.java
+ *.ii
+ *.ixx
+ *.ipp
+ *.i++
+ *.inl
+ *.idl
+ *.ddl
+ *.odl
+ *.h
+ *.hh
+ *.hxx
+ *.hpp
+ *.h++
+ *.cs
+ *.d
+ *.php
+ *.php4
+ *.php5
+ *.phtml
+ *.inc
+ *.m
+ *.markdown
+ *.md
+ *.mm
+ *.dox
+ *.doc
+ *.txt
+ *.py
+ *.pyw
+ *.f90
+ *.f95
+ *.f03
+ *.f08
+ *.f
+ *.for
+ *.tcl
+ *.vhd
+ *.vhdl
+ *.ucf
+ *.qsf
+ *.ice)
+endif()
+if(NOT DEFINED DOXYGEN_RECURSIVE)
+ set(DOXYGEN_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXCLUDE_SYMLINKS)
+ set(DOXYGEN_EXCLUDE_SYMLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_PATTERNS)
+ set(DOXYGEN_EXAMPLE_PATTERNS *)
+endif()
+if(NOT DEFINED DOXYGEN_EXAMPLE_RECURSIVE)
+ set(DOXYGEN_EXAMPLE_RECURSIVE NO)
+endif()
+if(NOT DEFINED DOXYGEN_FILTER_SOURCE_FILES)
+ set(DOXYGEN_FILTER_SOURCE_FILES NO)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_BROWSER)
+ set(DOXYGEN_SOURCE_BROWSER NO)
+endif()
+if(NOT DEFINED DOXYGEN_INLINE_SOURCES)
+ set(DOXYGEN_INLINE_SOURCES NO)
+endif()
+if(NOT DEFINED DOXYGEN_STRIP_CODE_COMMENTS)
+ set(DOXYGEN_STRIP_CODE_COMMENTS YES)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCED_BY_RELATION)
+ set(DOXYGEN_REFERENCED_BY_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_RELATION)
+ set(DOXYGEN_REFERENCES_RELATION NO)
+endif()
+if(NOT DEFINED DOXYGEN_REFERENCES_LINK_SOURCE)
+ set(DOXYGEN_REFERENCES_LINK_SOURCE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SOURCE_TOOLTIPS)
+ set(DOXYGEN_SOURCE_TOOLTIPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_HTAGS)
+ set(DOXYGEN_USE_HTAGS NO)
+endif()
+if(NOT DEFINED DOXYGEN_VERBATIM_HEADERS)
+ set(DOXYGEN_VERBATIM_HEADERS YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLANG_ASSISTED_PARSING)
+ set(DOXYGEN_CLANG_ASSISTED_PARSING NO)
+endif()
+if(NOT DEFINED DOXYGEN_ALPHABETICAL_INDEX)
+ set(DOXYGEN_ALPHABETICAL_INDEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLS_IN_ALPHA_INDEX)
+ set(DOXYGEN_COLS_IN_ALPHA_INDEX 5)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTML)
+ set(DOXYGEN_GENERATE_HTML YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_OUTPUT)
+ set(DOXYGEN_HTML_OUTPUT html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_FILE_EXTENSION)
+ set(DOXYGEN_HTML_FILE_EXTENSION .html)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_HUE)
+ set(DOXYGEN_HTML_COLORSTYLE_HUE 220)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_SAT)
+ set(DOXYGEN_HTML_COLORSTYLE_SAT 100)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_GAMMA)
+ set(DOXYGEN_HTML_COLORSTYLE_GAMMA 80)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_TIMESTAMP)
+ set(DOXYGEN_HTML_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_MENUS)
+ set(DOXYGEN_HTML_DYNAMIC_MENUS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_SECTIONS)
+ set(DOXYGEN_HTML_DYNAMIC_SECTIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_HTML_INDEX_NUM_ENTRIES)
+ set(DOXYGEN_HTML_INDEX_NUM_ENTRIES 100)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCSET)
+ set(DOXYGEN_GENERATE_DOCSET NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_FEEDNAME)
+ set(DOXYGEN_DOCSET_FEEDNAME "Doxygen generated docs")
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_BUNDLE_ID)
+ set(DOXYGEN_DOCSET_BUNDLE_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_ID)
+ set(DOXYGEN_DOCSET_PUBLISHER_ID org.doxygen.Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_NAME)
+ set(DOXYGEN_DOCSET_PUBLISHER_NAME Publisher)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_HTMLHELP)
+ set(DOXYGEN_GENERATE_HTMLHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_CHI)
+ set(DOXYGEN_GENERATE_CHI NO)
+endif()
+if(NOT DEFINED DOXYGEN_BINARY_TOC)
+ set(DOXYGEN_BINARY_TOC NO)
+endif()
+if(NOT DEFINED DOXYGEN_TOC_EXPAND)
+ set(DOXYGEN_TOC_EXPAND NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_QHP)
+ set(DOXYGEN_GENERATE_QHP NO)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_NAMESPACE)
+ set(DOXYGEN_QHP_NAMESPACE org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_QHP_VIRTUAL_FOLDER)
+ set(DOXYGEN_QHP_VIRTUAL_FOLDER doc)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_ECLIPSEHELP)
+ set(DOXYGEN_GENERATE_ECLIPSEHELP NO)
+endif()
+if(NOT DEFINED DOXYGEN_ECLIPSE_DOC_ID)
+ set(DOXYGEN_ECLIPSE_DOC_ID org.doxygen.Project)
+endif()
+if(NOT DEFINED DOXYGEN_DISABLE_INDEX)
+ set(DOXYGEN_DISABLE_INDEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_TREEVIEW)
+ set(DOXYGEN_GENERATE_TREEVIEW NO)
+endif()
+if(NOT DEFINED DOXYGEN_ENUM_VALUES_PER_LINE)
+ set(DOXYGEN_ENUM_VALUES_PER_LINE 4)
+endif()
+if(NOT DEFINED DOXYGEN_TREEVIEW_WIDTH)
+ set(DOXYGEN_TREEVIEW_WIDTH 250)
+endif()
+if(NOT DEFINED DOXYGEN_EXT_LINKS_IN_WINDOW)
+ set(DOXYGEN_EXT_LINKS_IN_WINDOW NO)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_FONTSIZE)
+ set(DOXYGEN_FORMULA_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_FORMULA_TRANSPARENT)
+ set(DOXYGEN_FORMULA_TRANSPARENT YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_MATHJAX)
+ set(DOXYGEN_USE_MATHJAX NO)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_FORMAT)
+ set(DOXYGEN_MATHJAX_FORMAT HTML-CSS)
+endif()
+if(NOT DEFINED DOXYGEN_MATHJAX_RELPATH)
+ set(DOXYGEN_MATHJAX_RELPATH https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHENGINE)
+ set(DOXYGEN_SEARCHENGINE YES)
+endif()
+if(NOT DEFINED DOXYGEN_SERVER_BASED_SEARCH)
+ set(DOXYGEN_SERVER_BASED_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_SEARCH)
+ set(DOXYGEN_EXTERNAL_SEARCH NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCHDATA_FILE)
+ set(DOXYGEN_SEARCHDATA_FILE searchdata.xml)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LATEX)
+ set(DOXYGEN_GENERATE_LATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_OUTPUT)
+ set(DOXYGEN_LATEX_OUTPUT latex)
+endif()
+if(NOT DEFINED DOXYGEN_MAKEINDEX_CMD_NAME)
+ set(DOXYGEN_MAKEINDEX_CMD_NAME makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_MAKEINDEX_CMD)
+ set(DOXYGEN_LATEX_MAKEINDEX_CMD makeindex)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_LATEX)
+ set(DOXYGEN_COMPACT_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PAPER_TYPE)
+ set(DOXYGEN_PAPER_TYPE a4)
+endif()
+if(NOT DEFINED DOXYGEN_PDF_HYPERLINKS)
+ set(DOXYGEN_PDF_HYPERLINKS YES)
+endif()
+if(NOT DEFINED DOXYGEN_USE_PDFLATEX)
+ set(DOXYGEN_USE_PDFLATEX YES)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BATCHMODE)
+ set(DOXYGEN_LATEX_BATCHMODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_HIDE_INDICES)
+ set(DOXYGEN_LATEX_HIDE_INDICES NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_SOURCE_CODE)
+ set(DOXYGEN_LATEX_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_BIB_STYLE)
+ set(DOXYGEN_LATEX_BIB_STYLE plain)
+endif()
+if(NOT DEFINED DOXYGEN_LATEX_TIMESTAMP)
+ set(DOXYGEN_LATEX_TIMESTAMP NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_RTF)
+ set(DOXYGEN_GENERATE_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_OUTPUT)
+ set(DOXYGEN_RTF_OUTPUT rtf)
+endif()
+if(NOT DEFINED DOXYGEN_COMPACT_RTF)
+ set(DOXYGEN_COMPACT_RTF NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_HYPERLINKS)
+ set(DOXYGEN_RTF_HYPERLINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_RTF_SOURCE_CODE)
+ set(DOXYGEN_RTF_SOURCE_CODE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_MAN)
+ set(DOXYGEN_GENERATE_MAN NO)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_OUTPUT)
+ set(DOXYGEN_MAN_OUTPUT man)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_EXTENSION)
+ set(DOXYGEN_MAN_EXTENSION .3)
+endif()
+if(NOT DEFINED DOXYGEN_MAN_LINKS)
+ set(DOXYGEN_MAN_LINKS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_XML)
+ set(DOXYGEN_GENERATE_XML NO)
+endif()
+if(NOT DEFINED DOXYGEN_XML_OUTPUT)
+ set(DOXYGEN_XML_OUTPUT xml)
+endif()
+if(NOT DEFINED DOXYGEN_XML_PROGRAMLISTING)
+ set(DOXYGEN_XML_PROGRAMLISTING YES)
+endif()
+if(NOT DEFINED DOXYGEN_XML_NS_MEMB_FILE_SCOPE)
+ set(DOXYGEN_XML_NS_MEMB_FILE_SCOPE NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_DOCBOOK)
+ set(DOXYGEN_GENERATE_DOCBOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_OUTPUT)
+ set(DOXYGEN_DOCBOOK_OUTPUT docbook)
+endif()
+if(NOT DEFINED DOXYGEN_DOCBOOK_PROGRAMLISTING)
+ set(DOXYGEN_DOCBOOK_PROGRAMLISTING NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_AUTOGEN_DEF)
+ set(DOXYGEN_GENERATE_AUTOGEN_DEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_PERLMOD)
+ set(DOXYGEN_GENERATE_PERLMOD NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_LATEX)
+ set(DOXYGEN_PERLMOD_LATEX NO)
+endif()
+if(NOT DEFINED DOXYGEN_PERLMOD_PRETTY)
+ set(DOXYGEN_PERLMOD_PRETTY YES)
+endif()
+if(NOT DEFINED DOXYGEN_ENABLE_PREPROCESSING)
+ set(DOXYGEN_ENABLE_PREPROCESSING YES)
+endif()
+if(NOT DEFINED DOXYGEN_MACRO_EXPANSION)
+ set(DOXYGEN_MACRO_EXPANSION NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXPAND_ONLY_PREDEF)
+ set(DOXYGEN_EXPAND_ONLY_PREDEF NO)
+endif()
+if(NOT DEFINED DOXYGEN_SEARCH_INCLUDES)
+ set(DOXYGEN_SEARCH_INCLUDES YES)
+endif()
+if(NOT DEFINED DOXYGEN_SKIP_FUNCTION_MACROS)
+ set(DOXYGEN_SKIP_FUNCTION_MACROS YES)
+endif()
+if(NOT DEFINED DOXYGEN_ALLEXTERNALS)
+ set(DOXYGEN_ALLEXTERNALS NO)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_GROUPS)
+ set(DOXYGEN_EXTERNAL_GROUPS YES)
+endif()
+if(NOT DEFINED DOXYGEN_EXTERNAL_PAGES)
+ set(DOXYGEN_EXTERNAL_PAGES YES)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_DIAGRAMS)
+ set(DOXYGEN_CLASS_DIAGRAMS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HIDE_UNDOC_RELATIONS)
+ set(DOXYGEN_HIDE_UNDOC_RELATIONS YES)
+endif()
+if(NOT DEFINED DOXYGEN_HAVE_DOT)
+ set(DOXYGEN_HAVE_DOT YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_NUM_THREADS)
+ set(DOXYGEN_DOT_NUM_THREADS 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTNAME)
+ set(DOXYGEN_DOT_FONTNAME Helvetica)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_FONTSIZE)
+ set(DOXYGEN_DOT_FONTSIZE 10)
+endif()
+if(NOT DEFINED DOXYGEN_CLASS_GRAPH)
+ set(DOXYGEN_CLASS_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_COLLABORATION_GRAPH)
+ set(DOXYGEN_COLLABORATION_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_GROUP_GRAPHS)
+ set(DOXYGEN_GROUP_GRAPHS YES)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LOOK)
+ set(DOXYGEN_UML_LOOK NO)
+endif()
+if(NOT DEFINED DOXYGEN_UML_LIMIT_NUM_FIELDS)
+ set(DOXYGEN_UML_LIMIT_NUM_FIELDS 10)
+endif()
+if(NOT DEFINED DOXYGEN_TEMPLATE_RELATIONS)
+ set(DOXYGEN_TEMPLATE_RELATIONS NO)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDE_GRAPH)
+ set(DOXYGEN_INCLUDE_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_INCLUDED_BY_GRAPH)
+ set(DOXYGEN_INCLUDED_BY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_CALL_GRAPH)
+ set(DOXYGEN_CALL_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_CALLER_GRAPH)
+ set(DOXYGEN_CALLER_GRAPH NO)
+endif()
+if(NOT DEFINED DOXYGEN_GRAPHICAL_HIERARCHY)
+ set(DOXYGEN_GRAPHICAL_HIERARCHY YES)
+endif()
+if(NOT DEFINED DOXYGEN_DIRECTORY_GRAPH)
+ set(DOXYGEN_DIRECTORY_GRAPH YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_IMAGE_FORMAT)
+ set(DOXYGEN_DOT_IMAGE_FORMAT png)
+endif()
+if(NOT DEFINED DOXYGEN_INTERACTIVE_SVG)
+ set(DOXYGEN_INTERACTIVE_SVG NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_GRAPH_MAX_NODES)
+ set(DOXYGEN_DOT_GRAPH_MAX_NODES 50)
+endif()
+if(NOT DEFINED DOXYGEN_MAX_DOT_GRAPH_DEPTH)
+ set(DOXYGEN_MAX_DOT_GRAPH_DEPTH 0)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_TRANSPARENT)
+ set(DOXYGEN_DOT_TRANSPARENT NO)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_MULTI_TARGETS)
+ set(DOXYGEN_DOT_MULTI_TARGETS NO)
+endif()
+if(NOT DEFINED DOXYGEN_GENERATE_LEGEND)
+ set(DOXYGEN_GENERATE_LEGEND YES)
+endif()
+if(NOT DEFINED DOXYGEN_DOT_CLEANUP)
+ set(DOXYGEN_DOT_CLEANUP YES)
+endif()
diff --git a/wound-wait/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake b/wound-wait/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
new file mode 100644
index 00000000..278ef39e
--- /dev/null
+++ b/wound-wait/build/CMakeFiles/3.17.0/CMakeCXXCompiler.cmake
@@ -0,0 +1,88 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "9.4.0")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
+set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
+set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
+
+set(CMAKE_CXX_PLATFORM_ID "Linux")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW )
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+
+foreach (lang C OBJC OBJCXX)
+ if (CMAKE_${lang}_COMPILER_ID_RUN)
+ foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
+ list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
+ endforeach()
+ endif()
+endforeach()
+
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "ELF")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/wound-wait/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin b/wound-wait/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin
new file mode 100755
index 00000000..156cfcfc
Binary files /dev/null and b/wound-wait/build/CMakeFiles/3.17.0/CMakeDetermineCompilerABI_CXX.bin differ
diff --git a/wound-wait/build/CMakeFiles/3.17.0/CMakeSystem.cmake b/wound-wait/build/CMakeFiles/3.17.0/CMakeSystem.cmake
new file mode 100644
index 00000000..0fd1f759
--- /dev/null
+++ b/wound-wait/build/CMakeFiles/3.17.0/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-5.4.0-113-generic")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "5.4.0-113-generic")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/wound-wait/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp b/wound-wait/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
new file mode 100644
index 00000000..69cfdba6
--- /dev/null
+++ b/wound-wait/build/CMakeFiles/3.17.0/CompilerIdCXX/CMakeCXXCompilerId.cpp
@@ -0,0 +1,660 @@
+/* This source file must have a .cpp extension so that all C++ compilers
+ recognize the extension without flags. Borland does not know .cxx for
+ example. */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+ /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+ /* __SUNPRO_CC = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+ /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+ /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__) || defined(__GNUG__)
+# define COMPILER_ID "GNU"
+# if defined(__GNUC__)
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# else
+# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
+# if defined(__INTEL_CXX11_MODE__)
+# if defined(__cpp_aggregate_nsdmi)
+# define CXX_STD 201402L
+# else
+# define CXX_STD 201103L
+# endif
+# else
+# define CXX_STD 199711L
+# endif
+#elif defined(_MSC_VER) && defined(_MSVC_LANG)
+# define CXX_STD _MSVC_LANG
+#else
+# define CXX_STD __cplusplus
+#endif
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if CXX_STD > 201703L
+ "20"
+#elif CXX_STD >= 201703L
+ "17"
+#elif CXX_STD >= 201402L
+ "14"
+#elif CXX_STD >= 201103L
+ "11"
+#else
+ "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
diff --git a/wound-wait/build/CMakeFiles/CMakeError.log b/wound-wait/build/CMakeFiles/CMakeError.log
new file mode 100644
index 00000000..947305de
--- /dev/null
+++ b/wound-wait/build/CMakeFiles/CMakeError.log
@@ -0,0 +1,50 @@
+Performing C++ SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output:
+Change Dir: /home/tngngn/ccbench/wound-wait/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_7abf4 && [1/2] Building CXX object CMakeFiles/cmTC_7abf4.dir/src.cxx.o
+[2/2] Linking CXX executable cmTC_7abf4
+FAILED: cmTC_7abf4
+: && /usr/bin/c++ -DCMAKE_HAVE_LIBC_PTHREAD CMakeFiles/cmTC_7abf4.dir/src.cxx.o -o cmTC_7abf4 && :
+/usr/bin/ld: CMakeFiles/cmTC_7abf4.dir/src.cxx.o: in function `main':
+src.cxx:(.text+0x46): undefined reference to `pthread_create'
+/usr/bin/ld: src.cxx:(.text+0x52): undefined reference to `pthread_detach'
+/usr/bin/ld: src.cxx:(.text+0x5e): undefined reference to `pthread_cancel'
+/usr/bin/ld: src.cxx:(.text+0x6f): undefined reference to `pthread_join'
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+Source file was:
+#include
+
+void* test_func(void* data)
+{
+ return data;
+}
+
+int main(void)
+{
+ pthread_t thread;
+ pthread_create(&thread, NULL, test_func, NULL);
+ pthread_detach(thread);
+ pthread_cancel(thread);
+ pthread_join(thread, NULL);
+ pthread_atfork(NULL, NULL, NULL);
+ pthread_exit(NULL);
+
+ return 0;
+}
+
+Determining if the function pthread_create exists in the pthreads failed with the following output:
+Change Dir: /home/tngngn/ccbench/wound-wait/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_a0dcf && [1/2] Building CXX object CMakeFiles/cmTC_a0dcf.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_a0dcf
+FAILED: cmTC_a0dcf
+: && /usr/bin/c++ -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTC_a0dcf.dir/CheckFunctionExists.cxx.o -o cmTC_a0dcf -lpthreads && :
+/usr/bin/ld: -lpthreads が見つかりません
+collect2: error: ld returned 1 exit status
+ninja: build stopped: subcommand failed.
+
+
+
diff --git a/wound-wait/build/CMakeFiles/CMakeOutput.log b/wound-wait/build/CMakeFiles/CMakeOutput.log
new file mode 100644
index 00000000..0d4cbc60
--- /dev/null
+++ b/wound-wait/build/CMakeFiles/CMakeOutput.log
@@ -0,0 +1,235 @@
+The system is: Linux - 5.4.0-113-generic - x86_64
+Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
+Compiler: /usr/bin/c++
+Build flags:
+Id flags:
+
+The output was:
+0
+
+
+Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
+
+The CXX compiler identification is GNU, found in "/home/tngngn/ccbench/wound-wait/build/CMakeFiles/3.17.0/CompilerIdCXX/a.out"
+
+Determining if the CXX compiler works passed with the following output:
+Change Dir: /home/tngngn/ccbench/wound-wait/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_718b5 && [1/2] Building CXX object CMakeFiles/cmTC_718b5.dir/testCXXCompiler.cxx.o
+[2/2] Linking CXX executable cmTC_718b5
+
+
+
+Detecting CXX compiler ABI info compiled with the following output:
+Change Dir: /home/tngngn/ccbench/wound-wait/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_a7bfa && [1/2] Building CXX object CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccubAZEO.s
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"
+ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
+ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
+#include "..." search starts here:
+#include <...> search starts here:
+ /usr/include/c++/9
+ /usr/include/x86_64-linux-gnu/c++/9
+ /usr/include/c++/9/backward
+ /usr/lib/gcc/x86_64-linux-gnu/9/include
+ /usr/local/include
+ /usr/include/x86_64-linux-gnu
+ /usr/include
+End of search list.
+GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
+ compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
+
+GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
+Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ as -v --64 -o CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccubAZEO.s
+GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+[2/2] Linking CXX executable cmTC_a7bfa
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:hsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
+Thread model: posix
+gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a7bfa' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cc3gC2x9.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a7bfa /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a7bfa' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+
+
+
+Parsed CXX implicit include dir info from above output: rv=done
+ found start of include info
+ found start of implicit include info
+ add: [/usr/include/c++/9]
+ add: [/usr/include/x86_64-linux-gnu/c++/9]
+ add: [/usr/include/c++/9/backward]
+ add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ add: [/usr/local/include]
+ add: [/usr/include/x86_64-linux-gnu]
+ add: [/usr/include]
+ end of search list found
+ collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9]
+ collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9]
+ collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward]
+ collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
+ collapse include dir [/usr/local/include] ==> [/usr/local/include]
+ collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
+ collapse include dir [/usr/include] ==> [/usr/include]
+ implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
+
+
+Parsed CXX implicit link information from above output:
+ link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+ ignore line: [Change Dir: /home/tngngn/ccbench/wound-wait/build/CMakeFiles/CMakeTmp]
+ ignore line: []
+ ignore line: [Run Build Command(s):/usr/local/bin/ninja cmTC_a7bfa && [1/2] Building CXX object CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccubAZEO.s]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"]
+ ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
+ ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
+ ignore line: [#include "..." search starts here:]
+ ignore line: [#include <...> search starts here:]
+ ignore line: [ /usr/include/c++/9]
+ ignore line: [ /usr/include/x86_64-linux-gnu/c++/9]
+ ignore line: [ /usr/include/c++/9/backward]
+ ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
+ ignore line: [ /usr/local/include]
+ ignore line: [ /usr/include/x86_64-linux-gnu]
+ ignore line: [ /usr/include]
+ ignore line: [End of search list.]
+ ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
+ ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
+ ignore line: []
+ ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
+ ignore line: [Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [ as -v --64 -o CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccubAZEO.s]
+ ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ ignore line: [[2/2] Linking CXX executable cmTC_a7bfa]
+ ignore line: [Using built-in specs.]
+ ignore line: [COLLECT_GCC=/usr/bin/c++]
+ ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
+ ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
+ ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+ ignore line: [Target: x86_64-linux-gnu]
+ ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
+ ignore line: [Thread model: posix]
+ ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
+ ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
+ ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
+ ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_a7bfa' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+ link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cc3gC2x9.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_a7bfa /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
+ arg [-plugin] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
+ arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
+ arg [-plugin-opt=-fresolution=/tmp/cc3gC2x9.res] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lc] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+ arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+ arg [--build-id] ==> ignore
+ arg [--eh-frame-hdr] ==> ignore
+ arg [-m] ==> ignore
+ arg [elf_x86_64] ==> ignore
+ arg [--hash-style=gnu] ==> ignore
+ arg [--as-needed] ==> ignore
+ arg [-dynamic-linker] ==> ignore
+ arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+ arg [-pie] ==> ignore
+ arg [-znow] ==> ignore
+ arg [-zrelro] ==> ignore
+ arg [-o] ==> ignore
+ arg [cmTC_a7bfa] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
+ arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
+ arg [-L/lib/../lib] ==> dir [/lib/../lib]
+ arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
+ arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
+ arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
+ arg [CMakeFiles/cmTC_a7bfa.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+ arg [-lstdc++] ==> lib [stdc++]
+ arg [-lm] ==> lib [m]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [-lc] ==> lib [c]
+ arg [-lgcc_s] ==> lib [gcc_s]
+ arg [-lgcc] ==> lib [gcc]
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
+ arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
+ collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
+ collapse library dir [/lib/../lib] ==> [/lib]
+ collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+ collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
+ collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
+ implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
+ implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+ implicit fwks: []
+
+
+Determining if the include file pthread.h exists passed with the following output:
+Change Dir: /home/tngngn/ccbench/wound-wait/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_48897 && [1/2] Building CXX object CMakeFiles/cmTC_48897.dir/CheckIncludeFile.cxx.o
+[2/2] Linking CXX executable cmTC_48897
+
+
+
+Determining if the function pthread_create exists in the pthread passed with the following output:
+Change Dir: /home/tngngn/ccbench/wound-wait/build/CMakeFiles/CMakeTmp
+
+Run Build Command(s):/usr/local/bin/ninja cmTC_72945 && [1/2] Building CXX object CMakeFiles/cmTC_72945.dir/CheckFunctionExists.cxx.o
+[2/2] Linking CXX executable cmTC_72945
+
+
+
diff --git a/wound-wait/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx b/wound-wait/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
new file mode 100644
index 00000000..13435e07
--- /dev/null
+++ b/wound-wait/build/CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
@@ -0,0 +1,28 @@
+#ifdef CHECK_FUNCTION_EXISTS
+
+# ifdef __cplusplus
+extern "C"
+# endif
+ char
+ CHECK_FUNCTION_EXISTS(void);
+# ifdef __CLASSIC_C__
+int main()
+{
+ int ac;
+ char* av[];
+# else
+int main(int ac, char* av[])
+{
+# endif
+ CHECK_FUNCTION_EXISTS();
+ if (ac > 1000) {
+ return *av[0];
+ }
+ return 0;
+}
+
+#else /* CHECK_FUNCTION_EXISTS */
+
+# error "CHECK_FUNCTION_EXISTS has to specify the function"
+
+#endif /* CHECK_FUNCTION_EXISTS */
diff --git a/wound-wait/build/CMakeFiles/TargetDirectories.txt b/wound-wait/build/CMakeFiles/TargetDirectories.txt
new file mode 100644
index 00000000..a4bbd1af
--- /dev/null
+++ b/wound-wait/build/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,3 @@
+/home/tngngn/ccbench/wound-wait/build/CMakeFiles/rebuild_cache.dir
+/home/tngngn/ccbench/wound-wait/build/CMakeFiles/edit_cache.dir
+/home/tngngn/ccbench/wound-wait/build/CMakeFiles/ss2pl.exe.dir
diff --git a/wound-wait/build/CMakeFiles/cmake.check_cache b/wound-wait/build/CMakeFiles/cmake.check_cache
new file mode 100644
index 00000000..3dccd731
--- /dev/null
+++ b/wound-wait/build/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/wound-wait/build/build.ninja b/wound-wait/build/build.ninja
new file mode 100644
index 00000000..97745b6d
--- /dev/null
+++ b/wound-wait/build/build.ninja
@@ -0,0 +1,186 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the build statements describing the
+# compilation DAG.
+
+# =============================================================================
+# Write statements declared in CMakeLists.txt:
+#
+# Which is the root file.
+# =============================================================================
+
+# =============================================================================
+# Project: ccbench_ss2pl
+# Configurations: Release
+# =============================================================================
+
+#############################################
+# Minimal version of Ninja required by this file
+
+ninja_required_version = 1.5
+
+
+#############################################
+# Set configuration variable for custom commands.
+
+CONFIGURATION = Release
+# =============================================================================
+# Include auxiliary files.
+
+
+#############################################
+# Include rules file.
+
+include rules.ninja
+
+
+#############################################
+# Utility command for rebuild_cache
+
+build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/wound-wait/build && /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/wound-wait -B/home/tngngn/ccbench/wound-wait/build
+ DESC = Running CMake to regenerate build system...
+ pool = console
+ restat = 1
+
+build rebuild_cache: phony CMakeFiles/rebuild_cache.util
+
+
+#############################################
+# Utility command for edit_cache
+
+build CMakeFiles/edit_cache.util: CUSTOM_COMMAND
+ COMMAND = cd /home/tngngn/ccbench/wound-wait/build && /usr/local/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+ DESC = No interactive CMake dialog available...
+ restat = 1
+
+build edit_cache: phony CMakeFiles/edit_cache.util
+
+# =============================================================================
+# Object build statements for EXECUTABLE target ss2pl.exe
+
+
+#############################################
+# Order-only phony target for ss2pl.exe
+
+build cmake_object_order_depends_target_ss2pl.exe_Release: phony || CMakeFiles/ss2pl.exe.dir
+
+build CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o: CXX_COMPILER__ss2pl.2eexe_Release /home/tngngn/ccbench/common/result.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o: CXX_COMPILER__ss2pl.2eexe_Release /home/tngngn/ccbench/common/util.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/result.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../result.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/result.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../ss2pl.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/transaction.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../transaction.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/transaction.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+build CMakeFiles/ss2pl.exe.dir/util.cc.o: CXX_COMPILER__ss2pl.2eexe_Release ../util.cc || cmake_object_order_depends_target_ss2pl.exe_Release
+ DEFINES = -DADD_ANALYSIS=0 -DBACK_OFF=0 -DBOOST_ALL_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DDLR1 -DKEY_SIZE=8 -DKEY_SORT=0 -DMASSTREE_USE=1 -DVAL_SIZE=4
+ DEP_FILE = CMakeFiles/ss2pl.exe.dir/util.cc.o.d
+ FLAGS = -O3 -DNDEBUG -std=c++17
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ OBJECT_FILE_DIR = CMakeFiles/ss2pl.exe.dir
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_PDB = ss2pl.exe.pdb
+
+
+# =============================================================================
+# Link build statements for EXECUTABLE target ss2pl.exe
+
+
+#############################################
+# Link the executable ss2pl.exe
+
+build ss2pl.exe: CXX_EXECUTABLE_LINKER__ss2pl.2eexe_Release CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/result.cc.o CMakeFiles/ss2pl.exe.dir/home/tngngn/ccbench/common/util.cc.o CMakeFiles/ss2pl.exe.dir/result.cc.o CMakeFiles/ss2pl.exe.dir/ss2pl.cc.o CMakeFiles/ss2pl.exe.dir/transaction.cc.o CMakeFiles/ss2pl.exe.dir/util.cc.o | /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a
+ FLAGS = -O3 -DNDEBUG
+ LINK_LIBRARIES = /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 /usr/lib/x86_64-linux-gnu/libgflags.so ../../third_party/mimalloc/out/release/libmimalloc.a ../../third_party/masstree/libkohler_masstree_json.a -lpthread
+ OBJECT_DIR = CMakeFiles/ss2pl.exe.dir
+ POST_BUILD = :
+ PRE_LINK = :
+ TARGET_COMPILE_PDB = CMakeFiles/ss2pl.exe.dir/
+ TARGET_FILE = ss2pl.exe
+ TARGET_PDB = ss2pl.exe.pdb
+
+# =============================================================================
+# Target aliases.
+
+# =============================================================================
+# Folder targets.
+
+# =============================================================================
+
+#############################################
+# Folder: /home/tngngn/ccbench/wound-wait/build
+
+build all: phony ss2pl.exe
+
+# =============================================================================
+# Built-in targets
+
+
+#############################################
+# Re-run CMake if any of its inputs changed.
+
+build build.ninja: RERUN_CMAKE | ../CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeFindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystem.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckFunctionExists.c /usr/local/share/cmake-3.17/Modules/CheckIncludeFile.cxx.in /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx
+ pool = console
+
+
+#############################################
+# A missing CMake input file is not an error.
+
+build ../CMakeLists.txt /home/tngngn/ccbench/cmake/CompileOptions.cmake /home/tngngn/ccbench/cmake/Findgflags.cmake /home/tngngn/ccbench/cmake/Findglog.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/BoostDetectToolset-1.71.0.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/boost_filesystem-config.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-shared.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_filesystem-1.71.0/libboost_filesystem-variant-static.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config-version.cmake /usr/lib/x86_64-linux-gnu/cmake/boost_headers-1.71.0/boost_headers-config.cmake /usr/local/share/cmake-3.17/Modules/CMakeCXXCompiler.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeCXXCompilerABI.cpp /usr/local/share/cmake-3.17/Modules/CMakeCXXInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake /usr/local/share/cmake-3.17/Modules/CMakeCommonLanguageInclude.cmake /usr/local/share/cmake-3.17/Modules/CMakeCompilerIdDetection.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompileFeatures.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerABI.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineCompilerId.cmake /usr/local/share/cmake-3.17/Modules/CMakeDetermineSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeFindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/CMakeGenericSystem.cmake /usr/local/share/cmake-3.17/Modules/CMakeInitializeConfigs.cmake /usr/local/share/cmake-3.17/Modules/CMakeLanguageInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeNinjaFindMake.cmake /usr/local/share/cmake-3.17/Modules/CMakePackageConfigHelpers.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeParseImplicitLinkInfo.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystem.cmake.in /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInformation.cmake /usr/local/share/cmake-3.17/Modules/CMakeSystemSpecificInitialize.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCXXCompiler.cmake /usr/local/share/cmake-3.17/Modules/CMakeTestCompilerCommon.cmake /usr/local/share/cmake-3.17/Modules/CheckCXXSourceCompiles.cmake /usr/local/share/cmake-3.17/Modules/CheckFunctionExists.c /usr/local/share/cmake-3.17/Modules/CheckIncludeFile.cxx.in /usr/local/share/cmake-3.17/Modules/CheckIncludeFileCXX.cmake /usr/local/share/cmake-3.17/Modules/CheckLibraryExists.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU-FindBinUtils.cmake /usr/local/share/cmake-3.17/Modules/Compiler/GNU.cmake /usr/local/share/cmake-3.17/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/TI-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/local/share/cmake-3.17/Modules/FindBoost.cmake /usr/local/share/cmake-3.17/Modules/FindDoxygen.cmake /usr/local/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake /usr/local/share/cmake-3.17/Modules/FindPackageMessage.cmake /usr/local/share/cmake-3.17/Modules/FindThreads.cmake /usr/local/share/cmake-3.17/Modules/GNUInstallDirs.cmake /usr/local/share/cmake-3.17/Modules/Internal/CMakeCheckCompilerFlag.cmake /usr/local/share/cmake-3.17/Modules/Internal/FeatureTesting.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-Determine-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU-CXX.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux-GNU.cmake /usr/local/share/cmake-3.17/Modules/Platform/Linux.cmake /usr/local/share/cmake-3.17/Modules/Platform/UnixPaths.cmake /usr/local/share/cmake-3.17/Modules/WriteBasicConfigVersionFile.cmake CMakeCache.txt CMakeFiles/3.17.0/CMakeCXXCompiler.cmake CMakeFiles/3.17.0/CMakeSystem.cmake CMakeFiles/CheckLibraryExists/CheckFunctionExists.cxx: phony
+
+
+#############################################
+# Clean all the built files.
+
+build clean: CLEAN
+
+
+#############################################
+# Print all primary targets available.
+
+build help: HELP
+
+
+#############################################
+# Make the all target the default.
+
+default all
diff --git a/wound-wait/build/cmake_install.cmake b/wound-wait/build/cmake_install.cmake
new file mode 100644
index 00000000..3e94cb94
--- /dev/null
+++ b/wound-wait/build/cmake_install.cmake
@@ -0,0 +1,49 @@
+# Install script for directory: /home/tngngn/ccbench/wound-wait
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ if(BUILD_TYPE)
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ else()
+ set(CMAKE_INSTALL_CONFIG_NAME "Release")
+ endif()
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+ if(COMPONENT)
+ message(STATUS "Install component: \"${COMPONENT}\"")
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ else()
+ set(CMAKE_INSTALL_COMPONENT)
+ endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+ set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+else()
+ set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+ "${CMAKE_INSTALL_MANIFEST_FILES}")
+file(WRITE "/home/tngngn/ccbench/wound-wait/build/${CMAKE_INSTALL_MANIFEST}"
+ "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/wound-wait/build/rules.ninja b/wound-wait/build/rules.ninja
new file mode 100644
index 00000000..6c275863
--- /dev/null
+++ b/wound-wait/build/rules.ninja
@@ -0,0 +1,64 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Ninja" Generator, CMake Version 3.17
+
+# This file contains all the rules used to get the outputs files
+# built from the input files.
+# It is included in the main 'build.ninja'.
+
+# =============================================================================
+# Project: ccbench_ss2pl
+# Configurations: Release
+# =============================================================================
+# =============================================================================
+
+#############################################
+# Rule for running custom commands.
+
+rule CUSTOM_COMMAND
+ command = $COMMAND
+ description = $DESC
+
+
+#############################################
+# Rule for compiling CXX files.
+
+rule CXX_COMPILER__ss2pl.2eexe_Release
+ depfile = $DEP_FILE
+ deps = gcc
+ command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in
+ description = Building CXX object $out
+
+
+#############################################
+# Rule for linking CXX executable.
+
+rule CXX_EXECUTABLE_LINKER__ss2pl.2eexe_Release
+ command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD
+ description = Linking CXX executable $TARGET_FILE
+ restat = $RESTAT
+
+
+#############################################
+# Rule for re-running cmake.
+
+rule RERUN_CMAKE
+ command = /usr/local/bin/cmake --regenerate-during-build -S/home/tngngn/ccbench/wound-wait -B/home/tngngn/ccbench/wound-wait/build
+ description = Re-running CMake...
+ generator = 1
+
+
+#############################################
+# Rule for cleaning all built files.
+
+rule CLEAN
+ command = /usr/local/bin/ninja $FILE_ARG -t clean $TARGETS
+ description = Cleaning all built files...
+
+
+#############################################
+# Rule for printing all primary targets available.
+
+rule HELP
+ command = /usr/local/bin/ninja -t targets
+ description = All primary targets available:
+
diff --git a/wound-wait/include/common.hh b/wound-wait/include/common.hh
new file mode 100644
index 00000000..579055ef
--- /dev/null
+++ b/wound-wait/include/common.hh
@@ -0,0 +1,57 @@
+#pragma once
+
+#include
+
+#include "../../include/cache_line_size.hh"
+#include "../../include/int64byte.hh"
+#include "../../include/masstree_wrapper.hh"
+#include "tuple.hh"
+
+#include "gflags/gflags.h"
+#include "glog/logging.h"
+
+#ifdef GLOBAL_VALUE_DEFINE
+#define GLOBAL
+
+#if MASSTREE_USE
+alignas(CACHE_LINE_SIZE) GLOBAL MasstreeWrapper MT;
+#endif
+
+#else
+#define GLOBAL extern
+
+#if MASSTREE_USE
+alignas(CACHE_LINE_SIZE) GLOBAL MasstreeWrapper MT;
+#endif
+
+#endif
+
+#ifdef GLOBAL_VALUE_DEFINE
+DEFINE_uint64(clocks_per_us, 2100,
+ "CPU_MHz. Use this info for measuring time.");
+DEFINE_uint64(extime, 3, "Execution time[sec].");
+DEFINE_uint64(max_ope, 10,
+ "Total number of operations per single transaction.");
+DEFINE_bool(rmw, false,
+ "True means read modify write, false means blind write.");
+DEFINE_uint64(rratio, 50, "read ratio of single transaction.");
+DEFINE_uint64(thread_num, 10, "Total number of worker threads.");
+DEFINE_uint64(tuple_num, 1000000, "Total number of records.");
+DEFINE_bool(ycsb, true,
+ "True uses zipf_skew, false uses faster random generator.");
+DEFINE_double(zipf_skew, 0, "zipf skew. 0 ~ 0.999...");
+#else
+DECLARE_uint64(clocks_per_us);
+DECLARE_uint64(extime);
+DECLARE_uint64(max_ope);
+DECLARE_bool(rmw);
+DECLARE_uint64(rratio);
+DECLARE_uint64(thread_num);
+DECLARE_uint64(tuple_num);
+DECLARE_bool(ycsb);
+DECLARE_double(zipf_skew);
+#endif
+
+alignas(CACHE_LINE_SIZE) GLOBAL Tuple *Table;
+alignas(CACHE_LINE_SIZE) GLOBAL int thread_stats[224];
+alignas(CACHE_LINE_SIZE) GLOBAL int thread_timestamp[224];
diff --git a/wound-wait/include/result.hh b/wound-wait/include/result.hh
new file mode 100644
index 00000000..26dd8285
--- /dev/null
+++ b/wound-wait/include/result.hh
@@ -0,0 +1,9 @@
+#pragma once
+
+#include
+
+#include "../../include/result.hh"
+
+extern std::vector SS2PLResult;
+
+extern void initResult();
diff --git a/wound-wait/include/ss2pl_op_element.hh b/wound-wait/include/ss2pl_op_element.hh
new file mode 100644
index 00000000..6162c229
--- /dev/null
+++ b/wound-wait/include/ss2pl_op_element.hh
@@ -0,0 +1,18 @@
+#pragma once
+
+#include "../../include/op_element.hh"
+
+template
+class SetElement : public OpElement {
+public:
+ using OpElement::OpElement;
+
+ char val_[VAL_SIZE];
+
+ SetElement(uint64_t key, T *rcdptr) : OpElement::OpElement(key, rcdptr) {}
+
+ SetElement(uint64_t key, T *rcdptr, char *val)
+ : OpElement::OpElement(key, rcdptr) {
+ memcpy(this->val_, val, VAL_SIZE);
+ }
+};
diff --git a/wound-wait/include/transaction.hh b/wound-wait/include/transaction.hh
new file mode 100644
index 00000000..5431f352
--- /dev/null
+++ b/wound-wait/include/transaction.hh
@@ -0,0 +1,65 @@
+#pragma once
+
+#include
+
+#include "../../include/procedure.hh"
+#include "../../include/result.hh"
+#include "../../include/rwlock.hh"
+#include "../../include/string.hh"
+#include "../../include/util.hh"
+#include "ss2pl_op_element.hh"
+#include "tuple.hh"
+
+enum class TransactionStatus : uint8_t {
+ inFlight,
+ committed,
+ aborted,
+};
+
+extern void writeValGenerator(char *writeVal, size_t val_size, size_t thid);
+
+class TxExecutor {
+public:
+ alignas(CACHE_LINE_SIZE) int thid_;
+ std::vector r_lock_list_;
+ std::vector w_lock_list_;
+ TransactionStatus status_ = TransactionStatus::inFlight;
+ Result *sres_;
+ vector > read_set_;
+ vector > write_set_;
+ vector pro_set_;
+
+ char write_val_[VAL_SIZE];
+ char return_val_[VAL_SIZE];
+
+ TxExecutor(int thid, Result *sres) : thid_(thid), sres_(sres) {
+ read_set_.reserve(FLAGS_max_ope);
+ write_set_.reserve(FLAGS_max_ope);
+ pro_set_.reserve(FLAGS_max_ope);
+ r_lock_list_.reserve(FLAGS_max_ope);
+ w_lock_list_.reserve(FLAGS_max_ope);
+
+ genStringRepeatedNumber(write_val_, VAL_SIZE, thid);
+ }
+
+ SetElement *searchReadSet(uint64_t key);
+
+ SetElement *searchWriteSet(uint64_t key);
+
+ void begin();
+
+ void read(uint64_t key);
+
+ void write(uint64_t key);
+
+ void readWrite(uint64_t key);
+
+ void commit();
+
+ void abort();
+
+ void unlockList();
+
+ // inline
+ Tuple *get_tuple(Tuple *table, uint64_t key) { return &table[key]; }
+};
diff --git a/wound-wait/include/tuple.hh b/wound-wait/include/tuple.hh
new file mode 100644
index 00000000..de240080
--- /dev/null
+++ b/wound-wait/include/tuple.hh
@@ -0,0 +1,19 @@
+#pragma once
+
+#include
+#include
+
+#include "../../include/cache_line_size.hh"
+#include "../../include/inline.hh"
+#include "../../include/rwlock.hh"
+
+using namespace std;
+
+class Tuple {
+public:
+ alignas(CACHE_LINE_SIZE) RWLock lock_;
+ char val_[VAL_SIZE];
+ int writer = 0;
+ int readers[224] = {0};
+ int writers[224] = {0};
+};
diff --git a/wound-wait/include/util.hh b/wound-wait/include/util.hh
new file mode 100644
index 00000000..547508fa
--- /dev/null
+++ b/wound-wait/include/util.hh
@@ -0,0 +1,13 @@
+#pragma once
+
+extern void chkArg();
+
+extern void displayDB();
+
+extern void displayParameter();
+
+extern void makeDB();
+
+extern void partTableInit([[maybe_unused]] size_t thid, uint64_t start, uint64_t end);
+
+extern void ShowOptParameters();
diff --git a/wound-wait/result.cc b/wound-wait/result.cc
new file mode 100644
index 00000000..ff17dd8d
--- /dev/null
+++ b/wound-wait/result.cc
@@ -0,0 +1,11 @@
+#include "include/result.hh"
+#include "include/common.hh"
+
+#include "../include/cache_line_size.hh"
+#include "../include/result.hh"
+
+using namespace std;
+
+alignas(CACHE_LINE_SIZE) std::vector SS2PLResult;
+
+void initResult() { SS2PLResult.resize(FLAGS_thread_num); }
diff --git a/wound-wait/script/test_cache_ana.sh b/wound-wait/script/test_cache_ana.sh
new file mode 100755
index 00000000..df6753dd
--- /dev/null
+++ b/wound-wait/script/test_cache_ana.sh
@@ -0,0 +1,227 @@
+#test_cache_ana.sh(ss2pl)
+maxope=10
+thread=24
+cpu_mhz=2400
+extime=3
+epoch=5
+
+tuple=100
+workload=0
+result=result_ss2pl_r10_cache.dat
+rm $result
+echo "#tuple, cache-miss-ratio, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $workload $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=100000000; tuple=$tuple * 10))
+do
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ sum=0
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-references,cache-misses -o ss2pl_cache_ana.txt ./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl_cache_ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
+tuple=100
+workload=1
+result=result_ss2pl_r8_cache.dat
+rm $result
+echo "#tuple, cache-miss-ratio, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $workload $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=100000000; tuple=$tuple * 10))
+do
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ sum=0
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-references,cache-misses -o ss2pl_cache_ana.txt ./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl_cache_ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
+tuple=100
+workload=2
+result=result_ss2pl_r5_cache.dat
+rm $result
+echo "#tuple, cache-miss-ratio, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $workload $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=100000000; tuple=$tuple * 10))
+do
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ sum=0
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-references,cache-misses -o ss2pl_cache_ana.txt ./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl_cache_ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
+tuple=100
+workload=3
+result=result_ss2pl_r2_cache.dat
+rm $result
+echo "#tuple, cache-miss-ratio, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $workload $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=100000000; tuple=$tuple * 10))
+do
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ sum=0
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-references,cache-misses -o ss2pl_cache_ana.txt ./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl_cache_ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
+tuple=100
+workload=4
+result=result_ss2pl_r0_cache.dat
+rm $result
+echo "#tuple, cache-miss-ratio, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $workload $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=100000000; tuple=$tuple * 10))
+do
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ sum=0
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-references,cache-misses -o ss2pl_cache_ana.txt ./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl_cache_ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
diff --git a/wound-wait/script/test_t1k.sh b/wound-wait/script/test_t1k.sh
new file mode 100755
index 00000000..73dbfec1
--- /dev/null
+++ b/wound-wait/script/test_t1k.sh
@@ -0,0 +1,382 @@
+#test_t1k.sh(ss2pl)
+tuple=1000
+maxope=10
+cpu_mhz=2400
+extime=3
+epoch=5
+
+workload=0
+result=result_ss2pl_r10_tuple1k_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=1
+result=result_ss2pl_r8_tuple1k_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=2
+result=result_ss2pl_r5_tuple1k_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=3
+result=result_ss2pl_r2_tuple1k_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=4
+result=result_ss2pl_r0_tuple1k_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
diff --git a/wound-wait/script/test_t1m.sh b/wound-wait/script/test_t1m.sh
new file mode 100755
index 00000000..9b30a188
--- /dev/null
+++ b/wound-wait/script/test_t1m.sh
@@ -0,0 +1,382 @@
+#test_t1m.sh(ss2pl)
+tuple=1000000
+maxope=10
+cpu_mhz=2400
+extime=3
+epoch=5
+
+workload=0
+result=result_ss2pl_r10_tuple1m_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=1
+result=result_ss2pl_r8_tuple1m_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=2
+result=result_ss2pl_r5_tuple1m_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=3
+result=result_ss2pl_r2_tuple1m_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=4
+result=result_ss2pl_r0_tuple1m_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
diff --git a/wound-wait/script/test_t200.sh b/wound-wait/script/test_t200.sh
new file mode 100755
index 00000000..ed333bb7
--- /dev/null
+++ b/wound-wait/script/test_t200.sh
@@ -0,0 +1,382 @@
+#test_t200.sh(ss2pl)
+tuple=200
+maxope=10
+cpu_mhz=2400
+extime=3
+epoch=5
+
+workload=0
+result=result_ss2pl_r10_tuple200_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=1
+result=result_ss2pl_r8_tuple200_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=2
+result=result_ss2pl_r5_tuple200_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=3
+result=result_ss2pl_r2_tuple200_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
+workload=4
+result=result_ss2pl_r0_tuple200_ar.dat
+rm $result
+echo "#Worker threads, throughput, min, max" >> $result
+
+thread=1
+sum=0
+echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+echo "$thread $epoch"
+
+max=0
+min=0
+for ((i=1; i <= epoch; i++))
+do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+done
+avg=`echo "$sum / $epoch" | bc -l`
+echo "sum: $sum, epoch: $epoch"
+echo "avg $avg"
+echo "max: $max"
+echo "min: $min"
+echo "$thread $avg $min $max" >> $result
+
+for ((thread=4; thread<=24; thread+=4))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime"
+ echo "$thread $epoch"
+
+ max=0
+ min=0
+ for ((i=1; i <= epoch; i++))
+ do
+ tmp=`./ss2pl.exe $tuple $maxope $thread $workload $cpu_mhz $extime`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$thread $avg $min $max" >> $result
+done
+
diff --git a/wound-wait/script/tst200-1k-1m.sh b/wound-wait/script/tst200-1k-1m.sh
new file mode 100755
index 00000000..c347fa88
--- /dev/null
+++ b/wound-wait/script/tst200-1k-1m.sh
@@ -0,0 +1,1991 @@
+#tst200-1k-1m.sh(ss2pl)
+maxope=10
+rmw=off
+skew=0
+ycsb=off
+cpu_mhz=2400
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+inith=4
+enth=24
+inc=4
+if test $host = $dbs11 ; then
+inith=28
+enth=224
+inc=28
+fi
+
+#kugiri
+rratio=0
+tuple=200
+result=result_ss2pl_r0_tuple200.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=20
+tuple=200
+result=result_ss2pl_r2_tuple200.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=80
+tuple=200
+result=result_ss2pl_r8_tuple200.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=100
+tuple=200
+result=result_ss2pl_r10_tuple200.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=0
+tuple=1000
+result=result_ss2pl_r0_tuple1k.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=20
+tuple=1000
+result=result_ss2pl_r2_tuple1k.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=80
+tuple=1000
+result=result_ss2pl_r8_tuple1k.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=100
+tuple=1000
+result=result_ss2pl_r10_tuple1k.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=0
+tuple=1000000
+result=result_ss2pl_r0_tuple1m.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=20
+tuple=1000000
+result=result_ss2pl_r2_tuple1m.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=80
+tuple=1000000
+result=result_ss2pl_r8_tuple1m.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+#kugiri
+rratio=100
+tuple=1000000
+result=result_ss2pl_r10_tuple1m.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep AbortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
diff --git a/wound-wait/script/ycsb-xope.sh b/wound-wait/script/ycsb-xope.sh
new file mode 100755
index 00000000..7398b793
--- /dev/null
+++ b/wound-wait/script/ycsb-xope.sh
@@ -0,0 +1,106 @@
+#ycsb-xope.sh(ss2pl)
+tuple=100000000
+maxope=10
+rratio=95
+rmw=off
+skew=0.8
+ycsb=on
+cpu_mhz=2100
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+cd ../
+make clean; make -j KEY_SIZE=8 VAL_SIZE=4
+cd script/
+
+result=result_ss2pl-dlr1_ycsbB_tuple100m_skew08_ope10-100.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+
+for ((maxope=10; maxope<=100; maxope+=10))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$maxope $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
diff --git a/wound-wait/script/ycsb-xrratio.sh b/wound-wait/script/ycsb-xrratio.sh
new file mode 100755
index 00000000..e4e74263
--- /dev/null
+++ b/wound-wait/script/ycsb-xrratio.sh
@@ -0,0 +1,102 @@
+#ycsb-xrratio.sh(ss2pl)
+tuple=1000000
+maxope=10
+rratio=0
+rmw=off
+skew=0.9
+ycsb=on
+cpu_mhz=2400
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+result=result_ss2pl-dlr1_tuple1m_val1k_skew09_rratio0-100.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pln.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+
+for ((rratio=0; rratio<=100; rratio+=10))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pln.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pln.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pln.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$rratio $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
diff --git a/wound-wait/script/ycsb-xrs.sh b/wound-wait/script/ycsb-xrs.sh
new file mode 100755
index 00000000..fb18cb42
--- /dev/null
+++ b/wound-wait/script/ycsb-xrs.sh
@@ -0,0 +1,118 @@
+#ycsb-xrs.sh(ss2pl)
+maxope=10
+rratioary=(50 95 100)
+rmw=off
+skew=0.9
+ycsb=on
+cpu_mhz=2100
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+cd ../
+make clean; make -j KEY_SIZE=8 VAL_SIZE=1000
+cd script/
+
+for rratio in "${rratioary[@]}"
+do
+ if test $rratio = 50 ; then
+ result=result_ss2pl_ycsbA_tuple1k-100m_val1k_skew09.dat
+ elif test $rratio = 95 ; then
+ result=result_ss2pl_ycsbB_tuple1k-100m_val1k_skew09.dat
+ elif test $rratio = 100 ; then
+ result=result_ss2pl_ycsbC_tuple1k-100m_val1k_skew09.dat
+ else
+ echo "BUG"
+ exit 1
+ fi
+ rm $result
+
+ echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+ echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+
+ for ((tuple=1000; tuple<=100000000; tuple*=10))
+ do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$tuple $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+ done
+done
diff --git a/wound-wait/script/ycsb-xskew.sh b/wound-wait/script/ycsb-xskew.sh
new file mode 100755
index 00000000..314e6020
--- /dev/null
+++ b/wound-wait/script/ycsb-xskew.sh
@@ -0,0 +1,131 @@
+#ycsb-xrs.sh(ss2pl)
+tuple=10000000
+maxope=16
+rratioary=(50 95)
+rmw=on
+ycsb=on
+cpu_mhz=2100
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+cd ../
+make clean; make -j VAL_SIZE=100
+cd script/
+
+for rratio in "${rratioary[@]}"
+do
+ if test $rratio = 50; then
+ thread=28
+ result=result_2pl_ycsbA_tuple10m_ope16_rmw_skew0-099_th28.dat
+ elif test $rratio = 95; then
+ thread=28
+ result=result_2pl_ycsbB_tuple10m_ope16_rmw_skew0-099_th28.dat
+ elif test $rratio = 100; then
+ result=result_ss2pl_ycsbC_tuple1k_skew0-099.dat
+ else
+ echo "BUG"
+ exit 1
+ fi
+ rm $result
+
+ echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+ echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw skew $ycsb $cpu_mhz $extime" >> $result
+ ../ss2pl.exe > exp.txt
+ tmpStr=`grep ShowOptParameters ./exp.txt`
+ echo "#$tmpStr" >> $result
+
+ for ((tmpskew = 0; tmpskew <= 105; tmpskew += 10))
+ do
+ if test $tmpskew = 100 ; then
+ tmpskew=95
+ fi
+ if test $tmpskew = 105 ; then
+ tmpskew=99
+ fi
+ skew=`echo "scale=3; $tmpskew / 100.0" | bc -l | xargs printf %.2f`
+
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$skew $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+ done
+done
diff --git a/wound-wait/script/ycsb-xth.sh b/wound-wait/script/ycsb-xth.sh
new file mode 100755
index 00000000..1ff00ecf
--- /dev/null
+++ b/wound-wait/script/ycsb-xth.sh
@@ -0,0 +1,124 @@
+#ycsb-xrs.sh(ss2pl)
+tuple=10000000
+maxope=1
+#rratioary=(50 95 100)
+rratioary=(95)
+rmw=on
+skew=0.99
+ycsb=on
+cpu_mhz=2100
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+cd ../
+make clean; make -j VAL_SIZE=100
+cd script/
+
+for rratio in "${rratioary[@]}"
+do
+ if test $rratio = 50 ; then
+ result=result_2pl_ycsbA_tuple10m_ope16_rmw_skew099.dat
+ elif test $rratio = 95 ; then
+ result=result_2pl_ycsbB_tuple10m_ope1_rmw_skew099.dat
+ elif test $rratio = 100 ; then
+ result=result_ss2pl_ycsbC_tuple10m_ope1_skew099.dat
+ maxope=1
+ else
+ echo "BUG"
+ exit 1
+ fi
+ rm $result
+
+ echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+ echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+
+ for ((thread=1; thread<=25; thread+=5))
+ do
+ if test $thread = 6 ; then
+ thread=5
+ fi
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$thread $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+ done
+done
diff --git a/wound-wait/script/ycsb-xval.sh b/wound-wait/script/ycsb-xval.sh
new file mode 100755
index 00000000..e5c64aea
--- /dev/null
+++ b/wound-wait/script/ycsb-xval.sh
@@ -0,0 +1,122 @@
+#ycsb-xrs.sh(ss2pl)
+tuple=1000000
+maxope=10
+rratioary=(95)
+rmw=off
+skew=0
+ycsb=on
+cpu_mhz=2100
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+thread=24
+if test $host = $dbs11 ; then
+thread=224
+fi
+
+for rratio in "${rratioary[@]}"
+do
+ if test $rratio = 50; then
+ result=result_ss2pl_ycsbA_tuple100m_skew09_val4-1k.dat
+ elif test $rratio = 95; then
+ result=result_ss2pl_ycsbB_tuple1m_val10-100k.dat
+ elif test $rratio = 100; then
+ result=result_ss2pl_ycsbC_tuple100m_skew09_val4-1k.dat
+ else
+ echo "BUG"
+ exit 1
+ fi
+ rm $result
+
+ echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+ echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+
+ for ((val = 10; val <= 100000; val *= 10))
+ do
+ if test $val = 104 ; then
+ val=100
+ fi
+ cd ../
+ make clean; make -j VAL_SIZE=$val
+ cd script
+
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ echo "$val $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+ done
+done
diff --git a/wound-wait/script/ycsbA-xrs-cache.sh b/wound-wait/script/ycsbA-xrs-cache.sh
new file mode 100755
index 00000000..61dbd5f4
--- /dev/null
+++ b/wound-wait/script/ycsbA-xrs-cache.sh
@@ -0,0 +1,52 @@
+#ycsbA-xrs-cache.sh(ss2pl)
+maxope=10
+thread=24
+rratio=50
+skew=0
+ycsb=ON
+cpu_mhz=2400
+extime=3
+epoch=5
+
+result=result_ss2pl_ycsbA_tuple100-10m_cachemiss.dat
+rm $result
+echo "#tuple num, cache-misses, min, max" >> $result
+echo "#./ss2pl.exe tuple $maxope $thread $rratio $skew $ycsb $cpu_mhz $extime" >> $result
+
+for ((tuple=100; tuple<=10000000; tuple*=10))
+do
+ sum=0
+ echo "./ss2pl.exe $tuple $maxope $thread $rratio $skew $ycsb $cpu_mhz $extime"
+ echo "$tuple $epoch"
+
+ max=0
+ min=0
+ for ((i = 1; i <= epoch; ++i))
+ do
+ perf stat -e cache-misses,cache-references -o ss2pl-cache-ana.txt ./ss2pl.exe $tuple $maxope $thread $rratio $skew $ycsb $cpu_mhz $extime
+ tmp=`grep cache-misses ./ss2pl-cache-ana.txt | awk '{print $4}'`
+ sum=`echo "$sum + $tmp" | bc -l`
+ echo "sum: $sum, tmp: $tmp"
+
+ if test $i -eq 1 ; then
+ max=$tmp
+ min=$tmp
+ fi
+
+ flag=`echo "$tmp > $max" | bc -l`
+ if test $flag -eq 1 ; then
+ max=$tmp
+ fi
+ flag=`echo "$tmp < $min" | bc -l`
+ if test $flag -eq 1 ; then
+ min=$tmp
+ fi
+ done
+ avg=`echo "$sum / $epoch" | bc -l`
+ echo "sum: $sum, epoch: $epoch"
+ echo "avg $avg"
+ echo "max: $max"
+ echo "min: $min"
+ echo "$tuple $avg $min $max" >> $result
+done
+
diff --git a/wound-wait/script/ycsbA.sh b/wound-wait/script/ycsbA.sh
new file mode 100755
index 00000000..c83e85f6
--- /dev/null
+++ b/wound-wait/script/ycsbA.sh
@@ -0,0 +1,510 @@
+#ycsbA.sh(ss2pl)
+maxope=10
+rratio=50
+rmw=off
+skew=0
+ycsb=on
+cpu_mhz=2400
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+inith=4
+enth=24
+inc=4
+if test $host = $dbs11 ; then
+inith=28
+enth=224
+inc=28
+fi
+
+tuple=500
+result=result_ss2pl_ycsbA_tuple500_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+tuple=500000
+result=result_ss2pl_ycsbA_tuple500k_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+tuple=5000000
+result=result_ss2pl_ycsbA_tuple5m_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
diff --git a/wound-wait/script/ycsbB.sh b/wound-wait/script/ycsbB.sh
new file mode 100755
index 00000000..2a5966d9
--- /dev/null
+++ b/wound-wait/script/ycsbB.sh
@@ -0,0 +1,510 @@
+#ycsbB.sh(ss2pl)
+maxope=10
+rratio=95
+rmw=off
+skew=0
+ycsb=on
+cpu_mhz=2400
+extime=3
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+inith=4
+enth=24
+inc=4
+if test $host = $dbs11 ; then
+inith=28
+enth=224
+inc=28
+fi
+
+tuple=500
+result=result_ss2pl_ycsbB_tuple500_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+tuple=500000
+result=result_ss2pl_ycsbB_tuple500k_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
+tuple=5000000
+result=result_ss2pl_ycsbB_tuple5m_masstree.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abortRate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
diff --git a/wound-wait/script/ycsbC.sh b/wound-wait/script/ycsbC.sh
new file mode 100755
index 00000000..4894481b
--- /dev/null
+++ b/wound-wait/script/ycsbC.sh
@@ -0,0 +1,187 @@
+#ycsbC.sh(ss2pl)
+#tuple=1000000000
+tuple=1000
+maxope=10
+rratio=100
+rmw=off
+skew=0.9
+ycsb=on
+cpu_mhz=2100
+extime=1
+epoch=3
+
+host=`hostname`
+chris41="chris41.omni.hpcc.jp"
+dbs11="dbs11"
+
+#basically
+inith=4
+enth=24
+inc=4
+if test $host = $dbs11 ; then
+inith=28
+enth=224
+inc=28
+fi
+
+result=result_ss2pl_ycsbC_tuple1g_skew09_val1k.dat
+rm $result
+echo "#Worker threads, avg-tps, min-tps, max-tps, avg-ar, min-ar, max-ar, avg-camiss, min-camiss, max-camiss" >> $result
+echo "#sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime" >> $result
+thread=1
+
+echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+echo "Thread number $thread"
+
+sumTH=0
+sumAR=0
+sumCA=0
+maxTH=0
+maxAR=0
+maxCA=0
+minTH=0
+minAR=0
+minCA=0
+for ((i=1; i <= epoch; i++))
+do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+done
+avgTH=`echo "$sumTH / $epoch" | bc`
+avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+avgCA=`echo "$sumCA / $epoch" | bc`
+echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+echo ""
+thout=`echo "$thread - 1" | bc`
+echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+
+for ((thread=$inith; thread<=$enth; thread+=$inc))
+do
+ echo "sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope thread $rratio $rmw $skew $ycsb $cpu_mhz $extime"
+ echo "Thread number $thread"
+
+ sumTH=0
+ sumAR=0
+ sumCA=0
+ maxTH=0
+ maxAR=0
+ maxCA=0
+ minTH=0
+ minAR=0
+ minCA=0
+ for ((i=1; i <= epoch; i++))
+ do
+ if test $host = $dbs11 ; then
+ sudo perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+ if test $host = $chris41 ; then
+ perf stat -e cache-misses,cache-references -o ana.txt numactl --interleave=all ../ss2pl.exe $tuple $maxope $thread $rratio $rmw $skew $ycsb $cpu_mhz $extime > exp.txt
+ fi
+
+ tmpTH=`grep Throughput ./exp.txt | awk '{print $2}'`
+ tmpAR=`grep abort_rate ./exp.txt | awk '{print $2}'`
+ tmpCA=`grep cache-misses ./ana.txt | awk '{print $4}'`
+ sumTH=`echo "$sumTH + $tmpTH" | bc`
+ sumAR=`echo "scale=4; $sumAR + $tmpAR" | bc | xargs printf %.4f`
+ sumCA=`echo "$sumCA + $tmpCA" | bc`
+ echo "tmpTH: $tmpTH, tmpAR: $tmpAR, tmpCA: $tmpCA"
+
+ if test $i -eq 1 ; then
+ maxTH=$tmpTH
+ maxAR=$tmpAR
+ maxCA=$tmpCA
+ minTH=$tmpTH
+ minAR=$tmpAR
+ minCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH > $maxTH" | bc`
+ if test $flag -eq 1 ; then
+ maxTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR > $maxAR" | bc`
+ if test $flag -eq 1 ; then
+ maxAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA > $maxCA" | bc`
+ if test $flag -eq 1 ; then
+ maxCA=$tmpCA
+ fi
+
+ flag=`echo "$tmpTH < $minTH" | bc`
+ if test $flag -eq 1 ; then
+ minTH=$tmpTH
+ fi
+ flag=`echo "$tmpAR < $minAR" | bc`
+ if test $flag -eq 1 ; then
+ minAR=$tmpAR
+ fi
+ flag=`echo "$tmpCA < $minCA" | bc`
+ if test $flag -eq 1 ; then
+ minCA=$tmpCA
+ fi
+
+ done
+ avgTH=`echo "$sumTH / $epoch" | bc`
+ avgAR=`echo "scale=4; $sumAR / $epoch" | bc | xargs printf %.4f`
+ avgCA=`echo "$sumCA / $epoch" | bc`
+ echo "sumTH: $sumTH, sumAR: $sumAR, sumCA: $sumCA"
+ echo "avgTH: $avgTH, avgAR: $avgAR, avgCA: $avgCA"
+ echo "maxTH: $maxTH, maxAR: $maxAR, maxCA: $maxCA"
+ echo "minTH: $minTH, minAR: $minAR, minCA: $minCA"
+ echo ""
+ thout=`echo "$thread - 1" | bc`
+ echo "$thout $avgTH $minTH $maxTH $avgAR $minAR $maxAR, $avgCA $minCA $maxCA" >> $result
+done
+
diff --git a/wound-wait/ss2pl.cc b/wound-wait/ss2pl.cc
new file mode 100644
index 00000000..50a514c4
--- /dev/null
+++ b/wound-wait/ss2pl.cc
@@ -0,0 +1,129 @@
+
+#include //isdigit,
+#include
+#include //strlen,
+#include //syscall(SYS_gettid),
+#include //syscall(SYS_gettid),
+#include //syscall(SYS_gettid),
+#include
+
+#include
+#include //string
+#include
+
+#define GLOBAL_VALUE_DEFINE
+
+#include "../include/atomic_wrapper.hh"
+#include "../include/backoff.hh"
+#include "../include/cpu.hh"
+#include "../include/debug.hh"
+#include "../include/fence.hh"
+#include "../include/int64byte.hh"
+#include "../include/masstree_wrapper.hh"
+#include "../include/procedure.hh"
+#include "../include/random.hh"
+#include "../include/result.hh"
+#include "../include/tsc.hh"
+#include "../include/util.hh"
+#include "../include/zipf.hh"
+#include "include/common.hh"
+#include "include/result.hh"
+#include "include/transaction.hh"
+#include "include/util.hh"
+
+long long int central_timestamp = 0;
+
+void worker(size_t thid, char &ready, const bool &start, const bool &quit) {
+ Result &myres = std::ref(SS2PLResult[thid]);
+ Xoroshiro128Plus rnd;
+ rnd.init();
+ TxExecutor trans(thid, (Result *) &myres);
+ FastZipf zipf(&rnd, FLAGS_zipf_skew, FLAGS_tuple_num);
+ Backoff backoff(FLAGS_clocks_per_us);
+
+#if MASSTREE_USE
+ MasstreeWrapper::thread_init(int(thid));
+#endif
+
+#ifdef Linux
+ setThreadAffinity(thid);
+ // printf("Thread #%d: on CPU %d\n", *myid, sched_getcpu());
+ // printf("sysconf(_SC_NPROCESSORS_CONF) %ld\n",
+ // sysconf(_SC_NPROCESSORS_CONF));
+#endif // Linux
+
+ storeRelease(ready, 1);
+ while (!loadAcquire(start)) _mm_pause();
+ while (!loadAcquire(quit)) {
+ makeProcedure(trans.pro_set_, rnd, zipf, FLAGS_tuple_num, FLAGS_max_ope, FLAGS_thread_num,
+ FLAGS_rratio, FLAGS_rmw, FLAGS_ycsb, false, thid, myres);
+ thread_timestamp[thid] = __atomic_add_fetch(¢ral_timestamp, 1, __ATOMIC_SEQ_CST);
+RETRY:
+ thread_stats[thid] = 0;
+ if (loadAcquire(quit)) break;
+ if (thid == 0) leaderBackoffWork(backoff, SS2PLResult);
+
+ trans.begin();
+ for (auto itr = trans.pro_set_.begin(); itr != trans.pro_set_.end();
+ ++itr) {
+ if ((*itr).ope_ == Ope::READ) {
+ trans.read((*itr).key_);
+ } else if ((*itr).ope_ == Ope::WRITE) {
+ trans.write((*itr).key_);
+ } else if ((*itr).ope_ == Ope::READ_MODIFY_WRITE) {
+ trans.readWrite((*itr).key_);
+ } else {
+ ERR;
+ }
+
+ if (thread_stats[thid] == 1) {
+ trans.status_ = TransactionStatus::aborted;
+ trans.abort();
+ goto RETRY;
+ }
+ }
+
+ trans.commit();
+ /**
+ * local_commit_counts is used at ../include/backoff.hh to calcurate about
+ * backoff.
+ */
+ storeRelease(myres.local_commit_counts_,
+ loadAcquire(myres.local_commit_counts_) + 1);
+ }
+
+ return;
+}
+
+int main(int argc, char *argv[]) try {
+ gflags::SetUsageMessage("2PL benchmark.");
+ gflags::ParseCommandLineFlags(&argc, &argv, true);
+ chkArg();
+ makeDB();
+
+ alignas(CACHE_LINE_SIZE) bool start = false;
+ alignas(CACHE_LINE_SIZE) bool quit = false;
+ initResult();
+ std::vector readys(FLAGS_thread_num);
+ std::vector thv;
+ for (size_t i = 0; i < FLAGS_thread_num; ++i)
+ thv.emplace_back(worker, i, std::ref(readys[i]), std::ref(start),
+ std::ref(quit));
+ waitForReady(readys);
+ storeRelease(start, true);
+ for (size_t i = 0; i < FLAGS_extime; ++i) {
+ sleepMs(1000);
+ }
+ storeRelease(quit, true);
+ for (auto &th : thv) th.join();
+
+ for (unsigned int i = 0; i < FLAGS_thread_num; ++i) {
+ SS2PLResult[0].addLocalAllResult(SS2PLResult[i]);
+ }
+ ShowOptParameters();
+ SS2PLResult[0].displayAllResult(FLAGS_clocks_per_us, FLAGS_extime, FLAGS_thread_num);
+
+ return 0;
+} catch (bad_alloc) {
+ ERR;
+}
diff --git a/wound-wait/transaction.cc b/wound-wait/transaction.cc
new file mode 100644
index 00000000..1af4d9b2
--- /dev/null
+++ b/wound-wait/transaction.cc
@@ -0,0 +1,363 @@
+
+#include
+#include
+
+#include
+
+#include "../include/backoff.hh"
+#include "../include/debug.hh"
+#include "../include/procedure.hh"
+#include "../include/result.hh"
+#include "include/common.hh"
+#include "include/transaction.hh"
+
+using namespace std;
+
+extern void display_procedure_vector(std::vector &pro);
+
+/**
+ * @brief Search xxx set
+ * @detail Search element of local set corresponding to given key.
+ * In this prototype system, the value to be updated for each worker thread
+ * is fixed for high performance, so it is only necessary to check the key match.
+ * @param Key [in] the key of key-value
+ * @return Corresponding element of local set
+ */
+inline SetElement *TxExecutor::searchReadSet(uint64_t key) {
+ for (auto itr = read_set_.begin(); itr != read_set_.end(); ++itr) {
+ if ((*itr).key_ == key) return &(*itr);
+ }
+
+ return nullptr;
+}
+
+/**
+ * @brief Search xxx set
+ * @detail Search element of local set corresponding to given key.
+ * In this prototype system, the value to be updated for each worker thread
+ * is fixed for high performance, so it is only necessary to check the key match.
+ * @param Key [in] the key of key-value
+ * @return Corresponding element of local set
+ */
+inline SetElement *TxExecutor::searchWriteSet(uint64_t key) {
+ for (auto itr = write_set_.begin(); itr != write_set_.end(); ++itr) {
+ if ((*itr).key_ == key) return &(*itr);
+ }
+
+ return nullptr;
+}
+
+/**
+ * @brief function about abort.
+ * Clean-up local read/write set.
+ * Release locks.
+ * @return void
+ */
+void TxExecutor::abort() {
+ /**
+ * Release locks
+ */
+ unlockList();
+
+ /**
+ * Clean-up local read/write set.
+ */
+ read_set_.clear();
+ write_set_.clear();
+
+ ++sres_->local_abort_counts_;
+
+#if BACK_OFF
+#if ADD_ANALYSIS
+ uint64_t start(rdtscp());
+#endif
+
+ Backoff::backoff(FLAGS_clocks_per_us);
+
+#if ADD_ANALYSIS
+ sres_->local_backoff_latency_ += rdtscp() - start;
+#endif
+
+#endif
+}
+
+/**
+ * @brief success termination of transaction.
+ * @return void
+ */
+void TxExecutor::commit() {
+ for (auto itr = write_set_.begin(); itr != write_set_.end(); ++itr) {
+ /**
+ * update payload.
+ */
+ memcpy((*itr).rcdptr_->val_, write_val_, VAL_SIZE);
+ }
+
+ /**
+ * Release locks.
+ */
+ unlockList();
+
+ /**
+ * Clean-up local read/write set.
+ */
+ read_set_.clear();
+ write_set_.clear();
+}
+
+/**
+ * @brief Initialize function of transaction.
+ * Allocate timestamp.
+ * @return void
+ */
+void TxExecutor::begin() { this->status_ = TransactionStatus::inFlight; }
+
+/**
+ * @brief Transaction read function.
+ * @param [in] key The key of key-value
+ */
+void TxExecutor::read(uint64_t key) {
+#if ADD_ANALYSIS
+ uint64_t start = rdtscp();
+#endif // ADD_ANALYSIS
+
+ /**
+ * read-own-writes or re-read from local read set.
+ */
+ if (searchWriteSet(key) || searchReadSet(key)) goto FINISH_READ;
+
+ /**
+ * Search tuple from data structure.
+ */
+ Tuple *tuple;
+#if MASSTREE_USE
+ tuple = MT.get_value(key);
+#if ADD_ANALYSIS
+ ++sres_->local_tree_traversal_;
+#endif
+#else
+ tuple = get_tuple(Table, key);
+#endif
+
+ while (1) {
+ if (tuple->lock_.r_trylock()) {
+ r_lock_list_.emplace_back(&tuple->lock_);
+ read_set_.emplace_back(key, tuple, tuple->val_);
+ tuple->readers[thid_] = 1;
+ break;
+ }
+ else {
+ /**
+ * wound wait
+ */
+ for (int i = 0; i < FLAGS_thread_num; i++) {
+ if (tuple->writers[i] > 0 && thread_timestamp[i] > thread_timestamp[this->thid_]) {
+ thread_stats[i] = 1;
+ }
+ }
+ if (thread_stats[thid_] == 1) goto FINISH_READ;
+ }
+ }
+
+FINISH_READ:
+
+#if ADD_ANALYSIS
+ sres_->local_read_latency_ += rdtscp() - start;
+#endif
+ return;
+}
+
+/**
+ * @brief transaction write operation
+ * @param [in] key The key of key-value
+ * @return void
+ */
+void TxExecutor::write(uint64_t key) {
+#if ADD_ANALYSIS
+ uint64_t start = rdtscp();
+#endif
+
+ // if it already wrote the key object once.
+ if (searchWriteSet(key)) goto FINISH_WRITE;
+ /**
+ * Search tuple from data structure.
+ */
+ Tuple *tuple;
+#if MASSTREE_USE
+ tuple = MT.get_value(key);
+#if ADD_ANALYSIS
+ ++sres_->local_tree_traversal_;
+#endif
+#else
+ tuple = get_tuple(Table, key);
+#endif
+ for (auto rItr = read_set_.begin(); rItr != read_set_.end(); ++rItr) {
+ if ((*rItr).key_ == key) { // hit
+ while (1) {
+ if (!(*rItr).rcdptr_->lock_.tryupgrade()) {
+ for (int i = 0; i < FLAGS_thread_num; i++) {
+ if ((tuple->readers[i] > 0 || tuple->writers[i] > 0) && thread_timestamp[i] > thread_timestamp[this->thid_]) {
+ thread_stats[i] = 1;
+ }
+ }
+ if (thread_stats[thid_] == 1) goto FINISH_WRITE;
+ } else {
+ break;
+ }
+ }
+
+ // upgrade success
+ // remove old element of read lock list.
+ tuple->readers[this->thid_] = 0;
+ tuple->writers[this->thid_] = 1;
+ for (auto lItr = r_lock_list_.begin(); lItr != r_lock_list_.end();
+ ++lItr) {
+ if (*lItr == &((*rItr).rcdptr_->lock_)) {
+ write_set_.emplace_back(key, (*rItr).rcdptr_);
+ w_lock_list_.emplace_back(&(*rItr).rcdptr_->lock_);
+ r_lock_list_.erase(lItr);
+ break;
+ }
+ }
+
+ read_set_.erase(rItr);
+ goto FINISH_WRITE;
+ }
+ }
+
+ while (1) {
+ if (!tuple->lock_.w_trylock()) {
+ /**
+ * wound-wait.
+ */
+ for (int i = 0; i < FLAGS_thread_num; i++) {
+ if ((tuple->readers[i] > 0 || tuple->writers[i] > 0) && thread_timestamp[i] > thread_timestamp[this->thid_]) {
+ thread_stats[i] = 1;
+ }
+ }
+ if (thread_stats[thid_] == 1) goto FINISH_WRITE;
+ } else {
+ break;
+ }
+ }
+
+
+ /**
+ * Register the contents to write lock list and write set.
+ */
+ tuple->writers[thid_] = 1;
+ w_lock_list_.emplace_back(&tuple->lock_);
+ write_set_.emplace_back(key, tuple);
+
+FINISH_WRITE:
+#if ADD_ANALYSIS
+ sres_->local_write_latency_ += rdtscp() - start;
+#endif // ADD_ANALYSIS
+ return;
+}
+
+/**
+ * @brief transaction readWrite (RMW) operation
+ */
+void TxExecutor::readWrite(uint64_t key) {
+ // if it already wrote the key object once.
+ if (searchWriteSet(key)) goto FINISH_WRITE;
+ /**
+ * Search tuple from data structure.
+ */
+ Tuple *tuple;
+#if MASSTREE_USE
+ tuple = MT.get_value(key);
+#if ADD_ANALYSIS
+ ++sres_->local_tree_traversal_;
+#endif
+#else
+ tuple = get_tuple(Table, key);
+#endif
+ for (auto rItr = read_set_.begin(); rItr != read_set_.end(); ++rItr) {
+ if ((*rItr).key_ == key) { // hit
+ while (1) {
+ if (!(*rItr).rcdptr_->lock_.tryupgrade()) {
+ for (int i = 0; i < FLAGS_thread_num; i++) {
+ if ((tuple->readers[i] > 0 || tuple->writers[i] > 0) && thread_timestamp[i] > thread_timestamp[this->thid_]) {
+ thread_stats[i] = 1;
+ }
+ }
+ if (thread_stats[thid_] == 1) goto FINISH_WRITE;
+ } else {
+ break;
+ }
+ }
+
+ // upgrade success
+ // remove old element of read set.
+ tuple->readers[this->thid_] = 0;
+ tuple->writers[this->thid_] = 1;
+ for (auto lItr = r_lock_list_.begin(); lItr != r_lock_list_.end();
+ ++lItr) {
+ if (*lItr == &((*rItr).rcdptr_->lock_)) {
+ write_set_.emplace_back(key, (*rItr).rcdptr_);
+ w_lock_list_.emplace_back(&(*rItr).rcdptr_->lock_);
+ r_lock_list_.erase(lItr);
+ break;
+ }
+ }
+
+ read_set_.erase(rItr);
+ goto FINISH_WRITE;
+ }
+ }
+
+ while (1) {
+ if (!tuple->lock_.w_trylock()) {
+ /**
+ * wound-wait.
+ */
+ for (int i = 0; i < FLAGS_thread_num; i++) {
+ if ((tuple->readers[i] > 0 || tuple->writers[i] > 0) && thread_timestamp[i] > thread_timestamp[this->thid_]) {
+ thread_stats[i] = 1;
+ }
+ }
+ if (thread_stats[thid_] == 1) goto FINISH_WRITE;
+ } else {
+ break;
+ }
+ }
+
+ // read payload
+ memcpy(this->return_val_, tuple->val_, VAL_SIZE);
+ // finish read.
+
+ /**
+ * Register the contents to write lock list and write set.
+ */
+ w_lock_list_.emplace_back(&tuple->lock_);
+ write_set_.emplace_back(key, tuple);
+
+FINISH_WRITE:
+ return;
+}
+
+/**
+ * @brief unlock and clean-up local lock set.
+ * @return void
+ */
+void TxExecutor::unlockList() {
+ for (auto itr = r_lock_list_.begin(); itr != r_lock_list_.end(); ++itr)
+ (*itr)->r_unlock();
+
+ for (auto itr = read_set_.begin(); itr != read_set_.end(); ++itr)
+ (*itr).rcdptr_->readers[this->thid_] = -1;
+
+ for (auto itr = w_lock_list_.begin(); itr != w_lock_list_.end(); ++itr)
+ (*itr)->w_unlock();
+
+ for (auto itr = write_set_.begin(); itr != write_set_.end(); ++itr)
+ (*itr).rcdptr_->writers[this->thid_] = -1;
+
+ /**
+ * Clean-up local lock set.
+ */
+ r_lock_list_.clear();
+ w_lock_list_.clear();
+}
diff --git a/wound-wait/util.cc b/wound-wait/util.cc
new file mode 100644
index 00000000..56853473
--- /dev/null
+++ b/wound-wait/util.cc
@@ -0,0 +1,118 @@
+
+#include
+#include // syscall(SYS_gettid),
+#include // syscall(SSY_gettid),
+#include // syscall(SSY_gettid),
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "../include/config.hh"
+#include "../include/debug.hh"
+#include "../include/masstree_wrapper.hh"
+#include "../include/procedure.hh"
+#include "../include/random.hh"
+#include "../include/result.hh"
+#include "../include/zipf.hh"
+#include "include/common.hh"
+#include "include/tuple.hh"
+#include "include/util.hh"
+
+void chkArg() {
+ displayParameter();
+
+ if (FLAGS_rratio > 100) {
+ ERR;
+ }
+
+ if (FLAGS_clocks_per_us < 100) {
+ cout << "CPU_MHZ is less than 100. are your really?" << endl;
+ ERR;
+ }
+}
+
+void displayDB() {
+ Tuple *tuple;
+
+ for (unsigned int i = 0; i < FLAGS_tuple_num; i++) {
+ tuple = &Table[i];
+ cout << "------------------------------" << endl; // - 30
+ cout << "key: " << i << endl;
+ cout << "val: " << tuple->val_ << endl;
+ }
+}
+
+void displayParameter() {
+ cout << "#FLAGS_clocks_per_us:\t" << FLAGS_clocks_per_us << endl;
+ cout << "#FLAGS_extime:\t\t" << FLAGS_extime << endl;
+ cout << "#FLAGS_max_ope:\t\t" << FLAGS_max_ope << endl;
+ cout << "#FLAGS_rmw:\t\t" << FLAGS_rmw << endl;
+ cout << "#FLAGS_rratio:\t\t" << FLAGS_rratio << endl;
+ cout << "#FLAGS_thread_num:\t" << FLAGS_thread_num << endl;
+ cout << "#FLAGS_tuple_num:\t" << FLAGS_tuple_num << endl;
+ cout << "#FLAGS_ycsb:\t\t" << FLAGS_ycsb << endl;
+ cout << "#FLAGS_zipf_skew:\t" << FLAGS_zipf_skew << endl;
+}
+
+void partTableInit([[maybe_unused]] size_t thid, uint64_t start, uint64_t end) {
+ // printf("partTableInit(...): thid %zu : %lu : %lu\n", thid, start, end);
+#if MASSTREE_USE
+ MasstreeWrapper::thread_init(thid);
+#endif
+
+ for (auto i = start; i <= end; ++i) {
+ Table[i].val_[0] = 'a';
+ Table[i].val_[1] = '\0';
+
+#if MASSTREE_USE
+ MT.insert_value(i, &Table[i]);
+#endif
+ }
+}
+
+void makeDB() {
+ if (posix_memalign((void **) &Table, PAGE_SIZE, FLAGS_tuple_num * sizeof(Tuple)) !=
+ 0)
+ ERR;
+#if dbs11
+ if (madvise((void *)Table, (FLAGS_tuple_num) * sizeof(Tuple), MADV_HUGEPAGE) != 0)
+ ERR;
+#endif
+
+ // maxthread は masstree 構築の最大並行スレッド数。
+ // 初期値はハードウェア最大値。
+ // FLAGS_tuple_num を均等に分割できる最大スレッド数を求める。
+ size_t maxthread = decideParallelBuildNumber(FLAGS_tuple_num);
+
+ std::vector thv;
+ // cout << "masstree 並列構築スレッド数 " << maxthread << endl;
+ for (size_t i = 0; i < maxthread; ++i) {
+ thv.emplace_back(partTableInit, i, i * (FLAGS_tuple_num / maxthread),
+ (i + 1) * (FLAGS_tuple_num / maxthread) - 1);
+ }
+ for (auto &th : thv) th.join();
+}
+
+void
+ShowOptParameters() {
+ cout << "#ShowOptParameters()"
+ << ": ADD_ANALYSIS " << ADD_ANALYSIS
+ << ": BACK_OFF " << BACK_OFF
+ #ifdef DLR0
+ << ": DLR0 "
+ #elif defined DLR1
+ << ": DLR1 "
+ #endif
+ << ": MASSTREE_USE " << MASSTREE_USE
+ << ": KEY_SIZE " << KEY_SIZE
+ << ": KEY_SORT " << KEY_SORT
+ << ": VAL_SIZE " << VAL_SIZE
+ << endl;
+}