From bf64fe469fdfe9e05814c2cf482a754ab85f9097 Mon Sep 17 00:00:00 2001
From: Hugo TRACHINO <hugo.trachino@pedago-ext.ensiie.fr>
Date: Fri, 4 Oct 2019 11:54:25 +0200
Subject: [PATCH] add sub modules + beginning TD1 Part2

---
 sgi2018/.gitignore                            |  210 +++
 sgi2018/.gitmodules                           |    3 +
 sgi2018/CMakeCache.txt                        |  351 +++++
 .../CMakeFiles/3.13.4/CMakeCCompiler.cmake    |   73 +
 .../CMakeFiles/3.13.4/CMakeCXXCompiler.cmake  |   76 +
 .../3.13.4/CMakeDetermineCompilerABI_C.bin    |  Bin 0 -> 16544 bytes
 .../3.13.4/CMakeDetermineCompilerABI_CXX.bin  |  Bin 0 -> 16560 bytes
 sgi2018/CMakeFiles/3.13.4/CMakeSystem.cmake   |   15 +
 .../3.13.4/CompilerIdC/CMakeCCompilerId.c     |  623 ++++++++
 .../CompilerIdCXX/CMakeCXXCompilerId.cpp      |  602 ++++++++
 .../CMakeDirectoryInformation.cmake           |   16 +
 sgi2018/CMakeFiles/CMakeOutput.log            |  752 ++++++++++
 sgi2018/CMakeFiles/Makefile.cmake             |   47 +
 sgi2018/CMakeFiles/Makefile2                  |  113 ++
 sgi2018/CMakeFiles/TargetDirectories.txt      |    3 +
 sgi2018/CMakeFiles/cmake.check_cache          |    1 +
 sgi2018/CMakeFiles/feature_tests.bin          |  Bin 0 -> 16504 bytes
 sgi2018/CMakeFiles/feature_tests.c            |   34 +
 sgi2018/CMakeFiles/feature_tests.cxx          |  405 +++++
 .../follower.exe.dir/CXX.includecache         | 1322 +++++++++++++++++
 .../follower.exe.dir/DependInfo.cmake         |   21 +
 .../CMakeFiles/follower.exe.dir/build.make    |   98 ++
 .../follower.exe.dir/cmake_clean.cmake        |   10 +
 .../follower.exe.dir/depend.internal          |  250 ++++
 .../CMakeFiles/follower.exe.dir/depend.make   |  250 ++++
 .../CMakeFiles/follower.exe.dir/flags.make    |   10 +
 sgi2018/CMakeFiles/follower.exe.dir/link.txt  |    1 +
 .../CMakeFiles/follower.exe.dir/progress.make |    3 +
 sgi2018/CMakeFiles/progress.marks             |    1 +
 sgi2018/CMakeLists.txt                        |   24 +
 sgi2018/LICENSE                               |  201 +++
 sgi2018/Makefile                              |  178 +++
 sgi2018/cmake_install.cmake                   |   49 +
 sgi2018/eigen                                 |    1 +
 sgi2018/input/points.txt                      |  121 ++
 sgi2018/input/weights.txt                     |  121 ++
 sgi2018/plot.R                                |   60 +
 sgi2018/readme.md                             |   52 +
 sgi2018/src/follower/follow.h                 |   92 ++
 sgi2018/src/follower/point.h                  |  187 +++
 sgi2018/src/follower/transform.h              |   77 +
 sgi2018/src/generator.h                       |  224 +++
 sgi2018/src/main.cpp                          |   91 ++
 sgi2018/src/tools/csv.h                       |   98 ++
 sgi2018/src/tools/matlab.h                    |  187 +++
 sgi2018/src/types.h                           |   40 +
 46 files changed, 7093 insertions(+)
 create mode 100644 sgi2018/.gitignore
 create mode 100644 sgi2018/.gitmodules
 create mode 100644 sgi2018/CMakeCache.txt
 create mode 100644 sgi2018/CMakeFiles/3.13.4/CMakeCCompiler.cmake
 create mode 100644 sgi2018/CMakeFiles/3.13.4/CMakeCXXCompiler.cmake
 create mode 100755 sgi2018/CMakeFiles/3.13.4/CMakeDetermineCompilerABI_C.bin
 create mode 100755 sgi2018/CMakeFiles/3.13.4/CMakeDetermineCompilerABI_CXX.bin
 create mode 100644 sgi2018/CMakeFiles/3.13.4/CMakeSystem.cmake
 create mode 100644 sgi2018/CMakeFiles/3.13.4/CompilerIdC/CMakeCCompilerId.c
 create mode 100644 sgi2018/CMakeFiles/3.13.4/CompilerIdCXX/CMakeCXXCompilerId.cpp
 create mode 100644 sgi2018/CMakeFiles/CMakeDirectoryInformation.cmake
 create mode 100644 sgi2018/CMakeFiles/CMakeOutput.log
 create mode 100644 sgi2018/CMakeFiles/Makefile.cmake
 create mode 100644 sgi2018/CMakeFiles/Makefile2
 create mode 100644 sgi2018/CMakeFiles/TargetDirectories.txt
 create mode 100644 sgi2018/CMakeFiles/cmake.check_cache
 create mode 100755 sgi2018/CMakeFiles/feature_tests.bin
 create mode 100644 sgi2018/CMakeFiles/feature_tests.c
 create mode 100644 sgi2018/CMakeFiles/feature_tests.cxx
 create mode 100644 sgi2018/CMakeFiles/follower.exe.dir/CXX.includecache
 create mode 100644 sgi2018/CMakeFiles/follower.exe.dir/DependInfo.cmake
 create mode 100644 sgi2018/CMakeFiles/follower.exe.dir/build.make
 create mode 100644 sgi2018/CMakeFiles/follower.exe.dir/cmake_clean.cmake
 create mode 100644 sgi2018/CMakeFiles/follower.exe.dir/depend.internal
 create mode 100644 sgi2018/CMakeFiles/follower.exe.dir/depend.make
 create mode 100644 sgi2018/CMakeFiles/follower.exe.dir/flags.make
 create mode 100644 sgi2018/CMakeFiles/follower.exe.dir/link.txt
 create mode 100644 sgi2018/CMakeFiles/follower.exe.dir/progress.make
 create mode 100644 sgi2018/CMakeFiles/progress.marks
 create mode 100644 sgi2018/CMakeLists.txt
 create mode 100644 sgi2018/LICENSE
 create mode 100644 sgi2018/Makefile
 create mode 100644 sgi2018/cmake_install.cmake
 create mode 160000 sgi2018/eigen
 create mode 100644 sgi2018/input/points.txt
 create mode 100644 sgi2018/input/weights.txt
 create mode 100644 sgi2018/plot.R
 create mode 100644 sgi2018/readme.md
 create mode 100644 sgi2018/src/follower/follow.h
 create mode 100644 sgi2018/src/follower/point.h
 create mode 100644 sgi2018/src/follower/transform.h
 create mode 100644 sgi2018/src/generator.h
 create mode 100644 sgi2018/src/main.cpp
 create mode 100644 sgi2018/src/tools/csv.h
 create mode 100644 sgi2018/src/tools/matlab.h
 create mode 100644 sgi2018/src/types.h

diff --git a/sgi2018/.gitignore b/sgi2018/.gitignore
new file mode 100644
index 0000000..3369ac9
--- /dev/null
+++ b/sgi2018/.gitignore
@@ -0,0 +1,210 @@
+\output
+\.idea
+
+# Created by https://www.gitignore.io/api/r,c++,data,clion,matlab
+# Edit at https://www.gitignore.io/?templates=r,c++,data,clion,matlab
+
+### C++ ###
+# Prerequisites
+*.d
+
+# Compiled Object files
+*.slo
+*.lo
+*.o
+*.obj
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Compiled Dynamic libraries
+*.so
+*.dylib
+*.dll
+
+# Fortran module files
+*.mod
+*.smod
+
+# Compiled Static libraries
+*.lai
+*.la
+*.a
+*.lib
+
+# Executables
+*.exe
+*.out
+*.app
+
+### CLion ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn.  Uncomment if using
+# auto-import.
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
+### CLion Patch ###
+# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
+
+# *.iml
+# modules.xml
+# .idea/misc.xml
+# *.ipr
+
+# Sonarlint plugin
+.idea/sonarlint
+
+### Data ###
+*.csv
+*.dat
+*.efx
+*.gbr
+*.key
+*.pps
+*.ppt
+*.pptx
+*.sdf
+*.tax2010
+*.vcf
+*.xml
+*.png
+
+### MATLAB ###
+# Windows default autosave extension
+*.asv
+
+# OSX / *nix default autosave extension
+*.m~
+
+# Compiled MEX binaries (all platforms)
+*.mex*
+
+# Packaged app and toolbox files
+*.mlappinstall
+*.mltbx
+
+# Generated helpsearch folders
+helpsearch*/
+
+# Simulink code generation folders
+slprj/
+sccprj/
+
+# Matlab code generation folders
+codegen/
+
+# Simulink autosave extension
+*.autosave
+
+# Octave session info
+octave-workspace
+
+### R ###
+# History files
+.Rhistory
+.Rapp.history
+
+# Session Data files
+.RData
+
+# User-specific files
+.Ruserdata
+
+# Example code in package build process
+*-Ex.R
+
+# Output files from R CMD build
+/*.tar.gz
+
+# Output files from R CMD check
+/*.Rcheck/
+
+# RStudio files
+.Rproj.user/
+
+# produced vignettes
+vignettes/*.html
+vignettes/*.pdf
+
+# OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
+.httr-oauth
+
+# knitr and R markdown default cache directories
+*_cache/
+/cache/
+
+# Temporary files created by R markdown
+*.utf8.md
+*.knit.md
+
+### R.Bookdown Stack ###
+# R package: bookdown caching files
+/*_files/
+
+# End of https://www.gitignore.io/api/r,c++,data,clion,matlab
+
diff --git a/sgi2018/.gitmodules b/sgi2018/.gitmodules
new file mode 100644
index 0000000..704bff0
--- /dev/null
+++ b/sgi2018/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "eigen"]
+	path = eigen
+	url = git@gitlab.com:kemen209/eigen.git
diff --git a/sgi2018/CMakeCache.txt b/sgi2018/CMakeCache.txt
new file mode 100644
index 0000000..5724531
--- /dev/null
+++ b/sgi2018/CMakeCache.txt
@@ -0,0 +1,351 @@
+# This is the CMakeCache file.
+# For build in directory: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+# It was generated by CMake: /usr/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
+########################
+
+//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=
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//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-8
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-8
+
+//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
+
+//C compiler
+CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-8
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-8
+
+//Flags used by the C compiler during all build types.
+CMAKE_C_FLAGS:STRING=
+
+//Flags used by the C compiler during DEBUG builds.
+CMAKE_C_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the C compiler during MINSIZEREL builds.
+CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the C compiler during RELEASE builds.
+CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the C compiler during RELWITHDEBINFO builds.
+CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//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=OFF
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=/usr/local
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=/usr/bin/ld
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
+
+//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=
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=src/follower
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+
+//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
+
+//Value Computed by CMake
+src/follower_BINARY_DIR:STATIC=/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+
+//Value Computed by CMake
+src/follower_SOURCE_DIR:STATIC=/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//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/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+//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=13
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=4
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=/usr/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_C_COMPILER
+CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_AR
+CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
+CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS
+CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+CMAKE_C_FLAGS_RELWITHDEBINFO-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=Unix Makefiles
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+//Install .so files without execute permission.
+CMAKE_INSTALL_SO_NO_EXE: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
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.13
+//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=/usr/bin/uname
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+
diff --git a/sgi2018/CMakeFiles/3.13.4/CMakeCCompiler.cmake b/sgi2018/CMakeFiles/3.13.4/CMakeCCompiler.cmake
new file mode 100644
index 0000000..3f570ea
--- /dev/null
+++ b/sgi2018/CMakeFiles/3.13.4/CMakeCCompiler.cmake
@@ -0,0 +1,73 @@
+set(CMAKE_C_COMPILER "/usr/bin/cc")
+set(CMAKE_C_COMPILER_ARG1 "")
+set(CMAKE_C_COMPILER_ID "GNU")
+set(CMAKE_C_COMPILER_VERSION "8.3.0")
+set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_C_COMPILER_WRAPPER "")
+set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
+set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
+set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
+set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
+set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
+
+set(CMAKE_C_PLATFORM_ID "Linux")
+set(CMAKE_C_SIMULATE_ID "")
+set(CMAKE_C_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-8")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-8")
+set(CMAKE_LINKER "/usr/bin/ld")
+set(CMAKE_COMPILER_IS_GNUCC 1)
+set(CMAKE_C_COMPILER_LOADED 1)
+set(CMAKE_C_COMPILER_WORKS TRUE)
+set(CMAKE_C_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_C_COMPILER_ENV_VAR "CC")
+
+if(CMAKE_COMPILER_IS_MINGW)
+  set(MINGW 1)
+endif()
+set(CMAKE_C_COMPILER_ID_RUN 1)
+set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
+set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_C_LINKER_PREFERENCE 10)
+
+# Save compiler ABI information.
+set(CMAKE_C_SIZEOF_DATA_PTR "8")
+set(CMAKE_C_COMPILER_ABI "ELF")
+set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+
+if(CMAKE_C_SIZEOF_DATA_PTR)
+  set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_C_COMPILER_ABI)
+  set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
+endif()
+
+if(CMAKE_C_LIBRARY_ARCHITECTURE)
+  set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
+endif()
+
+set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
+  set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
+set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/sgi2018/CMakeFiles/3.13.4/CMakeCXXCompiler.cmake b/sgi2018/CMakeFiles/3.13.4/CMakeCXXCompiler.cmake
new file mode 100644
index 0000000..5a956a9
--- /dev/null
+++ b/sgi2018/CMakeFiles/3.13.4/CMakeCXXCompiler.cmake
@@ -0,0 +1,76 @@
+set(CMAKE_CXX_COMPILER "/usr/bin/c++")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "8.3.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_SIMULATE_VERSION "")
+
+
+
+set(CMAKE_AR "/usr/bin/ar")
+set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-8")
+set(CMAKE_RANLIB "/usr/bin/ranlib")
+set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-8")
+set(CMAKE_LINKER "/usr/bin/ld")
+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_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
+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_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/sgi2018/CMakeFiles/3.13.4/CMakeDetermineCompilerABI_C.bin b/sgi2018/CMakeFiles/3.13.4/CMakeDetermineCompilerABI_C.bin
new file mode 100755
index 0000000000000000000000000000000000000000..c40afa7890ef33b981d5e4afb7fffe964dd7bd54
GIT binary patch
literal 16544
zcmeHOe{2)i9e<7!FeNyKLUDl#mw^_#<p`mqfkLs9I9#?6IvP4A3Rfp~5*NqL>@!Ok
ztW4>uc{CkcHI=OsoA%GDjz8KzHf__ih0%4>rmiq`En16|29VMU1V|lXE8u;;ckk<*
zFPBMErR|U1i|)Sf`}zKO@4ol$^3LylpNw|2Rd_sti&s1(hzkcyBrFAwZ;%y`uxJu<
zalS_^6SKfq8ki{$n*>s`^jDNqpTxbOWcQ+!+vzf?$CP_Wl<a0Ilhh#;rb1o^*;SE1
z@^*SoHo%nSrS?K(j1n@=C3;xeF}2!JSAvSEAAG2s2IO@IC1pEe$*xw~)k-_2FU$6r
zay%&}bi6A4*=Z|eRG5-3m4`3tajG|kh?`C~nXq8WcAtZt47Jqw_k_c~L$)_lTqfo9
zF_o-XlS+0s-oGXluS+G<`JuX@rpCI)`;}ZqX)vyv{FCn1&Yea_Xnb*Ksm}{>5JvLm
z=MG)Gu;BQi6MO$s`~7P#ow<77?^ctH#s}HV#&I-oScrS?y2DppHP2Tm!X%r6qXtKF
z^skqmnA7ssFVBDb;F-jq2dXzdKlj9E&yW4>_4CIYy5G5c_KUlg?R)Zj2dfuO9REeI
z>gO<-u~1w?4$>vS7C7LCfQ20JU(J9gfd|B5Q5!Bd8kBg@hX2ICgQDJs&jr2$hrMJ0
zgy7%q=NaJhDOw@Zg2&AZU>AsaVsO5R?=gwkFY&M(D4&w}%b)=foYwzOO8r&RPm9$5
zw8T$K+#~T_pwyp0$OINiTwq-F&@gHgn$|NE(|VKXSSooS0hUBsPLE}EZ6KCRGt!gG
zlU7n_?Oofncp{tVOXl=Mwrg8UDw9rh#kx}okxchyv>g0odbRkVo)uam9@As+LB#Y5
zrf(pVmQ85zw;lC(GOguviMX{nw5G#Dn!xT{j?Jlk$JV!Yv^TeC4N8Nu-ndTlN$?2z
zt1!-H-8_>D*JSuben}F;y+XVt<HYYTe&2*-d_(g6#Q3;$5DJ@yj5B|Bi;2^_gYOL?
z;}+cPt*JL@!RZ<0a@B(K*do~t3(jq`jZ57KxDjw8;6}iWfExif0&WC^P)9EL)FV~r
z)}Z>eF}<RAS{-@Scd8Vc;`#}QimNW*T(dlk+HX<oJ<1AeFSi%Y>{SaB>d1ww4|jEp
zRvo~!P92?hr$IKKgko{ge%O3iv%Hlgn_mH=j#j-yWWx=85t{F$I+~wT9Ish^n0%j-
z6#8E^^w%FCvii1q^0rqkTvbm_Zc#n2sb_BM3*lgubl@wF_Zsc6{o&0Kh(vzPPIYAS
zEUK!7i+Z(sWb+CzlXb;nak3w$*Q)LY@7cq4OyB=9ggaqVICM!Z<i~#>y-D3W61}7z
zQ%4uQ?nhXDRvD=I^_VAmlhHS9=uL9_6xoT$=i3W!M;>i2T#xLG6mCTju~kR$(Xvw=
ztt0wK$Lfo8PbPbA7mMo2TV8$X+IMP}i;luSI||oZ3s)k=h3~2(r#$M0bNLVGUhUo!
zc`ULgvNxik5kYs(xTj@z(P-K|xe;(9;6}iWfExif0&WD{2)Ge&Bj85BjllnL1ZX|T
zTG~6?wr{koTkWoIGM4BJJl37ujr{@yc$Rt}q_s<0$C<oREPfsI1}Lr9`K}g=wBB|Z
z^bep-*YJ@IdJME)F8a`VEEUgz9l|pd@GPyK?K|q39Uy!eju+vJ*8oY+Szm~iQhyip
zjio1lpv@orOwHUc`3{RMOCG#$-O3egkDnhz7<$%qA!_R}9QUBF#u{S8A9%W=W!|i>
zphLjP<{%Cgaw8DU{=hdYqW<8s-l#t`S{e1%K2xRo>z|&b`kO{(Z}o?t@Ha*L^$~w<
zvp>}A4?@4$@534<*5+|M4nHyk;N0Ryz>R<#0XG6}1l$O?5pW~mM!=1L8-f3Q1bBZR
z@8{!h7N*tQMdPDOU`MA}-jw?S@0L988(b=R{`R8%tyFmbAbp2XVfo*07c&MgH~krV
zw+WCH-h13H<#&(_Wx^!bpKg|*q^13yl9y)qAT$Bm^Gl^xI_7?i8K}AUm#XaVqoUbA
zK!z$-Yt8;jd#oB8JjV;4eFi@v`~MHgm-->w`EL{6S3Xm_p|C00+S0NyRNI>9PR7!q
zCS{#cU)Q+WtjuIu!oAq($@}|DASzz`_Q3np%W<!`P+>*Px)(dWeGUQhVo>lnuv&TP
z*NM`=nUZ+1!<+BJ6iWT^2_FwEi@=MW-#jiXF!V9%<oGYg=ZcUcUM=b!@p+|ui*i4H
z!Ov4UUV{h6ikNjTI>Y<;tx_*`J`XwSFA)5Emh0bHdM?ZHg~DmPc*P>Y`+Cdu?<zfC
z<@ogd;w1Mv?DIBpew$2rq35bnTq{l?W{uuU6|}$H7H90pFz_GR@OvdbZo?k{?y>ZT
zpW`+IpB|q9>4)E&V2v`2vj;og?QuQ^+^PR34E-8W8$tzz`b}k~>;0)An=cO1h1iOd
z|4ndI0k8IPb;__^Fzvp-3EYGI{rn!_Cf+mf>Eq!8>BoM(w+wvx_za*w<lmm3u*|@x
zkDosp{h$8aH2|l)0{g!IX5b;C?ef#}20ncp?gj3YCy)W|lt-~2xKp0Scci{OFXBhQ
zo%-_%aHo8UG2l-55^vygC@;dEr}2W+56kh)zoDK6?vzLIuGF{ZQM?D-sh=MKUr`=P
zlk3UqIX&OotMrJeln6~9(0V8-B1ef28Lcms>5iqexSq-8v{-&f^kfDGQwcp0R~}f`
zu-;k8NVd>o*=%eWDG+*gSoCIN0|_mj9~c;hiG|ZBQKC$>Wm{}tqNN4RBvXlOq`4ja
zGjcQVTQ+Rlc0{&CwP<InhV+YaYs$5V=Q3J<EFDKeht~Rq&d9d*mU1;CI|LBYinORI
z-KniR03jWO9dGT}-W=)BwzsuC67ABuBF!C9YR<?n`Iy-xwj7mk*qZwBagt3ec_wD^
z%Z$k;<#{vZJrGK6ctDSJgX&q6_H!+nM$*inP|_Jaq2SKc>9Ib^^`-MlcRq=1uVh>(
z#P!E={X&Tkr{T|}$f+?T`xDt*GLtT2G{~}vRE!LSVr0)KgDG9<%jiPU6GJ!~89Yih
zV`SwhiGDeZ`r|NV&NMa0lWD<q_>B!Dd(db`C(q~-W%npZ&JhX*^#BH{(^K*vV>EBZ
zBZqgkS$H1Bl;_P-Z0K^G=qGT{+?MTmzQr^InYC0}8PwO}u-fyyjOj|7zTLhR^6QxE
za{D}gV@hi;RCt=k^KKIrq7xOG%d<Vt^Ozo^;God7jjC+V^Yll7(Ug(xOAW~eCm^#H
z>8=FrMUCe2Y|ryXrYoc-_n-Bc?t`4Z4VdToCDV|!xA$Md;s7cXQ?}=MDAO^i$nD#&
z|0&4nno84Jp65uqSlTnO-@gks`;fF_%I?^nd8Xg6+4KCDDfgG{nP>W(&7S|SG5wb9
zhH<;>@4Gg8p7$`NoK9=8U;hsvq$W82A|$mXZImn%d;33zz-r$l?U-(2LrLxJoAbM=
z_J^cBQ=jenId1IsH>l7Yl0TbxUdH*ic75iV{t34D+9=uc_j*VHh{Ad%H^nplHUu>G
zxPAV9;QVIJW9IS6b{xlNVM~|D_WYf3b`3z3T9cH{Y|nHY605xkOVxUl@_Ry}rR!n)
z_aU&_^L#ES?YW<Jd*-j8LcX~FJkPC__S_EZ+is`$5CX!aI;#n`pXvS2eu$RFZpj+!
z+3ZjTp8n4e#Qov8(DT84x0nl64*bP7=iDyq($7Io_F9vvVSX2|wt1~noDly455H5+

literal 0
HcmV?d00001

diff --git a/sgi2018/CMakeFiles/3.13.4/CMakeDetermineCompilerABI_CXX.bin b/sgi2018/CMakeFiles/3.13.4/CMakeDetermineCompilerABI_CXX.bin
new file mode 100755
index 0000000000000000000000000000000000000000..6e4d97a0761ae208df58f84ce7704dfe22615901
GIT binary patch
literal 16560
zcmeHOYitzP6~61mU|#Db0pb7=Qwpjn^<W@42I8`7d(F7Dfq)@y2~5_zYkSE)+}&|w
zQ<~74(rl^I^dXh@N0L^R8bwh=rM7?4hY^TIYSI$5O^_gx%cC+C2uDhh+W^~h?wm88
z8L#=%s((7y+WqeR&g0%Wb7y>K=bmRHZ7pR!pWxybpBC5(1x+SIg1${u0SJkDF&Dlc
z63fI)XwQ(GDG!+dQnU1yIkAFxKOow@LUK1QBRxhQAtKsMSI*&ppfCzL4zw#r0kz%u
zK6Svza;rZDjiD&=+rlGc$7r|1p^Vj-`eO}F4AF6GglvaRw3{Hi39@4xrT!Q>o){DS
zoFRX1Yz7$?M%2Z!^QsZYdcA_JsraZ#3r4nk4D2Y>q;YTHu<xS&ri)7zjh~SYSFBAX
zyXqcZn~K+@l9~R2nt}Sdn!1P8d{$jAj~o4??zZiF<UnwKacFVO3*mzt$}cXy?c3d6
zeDha7`Sq^XuHC8LxcK!GD8u=IKJd7nd+bN$O5$iWa<k!637^KuU#_1^{2_gCcGJ6W
zT>j4Cd7HmK_qESn9y$2z4-c>Jx^UzC7dn?+c>D5;^A}!v5!6eT<-jT>B*%ceuLO_B
zrIg^eOv9f5J}4d#)gh<R)6iVuq-5)L_(uJzkW=`E<f}xji$4jxQbPYF;1^(&6sSPq
zdGcMT-zVmaRSP67noJNsCq6_IV-4{mfI(3;W&CfEejoYSPx=>$KS#WecmeYzZ^UD3
z*5Dke6T04$&Svzy5zQI8F7(!pc0HcRC3=#1Ba!Q9Z%Sn|iH>MjDq+e>O2B8@bO*Jb
zSWM4jYaR9#<8ERDQN25viKdc=z?F_7>NOorW`v%IM~x`-u>;t6GNbqB6LHW(*3<))
z3^HB$JQJpuSiWCRW|9Vb#WwVm6x-Tb8=Lg?>UwpfJbH89`(Xb2O8%umi^4AYmn30&
zmx=2XH@;8teMO<Tj?;aJ`B8G9giJ%`xqW`C$>X(TzfX+Xc<Wq&&X|oi$8Xw?+jzW2
zxlGu2o@*@g(2IZ<0WShx1iT1%5%415MPT{}XhYX4wBzMh*9xJ1ZNw-mp3{cTRGhX9
ziW@J1sJQA1d{-_HLG8y->wbY1*4=0=ymLS+T+)WFjPLAd8!kTt%Q|g%{{0dfPJv=^
z(KBH4Vde5>lr;Pd8rpFAs|cGWj78A>UaUj+vx}pZ%a5S%(}bY^6{)}R5W?!a+NryK
ztuU^g8r!P*&T8-6H5P({8gfuk9PO6<u>FySFo;C|+CAD(!{1b>YK5!DJneYH3gE|T
zipAnsFMORXe-PTf{cOj0?Moos12%;(U)Ku#qrZ#X#^D{0T-Q!$!;9VyKv;e`BUt&H
z5ntpsvww84x6$oUv=iaSTMO@n_qG;ph4+LDcft^{RZo6Oh&|eH4dU*$)mQPHjK%I2
zi`uC>eq-sn3zf@7Tj5`Ag<H*qo8jWZi`vj>pSJ1!{=eh7+P6RaM0kJrKv;)P1fDs0
zP90}acI|z65%415MZk-I7XdE<UIe@dcoFa-;6=cT!2fXs@GX(Ov~F+Nu{jU#uCm>F
zywAw(tF4!>+9V(CO74UG0!a9l`nTXaVSKkUcC%P~4sZhSBw)pOvDgWC1Mp42`VZhC
z8}I~RExq)?_pw-fhjt0yK+v~z-mHoje6xbcFN4o3;EUf0qF!lzAy$%pC+N#pQh{Jg
zpz1S~bDyp_BDOBs^2rS=SFk<&{2)T0$M33;$G)C`&qFX)`ED{C2p%hInm_Xy7!dGi
za~M7v$YmfJ1Ho^VMFLgN`y&Bmct#{p{mpVMP<w2q7N{SZwJi`j7^n{iYQur*#(>fo
zr~>`QK!tqYb_V=B34SO9(DI5G0WShx1iT1%5%415MZk-I7XdE<UIhO85#W7%yl;=6
zLELEWo;CNu;wW?)3hUwCK`ir3ur?CTr}m#|zu<$^=KX|Asm;$`OQ_BJ3h_A%3(Nm;
zx0sb}+Vm&)ZUb?C2C|cT3Oh+Y$E3vs;atKh!bOA(WCjm}CNql!LE5ay;}{_x_W)yI
ze;*ai@c|`O;ccxP?>G$<-Wtm`#|<9)WcwV+|4D6Y9Mb#${)_jOPuH^&G9}xZnl>xd
z&55pLG^5n38`RpGy47Z7I#Y}H!!A_b-*1sn@xyNqyieW9`^6RK&k|DXhh4=LB?9J$
zo!dMQoPK6n^To-}5_}$<e1+ii=j3M#o)=CYW*zN=b@FqCQj(u1YD@C-t$YiopMc=&
z$;nq*`>dUO(AvlE<QIqm#m<;@KkUrr>(egvi~9v%mrj16C^cXFVv*qezE1tc*7fD&
zr|vgLxxd7|Z<FV{$)p#&u4af2ij$04!~0Sh>^JXo#Tj;FNd9FP|1skEzG!+8;t{C$
zY~$hUxJB|)<Ae7_?3eGe>}OEwPmS{l;7g7Fq|~nzK?N#M_`Y=(>OR<CU#%c31Rf8T
z>EiGwDO(^8;{m!#seb<|b*9dr4}tf=et*6Xu&Z~W<1!e9dw#wu`Ki|hrWpC)S3LLp
znIrkB`3j4H$IJouJp2Ul?s>ae`k6Z4b^>22AEE$!sXT_qfiIQE&<*?wK6o2`75Gy5
z4a3BTXuk1pnO_IKRKCRu$xqF<_#W}@e2$mNzdIk|B=CxDd|Z8t^xb(97bVYHllajz
ze&)b^S(#Luti^Ih-stb{R%2o^uR=G{dJHow@|fa~)q7Ieu4qb+8`)f5kM<9UST^04
zN*IZ_`pAa$8%rz6BnLg3%S8tvHNwaZitb!AozUa`>GU9&*jh3_!lByK9(^j&)Y;ht
z9VJtVT)44SjrH{j{qt?>>XMo6tZw_U8`*kE!Y|$6xn)<lJ)%dpH)F<#4yi+WL?cpb
z-i4#hXZ7A_CXQJn&7a#IZf|V@7P3h!BTU$^283xHHbN$&2z^`Ij>d4CzN4jOcceq_
z2sgGxpu1`EMC|D$p^!cE!%Q!6B$C`KhvZ%fFq8QvGQVU>7K^jvQmHj1(`SU5A50t3
zE<ht^VlUT{8A!wF6KW=FBvd#_HAb|DT0NP5wW~h~sb9&sP_fk;&G!m5K9~W2CK@?Y
z^2J0hpUh?)4IN~;L@J5~LX{abYG2Awd$NX5jl=+a%fnQ2S(%%oCVFX3^~S-JTc)Xb
zE=>!rgWqU68G}x<26~1eVUCXq89YLT8J>n&J9(k}XEj_$!=(xLUbFDJijmjRB$m2d
zNBlT^aIMSsy#8WTKxQwr+_tE7P_x_fI*oCqrD;~&_RT=wg0(OA&+9qHon+7JeO`yN
z+wD-nwLRPOx{vV)1_uf*<FU&2yl&qM94;Z*o}VWeCqQN|<j$fFKn>USY|raRMujwa
z{H(|L6v**ef!n;^WMq5y_{ps}1Qm=a+w;1VafB4PfA{ep1vwrQ`j>^*Lxc}7Pv|~>
zSAe(MD`dyW?$`~t8NcDO=k+inkC*Ma&4~Gg_Wt?*E919aCye`Le?M^9^ZJF6pYvGX
zef%$xJ;z@tq)AvuO$K-WKLr5}k?rdhQ<L#gvuS<1`~L+<?DhkSsmfU4I)08DJNzwF
zaP7#CQM``gd|bCaw;6vAw(#^}+4K5ryaq@ptY@|++swZQ0-Sr?Kd%Ql-+7eA&-0V*
zIF8SQEvm3RKX;s83nY|k6RdBxXB-8I-Cl%9wbn$wPY`Pz58Gb@f!&_-W~<1a$LY4`
z_D!guFCIUy>#E6~`(b?w2RDVe9v6btEuQVCyZ^HvM4o$=F;p~mNP)-yGkCA(@o-%5
i`rxrc)hZfI{FN@}+%GHQ&qJl`Q}w3C9abcC+y5KA(Rq9T

literal 0
HcmV?d00001

diff --git a/sgi2018/CMakeFiles/3.13.4/CMakeSystem.cmake b/sgi2018/CMakeFiles/3.13.4/CMakeSystem.cmake
new file mode 100644
index 0000000..c09d2db
--- /dev/null
+++ b/sgi2018/CMakeFiles/3.13.4/CMakeSystem.cmake
@@ -0,0 +1,15 @@
+set(CMAKE_HOST_SYSTEM "Linux-4.19.0-6-amd64")
+set(CMAKE_HOST_SYSTEM_NAME "Linux")
+set(CMAKE_HOST_SYSTEM_VERSION "4.19.0-6-amd64")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
+
+
+
+set(CMAKE_SYSTEM "Linux-4.19.0-6-amd64")
+set(CMAKE_SYSTEM_NAME "Linux")
+set(CMAKE_SYSTEM_VERSION "4.19.0-6-amd64")
+set(CMAKE_SYSTEM_PROCESSOR "x86_64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/sgi2018/CMakeFiles/3.13.4/CompilerIdC/CMakeCCompilerId.c b/sgi2018/CMakeFiles/3.13.4/CompilerIdC/CMakeCCompilerId.c
new file mode 100644
index 0000000..bfc6ebb
--- /dev/null
+++ b/sgi2018/CMakeFiles/3.13.4/CompilerIdC/CMakeCCompilerId.c
@@ -0,0 +1,623 @@
+#ifdef __cplusplus
+# error "A C++ compiler has been selected for C."
+#endif
+
+#if defined(__18CXX)
+# define ID_VOID_MAIN
+#endif
+#if defined(__CLASSIC_C__)
+/* cv-qualifiers did not exist in K&R C */
+# define const
+# define volatile
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+   Version date components:   YYYY=Year, MM=Month,   DD=Day  */
+
+#if defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+#  define SIMULATE_ID "MSVC"
+# 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
+
+#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_C)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_C >= 0x5100
+   /* __SUNPRO_C = 0xVRRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
+# else
+   /* __SUNPRO_CC = 0xVRP */
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)
+# endif
+
+#elif defined(__HP_cc)
+# define COMPILER_ID "HP"
+  /* __HP_cc = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_cc     % 100)
+
+#elif defined(__DECC)
+# define COMPILER_ID "Compaq"
+  /* __DECC_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000  % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECC_VER         % 10000)
+
+#elif defined(__IBMC__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+# if defined(__ibmxl__)
+#  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__)
+# else
+   /* __IBMC__ = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+#  define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+# endif
+
+
+#elif defined(__ibmxl__) || (defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800)
+# define COMPILER_ID "XL"
+# if defined(__ibmxl__)
+#  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__)
+# else
+   /* __IBMC__ = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+#  define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+# endif
+
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
+# define COMPILER_ID "VisualAge"
+# if defined(__ibmxl__)
+#  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__)
+# else
+   /* __IBMC__ = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+#  define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)
+# endif
+
+
+#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(__TINYC__)
+# define COMPILER_ID "TinyCC"
+
+#elif defined(__BCC__)
+# define COMPILER_ID "Bruce"
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#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__)
+# 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__)
+# define COMPILER_ID "GNU"
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# 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__)
+#  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__)
+# endif
+
+#elif defined(__ARMCC_VERSION)
+# 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(__SDCC_VERSION_MAJOR) || defined(SDCC)
+# define COMPILER_ID "SDCC"
+# if defined(__SDCC_VERSION_MAJOR)
+#  define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
+#  define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
+#  define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
+# else
+  /* SDCC = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(SDCC/100)
+#  define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(SDCC    % 10)
+# endif
+
+#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
+# define COMPILER_ID "MIPSpro"
+# if defined(_SGI_COMPILER_VERSION)
+  /* _SGI_COMPILER_VERSION = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
+#  define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION    % 10)
+# else
+  /* _COMPILER_VERSION = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
+#  define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION    % 10)
+# 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(__sgi)
+# define COMPILER_ID "MIPSpro"
+
+#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(__sgi) || defined(__sgi__) || defined(_SGI)
+# define PLATFORM_ID "IRIX"
+
+#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
+
+#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(__ICCAVR__)
+#  define ARCHITECTURE_ID "AVR"
+
+# 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(__STDC__)
+# if (defined(_MSC_VER) && !defined(__clang__)) \
+  || (defined(__ibmxl__) || defined(__IBMC__))
+#  define C_DIALECT "90"
+# else
+#  define C_DIALECT
+# endif
+#elif __STDC_VERSION__ >= 201000L
+# define C_DIALECT "11"
+#elif __STDC_VERSION__ >= 199901L
+# define C_DIALECT "99"
+#else
+# define C_DIALECT "90"
+#endif
+const char* info_language_dialect_default =
+  "INFO" ":" "dialect_default[" C_DIALECT "]";
+
+/*--------------------------------------------------------------------------*/
+
+#ifdef ID_VOID_MAIN
+void main() {}
+#else
+# if defined(__CLASSIC_C__)
+int main(argc, argv) int argc; char *argv[];
+# else
+int main(int argc, char* argv[])
+# endif
+{
+  int require = 0;
+  require += info_compiler[argc];
+  require += info_platform[argc];
+  require += info_arch[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;
+}
+#endif
diff --git a/sgi2018/CMakeFiles/3.13.4/CompilerIdCXX/CMakeCXXCompilerId.cpp b/sgi2018/CMakeFiles/3.13.4/CompilerIdCXX/CMakeCXXCompilerId.cpp
new file mode 100644
index 0000000..b728b63
--- /dev/null
+++ b/sgi2018/CMakeFiles/3.13.4/CompilerIdCXX/CMakeCXXCompilerId.cpp
@@ -0,0 +1,602 @@
+/* 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
+  /* __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
+
+#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"
+# if defined(__ibmxl__)
+#  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__)
+# else
+   /* __IBMCPP__ = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+#  define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+# endif
+
+
+#elif defined(__ibmxl__) || (defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800)
+# define COMPILER_ID "XL"
+# if defined(__ibmxl__)
+#  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__)
+# else
+   /* __IBMCPP__ = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+#  define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+# endif
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+# if defined(__ibmxl__)
+#  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__)
+# else
+   /* __IBMCPP__ = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+#  define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(__IBMCPP__    % 10)
+# endif
+
+
+#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(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#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__)
+# 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__)
+#  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__)
+# endif
+
+#elif defined(__ARMCC_VERSION)
+# 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(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
+# define COMPILER_ID "MIPSpro"
+# if defined(_SGI_COMPILER_VERSION)
+  /* _SGI_COMPILER_VERSION = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100)
+#  define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION    % 10)
+# else
+  /* _COMPILER_VERSION = VRP */
+#  define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100)
+#  define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10)
+#  define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION    % 10)
+# 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(__sgi)
+# define COMPILER_ID "MIPSpro"
+
+#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(__sgi) || defined(__sgi__) || defined(_SGI)
+# define PLATFORM_ID "IRIX"
+
+#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
+
+#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(__ICCAVR__)
+#  define ARCHITECTURE_ID "AVR"
+
+# 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(_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/sgi2018/CMakeFiles/CMakeDirectoryInformation.cmake b/sgi2018/CMakeFiles/CMakeDirectoryInformation.cmake
new file mode 100644
index 0000000..813cd53
--- /dev/null
+++ b/sgi2018/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.13
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
diff --git a/sgi2018/CMakeFiles/CMakeOutput.log b/sgi2018/CMakeFiles/CMakeOutput.log
new file mode 100644
index 0000000..e113a31
--- /dev/null
+++ b/sgi2018/CMakeFiles/CMakeOutput.log
@@ -0,0 +1,752 @@
+The system is: Linux - 4.19.0-6-amd64 - x86_64
+Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
+Compiler: /usr/bin/cc 
+Build flags: 
+Id flags:  
+
+The output was:
+0
+
+
+Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
+
+The C compiler identification is GNU, found in "/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/3.13.4/CompilerIdC/a.out"
+
+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/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/3.13.4/CompilerIdCXX/a.out"
+
+Determining if the C compiler works passed with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_7b44f/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_7b44f.dir/build.make CMakeFiles/cmTC_7b44f.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_7b44f.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building C object CMakeFiles/cmTC_7b44f.dir/testCCompiler.c.o
+/usr/bin/cc    -o CMakeFiles/cmTC_7b44f.dir/testCCompiler.c.o   -c /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp/testCCompiler.c
+Linking C executable cmTC_7b44f
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7b44f.dir/link.txt --verbose=1
+/usr/bin/cc      -rdynamic CMakeFiles/cmTC_7b44f.dir/testCCompiler.c.o  -o cmTC_7b44f 
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+Detecting C compiler ABI info compiled with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_225c0/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_225c0.dir/build.make CMakeFiles/cmTC_225c0.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_225c0.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building C object CMakeFiles/cmTC_225c0.dir/CMakeCCompilerABI.c.o
+/usr/bin/cc    -o CMakeFiles/cmTC_225c0.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.13/Modules/CMakeCCompilerABI.c
+Linking C executable cmTC_225c0
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_225c0.dir/link.txt --verbose=1
+/usr/bin/cc     -v -rdynamic CMakeFiles/cmTC_225c0.dir/CMakeCCompilerABI.c.o  -o cmTC_225c0 
+Using built-in specs.
+COLLECT_GCC=/usr/bin/cc
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --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-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --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 --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 8.3.0 (Debian 8.3.0-6) 
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_225c0' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/8/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper -plugin-opt=-fresolution=/tmp/cc6RkOcr.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_225c0 /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/8/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/8 -L/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/8/../../../../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/8/../../.. CMakeFiles/cmTC_225c0.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/8/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_225c0' '-mtune=generic' '-march=x86-64'
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+Parsed C implicit link information from above output:
+  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+  ignore line: [Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp]
+  ignore line: []
+  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_225c0/fast"]
+  ignore line: [make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur]
+  ignore line: [/usr/bin/make -f CMakeFiles/cmTC_225c0.dir/build.make CMakeFiles/cmTC_225c0.dir/build]
+  ignore line: [make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »]
+  ignore line: [make[1]: Avertissement : le fichier « CMakeFiles/cmTC_225c0.dir/flags.make » a une date de modification 5,7 s dans le futur]
+  ignore line: [Building C object CMakeFiles/cmTC_225c0.dir/CMakeCCompilerABI.c.o]
+  ignore line: [/usr/bin/cc    -o CMakeFiles/cmTC_225c0.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.13/Modules/CMakeCCompilerABI.c]
+  ignore line: [Linking C executable cmTC_225c0]
+  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_225c0.dir/link.txt --verbose=1]
+  ignore line: [/usr/bin/cc     -v -rdynamic CMakeFiles/cmTC_225c0.dir/CMakeCCompilerABI.c.o  -o cmTC_225c0 ]
+  ignore line: [Using built-in specs.]
+  ignore line: [COLLECT_GCC=/usr/bin/cc]
+  ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper]
+  ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none]
+  ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+  ignore line: [Target: x86_64-linux-gnu]
+  ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --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-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --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 --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 8.3.0 (Debian 8.3.0-6) ]
+  ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/]
+  ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../:/lib/:/usr/lib/]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_225c0' '-mtune=generic' '-march=x86-64']
+  link line: [ /usr/lib/gcc/x86_64-linux-gnu/8/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper -plugin-opt=-fresolution=/tmp/cc6RkOcr.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_225c0 /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/8/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/8 -L/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/8/../../../../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/8/../../.. CMakeFiles/cmTC_225c0.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/8/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crtn.o]
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/collect2] ==> ignore
+    arg [-plugin] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so] ==> ignore
+    arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper] ==> ignore
+    arg [-plugin-opt=-fresolution=/tmp/cc6RkOcr.res] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+    arg [-plugin-opt=-pass-through=-lc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
+    arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
+    arg [--build-id] ==> ignore
+    arg [--eh-frame-hdr] ==> ignore
+    arg [-m] ==> ignore
+    arg [elf_x86_64] ==> ignore
+    arg [--hash-style=gnu] ==> ignore
+    arg [-export-dynamic] ==> ignore
+    arg [-dynamic-linker] ==> ignore
+    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+    arg [-pie] ==> ignore
+    arg [-o] ==> ignore
+    arg [cmTC_225c0] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crti.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/crtbeginS.o] ==> ignore
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/8] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/8]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/8/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/8/../../../../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/8/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/8/../../..]
+    arg [CMakeFiles/cmTC_225c0.dir/CMakeCCompilerABI.c.o] ==> ignore
+    arg [-lgcc] ==> lib [gcc]
+    arg [--push-state] ==> ignore
+    arg [--as-needed] ==> ignore
+    arg [-lgcc_s] ==> lib [gcc_s]
+    arg [--pop-state] ==> ignore
+    arg [-lc] ==> lib [c]
+    arg [-lgcc] ==> lib [gcc]
+    arg [--push-state] ==> ignore
+    arg [--as-needed] ==> ignore
+    arg [-lgcc_s] ==> lib [gcc_s]
+    arg [--pop-state] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/crtendS.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/8] ==> [/usr/lib/gcc/x86_64-linux-gnu/8]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/8/../../../../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/8/../../..] ==> [/usr/lib]
+  implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
+  implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+  implicit fwks: []
+
+
+
+
+Detecting C [-std=c11] compiler features compiled with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_4177d/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_4177d.dir/build.make CMakeFiles/cmTC_4177d.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_4177d.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building C object CMakeFiles/cmTC_4177d.dir/feature_tests.c.o
+/usr/bin/cc   -std=c11 -o CMakeFiles/cmTC_4177d.dir/feature_tests.c.o   -c /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/feature_tests.c
+Linking C executable cmTC_4177d
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4177d.dir/link.txt --verbose=1
+/usr/bin/cc      -rdynamic CMakeFiles/cmTC_4177d.dir/feature_tests.c.o  -o cmTC_4177d 
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+    Feature record: C_FEATURE:1c_function_prototypes
+    Feature record: C_FEATURE:1c_restrict
+    Feature record: C_FEATURE:1c_static_assert
+    Feature record: C_FEATURE:1c_variadic_macros
+
+
+Detecting C [-std=c99] compiler features compiled with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_54dea/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_54dea.dir/build.make CMakeFiles/cmTC_54dea.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_54dea.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building C object CMakeFiles/cmTC_54dea.dir/feature_tests.c.o
+/usr/bin/cc   -std=c99 -o CMakeFiles/cmTC_54dea.dir/feature_tests.c.o   -c /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/feature_tests.c
+Linking C executable cmTC_54dea
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_54dea.dir/link.txt --verbose=1
+/usr/bin/cc      -rdynamic CMakeFiles/cmTC_54dea.dir/feature_tests.c.o  -o cmTC_54dea 
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+    Feature record: C_FEATURE:1c_function_prototypes
+    Feature record: C_FEATURE:1c_restrict
+    Feature record: C_FEATURE:0c_static_assert
+    Feature record: C_FEATURE:1c_variadic_macros
+
+
+Detecting C [-std=c90] compiler features compiled with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_21a95/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_21a95.dir/build.make CMakeFiles/cmTC_21a95.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_21a95.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building C object CMakeFiles/cmTC_21a95.dir/feature_tests.c.o
+/usr/bin/cc   -std=c90 -o CMakeFiles/cmTC_21a95.dir/feature_tests.c.o   -c /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/feature_tests.c
+Linking C executable cmTC_21a95
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_21a95.dir/link.txt --verbose=1
+/usr/bin/cc      -rdynamic CMakeFiles/cmTC_21a95.dir/feature_tests.c.o  -o cmTC_21a95 
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+    Feature record: C_FEATURE:1c_function_prototypes
+    Feature record: C_FEATURE:0c_restrict
+    Feature record: C_FEATURE:0c_static_assert
+    Feature record: C_FEATURE:0c_variadic_macros
+Determining if the CXX compiler works passed with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_2633e/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_2633e.dir/build.make CMakeFiles/cmTC_2633e.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_2633e.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building CXX object CMakeFiles/cmTC_2633e.dir/testCXXCompiler.cxx.o
+/usr/bin/c++     -o CMakeFiles/cmTC_2633e.dir/testCXXCompiler.cxx.o -c /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
+Linking CXX executable cmTC_2633e
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2633e.dir/link.txt --verbose=1
+/usr/bin/c++       -rdynamic CMakeFiles/cmTC_2633e.dir/testCXXCompiler.cxx.o  -o cmTC_2633e 
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+Detecting CXX compiler ABI info compiled with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_2975e/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_2975e.dir/build.make CMakeFiles/cmTC_2975e.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_2975e.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building CXX object CMakeFiles/cmTC_2975e.dir/CMakeCXXCompilerABI.cpp.o
+/usr/bin/c++     -o CMakeFiles/cmTC_2975e.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.13/Modules/CMakeCXXCompilerABI.cpp
+Linking CXX executable cmTC_2975e
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2975e.dir/link.txt --verbose=1
+/usr/bin/c++      -v -rdynamic CMakeFiles/cmTC_2975e.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_2975e 
+Using built-in specs.
+COLLECT_GCC=/usr/bin/c++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --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-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --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 --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 8.3.0 (Debian 8.3.0-6) 
+COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/
+LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../:/lib/:/usr/lib/
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_2975e' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/8/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper -plugin-opt=-fresolution=/tmp/ccA7jbui.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 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_2975e /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/8/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/8 -L/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/8/../../../../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/8/../../.. CMakeFiles/cmTC_2975e.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/8/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_2975e' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+Parsed CXX implicit link information from above output:
+  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
+  ignore line: [Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp]
+  ignore line: []
+  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_2975e/fast"]
+  ignore line: [make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur]
+  ignore line: [/usr/bin/make -f CMakeFiles/cmTC_2975e.dir/build.make CMakeFiles/cmTC_2975e.dir/build]
+  ignore line: [make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »]
+  ignore line: [make[1]: Avertissement : le fichier « CMakeFiles/cmTC_2975e.dir/flags.make » a une date de modification 5,7 s dans le futur]
+  ignore line: [Building CXX object CMakeFiles/cmTC_2975e.dir/CMakeCXXCompilerABI.cpp.o]
+  ignore line: [/usr/bin/c++     -o CMakeFiles/cmTC_2975e.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.13/Modules/CMakeCXXCompilerABI.cpp]
+  ignore line: [Linking CXX executable cmTC_2975e]
+  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2975e.dir/link.txt --verbose=1]
+  ignore line: [/usr/bin/c++      -v -rdynamic CMakeFiles/cmTC_2975e.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_2975e ]
+  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/8/lto-wrapper]
+  ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none]
+  ignore line: [OFFLOAD_TARGET_DEFAULT=1]
+  ignore line: [Target: x86_64-linux-gnu]
+  ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --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-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --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 --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 8.3.0 (Debian 8.3.0-6) ]
+  ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/]
+  ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/8/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/8/../../../:/lib/:/usr/lib/]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_2975e' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+  link line: [ /usr/lib/gcc/x86_64-linux-gnu/8/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper -plugin-opt=-fresolution=/tmp/ccA7jbui.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 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_2975e /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/8/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/8 -L/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/8/../../../../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/8/../../.. CMakeFiles/cmTC_2975e.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/8/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crtn.o]
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/collect2] ==> ignore
+    arg [-plugin] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so] ==> ignore
+    arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper] ==> ignore
+    arg [-plugin-opt=-fresolution=/tmp/ccA7jbui.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 [-export-dynamic] ==> ignore
+    arg [-dynamic-linker] ==> ignore
+    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
+    arg [-pie] ==> ignore
+    arg [-o] ==> ignore
+    arg [cmTC_2975e] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crti.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/crtbeginS.o] ==> ignore
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/8] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/8]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu]
+    arg [-L/usr/lib/gcc/x86_64-linux-gnu/8/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/8/../../../../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/8/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/8/../../..]
+    arg [CMakeFiles/cmTC_2975e.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/8/crtendS.o] ==> ignore
+    arg [/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crtn.o] ==> ignore
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/8] ==> [/usr/lib/gcc/x86_64-linux-gnu/8]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
+  collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/8/../../../../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/8/../../..] ==> [/usr/lib]
+  implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
+  implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
+  implicit fwks: []
+
+
+
+
+Detecting CXX [-std=c++2a] compiler features compiled with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_1163c/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_1163c.dir/build.make CMakeFiles/cmTC_1163c.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_1163c.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building CXX object CMakeFiles/cmTC_1163c.dir/feature_tests.cxx.o
+/usr/bin/c++    -std=c++2a -o CMakeFiles/cmTC_1163c.dir/feature_tests.cxx.o -c /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_1163c
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1163c.dir/link.txt --verbose=1
+/usr/bin/c++       -rdynamic CMakeFiles/cmTC_1163c.dir/feature_tests.cxx.o  -o cmTC_1163c 
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+    Feature record: CXX_FEATURE:1cxx_aggregate_default_initializers
+    Feature record: CXX_FEATURE:1cxx_alias_templates
+    Feature record: CXX_FEATURE:1cxx_alignas
+    Feature record: CXX_FEATURE:1cxx_alignof
+    Feature record: CXX_FEATURE:1cxx_attributes
+    Feature record: CXX_FEATURE:1cxx_attribute_deprecated
+    Feature record: CXX_FEATURE:1cxx_auto_type
+    Feature record: CXX_FEATURE:1cxx_binary_literals
+    Feature record: CXX_FEATURE:1cxx_constexpr
+    Feature record: CXX_FEATURE:1cxx_contextual_conversions
+    Feature record: CXX_FEATURE:1cxx_decltype
+    Feature record: CXX_FEATURE:1cxx_decltype_auto
+    Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types
+    Feature record: CXX_FEATURE:1cxx_default_function_template_args
+    Feature record: CXX_FEATURE:1cxx_defaulted_functions
+    Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers
+    Feature record: CXX_FEATURE:1cxx_delegating_constructors
+    Feature record: CXX_FEATURE:1cxx_deleted_functions
+    Feature record: CXX_FEATURE:1cxx_digit_separators
+    Feature record: CXX_FEATURE:1cxx_enum_forward_declarations
+    Feature record: CXX_FEATURE:1cxx_explicit_conversions
+    Feature record: CXX_FEATURE:1cxx_extended_friend_declarations
+    Feature record: CXX_FEATURE:1cxx_extern_templates
+    Feature record: CXX_FEATURE:1cxx_final
+    Feature record: CXX_FEATURE:1cxx_func_identifier
+    Feature record: CXX_FEATURE:1cxx_generalized_initializers
+    Feature record: CXX_FEATURE:1cxx_generic_lambdas
+    Feature record: CXX_FEATURE:1cxx_inheriting_constructors
+    Feature record: CXX_FEATURE:1cxx_inline_namespaces
+    Feature record: CXX_FEATURE:1cxx_lambdas
+    Feature record: CXX_FEATURE:1cxx_lambda_init_captures
+    Feature record: CXX_FEATURE:1cxx_local_type_template_args
+    Feature record: CXX_FEATURE:1cxx_long_long_type
+    Feature record: CXX_FEATURE:1cxx_noexcept
+    Feature record: CXX_FEATURE:1cxx_nonstatic_member_init
+    Feature record: CXX_FEATURE:1cxx_nullptr
+    Feature record: CXX_FEATURE:1cxx_override
+    Feature record: CXX_FEATURE:1cxx_range_for
+    Feature record: CXX_FEATURE:1cxx_raw_string_literals
+    Feature record: CXX_FEATURE:1cxx_reference_qualified_functions
+    Feature record: CXX_FEATURE:1cxx_relaxed_constexpr
+    Feature record: CXX_FEATURE:1cxx_return_type_deduction
+    Feature record: CXX_FEATURE:1cxx_right_angle_brackets
+    Feature record: CXX_FEATURE:1cxx_rvalue_references
+    Feature record: CXX_FEATURE:1cxx_sizeof_member
+    Feature record: CXX_FEATURE:1cxx_static_assert
+    Feature record: CXX_FEATURE:1cxx_strong_enums
+    Feature record: CXX_FEATURE:1cxx_template_template_parameters
+    Feature record: CXX_FEATURE:1cxx_thread_local
+    Feature record: CXX_FEATURE:1cxx_trailing_return_types
+    Feature record: CXX_FEATURE:1cxx_unicode_literals
+    Feature record: CXX_FEATURE:1cxx_uniform_initialization
+    Feature record: CXX_FEATURE:1cxx_unrestricted_unions
+    Feature record: CXX_FEATURE:1cxx_user_literals
+    Feature record: CXX_FEATURE:1cxx_variable_templates
+    Feature record: CXX_FEATURE:1cxx_variadic_macros
+    Feature record: CXX_FEATURE:1cxx_variadic_templates
+
+
+Detecting CXX [-std=c++17] compiler features compiled with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_9a839/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_9a839.dir/build.make CMakeFiles/cmTC_9a839.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_9a839.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building CXX object CMakeFiles/cmTC_9a839.dir/feature_tests.cxx.o
+/usr/bin/c++    -std=c++17 -o CMakeFiles/cmTC_9a839.dir/feature_tests.cxx.o -c /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_9a839
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9a839.dir/link.txt --verbose=1
+/usr/bin/c++       -rdynamic CMakeFiles/cmTC_9a839.dir/feature_tests.cxx.o  -o cmTC_9a839 
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+    Feature record: CXX_FEATURE:1cxx_aggregate_default_initializers
+    Feature record: CXX_FEATURE:1cxx_alias_templates
+    Feature record: CXX_FEATURE:1cxx_alignas
+    Feature record: CXX_FEATURE:1cxx_alignof
+    Feature record: CXX_FEATURE:1cxx_attributes
+    Feature record: CXX_FEATURE:1cxx_attribute_deprecated
+    Feature record: CXX_FEATURE:1cxx_auto_type
+    Feature record: CXX_FEATURE:1cxx_binary_literals
+    Feature record: CXX_FEATURE:1cxx_constexpr
+    Feature record: CXX_FEATURE:1cxx_contextual_conversions
+    Feature record: CXX_FEATURE:1cxx_decltype
+    Feature record: CXX_FEATURE:1cxx_decltype_auto
+    Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types
+    Feature record: CXX_FEATURE:1cxx_default_function_template_args
+    Feature record: CXX_FEATURE:1cxx_defaulted_functions
+    Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers
+    Feature record: CXX_FEATURE:1cxx_delegating_constructors
+    Feature record: CXX_FEATURE:1cxx_deleted_functions
+    Feature record: CXX_FEATURE:1cxx_digit_separators
+    Feature record: CXX_FEATURE:1cxx_enum_forward_declarations
+    Feature record: CXX_FEATURE:1cxx_explicit_conversions
+    Feature record: CXX_FEATURE:1cxx_extended_friend_declarations
+    Feature record: CXX_FEATURE:1cxx_extern_templates
+    Feature record: CXX_FEATURE:1cxx_final
+    Feature record: CXX_FEATURE:1cxx_func_identifier
+    Feature record: CXX_FEATURE:1cxx_generalized_initializers
+    Feature record: CXX_FEATURE:1cxx_generic_lambdas
+    Feature record: CXX_FEATURE:1cxx_inheriting_constructors
+    Feature record: CXX_FEATURE:1cxx_inline_namespaces
+    Feature record: CXX_FEATURE:1cxx_lambdas
+    Feature record: CXX_FEATURE:1cxx_lambda_init_captures
+    Feature record: CXX_FEATURE:1cxx_local_type_template_args
+    Feature record: CXX_FEATURE:1cxx_long_long_type
+    Feature record: CXX_FEATURE:1cxx_noexcept
+    Feature record: CXX_FEATURE:1cxx_nonstatic_member_init
+    Feature record: CXX_FEATURE:1cxx_nullptr
+    Feature record: CXX_FEATURE:1cxx_override
+    Feature record: CXX_FEATURE:1cxx_range_for
+    Feature record: CXX_FEATURE:1cxx_raw_string_literals
+    Feature record: CXX_FEATURE:1cxx_reference_qualified_functions
+    Feature record: CXX_FEATURE:1cxx_relaxed_constexpr
+    Feature record: CXX_FEATURE:1cxx_return_type_deduction
+    Feature record: CXX_FEATURE:1cxx_right_angle_brackets
+    Feature record: CXX_FEATURE:1cxx_rvalue_references
+    Feature record: CXX_FEATURE:1cxx_sizeof_member
+    Feature record: CXX_FEATURE:1cxx_static_assert
+    Feature record: CXX_FEATURE:1cxx_strong_enums
+    Feature record: CXX_FEATURE:1cxx_template_template_parameters
+    Feature record: CXX_FEATURE:1cxx_thread_local
+    Feature record: CXX_FEATURE:1cxx_trailing_return_types
+    Feature record: CXX_FEATURE:1cxx_unicode_literals
+    Feature record: CXX_FEATURE:1cxx_uniform_initialization
+    Feature record: CXX_FEATURE:1cxx_unrestricted_unions
+    Feature record: CXX_FEATURE:1cxx_user_literals
+    Feature record: CXX_FEATURE:1cxx_variable_templates
+    Feature record: CXX_FEATURE:1cxx_variadic_macros
+    Feature record: CXX_FEATURE:1cxx_variadic_templates
+
+
+Detecting CXX [-std=c++14] compiler features compiled with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_997a9/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_997a9.dir/build.make CMakeFiles/cmTC_997a9.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_997a9.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building CXX object CMakeFiles/cmTC_997a9.dir/feature_tests.cxx.o
+/usr/bin/c++    -std=c++14 -o CMakeFiles/cmTC_997a9.dir/feature_tests.cxx.o -c /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_997a9
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_997a9.dir/link.txt --verbose=1
+/usr/bin/c++       -rdynamic CMakeFiles/cmTC_997a9.dir/feature_tests.cxx.o  -o cmTC_997a9 
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+    Feature record: CXX_FEATURE:1cxx_aggregate_default_initializers
+    Feature record: CXX_FEATURE:1cxx_alias_templates
+    Feature record: CXX_FEATURE:1cxx_alignas
+    Feature record: CXX_FEATURE:1cxx_alignof
+    Feature record: CXX_FEATURE:1cxx_attributes
+    Feature record: CXX_FEATURE:1cxx_attribute_deprecated
+    Feature record: CXX_FEATURE:1cxx_auto_type
+    Feature record: CXX_FEATURE:1cxx_binary_literals
+    Feature record: CXX_FEATURE:1cxx_constexpr
+    Feature record: CXX_FEATURE:1cxx_contextual_conversions
+    Feature record: CXX_FEATURE:1cxx_decltype
+    Feature record: CXX_FEATURE:1cxx_decltype_auto
+    Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types
+    Feature record: CXX_FEATURE:1cxx_default_function_template_args
+    Feature record: CXX_FEATURE:1cxx_defaulted_functions
+    Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers
+    Feature record: CXX_FEATURE:1cxx_delegating_constructors
+    Feature record: CXX_FEATURE:1cxx_deleted_functions
+    Feature record: CXX_FEATURE:1cxx_digit_separators
+    Feature record: CXX_FEATURE:1cxx_enum_forward_declarations
+    Feature record: CXX_FEATURE:1cxx_explicit_conversions
+    Feature record: CXX_FEATURE:1cxx_extended_friend_declarations
+    Feature record: CXX_FEATURE:1cxx_extern_templates
+    Feature record: CXX_FEATURE:1cxx_final
+    Feature record: CXX_FEATURE:1cxx_func_identifier
+    Feature record: CXX_FEATURE:1cxx_generalized_initializers
+    Feature record: CXX_FEATURE:1cxx_generic_lambdas
+    Feature record: CXX_FEATURE:1cxx_inheriting_constructors
+    Feature record: CXX_FEATURE:1cxx_inline_namespaces
+    Feature record: CXX_FEATURE:1cxx_lambdas
+    Feature record: CXX_FEATURE:1cxx_lambda_init_captures
+    Feature record: CXX_FEATURE:1cxx_local_type_template_args
+    Feature record: CXX_FEATURE:1cxx_long_long_type
+    Feature record: CXX_FEATURE:1cxx_noexcept
+    Feature record: CXX_FEATURE:1cxx_nonstatic_member_init
+    Feature record: CXX_FEATURE:1cxx_nullptr
+    Feature record: CXX_FEATURE:1cxx_override
+    Feature record: CXX_FEATURE:1cxx_range_for
+    Feature record: CXX_FEATURE:1cxx_raw_string_literals
+    Feature record: CXX_FEATURE:1cxx_reference_qualified_functions
+    Feature record: CXX_FEATURE:1cxx_relaxed_constexpr
+    Feature record: CXX_FEATURE:1cxx_return_type_deduction
+    Feature record: CXX_FEATURE:1cxx_right_angle_brackets
+    Feature record: CXX_FEATURE:1cxx_rvalue_references
+    Feature record: CXX_FEATURE:1cxx_sizeof_member
+    Feature record: CXX_FEATURE:1cxx_static_assert
+    Feature record: CXX_FEATURE:1cxx_strong_enums
+    Feature record: CXX_FEATURE:1cxx_template_template_parameters
+    Feature record: CXX_FEATURE:1cxx_thread_local
+    Feature record: CXX_FEATURE:1cxx_trailing_return_types
+    Feature record: CXX_FEATURE:1cxx_unicode_literals
+    Feature record: CXX_FEATURE:1cxx_uniform_initialization
+    Feature record: CXX_FEATURE:1cxx_unrestricted_unions
+    Feature record: CXX_FEATURE:1cxx_user_literals
+    Feature record: CXX_FEATURE:1cxx_variable_templates
+    Feature record: CXX_FEATURE:1cxx_variadic_macros
+    Feature record: CXX_FEATURE:1cxx_variadic_templates
+
+
+Detecting CXX [-std=c++11] compiler features compiled with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_0e9ec/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_0e9ec.dir/build.make CMakeFiles/cmTC_0e9ec.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_0e9ec.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building CXX object CMakeFiles/cmTC_0e9ec.dir/feature_tests.cxx.o
+/usr/bin/c++    -std=c++11 -o CMakeFiles/cmTC_0e9ec.dir/feature_tests.cxx.o -c /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_0e9ec
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0e9ec.dir/link.txt --verbose=1
+/usr/bin/c++       -rdynamic CMakeFiles/cmTC_0e9ec.dir/feature_tests.cxx.o  -o cmTC_0e9ec 
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+    Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
+    Feature record: CXX_FEATURE:1cxx_alias_templates
+    Feature record: CXX_FEATURE:1cxx_alignas
+    Feature record: CXX_FEATURE:1cxx_alignof
+    Feature record: CXX_FEATURE:1cxx_attributes
+    Feature record: CXX_FEATURE:0cxx_attribute_deprecated
+    Feature record: CXX_FEATURE:1cxx_auto_type
+    Feature record: CXX_FEATURE:0cxx_binary_literals
+    Feature record: CXX_FEATURE:1cxx_constexpr
+    Feature record: CXX_FEATURE:0cxx_contextual_conversions
+    Feature record: CXX_FEATURE:1cxx_decltype
+    Feature record: CXX_FEATURE:0cxx_decltype_auto
+    Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types
+    Feature record: CXX_FEATURE:1cxx_default_function_template_args
+    Feature record: CXX_FEATURE:1cxx_defaulted_functions
+    Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers
+    Feature record: CXX_FEATURE:1cxx_delegating_constructors
+    Feature record: CXX_FEATURE:1cxx_deleted_functions
+    Feature record: CXX_FEATURE:0cxx_digit_separators
+    Feature record: CXX_FEATURE:1cxx_enum_forward_declarations
+    Feature record: CXX_FEATURE:1cxx_explicit_conversions
+    Feature record: CXX_FEATURE:1cxx_extended_friend_declarations
+    Feature record: CXX_FEATURE:1cxx_extern_templates
+    Feature record: CXX_FEATURE:1cxx_final
+    Feature record: CXX_FEATURE:1cxx_func_identifier
+    Feature record: CXX_FEATURE:1cxx_generalized_initializers
+    Feature record: CXX_FEATURE:0cxx_generic_lambdas
+    Feature record: CXX_FEATURE:1cxx_inheriting_constructors
+    Feature record: CXX_FEATURE:1cxx_inline_namespaces
+    Feature record: CXX_FEATURE:1cxx_lambdas
+    Feature record: CXX_FEATURE:0cxx_lambda_init_captures
+    Feature record: CXX_FEATURE:1cxx_local_type_template_args
+    Feature record: CXX_FEATURE:1cxx_long_long_type
+    Feature record: CXX_FEATURE:1cxx_noexcept
+    Feature record: CXX_FEATURE:1cxx_nonstatic_member_init
+    Feature record: CXX_FEATURE:1cxx_nullptr
+    Feature record: CXX_FEATURE:1cxx_override
+    Feature record: CXX_FEATURE:1cxx_range_for
+    Feature record: CXX_FEATURE:1cxx_raw_string_literals
+    Feature record: CXX_FEATURE:1cxx_reference_qualified_functions
+    Feature record: CXX_FEATURE:0cxx_relaxed_constexpr
+    Feature record: CXX_FEATURE:0cxx_return_type_deduction
+    Feature record: CXX_FEATURE:1cxx_right_angle_brackets
+    Feature record: CXX_FEATURE:1cxx_rvalue_references
+    Feature record: CXX_FEATURE:1cxx_sizeof_member
+    Feature record: CXX_FEATURE:1cxx_static_assert
+    Feature record: CXX_FEATURE:1cxx_strong_enums
+    Feature record: CXX_FEATURE:1cxx_template_template_parameters
+    Feature record: CXX_FEATURE:1cxx_thread_local
+    Feature record: CXX_FEATURE:1cxx_trailing_return_types
+    Feature record: CXX_FEATURE:1cxx_unicode_literals
+    Feature record: CXX_FEATURE:1cxx_uniform_initialization
+    Feature record: CXX_FEATURE:1cxx_unrestricted_unions
+    Feature record: CXX_FEATURE:1cxx_user_literals
+    Feature record: CXX_FEATURE:0cxx_variable_templates
+    Feature record: CXX_FEATURE:1cxx_variadic_macros
+    Feature record: CXX_FEATURE:1cxx_variadic_templates
+
+
+Detecting CXX [-std=c++98] compiler features compiled with the following output:
+Change Dir: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp
+
+Run Build Command:"/usr/bin/make" "cmTC_ba1c4/fast"
+make: Avertissement : le fichier « Makefile » a une date de modification 5,7 s dans le futur
+/usr/bin/make -f CMakeFiles/cmTC_ba1c4.dir/build.make CMakeFiles/cmTC_ba1c4.dir/build
+make[1] : on entre dans le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make[1]: Avertissement : le fichier « CMakeFiles/cmTC_ba1c4.dir/flags.make » a une date de modification 5,7 s dans le futur
+Building CXX object CMakeFiles/cmTC_ba1c4.dir/feature_tests.cxx.o
+/usr/bin/c++    -std=c++98 -o CMakeFiles/cmTC_ba1c4.dir/feature_tests.cxx.o -c /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_ba1c4
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ba1c4.dir/link.txt --verbose=1
+/usr/bin/c++       -rdynamic CMakeFiles/cmTC_ba1c4.dir/feature_tests.cxx.o  -o cmTC_ba1c4 
+make[1]: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+make[1] : on quitte le répertoire « /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/CMakeTmp »
+make: AVERTISSEMENT : décalage d'horloge détecté. La construction peut être incomplète.
+
+
+    Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
+    Feature record: CXX_FEATURE:0cxx_alias_templates
+    Feature record: CXX_FEATURE:0cxx_alignas
+    Feature record: CXX_FEATURE:0cxx_alignof
+    Feature record: CXX_FEATURE:0cxx_attributes
+    Feature record: CXX_FEATURE:0cxx_attribute_deprecated
+    Feature record: CXX_FEATURE:0cxx_auto_type
+    Feature record: CXX_FEATURE:0cxx_binary_literals
+    Feature record: CXX_FEATURE:0cxx_constexpr
+    Feature record: CXX_FEATURE:0cxx_contextual_conversions
+    Feature record: CXX_FEATURE:0cxx_decltype
+    Feature record: CXX_FEATURE:0cxx_decltype_auto
+    Feature record: CXX_FEATURE:0cxx_decltype_incomplete_return_types
+    Feature record: CXX_FEATURE:0cxx_default_function_template_args
+    Feature record: CXX_FEATURE:0cxx_defaulted_functions
+    Feature record: CXX_FEATURE:0cxx_defaulted_move_initializers
+    Feature record: CXX_FEATURE:0cxx_delegating_constructors
+    Feature record: CXX_FEATURE:0cxx_deleted_functions
+    Feature record: CXX_FEATURE:0cxx_digit_separators
+    Feature record: CXX_FEATURE:0cxx_enum_forward_declarations
+    Feature record: CXX_FEATURE:0cxx_explicit_conversions
+    Feature record: CXX_FEATURE:0cxx_extended_friend_declarations
+    Feature record: CXX_FEATURE:0cxx_extern_templates
+    Feature record: CXX_FEATURE:0cxx_final
+    Feature record: CXX_FEATURE:0cxx_func_identifier
+    Feature record: CXX_FEATURE:0cxx_generalized_initializers
+    Feature record: CXX_FEATURE:0cxx_generic_lambdas
+    Feature record: CXX_FEATURE:0cxx_inheriting_constructors
+    Feature record: CXX_FEATURE:0cxx_inline_namespaces
+    Feature record: CXX_FEATURE:0cxx_lambdas
+    Feature record: CXX_FEATURE:0cxx_lambda_init_captures
+    Feature record: CXX_FEATURE:0cxx_local_type_template_args
+    Feature record: CXX_FEATURE:0cxx_long_long_type
+    Feature record: CXX_FEATURE:0cxx_noexcept
+    Feature record: CXX_FEATURE:0cxx_nonstatic_member_init
+    Feature record: CXX_FEATURE:0cxx_nullptr
+    Feature record: CXX_FEATURE:0cxx_override
+    Feature record: CXX_FEATURE:0cxx_range_for
+    Feature record: CXX_FEATURE:0cxx_raw_string_literals
+    Feature record: CXX_FEATURE:0cxx_reference_qualified_functions
+    Feature record: CXX_FEATURE:0cxx_relaxed_constexpr
+    Feature record: CXX_FEATURE:0cxx_return_type_deduction
+    Feature record: CXX_FEATURE:0cxx_right_angle_brackets
+    Feature record: CXX_FEATURE:0cxx_rvalue_references
+    Feature record: CXX_FEATURE:0cxx_sizeof_member
+    Feature record: CXX_FEATURE:0cxx_static_assert
+    Feature record: CXX_FEATURE:0cxx_strong_enums
+    Feature record: CXX_FEATURE:1cxx_template_template_parameters
+    Feature record: CXX_FEATURE:0cxx_thread_local
+    Feature record: CXX_FEATURE:0cxx_trailing_return_types
+    Feature record: CXX_FEATURE:0cxx_unicode_literals
+    Feature record: CXX_FEATURE:0cxx_uniform_initialization
+    Feature record: CXX_FEATURE:0cxx_unrestricted_unions
+    Feature record: CXX_FEATURE:0cxx_user_literals
+    Feature record: CXX_FEATURE:0cxx_variable_templates
+    Feature record: CXX_FEATURE:0cxx_variadic_macros
+    Feature record: CXX_FEATURE:0cxx_variadic_templates
diff --git a/sgi2018/CMakeFiles/Makefile.cmake b/sgi2018/CMakeFiles/Makefile.cmake
new file mode 100644
index 0000000..f003c86
--- /dev/null
+++ b/sgi2018/CMakeFiles/Makefile.cmake
@@ -0,0 +1,47 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.13
+
+# The generator used is:
+set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
+
+# The top level Makefile was generated from the following files:
+set(CMAKE_MAKEFILE_DEPENDS
+  "CMakeCache.txt"
+  "CMakeFiles/3.13.4/CMakeCCompiler.cmake"
+  "CMakeFiles/3.13.4/CMakeCXXCompiler.cmake"
+  "CMakeFiles/3.13.4/CMakeSystem.cmake"
+  "CMakeLists.txt"
+  "/usr/share/cmake-3.13/Modules/CMakeCInformation.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeCXXInformation.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeCommonLanguageInclude.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeGenericSystem.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeInitializeConfigs.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeLanguageInformation.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeSystemSpecificInformation.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeSystemSpecificInitialize.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/GNU-C.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/GNU-CXX.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/GNU.cmake"
+  "/usr/share/cmake-3.13/Modules/Platform/Linux-GNU-C.cmake"
+  "/usr/share/cmake-3.13/Modules/Platform/Linux-GNU-CXX.cmake"
+  "/usr/share/cmake-3.13/Modules/Platform/Linux-GNU.cmake"
+  "/usr/share/cmake-3.13/Modules/Platform/Linux.cmake"
+  "/usr/share/cmake-3.13/Modules/Platform/UnixPaths.cmake"
+  )
+
+# The corresponding makefile is:
+set(CMAKE_MAKEFILE_OUTPUTS
+  "Makefile"
+  "CMakeFiles/cmake.check_cache"
+  )
+
+# Byproducts of CMake generate step:
+set(CMAKE_MAKEFILE_PRODUCTS
+  "CMakeFiles/CMakeDirectoryInformation.cmake"
+  )
+
+# Dependency information for all targets:
+set(CMAKE_DEPEND_INFO_FILES
+  "CMakeFiles/follower.exe.dir/DependInfo.cmake"
+  )
diff --git a/sgi2018/CMakeFiles/Makefile2 b/sgi2018/CMakeFiles/Makefile2
new file mode 100644
index 0000000..b6ef6fd
--- /dev/null
+++ b/sgi2018/CMakeFiles/Makefile2
@@ -0,0 +1,113 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.13
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# The main recursive all target
+all:
+
+.PHONY : all
+
+# The main recursive preinstall target
+preinstall:
+
+.PHONY : preinstall
+
+# The main recursive clean target
+clean:
+
+.PHONY : clean
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+
+#=============================================================================
+# Target rules for target CMakeFiles/follower.exe.dir
+
+# All Build rule for target.
+CMakeFiles/follower.exe.dir/all:
+	$(MAKE) -f CMakeFiles/follower.exe.dir/build.make CMakeFiles/follower.exe.dir/depend
+	$(MAKE) -f CMakeFiles/follower.exe.dir/build.make CMakeFiles/follower.exe.dir/build
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles --progress-num=1,2 "Built target follower.exe"
+.PHONY : CMakeFiles/follower.exe.dir/all
+
+# Include target in all.
+all: CMakeFiles/follower.exe.dir/all
+
+.PHONY : all
+
+# Build rule for subdir invocation for target.
+CMakeFiles/follower.exe.dir/rule: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles 2
+	$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/follower.exe.dir/all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles 0
+.PHONY : CMakeFiles/follower.exe.dir/rule
+
+# Convenience name for target.
+follower.exe: CMakeFiles/follower.exe.dir/rule
+
+.PHONY : follower.exe
+
+# clean rule for target.
+CMakeFiles/follower.exe.dir/clean:
+	$(MAKE) -f CMakeFiles/follower.exe.dir/build.make CMakeFiles/follower.exe.dir/clean
+.PHONY : CMakeFiles/follower.exe.dir/clean
+
+# clean rule for target.
+clean: CMakeFiles/follower.exe.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/sgi2018/CMakeFiles/TargetDirectories.txt b/sgi2018/CMakeFiles/TargetDirectories.txt
new file mode 100644
index 0000000..b9f95f7
--- /dev/null
+++ b/sgi2018/CMakeFiles/TargetDirectories.txt
@@ -0,0 +1,3 @@
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/rebuild_cache.dir
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/follower.exe.dir
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/edit_cache.dir
diff --git a/sgi2018/CMakeFiles/cmake.check_cache b/sgi2018/CMakeFiles/cmake.check_cache
new file mode 100644
index 0000000..3dccd73
--- /dev/null
+++ b/sgi2018/CMakeFiles/cmake.check_cache
@@ -0,0 +1 @@
+# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/sgi2018/CMakeFiles/feature_tests.bin b/sgi2018/CMakeFiles/feature_tests.bin
new file mode 100755
index 0000000000000000000000000000000000000000..f4651b98b734ccb00508b2664d78c00f250cda16
GIT binary patch
literal 16504
zcmeHOYmgjO6~42R$A%=c8%$&&(TowwjkuFdAYmayX7-g1ZbAqNMj&+c_Vmm)%=9ch
zJ;`oBS!yH2ii?z5W%LKAf3zseidFb1DKx1dWtFe+14tF9Taf6+;;|~GR)mb->At6T
zdZuTie=L8@-P$?#e&=y-pL_bwo$hlV>>KEBibMpLsQ9FyR<hMYl9JJNy{v#FMVDBL
z&ku<;ViDR4T+HJqJp!&*hMI!3S>jPp()+IDSJO38jwz3jDCyNJr)WSZOohA-(pyLj
z*{-I~$_|(^-|sI@$|!O7)2GQLUYlv99t~x>!{bkH3(};#ZbeeoqbBLiO1)XB$8<`L
zlPUX?d_w=vNqg0_7d$FVNtVj)vrd}ovmbMtHS|Ug7ED?1R_IArONsdjyM2%BubyAp
z<oKD&%M}}P=HQlVH{{YCInyeQbc}Ru>DY2@qF6|5a<7~0lkE0g``m$0e6ee3%q#Iv
z81esh>;3k#$5z<umn=9lk!X4Gcj6D{h)3~3Ht4z@x%FEM<HnJ8!f1+H@Za6{;v1)o
z-{$XG((}?YuYdW0WjB0n>GwYM`tf@n{Kf;D248ve^nLr+yz-mZpIE-~wI?7RTGj%M
zhj1PSc4-Js*A)-Jx7NXr0&f+UiS}er=@6Rhf{@$#K0ZmlEg57!<Kk_ivkE^3JRTzd
zB=8mFr8p`m94B8v{Zg@9T(!c5nJu1{cv1$&)gD_M2W=H?HRJ!al;17w9FX#_O8l6_
zBN7*gm!gx_ufCdMWQ$PMY`$QrMMtw8RTb)vy*t&kVH;Vq=ot3iojtjNW$e`kbB4zY
z<-lg%GlyDM*VQ7mHd0?YccYJJYR0s*oOu|gRAR|q^O|W1)ktfOhCXfqnl>%9R5a3%
zBh-_Fh(*X?vB-dDMK6|A(=r{lN^SIHitPhCx_i`3iA{;k?$vv7A3^*_LjUrRl5Q8J
zD@=rUlXye=jn^q&SK`vIGjbhbd`cRKCp|^RxqbR352t&H{<%z5;Qm~JIbDH!<M%XX
zDsZ|-xy)AJ9Ba&L(1r&Z9%y)=;emz+8XjnPpy7e~9#F>LXjUFwcy@yj%IA+eP32R{
z_;bxCeTDMo*T5=Ybq1d;Ym=yb8@0^iEU@v-9TP9ytxUY8jGvj=y?0=8;T_o4DU-|p
z4hdy)+X;~Js?R~^otCw|F7yL5l*xrp5xIWWS%vOzr#iY{Ql4sAJ4UuoN(vJXx$>J2
z6Ip*jIdLJXOw1@Jrf*Ur&nquna8|-VhcwV!p31oWu>RP#6j-9PVV^R-?N13*m5H;?
zGUd^2>wr&pl*{GmA$&Z)@N%>x2Uw5kx%<J~2c3z}zNbu-W*+T(PdTbgt~wKgKYp~J
zwdH5W51h;-TGk$+QH#e@pWZR?a_aUS6X#R=QWNi|;E}7wJ|V<DWwL|lZ3FAilFz5d
zFO<v5iT9(<>W#0otQ7+j?+#3y@11x%RbKh3GJZ0mT>tyhUuZ7wJdnC8bs%+jO2wE2
z&5S!|fmw3<ZhSO6(C|RR0}T%}Jkan!!vhTuG(6DoK*IwK4>UYb*8}vHXufhu&;I>t
ze_v|vzCC?6bm}7`s+P^-<(TFecz>4BN;$`UDP_7ZyzF9#e9qL0s$=Abb5IHw$XZ%G
zMj;bo(s68auoP~Mc^KZXZRqGT9b%#66jWz)*r;U<;^mz^idSxUFR0~0hNTxQyfYjb
zwrh340>>$7ITh7|hFvrvTq~D0^jvuF%uzLru)ZREt{31@1Jhs|PRX|1s|oGOo1{$1
z(jAP(p9xj7v-RbTw8|Ru3grt2jf(_8+Q?D7m{yjYQgrN+?i9izg#<BM^LA`zO-C&n
z!<wyy8!@a>Ud<HjLz<mN2<SPI44(zeVb0WHZ{E4WeBy;H4a+uBxu{Kq&76}%eCNI#
zuAN!(wrZvg%P}*i5fWQj!=ix1YvuGs9PUb*x|-ASgXypv%e00J+x!n^#I%rYVW^gt
zH;TiW9(MQE?ZjiaLsfNc7%>{EUeIx~(7kZ6z{Csstm=M*-#J#n7}1Skr`EL=MIC}b
zSMx@G(6HSxg@~1MxnU>7^9XU<#?;iR*qW6!DB8kUhw%E|rl_yKl-NcFIS7_+sP|#b
zpoyP1`fVepjX=b`jlx%;ip2ntn#Qe$*bf<<nH_Rej6P?mgSMvMYd9gHY9G{cC0bzQ
zC__Ywh{r-kI<~eS>36MIH0+R>frDsP>7EVR-bmjx{GBmZq1!%>H6m>FaE5F{OCv%M
zP_+YbY|TV0XD_l^mMl{*q>Xu|3=){{{M;?*t}eA5mMp|O=3l234N9Tk14#a`=jrR9
zW}B3f;yWPdB=_ssl}S@<Yr0*SPk`N7yaZqPk=4<yl+#7I8ST^M@*|*KpvOQJ(EXqt
z=gQ?@g6;>M2K@<Wr%c+Qd@3rD!+S(zq&2d7+2ZEMBa2%JUxWYYKbOm#(?fFM@<LoG
z<&Q$%O(}`B_Q%?8ZdrP$c}(1N#nz8sbLBeL$Lj+z206|(A)NZU3;zc&<~XQG#abV3
z>RG<%P7DZ5(s=;?L*TnPL*22~FE#bW+8&Gc#p06-`eN;0T&To4A6}%yy2cl8k0tMk
zb){mRsaSh=EZ!Y!gM4?a+0B=E4tB<1r!sE^P@^<F(C|RR1OL|^;5<Ig+v7E?ntIu@
zULGu6kSec=<tTTM$}*4miG<5#`)Qdkc)4tIKH+NF=C%6@+2*`LTF0p{{~s611-C7e
z{@mPc0H+raI+s(pU-IcYjmoS?ke}|AHc3}W%0#LOk@S$olF=%Y6?q)TB`(vvk(uh1
zf0e!Qq2-F=ZLT}s897kAHFn$Vw;9<!CHeo9ZGRln?*E!_UU|KK<4KRRy{G4fczdrg
zXlhoxD{)Ptvt!G8uToFd$D_zX<@|mhL?w!651gkS#G~R&$YY5pvWlBS92Q09HpfBG
z&LTfvg7{*=^AN<F1<zj)Um`dzf;gg1=D`N>r6L}RFB6@i_;UZeMbJ)6@ck6TTl_rh
zAl~Zd?+5V}qN}|U@#;}zX7l}7$&HE+2)-|a_(~BLFHx~daK3L){)7Jg6~t@v&50ik
z$@}(jUQOn#(0#Q){IxuXcr{v=nvickT;*q^Yq<C~tMHFVoYzIqiV)YK5~&yu-^cwf
zUh5xP7pY%fXW7oED_`s9qrk()|CB4=BI0pWP+pP?Q@!i`F=QghyuWe1D<1d=v;PZM
zqBc%WyLK)Ue801ypQ7U?Q5%Pkxp-~-pLOlj#>rdKetVKFd-PqGTv`)vOX-3`;`776
zBce90t_2=;?ja96?7YHO;9=(#ZU(;28(QEq13c^;!+jD@%DCd+Jof?*J6EyD#cR)1
zj7YrNKS!kf>T?fY1s)HK&}$r%^3~@dj=OlR!XN9{d8-aCblWL9rA#KFi@Ea?s*_iB
zIzdsSqYMQ#n=1_Bu}+#E(cwwvh~S5n>BM!{Y}y<y<Q`_gQ%PGJ#S;O?9u*n-wXdd2
z`TQtUDq7xCrGTiR(Gw>8QZ72h1fCuU^^SqAjEB;w`uC)E_Njfldg=6sieo@(pCUn}
zcMpxISWt&FD@`XrdOx!(wR1-gP@D|$mFVz=KR!C5Q31FION6?8;Fj*xfO<=R|80GH
z)xD|ifj)Fs=gddtQITY_@)U=6R3vaHWWMtt^Brcv;{}{R@z09XoJa|F9Cl15^eBu-
z6i4%pHVEq29v$MEiHG3!ut-=1$4I2QcXT*fR<^QMDKS_wag57Miv+cXwBnFRq(?2-
z^QdEc9QpV>&``mnr(mQY67Ff3#Bk0@WDAZ+(4%*eaF4_!?1FpFCSeT8xEV@Am0O;w
zH<z9U*I`%7n>sozIAj?^qVqZloW>CeL~$OGS$h}#_XzEWaf@MX^$PEgnDTyDvRzrO
z6a6Uu>8pYDc^}0z4qj!E+h!lyh+3sS@3)v<=}UT*YW-fo=dp+7{&`=<bhp%(+g*QO
z&t`X_LVI-9=lvVgF>($HZO5s~`*GfX-wuqnf~?QK3z*J=S6QSvAG#Yg+M}~R?+2O2
zr6iA^<(S?JKJEFr&HF~CtY1BTX;vIYg?!5TyuW06Tncjk)z^One7Yw2b7gKHD!+#=
zlln}m=kH9Feq8D?l}%R1cbQk1exXXA_q9xUyljBmOzB);<@l4*FjM+ott{LxV_!$5
zQlIz9O!@a3%U56jlTx4kFXB>C()0X-FbK<*5Z^(K`e*&>^RqYll3t~{{~uQA^ZuM^
zbJg{;-`MQWQK3C8{~Y3dJfEwrmghFpUqKhYB7A+`@6U7qL}59vHP>eRWiTlAxPSg#
zz~`2y<oG#0S&!%OG3b&A>+|o2(;EPyw0p$=WPPSn;8g01q!jJ+D6bO|^{<EZ&w){?
z&*xv;q&|<cTA$l*qe8ZL{Jd{#m-^ff%S(4~Q@n#3VN%@3S-;-;&vuA%?D@*5DAM4x
uTsY`^h9Djf`-Scg9y_Xj>D=N~o2!g-zbr_PdBXI&x;%;ZSy0ky{eJ^+T`tuC

literal 0
HcmV?d00001

diff --git a/sgi2018/CMakeFiles/feature_tests.c b/sgi2018/CMakeFiles/feature_tests.c
new file mode 100644
index 0000000..83e86dd
--- /dev/null
+++ b/sgi2018/CMakeFiles/feature_tests.c
@@ -0,0 +1,34 @@
+
+  const char features[] = {"\n"
+"C_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304
+"1"
+#else
+"0"
+#endif
+"c_function_prototypes\n"
+"C_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+"1"
+#else
+"0"
+#endif
+"c_restrict\n"
+"C_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L
+"1"
+#else
+"0"
+#endif
+"c_static_assert\n"
+"C_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+"1"
+#else
+"0"
+#endif
+"c_variadic_macros\n"
+
+};
+
+int main(int argc, char** argv) { (void)argv; return features[argc]; }
diff --git a/sgi2018/CMakeFiles/feature_tests.cxx b/sgi2018/CMakeFiles/feature_tests.cxx
new file mode 100644
index 0000000..b93418c
--- /dev/null
+++ b/sgi2018/CMakeFiles/feature_tests.cxx
@@ -0,0 +1,405 @@
+
+  const char features[] = {"\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
+"1"
+#else
+"0"
+#endif
+"cxx_aggregate_default_initializers\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_alias_templates\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_alignas\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_alignof\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_attributes\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_attribute_deprecated\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_auto_type\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_binary_literals\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_constexpr\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_contextual_conversions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_decltype\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_decltype_auto\n"
+"CXX_FEATURE:"
+#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_decltype_incomplete_return_types\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_default_function_template_args\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_defaulted_functions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_defaulted_move_initializers\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_delegating_constructors\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_deleted_functions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_digit_separators\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_enum_forward_declarations\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_explicit_conversions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_extended_friend_declarations\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_extern_templates\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_final\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_func_identifier\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_generalized_initializers\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_generic_lambdas\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_inheriting_constructors\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_inline_namespaces\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_lambdas\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_lambda_init_captures\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_local_type_template_args\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_long_long_type\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_noexcept\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_nonstatic_member_init\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_nullptr\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_override\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_range_for\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_raw_string_literals\n"
+"CXX_FEATURE:"
+#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_reference_qualified_functions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
+"1"
+#else
+"0"
+#endif
+"cxx_relaxed_constexpr\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_return_type_deduction\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_right_angle_brackets\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_rvalue_references\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_sizeof_member\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_static_assert\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_strong_enums\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus
+"1"
+#else
+"0"
+#endif
+"cxx_template_template_parameters\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_thread_local\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_trailing_return_types\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_unicode_literals\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_uniform_initialization\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_unrestricted_unions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_user_literals\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
+"1"
+#else
+"0"
+#endif
+"cxx_variable_templates\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_variadic_macros\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_variadic_templates\n"
+
+};
+
+int main(int argc, char** argv) { (void)argv; return features[argc]; }
diff --git a/sgi2018/CMakeFiles/follower.exe.dir/CXX.includecache b/sgi2018/CMakeFiles/follower.exe.dir/CXX.includecache
new file mode 100644
index 0000000..4e27aa8
--- /dev/null
+++ b/sgi2018/CMakeFiles/follower.exe.dir/CXX.includecache
@@ -0,0 +1,1322 @@
+#IncludeRegexLine: ^[ 	]*[#%][ 	]*(include|import)[ 	]*[<"]([^">]+)([">])
+
+#IncludeRegexScan: ^.*$
+
+#IncludeRegexComplain: ^$
+
+#IncludeRegexTransform: 
+
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/follower/follow.h
+stack
+-
+../types.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/types.h
+point.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/follower/point.h
+
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/follower/point.h
+cmath
+-
+limits
+-
+../types.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/types.h
+../generator.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/generator.h
+
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/follower/transform.h
+iostream
+-
+../types.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/types.h
+point.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/follower/point.h
+follow.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/follower/follow.h
+
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/generator.h
+types.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/types.h
+tools/matlab.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/tools/matlab.h
+
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/main.cpp
+iostream
+-
+types.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/types.h
+tools/csv.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/tools/csv.h
+follower/point.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/follower/point.h
+follower/transform.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/follower/transform.h
+
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/tools/csv.h
+iostream
+-
+fstream
+-
+sys/types.h
+-
+sys/stat.h
+-
+exception
+-
+../types.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/types.h
+
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/tools/matlab.h
+random
+-
+iostream
+-
+fstream
+-
+../types.h
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/types.h
+
+/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/types.h
+complex
+-
+vector
+-
+Eigen/Dense
+-
+shaman.h
+-
+shaman/helpers/Shaman_eigen.h
+-
+
+eigen/Eigen/Cholesky
+Core
+eigen/Eigen/Core
+Jacobi
+eigen/Eigen/Jacobi
+src/Core/util/DisableStupidWarnings.h
+eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+src/Cholesky/LLT.h
+eigen/Eigen/src/Cholesky/LLT.h
+src/Cholesky/LDLT.h
+eigen/Eigen/src/Cholesky/LDLT.h
+mkl_lapacke.h
+eigen/Eigen/mkl_lapacke.h
+src/misc/lapacke.h
+eigen/Eigen/src/misc/lapacke.h
+src/Cholesky/LLT_LAPACKE.h
+eigen/Eigen/src/Cholesky/LLT_LAPACKE.h
+src/Core/util/ReenableStupidWarnings.h
+eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+
+eigen/Eigen/Core
+src/Core/util/DisableStupidWarnings.h
+eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+src/Core/util/Macros.h
+eigen/Eigen/src/Core/util/Macros.h
+src/Core/util/ConfigureVectorization.h
+eigen/Eigen/src/Core/util/ConfigureVectorization.h
+cuda_runtime.h
+-
+hip/hip_runtime.h
+-
+new
+-
+complex
+-
+src/Core/util/MKL_support.h
+eigen/Eigen/src/Core/util/MKL_support.h
+omp.h
+-
+cerrno
+-
+cstddef
+-
+cstdlib
+-
+cmath
+-
+cassert
+-
+functional
+-
+iosfwd
+-
+cstring
+-
+string
+-
+limits
+-
+climits
+-
+algorithm
+-
+array
+-
+type_traits
+-
+iostream
+-
+intrin.h
+-
+SYCL/sycl.hpp
+-
+map
+-
+memory
+-
+utility
+-
+thread
+-
+src/Core/util/Constants.h
+eigen/Eigen/src/Core/util/Constants.h
+src/Core/util/Meta.h
+eigen/Eigen/src/Core/util/Meta.h
+src/Core/util/ForwardDeclarations.h
+eigen/Eigen/src/Core/util/ForwardDeclarations.h
+src/Core/util/StaticAssert.h
+eigen/Eigen/src/Core/util/StaticAssert.h
+src/Core/util/XprHelper.h
+eigen/Eigen/src/Core/util/XprHelper.h
+src/Core/util/Memory.h
+eigen/Eigen/src/Core/util/Memory.h
+src/Core/util/IntegralConstant.h
+eigen/Eigen/src/Core/util/IntegralConstant.h
+src/Core/util/SymbolicIndex.h
+eigen/Eigen/src/Core/util/SymbolicIndex.h
+src/Core/NumTraits.h
+eigen/Eigen/src/Core/NumTraits.h
+src/Core/MathFunctions.h
+eigen/Eigen/src/Core/MathFunctions.h
+src/Core/GenericPacketMath.h
+eigen/Eigen/src/Core/GenericPacketMath.h
+src/Core/MathFunctionsImpl.h
+eigen/Eigen/src/Core/MathFunctionsImpl.h
+src/Core/arch/Default/ConjHelper.h
+eigen/Eigen/src/Core/arch/Default/ConjHelper.h
+src/Core/arch/Default/Half.h
+eigen/Eigen/src/Core/arch/Default/Half.h
+src/Core/arch/Default/TypeCasting.h
+eigen/Eigen/src/Core/arch/Default/TypeCasting.h
+src/Core/arch/Default/GenericPacketMathFunctionsFwd.h
+eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h
+src/Core/arch/SSE/PacketMath.h
+eigen/Eigen/src/Core/arch/SSE/PacketMath.h
+src/Core/arch/SSE/TypeCasting.h
+eigen/Eigen/src/Core/arch/SSE/TypeCasting.h
+src/Core/arch/SSE/Complex.h
+eigen/Eigen/src/Core/arch/SSE/Complex.h
+src/Core/arch/AVX/PacketMath.h
+eigen/Eigen/src/Core/arch/AVX/PacketMath.h
+src/Core/arch/AVX/TypeCasting.h
+eigen/Eigen/src/Core/arch/AVX/TypeCasting.h
+src/Core/arch/AVX/Complex.h
+eigen/Eigen/src/Core/arch/AVX/Complex.h
+src/Core/arch/AVX512/PacketMath.h
+eigen/Eigen/src/Core/arch/AVX512/PacketMath.h
+src/Core/arch/AVX512/TypeCasting.h
+eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h
+src/Core/arch/AVX512/Complex.h
+eigen/Eigen/src/Core/arch/AVX512/Complex.h
+src/Core/arch/SSE/MathFunctions.h
+eigen/Eigen/src/Core/arch/SSE/MathFunctions.h
+src/Core/arch/AVX/MathFunctions.h
+eigen/Eigen/src/Core/arch/AVX/MathFunctions.h
+src/Core/arch/AVX512/MathFunctions.h
+eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h
+src/Core/arch/SSE/PacketMath.h
+eigen/Eigen/src/Core/arch/SSE/PacketMath.h
+src/Core/arch/SSE/TypeCasting.h
+eigen/Eigen/src/Core/arch/SSE/TypeCasting.h
+src/Core/arch/SSE/Complex.h
+eigen/Eigen/src/Core/arch/SSE/Complex.h
+src/Core/arch/AVX/PacketMath.h
+eigen/Eigen/src/Core/arch/AVX/PacketMath.h
+src/Core/arch/AVX/TypeCasting.h
+eigen/Eigen/src/Core/arch/AVX/TypeCasting.h
+src/Core/arch/AVX/Complex.h
+eigen/Eigen/src/Core/arch/AVX/Complex.h
+src/Core/arch/SSE/MathFunctions.h
+eigen/Eigen/src/Core/arch/SSE/MathFunctions.h
+src/Core/arch/AVX/MathFunctions.h
+eigen/Eigen/src/Core/arch/AVX/MathFunctions.h
+src/Core/arch/SSE/PacketMath.h
+eigen/Eigen/src/Core/arch/SSE/PacketMath.h
+src/Core/arch/SSE/TypeCasting.h
+eigen/Eigen/src/Core/arch/SSE/TypeCasting.h
+src/Core/arch/SSE/MathFunctions.h
+eigen/Eigen/src/Core/arch/SSE/MathFunctions.h
+src/Core/arch/SSE/Complex.h
+eigen/Eigen/src/Core/arch/SSE/Complex.h
+src/Core/arch/AltiVec/PacketMath.h
+eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h
+src/Core/arch/AltiVec/MathFunctions.h
+eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h
+src/Core/arch/AltiVec/Complex.h
+eigen/Eigen/src/Core/arch/AltiVec/Complex.h
+src/Core/arch/NEON/PacketMath.h
+eigen/Eigen/src/Core/arch/NEON/PacketMath.h
+src/Core/arch/NEON/TypeCasting.h
+eigen/Eigen/src/Core/arch/NEON/TypeCasting.h
+src/Core/arch/NEON/MathFunctions.h
+eigen/Eigen/src/Core/arch/NEON/MathFunctions.h
+src/Core/arch/NEON/Complex.h
+eigen/Eigen/src/Core/arch/NEON/Complex.h
+src/Core/arch/ZVector/PacketMath.h
+eigen/Eigen/src/Core/arch/ZVector/PacketMath.h
+src/Core/arch/ZVector/MathFunctions.h
+eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h
+src/Core/arch/ZVector/Complex.h
+eigen/Eigen/src/Core/arch/ZVector/Complex.h
+src/Core/arch/MSA/PacketMath.h
+eigen/Eigen/src/Core/arch/MSA/PacketMath.h
+src/Core/arch/MSA/MathFunctions.h
+eigen/Eigen/src/Core/arch/MSA/MathFunctions.h
+src/Core/arch/MSA/Complex.h
+eigen/Eigen/src/Core/arch/MSA/Complex.h
+src/Core/arch/GPU/PacketMath.h
+eigen/Eigen/src/Core/arch/GPU/PacketMath.h
+src/Core/arch/GPU/MathFunctions.h
+eigen/Eigen/src/Core/arch/GPU/MathFunctions.h
+src/Core/arch/GPU/TypeCasting.h
+eigen/Eigen/src/Core/arch/GPU/TypeCasting.h
+src/Core/arch/SYCL/SyclMemoryModel.h
+eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h
+src/Core/arch/SYCL/InteropHeaders.h
+eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h
+src/Core/arch/SYCL/PacketMath.h
+eigen/Eigen/src/Core/arch/SYCL/PacketMath.h
+src/Core/arch/SYCL/MathFunctions.h
+eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h
+src/Core/arch/SYCL/TypeCasting.h
+eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h
+src/Core/arch/Default/Settings.h
+eigen/Eigen/src/Core/arch/Default/Settings.h
+src/Core/arch/Default/GenericPacketMathFunctions.h
+eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h
+src/Core/functors/TernaryFunctors.h
+eigen/Eigen/src/Core/functors/TernaryFunctors.h
+src/Core/functors/BinaryFunctors.h
+eigen/Eigen/src/Core/functors/BinaryFunctors.h
+src/Core/functors/UnaryFunctors.h
+eigen/Eigen/src/Core/functors/UnaryFunctors.h
+src/Core/functors/NullaryFunctors.h
+eigen/Eigen/src/Core/functors/NullaryFunctors.h
+src/Core/functors/StlFunctors.h
+eigen/Eigen/src/Core/functors/StlFunctors.h
+src/Core/functors/AssignmentFunctors.h
+eigen/Eigen/src/Core/functors/AssignmentFunctors.h
+src/Core/arch/CUDA/Complex.h
+eigen/Eigen/src/Core/arch/CUDA/Complex.h
+src/Core/util/IndexedViewHelper.h
+eigen/Eigen/src/Core/util/IndexedViewHelper.h
+src/Core/util/ReshapedHelper.h
+eigen/Eigen/src/Core/util/ReshapedHelper.h
+src/Core/ArithmeticSequence.h
+eigen/Eigen/src/Core/ArithmeticSequence.h
+src/Core/IO.h
+eigen/Eigen/src/Core/IO.h
+src/Core/DenseCoeffsBase.h
+eigen/Eigen/src/Core/DenseCoeffsBase.h
+src/Core/DenseBase.h
+eigen/Eigen/src/Core/DenseBase.h
+src/Core/MatrixBase.h
+eigen/Eigen/src/Core/MatrixBase.h
+src/Core/EigenBase.h
+eigen/Eigen/src/Core/EigenBase.h
+src/Core/Product.h
+eigen/Eigen/src/Core/Product.h
+src/Core/CoreEvaluators.h
+eigen/Eigen/src/Core/CoreEvaluators.h
+src/Core/AssignEvaluator.h
+eigen/Eigen/src/Core/AssignEvaluator.h
+src/Core/Assign.h
+eigen/Eigen/src/Core/Assign.h
+src/Core/ArrayBase.h
+eigen/Eigen/src/Core/ArrayBase.h
+src/Core/util/BlasUtil.h
+eigen/Eigen/src/Core/util/BlasUtil.h
+src/Core/DenseStorage.h
+eigen/Eigen/src/Core/DenseStorage.h
+src/Core/NestByValue.h
+eigen/Eigen/src/Core/NestByValue.h
+src/Core/ReturnByValue.h
+eigen/Eigen/src/Core/ReturnByValue.h
+src/Core/NoAlias.h
+eigen/Eigen/src/Core/NoAlias.h
+src/Core/PlainObjectBase.h
+eigen/Eigen/src/Core/PlainObjectBase.h
+src/Core/Matrix.h
+eigen/Eigen/src/Core/Matrix.h
+src/Core/Array.h
+eigen/Eigen/src/Core/Array.h
+src/Core/CwiseTernaryOp.h
+eigen/Eigen/src/Core/CwiseTernaryOp.h
+src/Core/CwiseBinaryOp.h
+eigen/Eigen/src/Core/CwiseBinaryOp.h
+src/Core/CwiseUnaryOp.h
+eigen/Eigen/src/Core/CwiseUnaryOp.h
+src/Core/CwiseNullaryOp.h
+eigen/Eigen/src/Core/CwiseNullaryOp.h
+src/Core/CwiseUnaryView.h
+eigen/Eigen/src/Core/CwiseUnaryView.h
+src/Core/SelfCwiseBinaryOp.h
+eigen/Eigen/src/Core/SelfCwiseBinaryOp.h
+src/Core/Dot.h
+eigen/Eigen/src/Core/Dot.h
+src/Core/StableNorm.h
+eigen/Eigen/src/Core/StableNorm.h
+src/Core/Stride.h
+eigen/Eigen/src/Core/Stride.h
+src/Core/MapBase.h
+eigen/Eigen/src/Core/MapBase.h
+src/Core/Map.h
+eigen/Eigen/src/Core/Map.h
+src/Core/Ref.h
+eigen/Eigen/src/Core/Ref.h
+src/Core/Block.h
+eigen/Eigen/src/Core/Block.h
+src/Core/VectorBlock.h
+eigen/Eigen/src/Core/VectorBlock.h
+src/Core/IndexedView.h
+eigen/Eigen/src/Core/IndexedView.h
+src/Core/Reshaped.h
+eigen/Eigen/src/Core/Reshaped.h
+src/Core/Transpose.h
+eigen/Eigen/src/Core/Transpose.h
+src/Core/DiagonalMatrix.h
+eigen/Eigen/src/Core/DiagonalMatrix.h
+src/Core/Diagonal.h
+eigen/Eigen/src/Core/Diagonal.h
+src/Core/DiagonalProduct.h
+eigen/Eigen/src/Core/DiagonalProduct.h
+src/Core/Redux.h
+eigen/Eigen/src/Core/Redux.h
+src/Core/Visitor.h
+eigen/Eigen/src/Core/Visitor.h
+src/Core/Fuzzy.h
+eigen/Eigen/src/Core/Fuzzy.h
+src/Core/Swap.h
+eigen/Eigen/src/Core/Swap.h
+src/Core/CommaInitializer.h
+eigen/Eigen/src/Core/CommaInitializer.h
+src/Core/GeneralProduct.h
+eigen/Eigen/src/Core/GeneralProduct.h
+src/Core/Solve.h
+eigen/Eigen/src/Core/Solve.h
+src/Core/Inverse.h
+eigen/Eigen/src/Core/Inverse.h
+src/Core/SolverBase.h
+eigen/Eigen/src/Core/SolverBase.h
+src/Core/PermutationMatrix.h
+eigen/Eigen/src/Core/PermutationMatrix.h
+src/Core/Transpositions.h
+eigen/Eigen/src/Core/Transpositions.h
+src/Core/TriangularMatrix.h
+eigen/Eigen/src/Core/TriangularMatrix.h
+src/Core/SelfAdjointView.h
+eigen/Eigen/src/Core/SelfAdjointView.h
+src/Core/products/GeneralBlockPanelKernel.h
+eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h
+src/Core/products/Parallelizer.h
+eigen/Eigen/src/Core/products/Parallelizer.h
+src/Core/ProductEvaluators.h
+eigen/Eigen/src/Core/ProductEvaluators.h
+src/Core/products/GeneralMatrixVector.h
+eigen/Eigen/src/Core/products/GeneralMatrixVector.h
+src/Core/products/GeneralMatrixMatrix.h
+eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h
+src/Core/SolveTriangular.h
+eigen/Eigen/src/Core/SolveTriangular.h
+src/Core/products/GeneralMatrixMatrixTriangular.h
+eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
+src/Core/products/SelfadjointMatrixVector.h
+eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h
+src/Core/products/SelfadjointMatrixMatrix.h
+eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h
+src/Core/products/SelfadjointProduct.h
+eigen/Eigen/src/Core/products/SelfadjointProduct.h
+src/Core/products/SelfadjointRank2Update.h
+eigen/Eigen/src/Core/products/SelfadjointRank2Update.h
+src/Core/products/TriangularMatrixVector.h
+eigen/Eigen/src/Core/products/TriangularMatrixVector.h
+src/Core/products/TriangularMatrixMatrix.h
+eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h
+src/Core/products/TriangularSolverMatrix.h
+eigen/Eigen/src/Core/products/TriangularSolverMatrix.h
+src/Core/products/TriangularSolverVector.h
+eigen/Eigen/src/Core/products/TriangularSolverVector.h
+src/Core/BandMatrix.h
+eigen/Eigen/src/Core/BandMatrix.h
+src/Core/CoreIterators.h
+eigen/Eigen/src/Core/CoreIterators.h
+src/Core/ConditionEstimator.h
+eigen/Eigen/src/Core/ConditionEstimator.h
+src/Core/BooleanRedux.h
+eigen/Eigen/src/Core/BooleanRedux.h
+src/Core/Select.h
+eigen/Eigen/src/Core/Select.h
+src/Core/VectorwiseOp.h
+eigen/Eigen/src/Core/VectorwiseOp.h
+src/Core/PartialReduxEvaluator.h
+eigen/Eigen/src/Core/PartialReduxEvaluator.h
+src/Core/Random.h
+eigen/Eigen/src/Core/Random.h
+src/Core/Replicate.h
+eigen/Eigen/src/Core/Replicate.h
+src/Core/Reverse.h
+eigen/Eigen/src/Core/Reverse.h
+src/Core/ArrayWrapper.h
+eigen/Eigen/src/Core/ArrayWrapper.h
+src/Core/StlIterators.h
+eigen/Eigen/src/Core/StlIterators.h
+src/Core/products/GeneralMatrixMatrix_BLAS.h
+eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h
+src/Core/products/GeneralMatrixVector_BLAS.h
+eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h
+src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h
+eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h
+src/Core/products/SelfadjointMatrixMatrix_BLAS.h
+eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h
+src/Core/products/SelfadjointMatrixVector_BLAS.h
+eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h
+src/Core/products/TriangularMatrixMatrix_BLAS.h
+eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h
+src/Core/products/TriangularMatrixVector_BLAS.h
+eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h
+src/Core/products/TriangularSolverMatrix_BLAS.h
+eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h
+src/Core/Assign_MKL.h
+eigen/Eigen/src/Core/Assign_MKL.h
+src/Core/GlobalFunctions.h
+eigen/Eigen/src/Core/GlobalFunctions.h
+src/Core/util/ReenableStupidWarnings.h
+eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+
+eigen/Eigen/Dense
+Core
+eigen/Eigen/Core
+LU
+eigen/Eigen/LU
+Cholesky
+eigen/Eigen/Cholesky
+QR
+eigen/Eigen/QR
+SVD
+eigen/Eigen/SVD
+Geometry
+eigen/Eigen/Geometry
+Eigenvalues
+eigen/Eigen/Eigenvalues
+
+eigen/Eigen/Eigenvalues
+Core
+eigen/Eigen/Core
+Cholesky
+eigen/Eigen/Cholesky
+Jacobi
+eigen/Eigen/Jacobi
+Householder
+eigen/Eigen/Householder
+LU
+eigen/Eigen/LU
+Geometry
+eigen/Eigen/Geometry
+src/Core/util/DisableStupidWarnings.h
+eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+src/misc/RealSvd2x2.h
+eigen/Eigen/src/misc/RealSvd2x2.h
+src/Eigenvalues/Tridiagonalization.h
+eigen/Eigen/src/Eigenvalues/Tridiagonalization.h
+src/Eigenvalues/RealSchur.h
+eigen/Eigen/src/Eigenvalues/RealSchur.h
+src/Eigenvalues/EigenSolver.h
+eigen/Eigen/src/Eigenvalues/EigenSolver.h
+src/Eigenvalues/SelfAdjointEigenSolver.h
+eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
+src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
+eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
+src/Eigenvalues/HessenbergDecomposition.h
+eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h
+src/Eigenvalues/ComplexSchur.h
+eigen/Eigen/src/Eigenvalues/ComplexSchur.h
+src/Eigenvalues/ComplexEigenSolver.h
+eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h
+src/Eigenvalues/RealQZ.h
+eigen/Eigen/src/Eigenvalues/RealQZ.h
+src/Eigenvalues/GeneralizedEigenSolver.h
+eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
+src/Eigenvalues/MatrixBaseEigenvalues.h
+eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
+mkl_lapacke.h
+eigen/Eigen/mkl_lapacke.h
+src/misc/lapacke.h
+eigen/Eigen/src/misc/lapacke.h
+src/Eigenvalues/RealSchur_LAPACKE.h
+eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h
+src/Eigenvalues/ComplexSchur_LAPACKE.h
+eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h
+src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h
+eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h
+src/Core/util/ReenableStupidWarnings.h
+eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+
+eigen/Eigen/Geometry
+Core
+eigen/Eigen/Core
+SVD
+eigen/Eigen/SVD
+LU
+eigen/Eigen/LU
+limits
+-
+src/Core/util/DisableStupidWarnings.h
+eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+src/Geometry/OrthoMethods.h
+eigen/Eigen/src/Geometry/OrthoMethods.h
+src/Geometry/EulerAngles.h
+eigen/Eigen/src/Geometry/EulerAngles.h
+src/Geometry/Homogeneous.h
+eigen/Eigen/src/Geometry/Homogeneous.h
+src/Geometry/RotationBase.h
+eigen/Eigen/src/Geometry/RotationBase.h
+src/Geometry/Rotation2D.h
+eigen/Eigen/src/Geometry/Rotation2D.h
+src/Geometry/Quaternion.h
+eigen/Eigen/src/Geometry/Quaternion.h
+src/Geometry/AngleAxis.h
+eigen/Eigen/src/Geometry/AngleAxis.h
+src/Geometry/Transform.h
+eigen/Eigen/src/Geometry/Transform.h
+src/Geometry/Translation.h
+eigen/Eigen/src/Geometry/Translation.h
+src/Geometry/Scaling.h
+eigen/Eigen/src/Geometry/Scaling.h
+src/Geometry/Hyperplane.h
+eigen/Eigen/src/Geometry/Hyperplane.h
+src/Geometry/ParametrizedLine.h
+eigen/Eigen/src/Geometry/ParametrizedLine.h
+src/Geometry/AlignedBox.h
+eigen/Eigen/src/Geometry/AlignedBox.h
+src/Geometry/Umeyama.h
+eigen/Eigen/src/Geometry/Umeyama.h
+src/Geometry/arch/Geometry_SSE.h
+eigen/Eigen/src/Geometry/arch/Geometry_SSE.h
+src/Core/util/ReenableStupidWarnings.h
+eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+
+eigen/Eigen/Householder
+Core
+eigen/Eigen/Core
+src/Core/util/DisableStupidWarnings.h
+eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+src/Householder/Householder.h
+eigen/Eigen/src/Householder/Householder.h
+src/Householder/HouseholderSequence.h
+eigen/Eigen/src/Householder/HouseholderSequence.h
+src/Householder/BlockHouseholder.h
+eigen/Eigen/src/Householder/BlockHouseholder.h
+src/Core/util/ReenableStupidWarnings.h
+eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+
+eigen/Eigen/Jacobi
+Core
+eigen/Eigen/Core
+src/Core/util/DisableStupidWarnings.h
+eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+src/Jacobi/Jacobi.h
+eigen/Eigen/src/Jacobi/Jacobi.h
+src/Core/util/ReenableStupidWarnings.h
+eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+
+eigen/Eigen/LU
+Core
+eigen/Eigen/Core
+src/Core/util/DisableStupidWarnings.h
+eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+src/misc/Kernel.h
+eigen/Eigen/src/misc/Kernel.h
+src/misc/Image.h
+eigen/Eigen/src/misc/Image.h
+src/LU/FullPivLU.h
+eigen/Eigen/src/LU/FullPivLU.h
+src/LU/PartialPivLU.h
+eigen/Eigen/src/LU/PartialPivLU.h
+mkl_lapacke.h
+eigen/Eigen/mkl_lapacke.h
+src/misc/lapacke.h
+eigen/Eigen/src/misc/lapacke.h
+src/LU/PartialPivLU_LAPACKE.h
+eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h
+src/LU/Determinant.h
+eigen/Eigen/src/LU/Determinant.h
+src/LU/InverseImpl.h
+eigen/Eigen/src/LU/InverseImpl.h
+src/LU/arch/Inverse_SSE.h
+eigen/Eigen/src/LU/arch/Inverse_SSE.h
+src/Core/util/ReenableStupidWarnings.h
+eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+
+eigen/Eigen/QR
+Core
+eigen/Eigen/Core
+Cholesky
+eigen/Eigen/Cholesky
+Jacobi
+eigen/Eigen/Jacobi
+Householder
+eigen/Eigen/Householder
+src/Core/util/DisableStupidWarnings.h
+eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+src/QR/HouseholderQR.h
+eigen/Eigen/src/QR/HouseholderQR.h
+src/QR/FullPivHouseholderQR.h
+eigen/Eigen/src/QR/FullPivHouseholderQR.h
+src/QR/ColPivHouseholderQR.h
+eigen/Eigen/src/QR/ColPivHouseholderQR.h
+src/QR/CompleteOrthogonalDecomposition.h
+eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h
+mkl_lapacke.h
+eigen/Eigen/mkl_lapacke.h
+src/misc/lapacke.h
+eigen/Eigen/src/misc/lapacke.h
+src/QR/HouseholderQR_LAPACKE.h
+eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h
+src/QR/ColPivHouseholderQR_LAPACKE.h
+eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h
+src/Core/util/ReenableStupidWarnings.h
+eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+
+eigen/Eigen/SVD
+QR
+eigen/Eigen/QR
+Householder
+eigen/Eigen/Householder
+Jacobi
+eigen/Eigen/Jacobi
+src/Core/util/DisableStupidWarnings.h
+eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+src/misc/RealSvd2x2.h
+eigen/Eigen/src/misc/RealSvd2x2.h
+src/SVD/UpperBidiagonalization.h
+eigen/Eigen/src/SVD/UpperBidiagonalization.h
+src/SVD/SVDBase.h
+eigen/Eigen/src/SVD/SVDBase.h
+src/SVD/JacobiSVD.h
+eigen/Eigen/src/SVD/JacobiSVD.h
+src/SVD/BDCSVD.h
+eigen/Eigen/src/SVD/BDCSVD.h
+mkl_lapacke.h
+eigen/Eigen/mkl_lapacke.h
+src/misc/lapacke.h
+eigen/Eigen/src/misc/lapacke.h
+src/SVD/JacobiSVD_LAPACKE.h
+eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h
+src/Core/util/ReenableStupidWarnings.h
+eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+
+eigen/Eigen/src/Cholesky/LDLT.h
+
+eigen/Eigen/src/Cholesky/LLT.h
+
+eigen/Eigen/src/Cholesky/LLT_LAPACKE.h
+
+eigen/Eigen/src/Core/ArithmeticSequence.h
+
+eigen/Eigen/src/Core/Array.h
+
+eigen/Eigen/src/Core/ArrayBase.h
+../plugins/MatrixCwiseUnaryOps.h
+eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h
+../plugins/ArrayCwiseUnaryOps.h
+eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h
+../plugins/CommonCwiseBinaryOps.h
+eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h
+../plugins/MatrixCwiseBinaryOps.h
+eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h
+../plugins/ArrayCwiseBinaryOps.h
+eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h
+
+eigen/Eigen/src/Core/ArrayWrapper.h
+
+eigen/Eigen/src/Core/Assign.h
+
+eigen/Eigen/src/Core/AssignEvaluator.h
+
+eigen/Eigen/src/Core/Assign_MKL.h
+
+eigen/Eigen/src/Core/BandMatrix.h
+
+eigen/Eigen/src/Core/Block.h
+
+eigen/Eigen/src/Core/BooleanRedux.h
+
+eigen/Eigen/src/Core/CommaInitializer.h
+
+eigen/Eigen/src/Core/ConditionEstimator.h
+
+eigen/Eigen/src/Core/CoreEvaluators.h
+
+eigen/Eigen/src/Core/CoreIterators.h
+
+eigen/Eigen/src/Core/CwiseBinaryOp.h
+
+eigen/Eigen/src/Core/CwiseNullaryOp.h
+
+eigen/Eigen/src/Core/CwiseTernaryOp.h
+
+eigen/Eigen/src/Core/CwiseUnaryOp.h
+
+eigen/Eigen/src/Core/CwiseUnaryView.h
+
+eigen/Eigen/src/Core/DenseBase.h
+../plugins/CommonCwiseUnaryOps.h
+eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h
+../plugins/BlockMethods.h
+eigen/Eigen/src/plugins/BlockMethods.h
+../plugins/IndexedViewMethods.h
+eigen/Eigen/src/plugins/IndexedViewMethods.h
+../plugins/ReshapedMethods.h
+eigen/Eigen/src/plugins/ReshapedMethods.h
+
+eigen/Eigen/src/Core/DenseCoeffsBase.h
+
+eigen/Eigen/src/Core/DenseStorage.h
+
+eigen/Eigen/src/Core/Diagonal.h
+
+eigen/Eigen/src/Core/DiagonalMatrix.h
+
+eigen/Eigen/src/Core/DiagonalProduct.h
+
+eigen/Eigen/src/Core/Dot.h
+
+eigen/Eigen/src/Core/EigenBase.h
+
+eigen/Eigen/src/Core/Fuzzy.h
+
+eigen/Eigen/src/Core/GeneralProduct.h
+
+eigen/Eigen/src/Core/GenericPacketMath.h
+
+eigen/Eigen/src/Core/GlobalFunctions.h
+
+eigen/Eigen/src/Core/IO.h
+
+eigen/Eigen/src/Core/IndexedView.h
+
+eigen/Eigen/src/Core/Inverse.h
+
+eigen/Eigen/src/Core/Map.h
+
+eigen/Eigen/src/Core/MapBase.h
+
+eigen/Eigen/src/Core/MathFunctions.h
+
+eigen/Eigen/src/Core/MathFunctionsImpl.h
+
+eigen/Eigen/src/Core/Matrix.h
+
+eigen/Eigen/src/Core/MatrixBase.h
+../plugins/CommonCwiseBinaryOps.h
+eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h
+../plugins/MatrixCwiseUnaryOps.h
+eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h
+../plugins/MatrixCwiseBinaryOps.h
+eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h
+
+eigen/Eigen/src/Core/NestByValue.h
+
+eigen/Eigen/src/Core/NoAlias.h
+
+eigen/Eigen/src/Core/NumTraits.h
+
+eigen/Eigen/src/Core/PartialReduxEvaluator.h
+
+eigen/Eigen/src/Core/PermutationMatrix.h
+
+eigen/Eigen/src/Core/PlainObjectBase.h
+
+eigen/Eigen/src/Core/Product.h
+
+eigen/Eigen/src/Core/ProductEvaluators.h
+
+eigen/Eigen/src/Core/Random.h
+
+eigen/Eigen/src/Core/Redux.h
+
+eigen/Eigen/src/Core/Ref.h
+
+eigen/Eigen/src/Core/Replicate.h
+
+eigen/Eigen/src/Core/Reshaped.h
+
+eigen/Eigen/src/Core/ReturnByValue.h
+
+eigen/Eigen/src/Core/Reverse.h
+
+eigen/Eigen/src/Core/Select.h
+
+eigen/Eigen/src/Core/SelfAdjointView.h
+
+eigen/Eigen/src/Core/SelfCwiseBinaryOp.h
+
+eigen/Eigen/src/Core/Solve.h
+
+eigen/Eigen/src/Core/SolveTriangular.h
+
+eigen/Eigen/src/Core/SolverBase.h
+
+eigen/Eigen/src/Core/StableNorm.h
+
+eigen/Eigen/src/Core/StlIterators.h
+
+eigen/Eigen/src/Core/Stride.h
+
+eigen/Eigen/src/Core/Swap.h
+
+eigen/Eigen/src/Core/Transpose.h
+
+eigen/Eigen/src/Core/Transpositions.h
+
+eigen/Eigen/src/Core/TriangularMatrix.h
+
+eigen/Eigen/src/Core/VectorBlock.h
+
+eigen/Eigen/src/Core/VectorwiseOp.h
+
+eigen/Eigen/src/Core/Visitor.h
+
+eigen/Eigen/src/Core/arch/AVX/Complex.h
+
+eigen/Eigen/src/Core/arch/AVX/MathFunctions.h
+
+eigen/Eigen/src/Core/arch/AVX/PacketMath.h
+
+eigen/Eigen/src/Core/arch/AVX/TypeCasting.h
+
+eigen/Eigen/src/Core/arch/AVX512/Complex.h
+
+eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h
+
+eigen/Eigen/src/Core/arch/AVX512/PacketMath.h
+
+eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h
+
+eigen/Eigen/src/Core/arch/AltiVec/Complex.h
+
+eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h
+
+eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h
+
+eigen/Eigen/src/Core/arch/CUDA/Complex.h
+
+eigen/Eigen/src/Core/arch/Default/ConjHelper.h
+
+eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h
+
+eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h
+
+eigen/Eigen/src/Core/arch/Default/Half.h
+
+eigen/Eigen/src/Core/arch/Default/Settings.h
+
+eigen/Eigen/src/Core/arch/Default/TypeCasting.h
+
+eigen/Eigen/src/Core/arch/GPU/MathFunctions.h
+
+eigen/Eigen/src/Core/arch/GPU/PacketMath.h
+
+eigen/Eigen/src/Core/arch/GPU/TypeCasting.h
+
+eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h
+
+eigen/Eigen/src/Core/arch/MSA/Complex.h
+iostream
+-
+
+eigen/Eigen/src/Core/arch/MSA/MathFunctions.h
+
+eigen/Eigen/src/Core/arch/MSA/PacketMath.h
+iostream
+-
+string
+-
+
+eigen/Eigen/src/Core/arch/NEON/Complex.h
+
+eigen/Eigen/src/Core/arch/NEON/MathFunctions.h
+
+eigen/Eigen/src/Core/arch/NEON/PacketMath.h
+
+eigen/Eigen/src/Core/arch/NEON/TypeCasting.h
+
+eigen/Eigen/src/Core/arch/SSE/Complex.h
+
+eigen/Eigen/src/Core/arch/SSE/MathFunctions.h
+
+eigen/Eigen/src/Core/arch/SSE/PacketMath.h
+
+eigen/Eigen/src/Core/arch/SSE/TypeCasting.h
+
+eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h
+
+eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h
+
+eigen/Eigen/src/Core/arch/SYCL/PacketMath.h
+type_traits
+-
+
+eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h
+CL/sycl.hpp
+-
+stdexcept
+-
+cstddef
+-
+queue
+-
+set
+-
+unordered_map
+-
+
+eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h
+
+eigen/Eigen/src/Core/arch/ZVector/Complex.h
+
+eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h
+
+eigen/Eigen/src/Core/arch/ZVector/PacketMath.h
+stdint.h
+-
+
+eigen/Eigen/src/Core/functors/AssignmentFunctors.h
+
+eigen/Eigen/src/Core/functors/BinaryFunctors.h
+
+eigen/Eigen/src/Core/functors/NullaryFunctors.h
+
+eigen/Eigen/src/Core/functors/StlFunctors.h
+
+eigen/Eigen/src/Core/functors/TernaryFunctors.h
+
+eigen/Eigen/src/Core/functors/UnaryFunctors.h
+
+eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h
+
+eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h
+
+eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
+
+eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h
+
+eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h
+
+eigen/Eigen/src/Core/products/GeneralMatrixVector.h
+
+eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h
+
+eigen/Eigen/src/Core/products/Parallelizer.h
+atomic
+-
+
+eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h
+
+eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h
+
+eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h
+
+eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h
+
+eigen/Eigen/src/Core/products/SelfadjointProduct.h
+
+eigen/Eigen/src/Core/products/SelfadjointRank2Update.h
+
+eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h
+
+eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h
+
+eigen/Eigen/src/Core/products/TriangularMatrixVector.h
+
+eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h
+
+eigen/Eigen/src/Core/products/TriangularSolverMatrix.h
+
+eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h
+
+eigen/Eigen/src/Core/products/TriangularSolverVector.h
+
+eigen/Eigen/src/Core/util/BlasUtil.h
+
+eigen/Eigen/src/Core/util/ConfigureVectorization.h
+malloc.h
+-
+immintrin.h
+-
+mmintrin.h
+-
+emmintrin.h
+-
+xmmintrin.h
+-
+pmmintrin.h
+-
+tmmintrin.h
+-
+smmintrin.h
+-
+nmmintrin.h
+-
+immintrin.h
+-
+altivec.h
+-
+altivec.h
+-
+arm_neon.h
+-
+vecintrin.h
+-
+msa.h
+-
+immintrin.h
+-
+vector_types.h
+-
+cuda_runtime_api.h
+-
+cuda_fp16.h
+-
+hip/hip_vector_types.h
+-
+hip/hip_fp16.h
+-
+
+eigen/Eigen/src/Core/util/Constants.h
+
+eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+
+eigen/Eigen/src/Core/util/ForwardDeclarations.h
+
+eigen/Eigen/src/Core/util/IndexedViewHelper.h
+
+eigen/Eigen/src/Core/util/IntegralConstant.h
+
+eigen/Eigen/src/Core/util/MKL_support.h
+mkl.h
+-
+../../misc/blas.h
+eigen/Eigen/src/misc/blas.h
+
+eigen/Eigen/src/Core/util/Macros.h
+cuda.h
+-
+hip/hip_runtime.h
+-
+cmath
+-
+cstdlib
+-
+iostream
+-
+
+eigen/Eigen/src/Core/util/Memory.h
+
+eigen/Eigen/src/Core/util/Meta.h
+cfloat
+-
+math_constants.h
+-
+Eigen/src/Core/arch/HIP/hcc/math_constants.h
+eigen/Eigen/src/Core/util/Eigen/src/Core/arch/HIP/hcc/math_constants.h
+cstdint
+-
+cstdint
+-
+stdint.h
+-
+
+eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+
+eigen/Eigen/src/Core/util/ReshapedHelper.h
+
+eigen/Eigen/src/Core/util/StaticAssert.h
+
+eigen/Eigen/src/Core/util/SymbolicIndex.h
+
+eigen/Eigen/src/Core/util/XprHelper.h
+
+eigen/Eigen/src/Eigenvalues/./ComplexSchur.h
+./HessenbergDecomposition.h
+eigen/Eigen/src/Eigenvalues/././HessenbergDecomposition.h
+
+eigen/Eigen/src/Eigenvalues/./HessenbergDecomposition.h
+
+eigen/Eigen/src/Eigenvalues/./RealQZ.h
+
+eigen/Eigen/src/Eigenvalues/./RealSchur.h
+./HessenbergDecomposition.h
+eigen/Eigen/src/Eigenvalues/././HessenbergDecomposition.h
+
+eigen/Eigen/src/Eigenvalues/./Tridiagonalization.h
+
+eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h
+./ComplexSchur.h
+eigen/Eigen/src/Eigenvalues/./ComplexSchur.h
+
+eigen/Eigen/src/Eigenvalues/ComplexSchur.h
+./HessenbergDecomposition.h
+eigen/Eigen/src/Eigenvalues/./HessenbergDecomposition.h
+
+eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h
+
+eigen/Eigen/src/Eigenvalues/EigenSolver.h
+./RealSchur.h
+eigen/Eigen/src/Eigenvalues/./RealSchur.h
+
+eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
+./RealQZ.h
+eigen/Eigen/src/Eigenvalues/./RealQZ.h
+
+eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
+./Tridiagonalization.h
+eigen/Eigen/src/Eigenvalues/./Tridiagonalization.h
+
+eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h
+
+eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
+
+eigen/Eigen/src/Eigenvalues/RealQZ.h
+
+eigen/Eigen/src/Eigenvalues/RealSchur.h
+./HessenbergDecomposition.h
+eigen/Eigen/src/Eigenvalues/./HessenbergDecomposition.h
+
+eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h
+
+eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
+./Tridiagonalization.h
+eigen/Eigen/src/Eigenvalues/./Tridiagonalization.h
+
+eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h
+
+eigen/Eigen/src/Eigenvalues/Tridiagonalization.h
+
+eigen/Eigen/src/Geometry/AlignedBox.h
+
+eigen/Eigen/src/Geometry/AngleAxis.h
+
+eigen/Eigen/src/Geometry/EulerAngles.h
+
+eigen/Eigen/src/Geometry/Homogeneous.h
+
+eigen/Eigen/src/Geometry/Hyperplane.h
+
+eigen/Eigen/src/Geometry/OrthoMethods.h
+
+eigen/Eigen/src/Geometry/ParametrizedLine.h
+
+eigen/Eigen/src/Geometry/Quaternion.h
+
+eigen/Eigen/src/Geometry/Rotation2D.h
+
+eigen/Eigen/src/Geometry/RotationBase.h
+
+eigen/Eigen/src/Geometry/Scaling.h
+
+eigen/Eigen/src/Geometry/Transform.h
+
+eigen/Eigen/src/Geometry/Translation.h
+
+eigen/Eigen/src/Geometry/Umeyama.h
+
+eigen/Eigen/src/Geometry/arch/Geometry_SSE.h
+
+eigen/Eigen/src/Householder/BlockHouseholder.h
+
+eigen/Eigen/src/Householder/Householder.h
+
+eigen/Eigen/src/Householder/HouseholderSequence.h
+
+eigen/Eigen/src/Jacobi/Jacobi.h
+
+eigen/Eigen/src/LU/Determinant.h
+
+eigen/Eigen/src/LU/FullPivLU.h
+
+eigen/Eigen/src/LU/InverseImpl.h
+
+eigen/Eigen/src/LU/PartialPivLU.h
+
+eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h
+
+eigen/Eigen/src/LU/arch/Inverse_SSE.h
+
+eigen/Eigen/src/QR/ColPivHouseholderQR.h
+
+eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h
+
+eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h
+
+eigen/Eigen/src/QR/FullPivHouseholderQR.h
+
+eigen/Eigen/src/QR/HouseholderQR.h
+
+eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h
+
+eigen/Eigen/src/SVD/BDCSVD.h
+
+eigen/Eigen/src/SVD/JacobiSVD.h
+
+eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h
+
+eigen/Eigen/src/SVD/SVDBase.h
+
+eigen/Eigen/src/SVD/UpperBidiagonalization.h
+
+eigen/Eigen/src/misc/Image.h
+
+eigen/Eigen/src/misc/Kernel.h
+
+eigen/Eigen/src/misc/RealSvd2x2.h
+
+eigen/Eigen/src/misc/blas.h
+
+eigen/Eigen/src/misc/lapacke.h
+lapacke_config.h
+eigen/Eigen/src/misc/lapacke_config.h
+stdlib.h
+-
+complex.h
+-
+complex.h
+-
+lapacke_mangling.h
+eigen/Eigen/src/misc/lapacke_mangling.h
+
+eigen/Eigen/src/misc/lapacke_mangling.h
+
+eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h
+
+eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h
+
+eigen/Eigen/src/plugins/BlockMethods.h
+
+eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h
+
+eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h
+
+eigen/Eigen/src/plugins/IndexedViewMethods.h
+IndexedViewMethods.h
+eigen/Eigen/src/plugins/IndexedViewMethods.h
+
+eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h
+
+eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h
+
+eigen/Eigen/src/plugins/ReshapedMethods.h
+ReshapedMethods.h
+eigen/Eigen/src/plugins/ReshapedMethods.h
+
diff --git a/sgi2018/CMakeFiles/follower.exe.dir/DependInfo.cmake b/sgi2018/CMakeFiles/follower.exe.dir/DependInfo.cmake
new file mode 100644
index 0000000..a580506
--- /dev/null
+++ b/sgi2018/CMakeFiles/follower.exe.dir/DependInfo.cmake
@@ -0,0 +1,21 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  "CXX"
+  )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_CXX
+  "/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/main.cpp" "/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/follower.exe.dir/src/main.cpp.o"
+  )
+set(CMAKE_CXX_COMPILER_ID "GNU")
+
+# The include file search paths:
+set(CMAKE_CXX_TARGET_INCLUDE_PATH
+  "eigen"
+  )
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/sgi2018/CMakeFiles/follower.exe.dir/build.make b/sgi2018/CMakeFiles/follower.exe.dir/build.make
new file mode 100644
index 0000000..cd00e23
--- /dev/null
+++ b/sgi2018/CMakeFiles/follower.exe.dir/build.make
@@ -0,0 +1,98 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.13
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+
+# Include any dependencies generated for this target.
+include CMakeFiles/follower.exe.dir/depend.make
+
+# Include the progress variables for this target.
+include CMakeFiles/follower.exe.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include CMakeFiles/follower.exe.dir/flags.make
+
+CMakeFiles/follower.exe.dir/src/main.cpp.o: CMakeFiles/follower.exe.dir/flags.make
+CMakeFiles/follower.exe.dir/src/main.cpp.o: src/main.cpp
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/follower.exe.dir/src/main.cpp.o"
+	g++  $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/follower.exe.dir/src/main.cpp.o -c /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/main.cpp
+
+CMakeFiles/follower.exe.dir/src/main.cpp.i: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/follower.exe.dir/src/main.cpp.i"
+	g++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/main.cpp > CMakeFiles/follower.exe.dir/src/main.cpp.i
+
+CMakeFiles/follower.exe.dir/src/main.cpp.s: cmake_force
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/follower.exe.dir/src/main.cpp.s"
+	g++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/main.cpp -o CMakeFiles/follower.exe.dir/src/main.cpp.s
+
+# Object files for target follower.exe
+follower_exe_OBJECTS = \
+"CMakeFiles/follower.exe.dir/src/main.cpp.o"
+
+# External object files for target follower.exe
+follower_exe_EXTERNAL_OBJECTS =
+
+follower.exe: CMakeFiles/follower.exe.dir/src/main.cpp.o
+follower.exe: CMakeFiles/follower.exe.dir/build.make
+follower.exe: CMakeFiles/follower.exe.dir/link.txt
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable follower.exe"
+	$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/follower.exe.dir/link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+CMakeFiles/follower.exe.dir/build: follower.exe
+
+.PHONY : CMakeFiles/follower.exe.dir/build
+
+CMakeFiles/follower.exe.dir/clean:
+	$(CMAKE_COMMAND) -P CMakeFiles/follower.exe.dir/cmake_clean.cmake
+.PHONY : CMakeFiles/follower.exe.dir/clean
+
+CMakeFiles/follower.exe.dir/depend:
+	cd /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018 && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018 /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018 /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018 /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018 /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/follower.exe.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : CMakeFiles/follower.exe.dir/depend
+
diff --git a/sgi2018/CMakeFiles/follower.exe.dir/cmake_clean.cmake b/sgi2018/CMakeFiles/follower.exe.dir/cmake_clean.cmake
new file mode 100644
index 0000000..4fcb720
--- /dev/null
+++ b/sgi2018/CMakeFiles/follower.exe.dir/cmake_clean.cmake
@@ -0,0 +1,10 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/follower.exe.dir/src/main.cpp.o"
+  "follower.exe.pdb"
+  "follower.exe"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang CXX)
+  include(CMakeFiles/follower.exe.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/sgi2018/CMakeFiles/follower.exe.dir/depend.internal b/sgi2018/CMakeFiles/follower.exe.dir/depend.internal
new file mode 100644
index 0000000..8dc79a5
--- /dev/null
+++ b/sgi2018/CMakeFiles/follower.exe.dir/depend.internal
@@ -0,0 +1,250 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.13
+
+CMakeFiles/follower.exe.dir/src/main.cpp.o
+ /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/follower/follow.h
+ /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/follower/point.h
+ /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/follower/transform.h
+ /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/generator.h
+ /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/main.cpp
+ /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/tools/csv.h
+ /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/tools/matlab.h
+ /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/src/types.h
+ eigen/Eigen/Cholesky
+ eigen/Eigen/Core
+ eigen/Eigen/Dense
+ eigen/Eigen/Eigenvalues
+ eigen/Eigen/Geometry
+ eigen/Eigen/Householder
+ eigen/Eigen/Jacobi
+ eigen/Eigen/LU
+ eigen/Eigen/QR
+ eigen/Eigen/SVD
+ eigen/Eigen/src/Cholesky/LDLT.h
+ eigen/Eigen/src/Cholesky/LLT.h
+ eigen/Eigen/src/Cholesky/LLT_LAPACKE.h
+ eigen/Eigen/src/Core/ArithmeticSequence.h
+ eigen/Eigen/src/Core/Array.h
+ eigen/Eigen/src/Core/ArrayBase.h
+ eigen/Eigen/src/Core/ArrayWrapper.h
+ eigen/Eigen/src/Core/Assign.h
+ eigen/Eigen/src/Core/AssignEvaluator.h
+ eigen/Eigen/src/Core/Assign_MKL.h
+ eigen/Eigen/src/Core/BandMatrix.h
+ eigen/Eigen/src/Core/Block.h
+ eigen/Eigen/src/Core/BooleanRedux.h
+ eigen/Eigen/src/Core/CommaInitializer.h
+ eigen/Eigen/src/Core/ConditionEstimator.h
+ eigen/Eigen/src/Core/CoreEvaluators.h
+ eigen/Eigen/src/Core/CoreIterators.h
+ eigen/Eigen/src/Core/CwiseBinaryOp.h
+ eigen/Eigen/src/Core/CwiseNullaryOp.h
+ eigen/Eigen/src/Core/CwiseTernaryOp.h
+ eigen/Eigen/src/Core/CwiseUnaryOp.h
+ eigen/Eigen/src/Core/CwiseUnaryView.h
+ eigen/Eigen/src/Core/DenseBase.h
+ eigen/Eigen/src/Core/DenseCoeffsBase.h
+ eigen/Eigen/src/Core/DenseStorage.h
+ eigen/Eigen/src/Core/Diagonal.h
+ eigen/Eigen/src/Core/DiagonalMatrix.h
+ eigen/Eigen/src/Core/DiagonalProduct.h
+ eigen/Eigen/src/Core/Dot.h
+ eigen/Eigen/src/Core/EigenBase.h
+ eigen/Eigen/src/Core/Fuzzy.h
+ eigen/Eigen/src/Core/GeneralProduct.h
+ eigen/Eigen/src/Core/GenericPacketMath.h
+ eigen/Eigen/src/Core/GlobalFunctions.h
+ eigen/Eigen/src/Core/IO.h
+ eigen/Eigen/src/Core/IndexedView.h
+ eigen/Eigen/src/Core/Inverse.h
+ eigen/Eigen/src/Core/Map.h
+ eigen/Eigen/src/Core/MapBase.h
+ eigen/Eigen/src/Core/MathFunctions.h
+ eigen/Eigen/src/Core/MathFunctionsImpl.h
+ eigen/Eigen/src/Core/Matrix.h
+ eigen/Eigen/src/Core/MatrixBase.h
+ eigen/Eigen/src/Core/NestByValue.h
+ eigen/Eigen/src/Core/NoAlias.h
+ eigen/Eigen/src/Core/NumTraits.h
+ eigen/Eigen/src/Core/PartialReduxEvaluator.h
+ eigen/Eigen/src/Core/PermutationMatrix.h
+ eigen/Eigen/src/Core/PlainObjectBase.h
+ eigen/Eigen/src/Core/Product.h
+ eigen/Eigen/src/Core/ProductEvaluators.h
+ eigen/Eigen/src/Core/Random.h
+ eigen/Eigen/src/Core/Redux.h
+ eigen/Eigen/src/Core/Ref.h
+ eigen/Eigen/src/Core/Replicate.h
+ eigen/Eigen/src/Core/Reshaped.h
+ eigen/Eigen/src/Core/ReturnByValue.h
+ eigen/Eigen/src/Core/Reverse.h
+ eigen/Eigen/src/Core/Select.h
+ eigen/Eigen/src/Core/SelfAdjointView.h
+ eigen/Eigen/src/Core/SelfCwiseBinaryOp.h
+ eigen/Eigen/src/Core/Solve.h
+ eigen/Eigen/src/Core/SolveTriangular.h
+ eigen/Eigen/src/Core/SolverBase.h
+ eigen/Eigen/src/Core/StableNorm.h
+ eigen/Eigen/src/Core/StlIterators.h
+ eigen/Eigen/src/Core/Stride.h
+ eigen/Eigen/src/Core/Swap.h
+ eigen/Eigen/src/Core/Transpose.h
+ eigen/Eigen/src/Core/Transpositions.h
+ eigen/Eigen/src/Core/TriangularMatrix.h
+ eigen/Eigen/src/Core/VectorBlock.h
+ eigen/Eigen/src/Core/VectorwiseOp.h
+ eigen/Eigen/src/Core/Visitor.h
+ eigen/Eigen/src/Core/arch/AVX/Complex.h
+ eigen/Eigen/src/Core/arch/AVX/MathFunctions.h
+ eigen/Eigen/src/Core/arch/AVX/PacketMath.h
+ eigen/Eigen/src/Core/arch/AVX/TypeCasting.h
+ eigen/Eigen/src/Core/arch/AVX512/Complex.h
+ eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h
+ eigen/Eigen/src/Core/arch/AVX512/PacketMath.h
+ eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h
+ eigen/Eigen/src/Core/arch/AltiVec/Complex.h
+ eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h
+ eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h
+ eigen/Eigen/src/Core/arch/CUDA/Complex.h
+ eigen/Eigen/src/Core/arch/Default/ConjHelper.h
+ eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h
+ eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h
+ eigen/Eigen/src/Core/arch/Default/Half.h
+ eigen/Eigen/src/Core/arch/Default/Settings.h
+ eigen/Eigen/src/Core/arch/Default/TypeCasting.h
+ eigen/Eigen/src/Core/arch/GPU/MathFunctions.h
+ eigen/Eigen/src/Core/arch/GPU/PacketMath.h
+ eigen/Eigen/src/Core/arch/GPU/TypeCasting.h
+ eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h
+ eigen/Eigen/src/Core/arch/MSA/Complex.h
+ eigen/Eigen/src/Core/arch/MSA/MathFunctions.h
+ eigen/Eigen/src/Core/arch/MSA/PacketMath.h
+ eigen/Eigen/src/Core/arch/NEON/Complex.h
+ eigen/Eigen/src/Core/arch/NEON/MathFunctions.h
+ eigen/Eigen/src/Core/arch/NEON/PacketMath.h
+ eigen/Eigen/src/Core/arch/NEON/TypeCasting.h
+ eigen/Eigen/src/Core/arch/SSE/Complex.h
+ eigen/Eigen/src/Core/arch/SSE/MathFunctions.h
+ eigen/Eigen/src/Core/arch/SSE/PacketMath.h
+ eigen/Eigen/src/Core/arch/SSE/TypeCasting.h
+ eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h
+ eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h
+ eigen/Eigen/src/Core/arch/SYCL/PacketMath.h
+ eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h
+ eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h
+ eigen/Eigen/src/Core/arch/ZVector/Complex.h
+ eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h
+ eigen/Eigen/src/Core/arch/ZVector/PacketMath.h
+ eigen/Eigen/src/Core/functors/AssignmentFunctors.h
+ eigen/Eigen/src/Core/functors/BinaryFunctors.h
+ eigen/Eigen/src/Core/functors/NullaryFunctors.h
+ eigen/Eigen/src/Core/functors/StlFunctors.h
+ eigen/Eigen/src/Core/functors/TernaryFunctors.h
+ eigen/Eigen/src/Core/functors/UnaryFunctors.h
+ eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h
+ eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h
+ eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
+ eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h
+ eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h
+ eigen/Eigen/src/Core/products/GeneralMatrixVector.h
+ eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h
+ eigen/Eigen/src/Core/products/Parallelizer.h
+ eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h
+ eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h
+ eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h
+ eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h
+ eigen/Eigen/src/Core/products/SelfadjointProduct.h
+ eigen/Eigen/src/Core/products/SelfadjointRank2Update.h
+ eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h
+ eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h
+ eigen/Eigen/src/Core/products/TriangularMatrixVector.h
+ eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h
+ eigen/Eigen/src/Core/products/TriangularSolverMatrix.h
+ eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h
+ eigen/Eigen/src/Core/products/TriangularSolverVector.h
+ eigen/Eigen/src/Core/util/BlasUtil.h
+ eigen/Eigen/src/Core/util/ConfigureVectorization.h
+ eigen/Eigen/src/Core/util/Constants.h
+ eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+ eigen/Eigen/src/Core/util/ForwardDeclarations.h
+ eigen/Eigen/src/Core/util/IndexedViewHelper.h
+ eigen/Eigen/src/Core/util/IntegralConstant.h
+ eigen/Eigen/src/Core/util/MKL_support.h
+ eigen/Eigen/src/Core/util/Macros.h
+ eigen/Eigen/src/Core/util/Memory.h
+ eigen/Eigen/src/Core/util/Meta.h
+ eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+ eigen/Eigen/src/Core/util/ReshapedHelper.h
+ eigen/Eigen/src/Core/util/StaticAssert.h
+ eigen/Eigen/src/Core/util/SymbolicIndex.h
+ eigen/Eigen/src/Core/util/XprHelper.h
+ eigen/Eigen/src/Eigenvalues/./ComplexSchur.h
+ eigen/Eigen/src/Eigenvalues/./HessenbergDecomposition.h
+ eigen/Eigen/src/Eigenvalues/./RealQZ.h
+ eigen/Eigen/src/Eigenvalues/./RealSchur.h
+ eigen/Eigen/src/Eigenvalues/./Tridiagonalization.h
+ eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h
+ eigen/Eigen/src/Eigenvalues/ComplexSchur.h
+ eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h
+ eigen/Eigen/src/Eigenvalues/EigenSolver.h
+ eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
+ eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
+ eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h
+ eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
+ eigen/Eigen/src/Eigenvalues/RealQZ.h
+ eigen/Eigen/src/Eigenvalues/RealSchur.h
+ eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h
+ eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
+ eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h
+ eigen/Eigen/src/Eigenvalues/Tridiagonalization.h
+ eigen/Eigen/src/Geometry/AlignedBox.h
+ eigen/Eigen/src/Geometry/AngleAxis.h
+ eigen/Eigen/src/Geometry/EulerAngles.h
+ eigen/Eigen/src/Geometry/Homogeneous.h
+ eigen/Eigen/src/Geometry/Hyperplane.h
+ eigen/Eigen/src/Geometry/OrthoMethods.h
+ eigen/Eigen/src/Geometry/ParametrizedLine.h
+ eigen/Eigen/src/Geometry/Quaternion.h
+ eigen/Eigen/src/Geometry/Rotation2D.h
+ eigen/Eigen/src/Geometry/RotationBase.h
+ eigen/Eigen/src/Geometry/Scaling.h
+ eigen/Eigen/src/Geometry/Transform.h
+ eigen/Eigen/src/Geometry/Translation.h
+ eigen/Eigen/src/Geometry/Umeyama.h
+ eigen/Eigen/src/Geometry/arch/Geometry_SSE.h
+ eigen/Eigen/src/Householder/BlockHouseholder.h
+ eigen/Eigen/src/Householder/Householder.h
+ eigen/Eigen/src/Householder/HouseholderSequence.h
+ eigen/Eigen/src/Jacobi/Jacobi.h
+ eigen/Eigen/src/LU/Determinant.h
+ eigen/Eigen/src/LU/FullPivLU.h
+ eigen/Eigen/src/LU/InverseImpl.h
+ eigen/Eigen/src/LU/PartialPivLU.h
+ eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h
+ eigen/Eigen/src/LU/arch/Inverse_SSE.h
+ eigen/Eigen/src/QR/ColPivHouseholderQR.h
+ eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h
+ eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h
+ eigen/Eigen/src/QR/FullPivHouseholderQR.h
+ eigen/Eigen/src/QR/HouseholderQR.h
+ eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h
+ eigen/Eigen/src/SVD/BDCSVD.h
+ eigen/Eigen/src/SVD/JacobiSVD.h
+ eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h
+ eigen/Eigen/src/SVD/SVDBase.h
+ eigen/Eigen/src/SVD/UpperBidiagonalization.h
+ eigen/Eigen/src/misc/Image.h
+ eigen/Eigen/src/misc/Kernel.h
+ eigen/Eigen/src/misc/RealSvd2x2.h
+ eigen/Eigen/src/misc/blas.h
+ eigen/Eigen/src/misc/lapacke.h
+ eigen/Eigen/src/misc/lapacke_mangling.h
+ eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h
+ eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h
+ eigen/Eigen/src/plugins/BlockMethods.h
+ eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h
+ eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h
+ eigen/Eigen/src/plugins/IndexedViewMethods.h
+ eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h
+ eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h
+ eigen/Eigen/src/plugins/ReshapedMethods.h
diff --git a/sgi2018/CMakeFiles/follower.exe.dir/depend.make b/sgi2018/CMakeFiles/follower.exe.dir/depend.make
new file mode 100644
index 0000000..4d27ebc
--- /dev/null
+++ b/sgi2018/CMakeFiles/follower.exe.dir/depend.make
@@ -0,0 +1,250 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.13
+
+CMakeFiles/follower.exe.dir/src/main.cpp.o: src/follower/follow.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: src/follower/point.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: src/follower/transform.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: src/generator.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: src/main.cpp
+CMakeFiles/follower.exe.dir/src/main.cpp.o: src/tools/csv.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: src/tools/matlab.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: src/types.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/Cholesky
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/Core
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/Dense
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/Eigenvalues
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/Geometry
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/Householder
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/Jacobi
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/LU
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/QR
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/SVD
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Cholesky/LDLT.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Cholesky/LLT.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Cholesky/LLT_LAPACKE.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/ArithmeticSequence.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Array.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/ArrayBase.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/ArrayWrapper.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Assign.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/AssignEvaluator.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Assign_MKL.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/BandMatrix.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Block.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/BooleanRedux.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/CommaInitializer.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/ConditionEstimator.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/CoreEvaluators.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/CoreIterators.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/CwiseBinaryOp.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/CwiseNullaryOp.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/CwiseTernaryOp.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/CwiseUnaryOp.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/CwiseUnaryView.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/DenseBase.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/DenseCoeffsBase.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/DenseStorage.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Diagonal.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/DiagonalMatrix.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/DiagonalProduct.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Dot.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/EigenBase.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Fuzzy.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/GeneralProduct.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/GenericPacketMath.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/GlobalFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/IO.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/IndexedView.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Inverse.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Map.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/MapBase.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/MathFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/MathFunctionsImpl.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Matrix.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/MatrixBase.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/NestByValue.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/NoAlias.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/NumTraits.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/PartialReduxEvaluator.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/PermutationMatrix.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/PlainObjectBase.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Product.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/ProductEvaluators.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Random.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Redux.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Ref.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Replicate.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Reshaped.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/ReturnByValue.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Reverse.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Select.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/SelfAdjointView.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/SelfCwiseBinaryOp.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Solve.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/SolveTriangular.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/SolverBase.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/StableNorm.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/StlIterators.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Stride.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Swap.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Transpose.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Transpositions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/TriangularMatrix.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/VectorBlock.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/VectorwiseOp.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/Visitor.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/AVX/Complex.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/AVX/MathFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/AVX/PacketMath.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/AVX/TypeCasting.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/AVX512/Complex.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/AVX512/PacketMath.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/AltiVec/Complex.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/CUDA/Complex.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/Default/ConjHelper.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/Default/Half.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/Default/Settings.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/Default/TypeCasting.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/GPU/MathFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/GPU/PacketMath.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/GPU/TypeCasting.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/MSA/Complex.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/MSA/MathFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/MSA/PacketMath.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/NEON/Complex.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/NEON/MathFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/NEON/PacketMath.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/NEON/TypeCasting.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/SSE/Complex.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/SSE/MathFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/SSE/PacketMath.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/SSE/TypeCasting.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/SYCL/PacketMath.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/ZVector/Complex.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/arch/ZVector/PacketMath.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/functors/AssignmentFunctors.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/functors/BinaryFunctors.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/functors/NullaryFunctors.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/functors/StlFunctors.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/functors/TernaryFunctors.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/functors/UnaryFunctors.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/GeneralMatrixVector.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/Parallelizer.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/SelfadjointProduct.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/SelfadjointRank2Update.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/TriangularMatrixVector.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/TriangularSolverMatrix.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/products/TriangularSolverVector.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/BlasUtil.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/ConfigureVectorization.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/Constants.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/DisableStupidWarnings.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/ForwardDeclarations.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/IndexedViewHelper.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/IntegralConstant.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/MKL_support.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/Macros.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/Memory.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/Meta.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/ReenableStupidWarnings.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/ReshapedHelper.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/StaticAssert.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/SymbolicIndex.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Core/util/XprHelper.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/./ComplexSchur.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/./HessenbergDecomposition.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/./RealQZ.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/./RealSchur.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/./Tridiagonalization.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/ComplexSchur.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/EigenSolver.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/RealQZ.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/RealSchur.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Eigenvalues/Tridiagonalization.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/AlignedBox.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/AngleAxis.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/EulerAngles.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/Homogeneous.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/Hyperplane.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/OrthoMethods.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/ParametrizedLine.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/Quaternion.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/Rotation2D.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/RotationBase.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/Scaling.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/Transform.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/Translation.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/Umeyama.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Geometry/arch/Geometry_SSE.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Householder/BlockHouseholder.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Householder/Householder.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Householder/HouseholderSequence.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/Jacobi/Jacobi.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/LU/Determinant.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/LU/FullPivLU.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/LU/InverseImpl.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/LU/PartialPivLU.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/LU/arch/Inverse_SSE.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/QR/ColPivHouseholderQR.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/QR/FullPivHouseholderQR.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/QR/HouseholderQR.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/SVD/BDCSVD.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/SVD/JacobiSVD.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/SVD/SVDBase.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/SVD/UpperBidiagonalization.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/misc/Image.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/misc/Kernel.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/misc/RealSvd2x2.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/misc/blas.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/misc/lapacke.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/misc/lapacke_mangling.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/plugins/BlockMethods.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/plugins/IndexedViewMethods.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h
+CMakeFiles/follower.exe.dir/src/main.cpp.o: eigen/Eigen/src/plugins/ReshapedMethods.h
+
diff --git a/sgi2018/CMakeFiles/follower.exe.dir/flags.make b/sgi2018/CMakeFiles/follower.exe.dir/flags.make
new file mode 100644
index 0000000..39ccf67
--- /dev/null
+++ b/sgi2018/CMakeFiles/follower.exe.dir/flags.make
@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.13
+
+# compile CXX with g++
+CXX_FLAGS =   -std=c++0x -mfma -O3 -march=native -fopenmp -Wall -Wextra -Wno-unused-parameter -D__STRICT_ANSI__ -std=gnu++11
+
+CXX_DEFINES = 
+
+CXX_INCLUDES = -I/home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/eigen 
+
diff --git a/sgi2018/CMakeFiles/follower.exe.dir/link.txt b/sgi2018/CMakeFiles/follower.exe.dir/link.txt
new file mode 100644
index 0000000..71ac4d2
--- /dev/null
+++ b/sgi2018/CMakeFiles/follower.exe.dir/link.txt
@@ -0,0 +1 @@
+g++    -rdynamic CMakeFiles/follower.exe.dir/src/main.cpp.o  -o follower.exe -lgomp 
diff --git a/sgi2018/CMakeFiles/follower.exe.dir/progress.make b/sgi2018/CMakeFiles/follower.exe.dir/progress.make
new file mode 100644
index 0000000..abadeb0
--- /dev/null
+++ b/sgi2018/CMakeFiles/follower.exe.dir/progress.make
@@ -0,0 +1,3 @@
+CMAKE_PROGRESS_1 = 1
+CMAKE_PROGRESS_2 = 2
+
diff --git a/sgi2018/CMakeFiles/progress.marks b/sgi2018/CMakeFiles/progress.marks
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/sgi2018/CMakeFiles/progress.marks
@@ -0,0 +1 @@
+2
diff --git a/sgi2018/CMakeLists.txt b/sgi2018/CMakeLists.txt
new file mode 100644
index 0000000..e03e7ef
--- /dev/null
+++ b/sgi2018/CMakeLists.txt
@@ -0,0 +1,24 @@
+cmake_minimum_required(VERSION 2.8)
+project(src/follower)
+
+# compiler and libraries
+set(CMAKE_CXX_COMPILER g++)
+include_directories(eigen)
+
+# flags
+set(CMAKE_CXX_STANDARD 11)
+add_definitions("-std=c++0x -mfma -O3 -march=native -fopenmp -Wall -Wextra -Wno-unused-parameter -D__STRICT_ANSI__")
+
+# files
+set(SOURCE_FILES src/main.cpp
+        src/types.h
+        src/tools/matlab.h
+        src/tools/csv.h
+        src/generator.h
+        src/follower/point.h
+        src/follower/follow.h
+        src/follower/transform.h)
+
+# linking
+add_executable(follower.exe ${SOURCE_FILES})
+target_link_libraries(follower.exe PUBLIC gomp)
diff --git a/sgi2018/LICENSE b/sgi2018/LICENSE
new file mode 100644
index 0000000..122dc64
--- /dev/null
+++ b/sgi2018/LICENSE
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "{}"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright 2019 Nestor Demeure
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/sgi2018/Makefile b/sgi2018/Makefile
new file mode 100644
index 0000000..0626ba3
--- /dev/null
+++ b/sgi2018/Makefile
@@ -0,0 +1,178 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.13
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+	/usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# Special rule for the target edit_cache
+edit_cache:
+	@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..."
+	/usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available.
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles/progress.marks
+	$(MAKE) -f CMakeFiles/Makefile2 all
+	$(CMAKE_COMMAND) -E cmake_progress_start /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+	$(MAKE) -f CMakeFiles/Makefile2 clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+	$(MAKE) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+	$(MAKE) -f CMakeFiles/Makefile2 preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+#=============================================================================
+# Target rules for targets named follower.exe
+
+# Build rule for target.
+follower.exe: cmake_check_build_system
+	$(MAKE) -f CMakeFiles/Makefile2 follower.exe
+.PHONY : follower.exe
+
+# fast build rule for target.
+follower.exe/fast:
+	$(MAKE) -f CMakeFiles/follower.exe.dir/build.make CMakeFiles/follower.exe.dir/build
+.PHONY : follower.exe/fast
+
+src/main.o: src/main.cpp.o
+
+.PHONY : src/main.o
+
+# target to build an object file
+src/main.cpp.o:
+	$(MAKE) -f CMakeFiles/follower.exe.dir/build.make CMakeFiles/follower.exe.dir/src/main.cpp.o
+.PHONY : src/main.cpp.o
+
+src/main.i: src/main.cpp.i
+
+.PHONY : src/main.i
+
+# target to preprocess a source file
+src/main.cpp.i:
+	$(MAKE) -f CMakeFiles/follower.exe.dir/build.make CMakeFiles/follower.exe.dir/src/main.cpp.i
+.PHONY : src/main.cpp.i
+
+src/main.s: src/main.cpp.s
+
+.PHONY : src/main.s
+
+# target to generate assembly for a file
+src/main.cpp.s:
+	$(MAKE) -f CMakeFiles/follower.exe.dir/build.make CMakeFiles/follower.exe.dir/src/main.cpp.s
+.PHONY : src/main.cpp.s
+
+# Help Target
+help:
+	@echo "The following are some of the valid targets for this Makefile:"
+	@echo "... all (the default if no target is provided)"
+	@echo "... clean"
+	@echo "... depend"
+	@echo "... rebuild_cache"
+	@echo "... follower.exe"
+	@echo "... edit_cache"
+	@echo "... src/main.o"
+	@echo "... src/main.i"
+	@echo "... src/main.s"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+	$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/sgi2018/cmake_install.cmake b/sgi2018/cmake_install.cmake
new file mode 100644
index 0000000..c01f0b0
--- /dev/null
+++ b/sgi2018/cmake_install.cmake
@@ -0,0 +1,49 @@
+# Install script for directory: /home/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018
+
+# 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 "")
+  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/hugo.trachino/Cours/SGI/sgi-choubi-nuja/sgi2018/${CMAKE_INSTALL_MANIFEST}"
+     "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/sgi2018/eigen b/sgi2018/eigen
new file mode 160000
index 0000000..f794b2e
--- /dev/null
+++ b/sgi2018/eigen
@@ -0,0 +1 @@
+Subproject commit f794b2e04ecb605d80af86fa48f7d1e69562ffd9
diff --git a/sgi2018/input/points.txt b/sgi2018/input/points.txt
new file mode 100644
index 0000000..e1b08b8
--- /dev/null
+++ b/sgi2018/input/points.txt
@@ -0,0 +1,121 @@
+   0.0000000000000000e+00   0.0000000000000000e+00
+   0.0000000000000000e+00  -5.1880012243748679e+00
+   0.0000000000000000e+00  -3.9361666071299770e+00
+   0.0000000000000000e+00  -2.8651231606436443e+00
+   0.0000000000000000e+00  -1.8760350201548464e+00
+   0.0000000000000000e+00  -9.2886899738106421e-01
+   0.0000000000000000e+00   9.2886899738106465e-01
+   0.0000000000000000e+00   1.8760350201548457e+00
+   0.0000000000000000e+00   2.8651231606436443e+00
+   0.0000000000000000e+00   3.9361666071299748e+00
+   0.0000000000000000e+00   5.1880012243748697e+00
+  -5.1880012243748679e+00   0.0000000000000000e+00
+  -5.1880012243748679e+00  -5.1880012243748679e+00
+  -5.1880012243748679e+00  -3.9361666071299770e+00
+  -5.1880012243748679e+00  -2.8651231606436443e+00
+  -5.1880012243748679e+00  -1.8760350201548464e+00
+  -5.1880012243748679e+00  -9.2886899738106421e-01
+  -5.1880012243748679e+00   9.2886899738106465e-01
+  -5.1880012243748679e+00   1.8760350201548457e+00
+  -5.1880012243748679e+00   2.8651231606436443e+00
+  -5.1880012243748679e+00   3.9361666071299748e+00
+  -5.1880012243748679e+00   5.1880012243748697e+00
+  -3.9361666071299770e+00   0.0000000000000000e+00
+  -3.9361666071299770e+00  -5.1880012243748679e+00
+  -3.9361666071299770e+00  -3.9361666071299770e+00
+  -3.9361666071299770e+00  -2.8651231606436443e+00
+  -3.9361666071299770e+00  -1.8760350201548464e+00
+  -3.9361666071299770e+00  -9.2886899738106421e-01
+  -3.9361666071299770e+00   9.2886899738106465e-01
+  -3.9361666071299770e+00   1.8760350201548457e+00
+  -3.9361666071299770e+00   2.8651231606436443e+00
+  -3.9361666071299770e+00   3.9361666071299748e+00
+  -3.9361666071299770e+00   5.1880012243748697e+00
+  -2.8651231606436443e+00   0.0000000000000000e+00
+  -2.8651231606436443e+00  -5.1880012243748679e+00
+  -2.8651231606436443e+00  -3.9361666071299770e+00
+  -2.8651231606436443e+00  -2.8651231606436443e+00
+  -2.8651231606436443e+00  -1.8760350201548464e+00
+  -2.8651231606436443e+00  -9.2886899738106421e-01
+  -2.8651231606436443e+00   9.2886899738106465e-01
+  -2.8651231606436443e+00   1.8760350201548457e+00
+  -2.8651231606436443e+00   2.8651231606436443e+00
+  -2.8651231606436443e+00   3.9361666071299748e+00
+  -2.8651231606436443e+00   5.1880012243748697e+00
+  -1.8760350201548464e+00   0.0000000000000000e+00
+  -1.8760350201548464e+00  -5.1880012243748679e+00
+  -1.8760350201548464e+00  -3.9361666071299770e+00
+  -1.8760350201548464e+00  -2.8651231606436443e+00
+  -1.8760350201548464e+00  -1.8760350201548464e+00
+  -1.8760350201548464e+00  -9.2886899738106421e-01
+  -1.8760350201548464e+00   9.2886899738106465e-01
+  -1.8760350201548464e+00   1.8760350201548457e+00
+  -1.8760350201548464e+00   2.8651231606436443e+00
+  -1.8760350201548464e+00   3.9361666071299748e+00
+  -1.8760350201548464e+00   5.1880012243748697e+00
+  -9.2886899738106421e-01   0.0000000000000000e+00
+  -9.2886899738106421e-01  -5.1880012243748679e+00
+  -9.2886899738106421e-01  -3.9361666071299770e+00
+  -9.2886899738106421e-01  -2.8651231606436443e+00
+  -9.2886899738106421e-01  -1.8760350201548464e+00
+  -9.2886899738106421e-01  -9.2886899738106421e-01
+  -9.2886899738106421e-01   9.2886899738106465e-01
+  -9.2886899738106421e-01   1.8760350201548457e+00
+  -9.2886899738106421e-01   2.8651231606436443e+00
+  -9.2886899738106421e-01   3.9361666071299748e+00
+  -9.2886899738106421e-01   5.1880012243748697e+00
+   9.2886899738106465e-01   0.0000000000000000e+00
+   9.2886899738106465e-01  -5.1880012243748679e+00
+   9.2886899738106465e-01  -3.9361666071299770e+00
+   9.2886899738106465e-01  -2.8651231606436443e+00
+   9.2886899738106465e-01  -1.8760350201548464e+00
+   9.2886899738106465e-01  -9.2886899738106421e-01
+   9.2886899738106465e-01   9.2886899738106465e-01
+   9.2886899738106465e-01   1.8760350201548457e+00
+   9.2886899738106465e-01   2.8651231606436443e+00
+   9.2886899738106465e-01   3.9361666071299748e+00
+   9.2886899738106465e-01   5.1880012243748697e+00
+   1.8760350201548457e+00   0.0000000000000000e+00
+   1.8760350201548457e+00  -5.1880012243748679e+00
+   1.8760350201548457e+00  -3.9361666071299770e+00
+   1.8760350201548457e+00  -2.8651231606436443e+00
+   1.8760350201548457e+00  -1.8760350201548464e+00
+   1.8760350201548457e+00  -9.2886899738106421e-01
+   1.8760350201548457e+00   9.2886899738106465e-01
+   1.8760350201548457e+00   1.8760350201548457e+00
+   1.8760350201548457e+00   2.8651231606436443e+00
+   1.8760350201548457e+00   3.9361666071299748e+00
+   1.8760350201548457e+00   5.1880012243748697e+00
+   2.8651231606436443e+00   0.0000000000000000e+00
+   2.8651231606436443e+00  -5.1880012243748679e+00
+   2.8651231606436443e+00  -3.9361666071299770e+00
+   2.8651231606436443e+00  -2.8651231606436443e+00
+   2.8651231606436443e+00  -1.8760350201548464e+00
+   2.8651231606436443e+00  -9.2886899738106421e-01
+   2.8651231606436443e+00   9.2886899738106465e-01
+   2.8651231606436443e+00   1.8760350201548457e+00
+   2.8651231606436443e+00   2.8651231606436443e+00
+   2.8651231606436443e+00   3.9361666071299748e+00
+   2.8651231606436443e+00   5.1880012243748697e+00
+   3.9361666071299748e+00   0.0000000000000000e+00
+   3.9361666071299748e+00  -5.1880012243748679e+00
+   3.9361666071299748e+00  -3.9361666071299770e+00
+   3.9361666071299748e+00  -2.8651231606436443e+00
+   3.9361666071299748e+00  -1.8760350201548464e+00
+   3.9361666071299748e+00  -9.2886899738106421e-01
+   3.9361666071299748e+00   9.2886899738106465e-01
+   3.9361666071299748e+00   1.8760350201548457e+00
+   3.9361666071299748e+00   2.8651231606436443e+00
+   3.9361666071299748e+00   3.9361666071299748e+00
+   3.9361666071299748e+00   5.1880012243748697e+00
+   5.1880012243748697e+00   0.0000000000000000e+00
+   5.1880012243748697e+00  -5.1880012243748679e+00
+   5.1880012243748697e+00  -3.9361666071299770e+00
+   5.1880012243748697e+00  -2.8651231606436443e+00
+   5.1880012243748697e+00  -1.8760350201548464e+00
+   5.1880012243748697e+00  -9.2886899738106421e-01
+   5.1880012243748697e+00   9.2886899738106465e-01
+   5.1880012243748697e+00   1.8760350201548457e+00
+   5.1880012243748697e+00   2.8651231606436443e+00
+   5.1880012243748697e+00   3.9361666071299748e+00
+   5.1880012243748697e+00   5.1880012243748697e+00
diff --git a/sgi2018/input/weights.txt b/sgi2018/input/weights.txt
new file mode 100644
index 0000000..eee7fc5
--- /dev/null
+++ b/sgi2018/input/weights.txt
@@ -0,0 +1,121 @@
+   1.3646254338895056e-01
+   3.0002792875830108e-07
+   7.2282848700480320e-05
+   2.4825296108188150e-03
+   2.4432206340823742e-02
+   8.9485594181437797e-02
+   8.9485594181444444e-02
+   2.4432206340817428e-02
+   2.4825296108188818e-03
+   7.2282848700480889e-05
+   3.0002792875830044e-07
+   3.0002792875830108e-07
+   6.5964444014814466e-13
+   1.5892180258242764e-10
+   5.4581147230429632e-09
+   5.3716896090230122e-08
+   1.9674393287130078e-07
+   1.9674393287131537e-07
+   5.3716896090216246e-08
+   5.4581147230431104e-09
+   1.5892180258242885e-10
+   6.5964444014814324e-13
+   7.2282848700480320e-05
+   1.5892180258242764e-10
+   3.8287504296065940e-08
+   1.3149711840106917e-06
+   1.2941496109442107e-05
+   4.7399627065819366e-05
+   4.7399627065822876e-05
+   1.2941496109438761e-05
+   1.3149711840107268e-06
+   3.8287504296066244e-08
+   1.5892180258242728e-10
+   2.4825296108188150e-03
+   5.4581147230429632e-09
+   1.3149711840106917e-06
+   4.5162233646974759e-05
+   4.4447123871825252e-04
+   1.6279239106950633e-03
+   1.6279239106951841e-03
+   4.4447123871813764e-04
+   4.5162233646975979e-05
+   1.3149711840107018e-06
+   5.4581147230429516e-09
+   2.4432206340823742e-02
+   5.3716896090230122e-08
+   1.2941496109442107e-05
+   4.4447123871825252e-04
+   4.3743337318518849e-03
+   1.6021469681541438e-02
+   1.6021469681542628e-02
+   4.3743337318507538e-03
+   4.4447123871826455e-04
+   1.2941496109442209e-05
+   5.3716896090230003e-08
+   8.9485594181437797e-02
+   1.9674393287130078e-07
+   4.7399627065819366e-05
+   1.6279239106950633e-03
+   1.6021469681541438e-02
+   5.8680362883030933e-02
+   5.8680362883035291e-02
+   1.6021469681537299e-02
+   1.6279239106951071e-03
+   4.7399627065819732e-05
+   1.9674393287130033e-07
+   8.9485594181444444e-02
+   1.9674393287131537e-07
+   4.7399627065822876e-05
+   1.6279239106951841e-03
+   1.6021469681542628e-02
+   5.8680362883035291e-02
+   5.8680362883039648e-02
+   1.6021469681538489e-02
+   1.6279239106952281e-03
+   4.7399627065823249e-05
+   1.9674393287131494e-07
+   2.4432206340817428e-02
+   5.3716896090216246e-08
+   1.2941496109438761e-05
+   4.4447123871813764e-04
+   4.3743337318507538e-03
+   1.6021469681537299e-02
+   1.6021469681538489e-02
+   4.3743337318496237e-03
+   4.4447123871814968e-04
+   1.2941496109438863e-05
+   5.3716896090216120e-08
+   2.4825296108188818e-03
+   5.4581147230431104e-09
+   1.3149711840107268e-06
+   4.5162233646975979e-05
+   4.4447123871826455e-04
+   1.6279239106951071e-03
+   1.6279239106952281e-03
+   4.4447123871814968e-04
+   4.5162233646977192e-05
+   1.3149711840107372e-06
+   5.4581147230430989e-09
+   7.2282848700480889e-05
+   1.5892180258242885e-10
+   3.8287504296066244e-08
+   1.3149711840107018e-06
+   1.2941496109442209e-05
+   4.7399627065819732e-05
+   4.7399627065823249e-05
+   1.2941496109438863e-05
+   1.3149711840107372e-06
+   3.8287504296066535e-08
+   1.5892180258242852e-10
+   3.0002792875830044e-07
+   6.5964444014814324e-13
+   1.5892180258242728e-10
+   5.4581147230429516e-09
+   5.3716896090230003e-08
+   1.9674393287130033e-07
+   1.9674393287131494e-07
+   5.3716896090216120e-08
+   5.4581147230430989e-09
+   1.5892180258242852e-10
+   6.5964444014814163e-13
diff --git a/sgi2018/plot.R b/sgi2018/plot.R
new file mode 100644
index 0000000..042f290
--- /dev/null
+++ b/sgi2018/plot.R
@@ -0,0 +1,60 @@
+
+library(dplyr)
+library(ggplot2)
+
+#--------------------------------------------------------------------------------------------------
+# IMPORT DATA
+
+folder <- "output"
+pathEigenvalues <- paste(folder, "phase_eigenvalues.csv", sep='/')
+pathMontecarlo <- paste(folder, "phase_montecarlo.csv", sep='/')
+pathXi <- paste(folder, "xi.csv", sep='/')
+
+eigenvalues <- data.table::fread(pathEigenvalues)
+montecarlo <- data.table::fread(pathMontecarlo)
+
+xi <- data.table::fread(pathXi)
+xi <- complex(real = xi$V1, imaginary = xi$V2)
+
+#--------------------------------------------------------------------------------------------------
+# ALPHA
+
+# alpha used to reflect distance to xi=0
+alpha <- 1 / (1 + Mod(xi)) 
+minalpha <- 0.2
+alpha <- ifelse(alpha > minalpha, alpha, minalpha)
+
+#--------------------------------------------------------------------------------------------------
+# PLOT DATA
+
+# model that will be plotted
+model <- montecarlo
+
+# plot axis
+plot <- ggplot() +
+   theme_light() +
+   labs(x = "θ · 𝕽[λ]^½", y="1 / 𝕴[λ]^½") +
+   coord_cartesian(xlim = c(353.5, 361.5), ylim = c(2.825e-5, 2.875e-5))
+
+# plots eigenvalues in the background
+for(i in 1:(ncol(eigenvalues)/2))
+{
+   j <- 2*i - 1
+   data <- eigenvalues[,j:(j+1)]
+   colnames(data) <- c("x", "y")
+   plot <- plot + geom_point(data=data, aes(x=x, y=y), colour = 'black', alpha=alpha, size = alpha)
+}
+
+# plot tracked eigenvalues
+nbTarget <- ncol(model)/2
+model_colors <- rainbow(nbTarget)
+for(i in 1:nbTarget)
+{
+   j <- 2*i - 1
+   data <- model[,j:(j+1)]
+   colnames(data) <- c("x", "y")
+   plot <- plot + geom_point(data=data, aes(x=x, y=y), colour = model_colors[i], alpha=alpha, size = 0.5 + alpha)
+}
+
+X11()
+print(plot)
diff --git a/sgi2018/readme.md b/sgi2018/readme.md
new file mode 100644
index 0000000..7df4c1f
--- /dev/null
+++ b/sgi2018/readme.md
@@ -0,0 +1,52 @@
+# Eigen follower
+
+## Description
+
+There exists several methods to simulate numerically sound propagation in an inhomogeneous medium.
+The method we are going to use here is called *normal modes decomposition*.
+
+The idea is to use the eigenfunctions and eigenvalues of the operator ![f1] which characterize the different waveguides.
+The signal will be the sum of different wavepackets each one propagating in the different waveguides.
+Thus, the key point is to determine the spectrum of ![f2] in order to compute the different contributions to the propagated signal.
+Numerically, the operator is discretized in a matrix whose spectrum can be computed with classical methods.
+
+The aim of this study is to see how the spectrum behaves when the medium is perturbed.
+We will described the perturbation using a random parameter ξ (gaussian vector of dimension 2) and thereby the matrix will be seen as a function of ξ.
+We want to see how the eigenvalues of a matrix reacts to this perturbation first with a Monte-Carlo approach and then using Polynomial Chaos expansion.
+
+This project contains the code to generate different realizations of the matrix, compute their spectrum and link the different realizations of a given eigenvalue.
+It also contains the calibration of a chaos polynomials based metamodel to speed up computations.
+
+[f1]: http://chart.apis.google.com/chart?cht=tx&chl=\mathcal{L}\psi=\frac{d^2\psi}{dz^2}%2B\frac{\omega^2}{c(z)^2}\psi=\lambda\psi
+[f2]: http://chart.apis.google.com/chart?cht=tx&chl=\mathcal{L}
+
+## Usage
+
+The project is self contained, you just need [make](https://en.wikipedia.org/wiki/Make_(software)) and [cmake](https://cmake.org/) (which should already be installed on your computer) in order to compile.
+
+To compile, run `cmake .` followed with `make`.
+
+In order to plot the results, you can use and modify the `plot.R` script (you can run it with `Rscript plot.R`) which will output a pdf to the output folder.
+Note that you might need to install some R packages (`ggplot2`, `dplyr` and `data.table`) in order to get the `plot.R` script running.
+
+**Warning:** Do not forget to clone the project with its submodules (`git clone --recurse-submodules git@gitlab.com:nestordemeure/sgi2018.git`) or to update them (`git submodule update --init --recursive
+`) in order to download [Eigen](http://eigen.tuxfamily.org/index.php?title=Main_Page) with the rest of the project.
+If you decide to download Eigen separately, we recommend the [version 3.3](https://gitlab.com/kemen209/eigen/tree/branches/3.3).
+
+## Organisation of the files
+
+The `types` file contains all the types used in the project (one could change them here).
+
+The problem definition is in the `main` file.
+
+The `generator` file contains the code needed to generate the matrix whose eigenvalues are of interest.
+
+The `tools` folder contains function used in the project (such as writing to a csv and reproducing some of matlab's functions).
+
+The `follower` folder contains the code used to follow an eigenvalue when the matrix is changed (via a perturbation or a change in omega).
+
+## Credits
+
+The code was implemented by Nestor Demeure based on a Matlab implementation of chaos polynomials applied to this particular problem by Alexandre Goupy.
+
+
diff --git a/sgi2018/src/follower/follow.h b/sgi2018/src/follower/follow.h
new file mode 100644
index 0000000..61f7844
--- /dev/null
+++ b/sgi2018/src/follower/follow.h
@@ -0,0 +1,92 @@
+#pragma once
+
+#include <stack>
+#include "../types.h"
+#include "point.h"
+
+namespace Follow
+{
+    // goes from a point to another in a single step (as bad as it might be)
+    // given the index of a target in the first point, returns the index of the target in the last point
+    std::vector<unsigned int> instantStep(const Point& startPoint, const Point& endPoint, const std::vector<unsigned int>& indexTargets)
+    {
+        number distance; std::vector<unsigned int> indexes;
+        std::tie(indexes, distance) = endPoint.findClosest(endPoint, indexTargets);
+
+        return indexes;
+    }
+
+    // goes from a point to another with a fixed step size
+    // given the index of a target in the first point, returns the index of the target in the last point
+    std::vector<unsigned int> constantStep(const Point& startPoint, const Point& endPoint, const std::vector<unsigned int>& indexTargets,
+                              const unsigned int maxStep = 100)
+    {
+        Point currentPoint = startPoint;
+        std::vector<unsigned int> currentIndexes = indexTargets;
+        number distance; // dummy variable, useless here
+
+        for(unsigned int step = 0; step <= maxStep; step++)
+        {
+            const Point nextPoint = Point::midPoint(startPoint, maxStep-step, endPoint, step);
+            std::tie(currentIndexes, distance) = nextPoint.findClosest(currentPoint, currentIndexes);
+            currentPoint = nextPoint;
+        }
+
+        return currentIndexes;
+    }
+
+    // goes from a point to another with an adaptiv stepsize (trying to keep the error under a threshold)
+    // given the index of a target in the first point, returns the index of the target in the last point
+    // one can define minstepsize, the minimum distance between two different points, in order to avoidhaving the search stuck in local discontinuities
+    // (sqrt(3) is the diagonal of a square in 3D)
+    std::vector<unsigned int> adaptativStep(const Point& startPoint, const Point& endPoint, const std::vector<unsigned int>& indexTargets,
+                                            const number distanceThreshold = 0.05, const number minstepsize = std::sqrt(3.)*1e-6)
+    {
+        Point currentPoint = startPoint;
+        std::vector<unsigned int> currentIndexes = indexTargets;
+
+        // information on potential relaxation of the threshold
+        number maxAcceptedDistance = distanceThreshold;
+        Point pointatMaxDistance;
+
+        std::stack<Point> nextPoints;
+        nextPoints.push(endPoint);
+        while(not nextPoints.empty())
+        {
+            const Point& nextPoint = nextPoints.top();
+
+            // tries to follow the target to the next point
+            number distance; std::vector<unsigned int> nextIndexes;
+            std::tie(nextIndexes, distance) = nextPoint.findClosest(currentPoint, currentIndexes);
+
+            if ((distance <= distanceThreshold) || (Point::distance(currentPoint, nextPoint) <= minstepsize))
+            {
+                // stores information our position if we had to relax the threshold
+                if (distance > maxAcceptedDistance)
+                {
+                    maxAcceptedDistance = distance;
+                    pointatMaxDistance = currentPoint;
+                }
+
+                // no need for a refinement, we accept the point
+                currentIndexes = nextIndexes;
+                currentPoint = nextPoint;
+                nextPoints.pop();
+            }
+            else
+            {
+                // the next step is too far away, we need to refine
+                const Point intermediatePoint = Point::midPoint(currentPoint, nextPoint);
+                nextPoints.push(intermediatePoint);
+            }
+        }
+
+        // display informations on the worst relaxation that had to happen
+        if (maxAcceptedDistance > distanceThreshold)
+        {
+            std::cerr << "We had to locally relax the threshold to " << maxAcceptedDistance << " around " << pointatMaxDistance << '.' << std::endl;
+        }
+
+        return currentIndexes;
+    }
+}
diff --git a/sgi2018/src/follower/point.h b/sgi2018/src/follower/point.h
new file mode 100644
index 0000000..0400ea9
--- /dev/null
+++ b/sgi2018/src/follower/point.h
@@ -0,0 +1,187 @@
+#pragma once
+
+#include <cmath>
+#include <limits>
+#include "../types.h"
+#include "../generator.h"
+
+//-------------------------------------------------------------------------------------------------
+// COSINE SIMILARITY
+
+// returns the cosine similarity between two normalised complex vectors
+number cosineSimilarity(const ComplexVector& v1, const ComplexVector& v2)
+{
+    return std::abs(v1.conjugate().dot(v2));
+}
+
+//-------------------------------------------------------------------------------------------------
+// STEP
+
+/*
+ * used to encapsulate a point
+ * contains omega, the noise, the eigenvectors and the formated eigenvalues (no need to keep the raw eigenvalues)
+ */
+class Point
+{
+public:
+    unsigned int size;
+    number omega;
+    complexNumber xi;
+    ComplexMatrix eigenVectors;
+    ComplexVector formatedEigenvalues;
+
+    // constructor that does nothing (usefull to init arrays)
+    Point(): size(0), omega(0), xi(0), eigenVectors(), formatedEigenvalues()
+    {}
+
+    // creates a new point at the given omega and xi
+    Point(const number omega, const unsigned int size, const complexNumber& xi = complexNumber(0.,0.)): size(size), omega(omega), xi(xi), eigenVectors(), formatedEigenvalues()
+    {
+        const complexNumber complexOmega = complexNumber(omega, 0.01);
+        const ComplexMatrix mat = generator(complexOmega, size, xi);
+        Eigen::ComplexEigenSolver<ComplexMatrix> solver(mat);
+        const ComplexVector& eigenValues = solver.eigenvalues();
+        eigenVectors = solver.eigenvectors();
+        formatedEigenvalues = eigenValues.unaryExpr([](complexNumber e){return transformEigenvalue(e) ;});
+    }
+
+    // returns the euclidian distance between two points
+    static number distance(const Point& point1, const Point& point2)
+    {
+        const number dOmega = point1.omega - point2.omega;
+        const complexNumber dxi = point1.xi - point2.xi;
+        return STD::sqrt(dOmega*dOmega + std::norm(dxi));
+    }
+
+    // returns the midpoint
+    static Point midPoint(const Point& point1, const Point& point2)
+    {
+        const number omega = (point1.omega + point2.omega) / number(2.);
+        const complexNumber xi = (point1.xi + point2.xi) / number(2.);
+        unsigned int size = point1.size;
+
+        return Point(omega, size, xi);
+    }
+
+    // returns the barycenter of two points
+    static Point midPoint(const Point& point1, const number& weight1, const Point& point2, const number weight2)
+    {
+        const number totalWeight = weight1 + weight2;
+        const number omega = (point1.omega*weight1 + point2.omega*weight2) / totalWeight;
+        const complexNumber xi = (point1.xi*weight1 + point2.xi*weight2) / totalWeight;
+        unsigned int size = point1.size;
+
+        return Point(omega, size, xi);
+    }
+
+    // given several eigenvectors, return the indexes of their closest eigenvectors in this point and the maximum distance to the target
+    // TODO this algorithm could be much faster with better datastructures
+    std::pair<std::vector<unsigned int>, number> findClosest(const Point& targetPoint, const std::vector<unsigned int>& indexTargets) const
+    {
+        std::vector<unsigned int> indexclosest(indexTargets.size());
+        number distance = 1.;
+
+        // builds similarity matrix
+        Matrix similarityMatrix(indexTargets.size(), eigenVectors.cols());
+        for (unsigned int r=0; r<indexTargets.size(); r++)
+        {
+            const ComplexVector& vector = targetPoint.eigenVectors.col(indexTargets[r]);
+            for (unsigned int c=0; c<eigenVectors.cols(); c++)
+            {
+                similarityMatrix(r,c) = cosineSimilarity(eigenVectors.col(c), vector);
+            }
+        }
+
+        // finds closest vectors
+        for (unsigned int v=0; v<indexTargets.size(); v++)
+        {
+            unsigned int bestr = 0;
+            unsigned int bestc = 0;
+            number bestSimilarity = 0.;
+
+            // finds best similarity in all of the matrix
+            for (unsigned int r=0; r < indexTargets.size(); r++)
+            {
+                for (unsigned int c=0; c < eigenVectors.cols(); c++)
+                {
+                    const number similarity = similarityMatrix(r,c);
+                    if ((similarity > bestSimilarity) and not STD::isnan(similarity))
+                    {
+                        bestr = r;
+                        bestc = c;
+                        bestSimilarity = similarity;
+                    }
+                }
+            }
+
+            // stores best result so far
+            indexclosest[bestr] = bestc;
+            distance = 1. - bestSimilarity;
+            // make given row and column unatractiv for latter iterations
+            similarityMatrix.row(bestr).array() = -1.;
+            similarityMatrix.col(bestc).array() = -1.;
+        }
+
+        return std::make_pair(indexclosest, distance);
+    }
+
+    // given an eigenvalue, return the index of the closest eigenvalue in this point and its distance to the target
+    // TODO this algorithm could be much faster with better datastructures
+    std::pair<std::vector<unsigned int>, number> findClosest(const std::vector<complexNumber>& formatedTargetEigenValues) const
+    {
+        std::vector<unsigned int> indexclosest(formatedTargetEigenValues.size());
+        number finalDistance = 0.;
+
+        // builds similarity matrix
+        Matrix distanceMatrix(formatedTargetEigenValues.size(), eigenVectors.cols());
+        for (unsigned int r=0; r<formatedTargetEigenValues.size(); r++)
+        {
+            const complexNumber& formatedEigenvalue = formatedTargetEigenValues[r];
+            for (unsigned int c=0; c < eigenVectors.cols(); c++)
+            {
+                distanceMatrix(r,c) = std::abs(formatedEigenvalues[c] - formatedEigenvalue);
+            }
+        }
+
+        // finds closest vectors
+        for (unsigned int v=0; v<formatedTargetEigenValues.size(); v++)
+        {
+            unsigned int bestr = 0;
+            unsigned int bestc = 0;
+            number minDistance = std::numeric_limits<number>::infinity();
+
+            // finds best similarity in all of the matrix
+            for (unsigned int r=0; r<formatedTargetEigenValues.size(); r++)
+            {
+                for (unsigned int c=0; c<eigenVectors.cols(); c++)
+                {
+                    const number distance = distanceMatrix(r,c);
+                    if (distance < minDistance)
+                    {
+                        bestr = r;
+                        bestc = c;
+                        minDistance = distance;
+                    }
+                }
+            }
+
+            // stores best result so far
+            indexclosest[bestr] = bestc;
+            finalDistance = minDistance;
+            // make given row and column unatractiv for latter iterations
+            distanceMatrix.row(bestr).array() = std::numeric_limits<number>::infinity();
+            distanceMatrix.col(bestc).array() = std::numeric_limits<number>::infinity();
+        }
+
+        return std::make_pair(indexclosest, finalDistance);
+    }
+};
+
+// streaming operator to properly display a point
+std::ostream& operator<< (std::ostream& stream, const Point& point)
+{
+    stream << "{omega: " << point.omega << " xi: " << point.xi << '}';
+    return stream;
+}
+
+//-------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/sgi2018/src/follower/transform.h b/sgi2018/src/follower/transform.h
new file mode 100644
index 0000000..bd39098
--- /dev/null
+++ b/sgi2018/src/follower/transform.h
@@ -0,0 +1,77 @@
+#pragma once
+
+#include <iostream>
+#include "../types.h"
+#include "point.h"
+#include "follow.h"
+
+namespace Transform
+{
+    // takes a starting point, the indexes of the target eigenvalues in the starting point and a vector of parameters to generate ending points
+    // follows the target from the starting point to each of the ending points, independently
+    // returns a matrix with a row per xi and a column per target
+    ComplexMatrix linearPath(const Point& startPoint, const std::vector<unsigned int>& startIndexes, const ComplexVector& xiVector,
+                             const number distanceThreshold = 0.05, const number minstepsize = std::sqrt(3.)*1e-6)
+    {
+        // NOTE:
+        // to generate a point from a parameter i, you can use  :
+        ComplexMatrix res(xiVector.size(), startIndexes.size());
+        for(unsigned int i = 0; i < xiVector.size(); i ++){
+          Point endPoint(startPoint.omega, startPoint.size, xiVector[startIndexes[i]]);
+          std::vector<unsigned int> indexesResult = Follow::adaptativStep(startPoint, endPoint, startIndexes, distanceThreshold, minstepsize);
+          ComplexVector v(indexesResult.size());
+          for(unsigned int j = 0; j < indexesResult.size(); j ++){
+            v(j) = endPoint.formatedEigenvalues(indexesResult[j]);
+          }
+          res.row(i) = v;
+        //
+        // to follow several targets from a point to another, you can use :
+        }
+        return res;
+        throw std::logic_error("Function not yet implemented.");
+    }
+
+    // takes a starting point, the indexes of the target eigenvalues in the starting point and a vector of parameters to generate ending points
+    // follows the target from the starting point to each of the ending points, independently
+    // returns a matrix with a row per xi and a column per target
+    // NOTE: this function exports the phase speeds of all the eigenvalues to a csv file for later analysis
+    ComplexMatrix linearPath(const Point& startPoint, const std::vector<unsigned int>& startIndexes, const ComplexVector& xiVector,
+                             Csv& outCsv, const number distanceThreshold = 0.05, const number minstepsize = std::sqrt(3.)*1e-6)
+    {
+        // NOTE: identical to the previous function but dumps all eigenvalues produced, not just targets, to outCsv
+        //
+        // to output the eigenvalues of a point, you can use :
+        // ComplexMatrix res(xiVector.size(), startIndexes.size());
+        // outCsv.write( (ComplexVector) phaseSpeed(startPoint.omega, startPoint.formatedEigenvalues) );
+        // for(unsigned int i = 0; i < xiVector.size(); i ++){
+        //   Point endPoint(startPoint.omega, startPoint.size, xiVector[i]);
+        //   outCsv.write( (ComplexVector) phaseSpeed(startPoint.omega, point.formatedEigenvalues) );
+        // //
+        // // to follow several targets from a point to another, you can use :
+        //   if(i in startIndexes){
+        //     std::vector<unsigned int> indexesResult = Follow::adaptativStep(startPoint, endPoint, startIndexes, distanceThreshold, minstepsize);
+        //     res.col(i) = indexesResult;
+        //   }
+        // }
+        // return res;
+
+        //
+        // WARNING: you will need some sort of locking mechanism to export values while running in parallel
+        throw std::logic_error("Function not yet implemented.");
+    }
+
+    // takes a starting point, the indexes of the target eigenvalues in the starting point and a vector of parameters to generate ending points
+    // returns a matrix with a row per xi and a column per target
+    //
+    // to do so, this function builds a minimum spanning tree that is processed inparallel
+    // the tree has xi=(0,0) as its root (the starting point) and goes to all the values inside xiVector
+    ComplexMatrix treePath(const Point& startPoint, const std::vector<unsigned int>& startIndexes, const ComplexVector& xiVector, Csv& outCsv,
+                           const number distanceThreshold = 0.05, const number minstepsize = std::sqrt(3.)*1e-6)
+    {
+        // FACULTATIV
+        // NOTE: this function can be tricky to implement without using too much memory for large number of points or having an n² complexity
+        // you might want to play with building the tree before processing it or processing it as you are building it
+        // the fastest implementation gets a bonus
+        throw std::logic_error("Function not yet implemented.");
+    }
+}
diff --git a/sgi2018/src/generator.h b/sgi2018/src/generator.h
new file mode 100644
index 0000000..3a06cab
--- /dev/null
+++ b/sgi2018/src/generator.h
@@ -0,0 +1,224 @@
+#pragma once
+
+#include "types.h"
+#include "tools/matlab.h"
+
+
+//-------------------------------------------------------------------------------------------------
+// Constants
+
+namespace Generator
+{
+    // by default, do not use constant continuation
+    bool use_constant_continuation = false;
+}
+
+//-------------------------------------------------------------------------------------------------
+// INTERMEDIATE FUNCTIONS
+
+/*
+ * The function DM =  chebdif(N,M) computes the differentiation
+ * matrices D1, D2, ..., DM on Chebyshev nodes.
+ *
+ * Input:
+ * N:        Size of differentiation matrix.
+ * M:        Number of derivatives required (integer).
+ * Note:     0 < M <= N-1.
+ *
+ * Output:
+ * DM:       DM(1:N,1:N,ell) contains ell-th derivative matrix, ell=1..M.
+ *
+ * The code implements two strategies for enhanced
+ * accuracy suggested by W. Don and S. Solomonoff in
+ * SIAM J. Sci. Comp. Vol. 6, pp. 1253--1268 (1994).
+ * The two strategies are (a) the use of trigonometric
+ * identities to avoid the computation of differences
+ * x(k)-x(j) and (b) the use of the "flipping trick"
+ * which is necessary since sin t can be computed to high
+ * relative precision when t is small whereas sin (pi-t) cannot.
+ * J.A.C. Weideman, S.C. Reddy 1998.
+ */
+std::pair<Vector, Matrix> chebdif(const int N)
+{
+    // Indice used for flipping trick.
+    int n2 = (N + 1)/2; // ceil(N/2)
+
+    // Compute theta vector.
+    Vector k = make_vector(0,N-1);
+    Vector th = k*pi/number(N-1);
+
+    // Compute Chebyshev points.
+    Vector x = make_vector(N-1,1-N,-2).unaryExpr([N](number x){return STD::sin( pi*x / number(2*(N-1))) ;});
+
+    Matrix T = repmat(th/number(2.),N);
+    Matrix DX = (T.transpose()+T).binaryExpr(T.transpose()-T, [](number Tplus, number Tminus){return 2. * STD::sin(Tplus) * STD::sin(Tminus);}); // Trigonometric identity.
+    DX.bottomRows(n2) = -flip(DX.topRows(n2));
+    DX.diagonal().array() = 1; // Put 1's on the main diagonal of DX.
+
+    // C is the matrix with entries c(k)/c(j)
+    Matrix C = toeplitz( k.unaryExpr([](number k){return STD::pow(-1,k);}) );
+    C.row(0) *= 2;
+    C.row(N-1) *= 2;
+    C.col(0) /= 2;
+    C.col(N-1) /= 2;
+
+    // Z contains entries 1/(x(k)-x(j)) with zeros on the diagonal.
+    Matrix Z = DX.cwiseInverse();
+    Z.diagonal().array() = 0;
+
+    // D contains diff. matrices.
+    Matrix D = Matrix::Identity(N,N);
+    D = Z.cwiseProduct(C.cwiseProduct(repmat(D.diagonal(),N)) - D); // Off-diagonals
+    D.diagonal() = - D.rowwise().sum(); // Correct main diagonal of D
+
+    return std::make_pair(x, D);
+}
+
+// Compute the sound speed profile
+Vector sound_speed(Vector& z_prof, const complexNumber& xi, const bool use_constant_continuation)
+{
+    // Parameters
+    const auto size = z_prof.size();
+    const number Zstag  = 0.2;
+    const number Beta   = 1;
+    const number Vref   = 2;
+    const number EpsBD  = 10;
+    const number Zref   = 2;
+    const number a      = 1 + 0.2*xi.real(); //+0.2*perturbation.points(indGWS,1);
+    const number Zj     = 250; //+20*perturbation.points(indGWS,3);
+    const number Wj     = 66.7 + 10*xi.imag(); //+10*perturbation.points(indGWS,2);
+
+    // Bussinger-Dyer
+    Vector UBD = Vector::Zero(size);
+    for(int IndZlocm = 0; IndZlocm < size; IndZlocm++)
+    {
+        if(z_prof(IndZlocm) > Zstag)
+        {
+            UBD(IndZlocm) = STD::log(z_prof(IndZlocm)/Zstag) + Beta*(z_prof(IndZlocm)-Zstag);
+        }
+    }
+
+    // Jet
+    Vector UJET;
+    if (use_constant_continuation)
+    {
+        // Jet with constant continuation to avoid tunnel effect
+        UJET = Vector::Ones(size);
+        for(unsigned int IndZlocm = 0; IndZlocm < size; IndZlocm++)
+        {
+            if(z_prof(IndZlocm) < Zj)
+            {
+                UJET(IndZlocm) = STD::exp(-squared((z_prof(IndZlocm)-Zj)/Wj));
+            }
+        }
+    }
+    else
+    {
+        // Jet without constant continuation
+        UJET = z_prof.unaryExpr([Zj,Wj](number z_prof){return STD::exp(-squared((z_prof-Zj)/Wj));});
+    }
+
+    // Wind profile
+    number UBD_ref = STD::log(Zref/Zstag) + Beta*(Zref-Zstag);
+    Vector Ulocm = UBD.binaryExpr(UJET, [Vref,EpsBD,UBD_ref,a](number UBD, number UJET){return Vref*(EpsBD+UBD_ref)/UBD_ref*(UBD/(EpsBD+UBD)+a*UJET);});
+
+    // Temperature profile
+    const number TG     = 290;
+    const number Delta  = 10;
+    const number Alpha  = 0.03;
+    const number Gamma  = 0; //0.01;
+
+    Vector Tlocm = z_prof.unaryExpr([TG,Delta,Alpha,Gamma](number z_prof){return TG + Delta*(1.-STD::exp(-Alpha*z_prof)) - Gamma*z_prof;});
+
+    // Sound Speed profile
+    Vector Clocm = Tlocm.binaryExpr(Ulocm, [](number Tlocm, number Ulocm){return STD::sqrt(1.4*287*Tlocm) + Ulocm;});
+
+    return Clocm;
+}
+
+//-------------------------------------------------------------------------------------------------
+// OPERATOR DEFINITION
+
+ComplexMatrix matrixEDO(const int N, const complexNumber& omega, const complexNumber& xi, const number k, const bool use_constant_continuation)
+{
+    Vector x;
+    Matrix D;
+    std::tie(x, D) = chebdif(N);
+
+    const number zmax = 1e3;
+    Vector Z = x.unaryExpr([zmax](number x){return zmax*(1.-x)/2.;});
+
+    Matrix A = Matrix::Identity(N,N);
+    number B = 0;
+    ComplexVector C = sound_speed(Z, xi, use_constant_continuation).unaryExpr([omega,k](number sz){return squared(omega) / squared(sz) - squared(k);});
+
+    D = -2/zmax*D;
+    Matrix DD = D*D;
+
+    ComplexMatrix M = A*DD + B*D;
+    M.diagonal() += C;
+
+    // Boundary conditions
+    const number a1 = 0;
+    const number b1 = 1;
+    const number c1 = 0;
+    const number aN = 0;
+    const number bN = 0;
+    const number cN = 1;
+
+    M.row(0) = a1*DD.row(0) + b1*D.row(0);
+    M(0,0) += c1;
+    M.row(N-1) = aN*DD.row(N-1) + bN*D.row(N-1);
+    M(N-1,N-1) += cN;
+
+    return M;
+}
+
+/*
+ * Compute the discretization of the operator M=operator(omega,N)
+ * -omega : freq. at which the computation is done
+ *          /!\ omega can have an imaginary part
+ * - N    : vertical discretization
+ * - M    : discretized operator using spectral collocation
+ */
+ComplexMatrix generator(const complexNumber omega, const int N, const complexNumber xi = complexNumber(0.,0.), const bool use_constant_continuation = Generator::use_constant_continuation)
+{
+    ComplexMatrix M0 = matrixEDO(N, omega, xi, 0, use_constant_continuation);
+
+    //ComplexMatrix M1 = matrixEDO(N, omega, xi_a, xi_Wj, 1, use_constant_continuation);
+    //ComplexMatrix M = mldivide(M0, M0 - M1);
+
+    // note that M0 - M1 is ID for all values except its first and last lines
+    // which are (a1*DD.row(0) + b1*D.row(0)) and (aN*DD.row(N-1) + bN*D.row(N-1))
+    // those are 0 for the current boundary conditions
+    // meaning that we are basically computing M0^-1 with two zero columns on the sides
+    // hence the following method gives the expected matrix but quicker and with improved precision
+    ComplexMatrix M = M0.inverse();
+    M.col(0).array() = complexNumber(0.,0.);
+    M.col(N-1).array() = complexNumber(0.,0.);
+
+    return M;
+}
+
+//-------------------------------------------------------------------------------------------------
+// EIGENVALUE TRANSFORMATION
+
+// put an eigenvalue in the proper output space
+complexNumber transformEigenvalue(const complexNumber eigenvalue)
+{
+    return number(1.) / std::sqrt(eigenvalue);
+}
+
+// take an eigenvalue, omega and compute its phase speed
+complexNumber phaseSpeed(const number omega, const complexNumber eigenvalue)
+{
+    return complexNumber(omega / eigenvalue.real(), eigenvalue.imag());
+}
+
+// take a matrix of eigenvalues, omega and compute their phase speed
+ComplexMatrix phaseSpeed(const number omega, const ComplexMatrix& eigenvalues)
+{
+    return eigenvalues.unaryExpr([omega](const complexNumber e){return phaseSpeed(omega, e) ;});
+}
+
+//-------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/sgi2018/src/main.cpp b/sgi2018/src/main.cpp
new file mode 100644
index 0000000..ab72b85
--- /dev/null
+++ b/sgi2018/src/main.cpp
@@ -0,0 +1,91 @@
+
+#include <iostream>
+#include "types.h"
+#include "tools/csv.h"
+#include "follower/point.h"
+#include "follower/transform.h"
+
+//-------------------------------------------------------------------------------------------------
+// TARGETS
+
+// formated eigenvalues of interest for omega = 10Hz
+auto formatedTargetEigenvalues_10Hz = []()
+{
+    std::vector<complexNumber> formatedTargetEigenvalues_10Hz =
+    {
+        complexNumber(0.35561, 2.8487e-05),
+        complexNumber(0.354, 2.848e-05),
+    };
+
+    return formatedTargetEigenvalues_10Hz;
+};
+
+// formated eigenvalues of interest for omega = 20Hz
+auto formatedTargetEigenvalues_20Hz = []()
+{
+    std::vector<complexNumber> formatedTargetEigenvalues_20Hz;
+    if(Generator::use_constant_continuation)
+    {
+        formatedTargetEigenvalues_20Hz =
+        {
+            complexNumber(3.6103700000000000e-01,   2.8933800000000001e-05),
+            complexNumber(3.5561300000000001e-01,   2.8487699999999998e-05),
+            complexNumber(3.5397600000000001e-01,   2.8485500000000000e-05),
+            complexNumber(3.5202299999999997e-01,   2.8547700000000001e-05),
+            complexNumber(3.4986499999999998e-01,   2.8571900000000000e-05),
+            complexNumber(3.4782600000000002e-01,   2.8344600000000000e-05),
+            complexNumber(3.4604499999999999e-01,   2.7885000000000002e-05),
+            complexNumber(3.4399000000000002e-01,   2.8099100000000000e-05),
+            complexNumber(3.4109699999999998e-01,   2.8376100000000001e-05)
+        };
+    }
+    else
+    {
+        formatedTargetEigenvalues_20Hz =
+        {
+            complexNumber(0.361033647187131, 0.000028933251563),
+            complexNumber(0.355614091880504, 0.000028486937552),
+            complexNumber(0.353997839239009, 0.000028480251433),
+            complexNumber(0.352101292441200, 0.000028478101360),
+            complexNumber(0.348275599694248, 0.000028517568097),
+            complexNumber(0.352097123839055, 0.000028504433229),
+            complexNumber(0.352629811458154, 0.000028414037120),
+            complexNumber(0.353112905615286, 0.000028382664958),
+            complexNumber(0.353546771365575, 0.000028353869735)
+        };
+    }
+
+    return formatedTargetEigenvalues_20Hz;
+};
+
+//-------------------------------------------------------------------------------------------------
+// MAIN
+
+int main(int argc, char *argv[])
+{
+    std::cout << "Starting..." << std::endl;
+    const number omega = 20*2*pi; // 20Hz
+    const int N_gPC = 1000;
+    const unsigned int size = (argc > 1) ? atoi(argv[1]) : 50;
+    const std::string outPutfolder = Csv::confirmedFolder("output/");
+    Generator::use_constant_continuation = true; // makes eigenvalues easier to follow ?
+
+    std::cout << "Defining target eigenvalues... (omega=" << omega << ')' << std::endl;
+
+    const Point startingPoint(omega, size);
+    const std::vector<complexNumber> targetformatedEigenValues = formatedTargetEigenvalues_20Hz();
+    const std::vector<unsigned int> indexTargets = startingPoint.findClosest(targetformatedEigenValues).first;
+
+    std::cout << "Generating " << N_gPC << " random points..." << std::endl;
+
+    const ComplexVector xiVector = randn(N_gPC);
+    Csv::write(outPutfolder + "xi.csv", xiVector);
+
+    std::cout << "MONTE-CARLO: Following target with raw computation..." << std::endl;
+
+    Csv allEigenvaluesCsv(outPutfolder + "phase_eigenvalues.csv"); // to dump the phases of all the eigenvalues we meet
+    const ComplexMatrix eigenvaluesMC = Transform::linearPath(startingPoint, indexTargets, xiVector, allEigenvaluesCsv);
+    Csv::write(outPutfolder + "phase_montecarlo.csv", phaseSpeed(omega, eigenvaluesMC));
+
+    return 0;
+}
diff --git a/sgi2018/src/tools/csv.h b/sgi2018/src/tools/csv.h
new file mode 100644
index 0000000..fc29605
--- /dev/null
+++ b/sgi2018/src/tools/csv.h
@@ -0,0 +1,98 @@
+#pragma once
+
+#include <iostream>
+#include <fstream>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <exception>
+#include "../types.h"
+
+/*
+ * encapsulate writing to a csv file
+ */
+class Csv
+{
+private:
+    std::ofstream file;
+
+public:
+    explicit Csv(const std::string& filename): file(filename) {};
+
+    // writes a single number to the file
+    template<typename N> void write(const N& x, const char separator = ',')
+    {
+        file << x << separator;
+    };
+
+    // writes a shaman number to the file, splitting result and error
+    #ifdef SHAMAN
+    template<typename NumberType, typename ErrorType,  typename PreciseType>
+    void write(const S<NumberType,ErrorType,PreciseType>& x, const char separator = ',')
+    {
+        file << x.number << separator << std::abs(x.error) << separator;
+    };
+    #endif
+
+    // writes a single complex number to the file
+    void write(const complexNumber& x, const char separator = ',')
+    {
+        write(x.real());
+        write(x.imag());
+        file << '\t';
+    };
+
+    // write a full line, separated by the given separator, to the csv
+    void write(const ComplexVector& values, const char separator = ',')
+    {
+        for(unsigned int i = 0; i < values.size(); i++)
+        {
+            write(values[i]);
+        }
+
+        file << '\n';
+    };
+
+    //---------------------------------------------------------------------------------------------
+    // STATIC
+
+    // throws an exception if a folder does not exist, otherwise return the path to the folder
+    static std::string confirmedFolder(std::string folderPath)
+    {
+        struct stat info;
+        if(stat(folderPath.c_str(), &info ) != 0)
+        {
+            throw std::invalid_argument("The folder '" + folderPath + "' does not exist!");
+        }
+        else
+        {
+            return folderPath;
+        }
+    }
+
+    // writes a matrix to a file
+    static void write(const std::string& filename, const ComplexMatrix& matrix, const char separator = ',')
+    {
+        std::ofstream file(filename);
+
+        for(unsigned int r=0; r < matrix.rows(); r++)
+        {
+            for (unsigned int c=0; c < matrix.cols(); c++)
+            {
+                complexNumber x = matrix(r,c);
+
+                #ifdef SHAMAN
+                file << x.real().number << separator << std::abs(x.real().error) << separator
+                     << x.imag().number << separator << std::abs(x.imag().error);
+                #else
+                file << x.real() << separator << x.imag();
+                #endif
+
+                if(c+1 < matrix.cols())
+                {
+                    file << separator;
+                }
+            }
+            file << '\n';
+        }
+    }
+};
diff --git a/sgi2018/src/tools/matlab.h b/sgi2018/src/tools/matlab.h
new file mode 100644
index 0000000..1bc93c3
--- /dev/null
+++ b/sgi2018/src/tools/matlab.h
@@ -0,0 +1,187 @@
+#pragma once
+
+#include <random>
+#include <iostream>
+#include <fstream>
+#include "../types.h"
+
+/*
+ * Code translated from Matlab base functions
+ * matlab translation guide : https://eigen.tuxfamily.org/dox/AsciiQuickReference.txt
+ */
+
+//-------------------------------------------------------------------------------------------------
+// VARIOUS
+
+const number pi = M_PI;
+
+// squares a number
+template<typename T> inline T squared(const T& x)
+{
+    return x*x;
+}
+
+//-------------------------------------------------------------------------------------------------
+// ALGEBRA
+
+// build a vector with values in the given interval
+Vector make_vector(const int fromValue, const int toValue, const int by = 1)
+{
+    int size = 1 + (toValue - fromValue) / by;
+    Vector result(size);
+
+    int currentValue = fromValue;
+    for(int i = 0; i < size; i++)
+    {
+        result(i) = currentValue;
+        currentValue += by;
+    }
+
+    return result;
+}
+
+// repeats a column vector n times in order to build a matrix
+Matrix repmat(const Vector& v, const int colNumber)
+{
+    Matrix result(v.size(), colNumber);
+
+    for(int col = 0; col < colNumber; col++)
+    {
+        result.col(col) = v;
+    }
+
+    return result;
+}
+
+// solves m = m1 \ m2
+inline ComplexMatrix mldivide(const ComplexMatrix& m1, const ComplexMatrix& m2)
+{
+    //return m1.colPivHouseholderQr().solve(m2);
+    return m1.bdcSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(m2); // you can use JacobiSVD for improved precision
+}
+
+// returns an hermitian matrix where v is the first row and conj(v) the first column
+Matrix toeplitz(const Vector& v)
+{
+    auto size = v.size();
+    Matrix result(size, size);
+
+    for(int row=0; row<size; row++)
+    {
+        for(int col=0; col<size; col++)
+        {
+            // complex
+            /*number value = v(std::abs(row - col));
+            if(row > col)
+            {
+                value = Sstd::conj(value);
+            }
+            result(row,col) = value;*/
+
+            // real
+            result(row,col) = v(std::abs(row - col));
+        }
+    }
+
+    return result;
+}
+
+// flip the column and rows
+inline Matrix flip(Matrix mat)
+{
+    Matrix matflipr = mat.rowwise().reverse(); // fliplr
+    Matrix matflipc = matflipr.colwise().reverse(); // flipud
+    return matflipc;
+}
+
+//-------------------------------------------------------------------------------------------------
+// POLYNOMIAL
+
+/*
+ * evaluates a polynomial on the given data
+ * use Horner's scheme
+ * NOTE: one could use a more numerically stable algorithm
+ */
+Vector polyval(const Polynomial& pol, const Vector& x)
+{
+    Vector result = Vector::Zero(x.size());
+
+    for(const auto& coef : pol)
+    {
+        result = result.binaryExpr(x, [coef](const number& result, const number& x){return result*x + coef;});
+    }
+
+    return result;
+}
+
+//-------------------------------------------------------------------------------------------------
+// RANDOM
+
+// generate an uniformaly distributed random number sampled from [-1;1]
+inline number randu()
+{
+    throw std::logic_error("Function not yet implemented.");
+}
+
+// generates a vector of the given size, the entries of the vector are all complex number
+// their real and imaginary parts are uniformaly distributed random number sampled from [-1;1]
+ComplexVector randu(int size)
+{
+    // NOTE: this can be built on the previous function
+    throw std::logic_error("Function not yet implemented.");
+}
+
+// generate a normally distributed random number
+// sampled from a distribution with mean 0 and std 1
+inline number randn()
+{
+    throw std::logic_error("Function not yet implemented.");
+}
+
+// generates a vector of the given size, the entries of the vector are all complex number
+// their real and imaginary parts are sampled from a normal distribution with mean 0 and std 1
+ComplexVector randn(int size)
+{
+    // NOTE: this can be built on the previous function
+    throw std::logic_error("Function not yet implemented.");
+}
+
+//-------------------------------------------------------------------------------------------------
+// IMPORT
+
+/// import a vector of reals from a file
+Vector loadRealVector(const std::string& file)
+{
+    std::vector<number> result;
+    std::ifstream input(file);
+
+    number x;
+    while (input >> x)
+    {
+        result.push_back(x);
+    }
+
+    Vector output = Eigen::Map<Vector, Eigen::Unaligned>(result.data(), result.size());
+    return output;
+}
+
+/// import a vector of complex from a file
+ComplexVector loadComplexVector(const std::string& file)
+{
+    std::vector<complexNumber> result;
+    std::ifstream input(file);
+
+    number r;
+    number i;
+    while (input >> r)
+    {
+        input >> i;
+        complexNumber x(r,i);
+        result.push_back(x);
+    }
+
+    ComplexVector output = Eigen::Map<ComplexVector, Eigen::Unaligned>(result.data(), result.size());
+    return output;
+}
+
+//-------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/sgi2018/src/types.h b/sgi2018/src/types.h
new file mode 100644
index 0000000..884a9ad
--- /dev/null
+++ b/sgi2018/src/types.h
@@ -0,0 +1,40 @@
+#pragma once
+
+#include <complex>
+#include <vector>
+#include <Eigen/Dense>
+
+#ifdef SHAMAN
+
+#include <shaman.h>
+#include <shaman/helpers/Shaman_eigen.h>
+
+// types used in the program
+typedef Sdouble number;
+typedef Sfloat halfNumber;
+typedef std::complex<number> complexNumber;
+typedef Eigen::SVectorXd Vector;
+typedef Eigen::SRowVectorXd RowVector;
+typedef Eigen::SVectorXcd ComplexVector;
+typedef Eigen::SRowVectorXcd RowComplexVector;
+typedef Eigen::SMatrixXd Matrix;
+typedef Eigen::SMatrixXcd ComplexMatrix;
+typedef std::vector<number> Polynomial;
+#define STD Sstd
+
+#else
+
+// types used in the program
+typedef double number;
+typedef float halfNumber;
+typedef std::complex<number> complexNumber;
+typedef Eigen::VectorXd Vector;
+typedef Eigen::RowVectorXd RowVector;
+typedef Eigen::VectorXcd ComplexVector;
+typedef Eigen::RowVectorXcd RowComplexVector;
+typedef Eigen::MatrixXd Matrix;
+typedef Eigen::MatrixXcd ComplexMatrix;
+typedef std::vector<number> Polynomial;
+#define STD std
+
+#endif
-- 
GitLab