From f3098dd374dc0d44c5e46512bae025669eebd525 Mon Sep 17 00:00:00 2001 From: Alberto Sartori Date: Mon, 25 Feb 2019 11:12:44 +0100 Subject: [PATCH 1/7] config.h --- include/p-ipeps/meson.build | 3 +- include/p-ipeps/warnings.h | 43 ++++++++++++++++++++++++++ meson/config/meson.build | 14 +-------- meson/config/{ => p-ipeps}/config.h.in | 5 +++ meson/config/p-ipeps/meson.build | 13 ++++++++ 5 files changed, 64 insertions(+), 14 deletions(-) create mode 100644 include/p-ipeps/warnings.h rename meson/config/{ => p-ipeps}/config.h.in (55%) create mode 100644 meson/config/p-ipeps/meson.build diff --git a/include/p-ipeps/meson.build b/include/p-ipeps/meson.build index 9209b09..900c70c 100644 --- a/include/p-ipeps/meson.build +++ b/include/p-ipeps/meson.build @@ -17,7 +17,8 @@ install_headers(['cluster-ev-builder.h', 'rsvd-solver.h', 'simple-update_v2.h', 'su2.h', - 'svdsolver-factory.h'], + 'svdsolver-factory.h', + 'warnings.h'], subdir:'p-ipeps') subdir('linalg') diff --git a/include/p-ipeps/warnings.h b/include/p-ipeps/warnings.h new file mode 100644 index 0000000..1c29941 --- /dev/null +++ b/include/p-ipeps/warnings.h @@ -0,0 +1,43 @@ +#ifdef COMPILER_HAS_DIAGNOSTIC_PRAGMA +#define DISABLE_WARNINGS \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") \ + _Pragma("GCC diagnostic ignored \"-Wpragmas\"") \ + _Pragma("GCC diagnostic ignored \"-Wunknown-warning-option\"") \ + _Pragma("GCC diagnostic ignored \"-Wunknown-warning\"") \ + _Pragma("GCC diagnostic ignored \"-Wextra\"") \ + _Pragma("GCC diagnostic ignored \"-Waddress-of-packed-member\"") \ + _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \ + _Pragma("GCC diagnostic ignored \"-Wexpansion-to-defined\"") \ + _Pragma("GCC diagnostic ignored \"-Wexpansion-to-defined\"") \ + _Pragma("GCC diagnostic ignored \"-Wignored-attributes\"") \ + _Pragma("GCC diagnostic ignored \"-Wignored-qualifiers\"") \ + _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"") \ + _Pragma("GCC diagnostic ignored \"-Winfinite-recursion\"") \ + _Pragma("GCC diagnostic ignored \"-Wmisleading-indentation\"") \ + _Pragma("GCC diagnostic ignored \"-Wmissing-field-initializers\"") \ + _Pragma("GCC diagnostic ignored \"-Wnon-virtual-dtor\"") \ + _Pragma("GCC diagnostic ignored \"-Woverflow\"") \ + _Pragma("GCC diagnostic ignored \"-Woverloaded-virtual\"") \ + _Pragma("GCC diagnostic ignored \"-Wpedantic\"") \ + _Pragma("GCC diagnostic ignored \"-Wstrict-aliasing\"") \ + _Pragma("GCC diagnostic ignored \"-Wtautological-constant-out-of-range-compare\"") \ + _Pragma("GCC diagnostic ignored \"-Wtype-limits\"") \ + _Pragma("GCC diagnostic ignored \"-Wundef\"") \ + _Pragma("GCC diagnostic ignored \"-Wunused-but-set-parameter\"") \ + _Pragma("GCC diagnostic ignored \"-Wunused-but-set-variable\"") \ + _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \ + _Pragma("GCC diagnostic ignored \"-Wunused-parameter\"") \ + _Pragma("GCC diagnostic ignored \"-Wunused-private-field\"") \ + _Pragma("GCC diagnostic ignored \"-Wunused-variable\"") \ + _Pragma("GCC diagnostic ignored \"-Wpragmas\"") + +#define ENABLE_WARNINGS \ + _Pragma("GCC diagnostic pop") + +#else + +#define DISABLE_WARNINGS +#define ENABLE_WARNINGS + +#endif diff --git a/meson/config/meson.build b/meson/config/meson.build index 84b8653..5105206 100644 --- a/meson/config/meson.build +++ b/meson/config/meson.build @@ -1,15 +1,3 @@ -_cdata = configuration_data() - -# optional_deps is defined in meson.build in the dependencies folder -foreach _opt : optional_deps - _v = 'PEPS_WITH_'+ _opt.to_upper() - _cdata.set(_v, get_variable('with_'+_opt, false)) -endforeach - -configure_file(output: short_name+'_config.h', - input: 'config.h.in', - configuration: _cdata, - install: true, - install_dir:'include') include_dirs += include_directories('.') +subdir('p-ipeps') diff --git a/meson/config/config.h.in b/meson/config/p-ipeps/config.h.in similarity index 55% rename from meson/config/config.h.in rename to meson/config/p-ipeps/config.h.in index c9d985d..d84c521 100644 --- a/meson/config/config.h.in +++ b/meson/config/p-ipeps/config.h.in @@ -7,4 +7,9 @@ #mesondefine PEPS_WITH_ARPACK +#mesondefine COMPILER_HAS_DIAGNOSTIC_PRAGMA + +// macros DISABLE_WARNINGS and ENABLE_WARNINGS +#include "p-ipeps/warnings.h" + #endif diff --git a/meson/config/p-ipeps/meson.build b/meson/config/p-ipeps/meson.build new file mode 100644 index 0000000..bb846dc --- /dev/null +++ b/meson/config/p-ipeps/meson.build @@ -0,0 +1,13 @@ +_cdata = configuration_data() + +# optional_deps is defined in meson.build in the dependencies folder +foreach _opt : optional_deps + _v = 'PEPS_WITH_'+ _opt.to_upper() + _cdata.set(_v, get_variable('with_'+_opt, false)) +endforeach + +configure_file(output: 'config.h', + input: 'config.h.in', + configuration: _cdata, + install: true, + install_dir:'include/p-ipeps') From 9cfd2734d63cff66f4dcc904b671797514439f54 Mon Sep 17 00:00:00 2001 From: Alberto Sartori Date: Mon, 25 Feb 2019 11:18:58 +0100 Subject: [PATCH 2/7] include p-ipeps/config.h --- include/p-ipeps/rsvd-solver.h | 2 +- src/linalg/rsvd-solver.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/p-ipeps/rsvd-solver.h b/include/p-ipeps/rsvd-solver.h index 3b1619f..aeadb01 100644 --- a/include/p-ipeps/rsvd-solver.h +++ b/include/p-ipeps/rsvd-solver.h @@ -1,7 +1,7 @@ #ifndef _ITENSOR_CUSTOM_SOLVERS_RSVD_H #define _ITENSOR_CUSTOM_SOLVERS_RSVD_H -#include "p-ipeps_config.h" +#include "p-ipeps/config.h" #ifdef PEPS_WITH_RSVD diff --git a/src/linalg/rsvd-solver.cc b/src/linalg/rsvd-solver.cc index 1632595..946a17f 100644 --- a/src/linalg/rsvd-solver.cc +++ b/src/linalg/rsvd-solver.cc @@ -1,4 +1,4 @@ -#include "p-ipeps_config.h" +#include "p-ipeps/config.h" #ifdef PEPS_WITH_RSVD From 9a66fd2c04863744e92f6dbf5f5517a4a89ff919 Mon Sep 17 00:00:00 2001 From: Alberto Sartori Date: Mon, 25 Feb 2019 11:41:57 +0100 Subject: [PATCH 3/7] include p-ipeps/config.h first --- examples/env-ctmrg/env-ctmrg.cc | 1 + examples/opt-fu-adaptive/opt-fu-adaptive.cc | 1 + examples/opt-su-adaptive/opt-su-adaptive.cc | 1 + include/p-ipeps/cluster-ev-builder.h | 1 + include/p-ipeps/cluster-factory.h | 3 ++- include/p-ipeps/ctm-cluster-basic.h | 3 ++- include/p-ipeps/ctm-cluster-env.h | 1 + include/p-ipeps/ctm-cluster-env_v2.h | 1 + include/p-ipeps/ctm-cluster-global.h | 3 ++- include/p-ipeps/ctm-cluster-io.h | 1 + include/p-ipeps/ctm-cluster.h | 3 ++- include/p-ipeps/engine-factory.h | 3 ++- include/p-ipeps/engine.h | 3 ++- include/p-ipeps/fu-3site-corboz.h | 1 + include/p-ipeps/full-update.h | 3 ++- include/p-ipeps/lattice.h | 3 ++- include/p-ipeps/linalg/arpack-rcdn.h | 1 + include/p-ipeps/linalg/itensor-linsys-solvers.h | 3 ++- include/p-ipeps/linalg/itensor-svd-solvers.h | 3 ++- include/p-ipeps/linalg/lapacksvd-solver.h | 3 ++- include/p-ipeps/linalg/linsyssolvers-lapack.h | 3 ++- include/p-ipeps/model-factory.h | 3 ++- include/p-ipeps/models.h | 3 ++- include/p-ipeps/models/aklt-2x2-ABCD.h | 3 ++- include/p-ipeps/models/hb-2x2-ABCD.h | 3 ++- include/p-ipeps/models/id-2x2-ABCD.h | 3 ++- include/p-ipeps/models/ising-2x2-ABCD.h | 3 ++- include/p-ipeps/models/j1j2-2x2-ABCD.h | 3 ++- include/p-ipeps/models/ladders-2x2-ABCD.h | 3 ++- include/p-ipeps/mpo.h | 3 ++- include/p-ipeps/rsvd-solver.h | 1 + include/p-ipeps/simple-update_v2.h | 3 ++- include/p-ipeps/su2.h | 3 ++- include/p-ipeps/svdsolver-factory.h | 3 ++- src/cluster-ev-builder.cc | 1 + src/cluster-factory.cc | 3 ++- src/ctm-cluster-basic.cc | 3 ++- src/ctm-cluster-env_v2.cc | 3 ++- src/ctm-cluster-io.cc | 3 ++- src/ctm-cluster.cc | 1 + src/ctmrg.cc | 1 + src/engine-factory.cc | 3 ++- src/engine.cc | 3 ++- src/fu-2site.cc | 3 ++- src/fu-3site-corboz.cc | 3 ++- src/fu-3site.cc | 1 + src/fu-4site.cc | 3 ++- src/full-update-TEST.cc | 1 + src/full-update.cc | 3 ++- src/lattice.cc | 3 ++- src/linalg/itensor-linsys-solvers.cc | 3 ++- src/linalg/itensor-svd-solvers.cc | 1 + src/linalg/rsvd-solver.cc | 1 + src/model-factory.cc | 3 ++- src/models.cc | 3 ++- src/models/aklt-2x2-ABCD.cc | 3 ++- src/models/hb-2x2-ABCD.cc | 3 ++- src/models/id-2x2-ABCD.cc | 3 ++- src/models/ising-2x2-ABCD.cc | 3 ++- src/models/j1j2-2x2-ABCD.cc | 3 ++- src/models/ladders-2x2-ABCD.cc | 3 ++- src/mpo.cc | 1 + src/simple-update_v2.cc | 3 ++- src/su2.cc | 3 ++- src/svdsolver-factory.cc | 3 ++- tests/test-arpack-itensor.cc | 1 + tests/test-arpack.cc | 3 ++- tests/test-mklsvd.cc | 3 ++- tests/unit_tests/example.cc | 1 + tests/unit_tests/test-cluster.cc | 1 + tests/unit_tests/test-ctm-env.cc | 3 ++- tests/unit_tests/test-gesdd-svd-solver.cc | 1 + tests/unit_tests/test-lin-sys.cc | 1 + 73 files changed, 123 insertions(+), 50 deletions(-) diff --git a/examples/env-ctmrg/env-ctmrg.cc b/examples/env-ctmrg/env-ctmrg.cc index c7e986e..216aea6 100644 --- a/examples/env-ctmrg/env-ctmrg.cc +++ b/examples/env-ctmrg/env-ctmrg.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include #include #include diff --git a/examples/opt-fu-adaptive/opt-fu-adaptive.cc b/examples/opt-fu-adaptive/opt-fu-adaptive.cc index be4a1f3..ddc40ce 100644 --- a/examples/opt-fu-adaptive/opt-fu-adaptive.cc +++ b/examples/opt-fu-adaptive/opt-fu-adaptive.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include #include #include diff --git a/examples/opt-su-adaptive/opt-su-adaptive.cc b/examples/opt-su-adaptive/opt-su-adaptive.cc index b18ec1b..bc8477b 100644 --- a/examples/opt-su-adaptive/opt-su-adaptive.cc +++ b/examples/opt-su-adaptive/opt-su-adaptive.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include #include #include diff --git a/include/p-ipeps/cluster-ev-builder.h b/include/p-ipeps/cluster-ev-builder.h index 0b152ae..43831c6 100644 --- a/include/p-ipeps/cluster-ev-builder.h +++ b/include/p-ipeps/cluster-ev-builder.h @@ -1,6 +1,7 @@ #ifndef __CLS_EV_BUILDER_ #define __CLS_EV_BUILDER_ +#include "p-ipeps/config.h" #include #include #include "itensor/all.h" diff --git a/include/p-ipeps/cluster-factory.h b/include/p-ipeps/cluster-factory.h index 4439d7c..fbadbc5 100644 --- a/include/p-ipeps/cluster-factory.h +++ b/include/p-ipeps/cluster-factory.h @@ -1,6 +1,7 @@ #ifndef __CLUSTER_FACTORY_ #define __CLUSTER_FACTORY_ +#include "p-ipeps/config.h" #include "json.hpp" #include "p-ipeps/ctm-cluster.h" @@ -19,4 +20,4 @@ class ClusterFactory { std::map s_methods; }; -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/ctm-cluster-basic.h b/include/p-ipeps/ctm-cluster-basic.h index ded33da..a217118 100644 --- a/include/p-ipeps/ctm-cluster-basic.h +++ b/include/p-ipeps/ctm-cluster-basic.h @@ -2,6 +2,7 @@ #define __CLS_BASIC_H_ +#include "p-ipeps/config.h" #include #include #include @@ -96,4 +97,4 @@ struct Cluster_2x2_ABCD : Cluster { } // -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/ctm-cluster-env.h b/include/p-ipeps/ctm-cluster-env.h index c22cffe..b620050 100644 --- a/include/p-ipeps/ctm-cluster-env.h +++ b/include/p-ipeps/ctm-cluster-env.h @@ -4,6 +4,7 @@ #ifndef __CTM_CLS_ENV_H_ #define __CTM_CLS_ENV_H_ +#include "p-ipeps/config.h" #include #include #include diff --git a/include/p-ipeps/ctm-cluster-env_v2.h b/include/p-ipeps/ctm-cluster-env_v2.h index 72579b3..39a078e 100644 --- a/include/p-ipeps/ctm-cluster-env_v2.h +++ b/include/p-ipeps/ctm-cluster-env_v2.h @@ -4,6 +4,7 @@ #ifndef __CTM_CLS_ENV_H_ #define __CTM_CLS_ENV_H_ +#include "p-ipeps/config.h" #include #include #include diff --git a/include/p-ipeps/ctm-cluster-global.h b/include/p-ipeps/ctm-cluster-global.h index e9c6bba..5b4197e 100644 --- a/include/p-ipeps/ctm-cluster-global.h +++ b/include/p-ipeps/ctm-cluster-global.h @@ -1,6 +1,7 @@ #ifndef __CTM_CLS_GLOBAL_ #define __CTM_CLS_GLOBAL_ +#include "p-ipeps/config.h" #include #include "itensor/all.h" @@ -73,4 +74,4 @@ const std::string TAG_T_R = "T_R"; const std::string TAG_T_D = "T_D"; const std::string TAG_T_L = "T_L"; -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/ctm-cluster-io.h b/include/p-ipeps/ctm-cluster-io.h index 46c3654..9473e7b 100644 --- a/include/p-ipeps/ctm-cluster-io.h +++ b/include/p-ipeps/ctm-cluster-io.h @@ -1,6 +1,7 @@ #ifndef __CTM_CLS_IO_ #define __CTM_CLS_IO_ +#include "p-ipeps/config.h" #include #include #include diff --git a/include/p-ipeps/ctm-cluster.h b/include/p-ipeps/ctm-cluster.h index a16014a..6f61133 100644 --- a/include/p-ipeps/ctm-cluster.h +++ b/include/p-ipeps/ctm-cluster.h @@ -4,6 +4,7 @@ #ifndef __CTM_CLS_H_ #define __CTM_CLS_H_ +#include "p-ipeps/config.h" #include #include #include @@ -180,4 +181,4 @@ void setSites(Cluster & c, std::string option, bool dbg = false); std::ostream& operator<<(std::ostream& s, Cluster const& c); -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/engine-factory.h b/include/p-ipeps/engine-factory.h index ea316aa..563b419 100644 --- a/include/p-ipeps/engine-factory.h +++ b/include/p-ipeps/engine-factory.h @@ -1,6 +1,7 @@ #ifndef __ENGINE_FACTORY_ #define __ENGINE_FACTORY_ +#include "p-ipeps/config.h" #include "json.hpp" #include "p-ipeps/engine.h" @@ -21,4 +22,4 @@ class EngineFactory { std::map s_methods; }; -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/engine.h b/include/p-ipeps/engine.h index efc2c02..7f381e0 100644 --- a/include/p-ipeps/engine.h +++ b/include/p-ipeps/engine.h @@ -1,6 +1,7 @@ #ifndef __ENGINE_ #define __ENGINE_ +#include "p-ipeps/config.h" #include #include "json.hpp" #include "itensor/all.h" @@ -96,4 +97,4 @@ template<> itensor::Args TrotterEngine::performFullUpdate( // template<> itensor::Args TrotterEngine::performFullUpdate( // Cluster & cls, CtmEnv const& ctmEnv, itensor::Args const& args); -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/fu-3site-corboz.h b/include/p-ipeps/fu-3site-corboz.h index f98aa35..1eb7761 100644 --- a/include/p-ipeps/fu-3site-corboz.h +++ b/include/p-ipeps/fu-3site-corboz.h @@ -1,6 +1,7 @@ #ifndef __FULL_UPDT_3S_H_CORBOZ_ #define __FULL_UPDT_3S_H_CORBOZ_ +#include "p-ipeps/config.h" #include #include #include diff --git a/include/p-ipeps/full-update.h b/include/p-ipeps/full-update.h index a299324..043897c 100644 --- a/include/p-ipeps/full-update.h +++ b/include/p-ipeps/full-update.h @@ -4,6 +4,7 @@ #ifndef __FULL_UPDT_H_ #define __FULL_UPDT_H_ +#include "p-ipeps/config.h" #include #include #include @@ -106,4 +107,4 @@ struct FU4SiteGradMin { void gradient(std::vector< itensor::ITensor > & grad); }; -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/lattice.h b/include/p-ipeps/lattice.h index 86374cd..66f8b53 100644 --- a/include/p-ipeps/lattice.h +++ b/include/p-ipeps/lattice.h @@ -1,6 +1,7 @@ #ifndef __LATTICE_H_ #define __LATTICE_H_ +#include "p-ipeps/config.h" #include #include @@ -107,4 +108,4 @@ operator<<(std::ostream& os, Vertex const& v); // } -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/linalg/arpack-rcdn.h b/include/p-ipeps/linalg/arpack-rcdn.h index fb5c13b..f97e532 100644 --- a/include/p-ipeps/linalg/arpack-rcdn.h +++ b/include/p-ipeps/linalg/arpack-rcdn.h @@ -1,6 +1,7 @@ #ifndef __ARPACK_RCI_H_ #define __ARPACK_RCI_H_ +#include "p-ipeps/config.h" // #include "arpack.hpp" #include diff --git a/include/p-ipeps/linalg/itensor-linsys-solvers.h b/include/p-ipeps/linalg/itensor-linsys-solvers.h index ef13164..13b6dc7 100644 --- a/include/p-ipeps/linalg/itensor-linsys-solvers.h +++ b/include/p-ipeps/linalg/itensor-linsys-solvers.h @@ -1,6 +1,7 @@ #ifndef _ITENSOR_LINSYS_SOLVERS_H #define _ITENSOR_LINSYS_SOLVERS_H +#include "p-ipeps/config.h" #include "itensor/all.h" namespace itensor { @@ -190,4 +191,4 @@ linsystemMatVec( } // namespace itensor -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/linalg/itensor-svd-solvers.h b/include/p-ipeps/linalg/itensor-svd-solvers.h index fb85efa..deb4d0e 100644 --- a/include/p-ipeps/linalg/itensor-svd-solvers.h +++ b/include/p-ipeps/linalg/itensor-svd-solvers.h @@ -1,6 +1,7 @@ #ifndef _ITENSOR_SVD_SOLVERS_H #define _ITENSOR_SVD_SOLVERS_H +#include "p-ipeps/config.h" #include "itensor/all.h" namespace itensor { @@ -200,4 +201,4 @@ SVDRef(MatRefc const& M, } // itensor -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/linalg/lapacksvd-solver.h b/include/p-ipeps/linalg/lapacksvd-solver.h index 76c6dec..48b6112 100644 --- a/include/p-ipeps/linalg/lapacksvd-solver.h +++ b/include/p-ipeps/linalg/lapacksvd-solver.h @@ -1,6 +1,7 @@ #ifndef _PEPS_LAPACK_SVD_SOLVERS_H #define _PEPS_LAPACK_SVD_SOLVERS_H +#include "p-ipeps/config.h" #include "p-ipeps/linalg/itensor-svd-solvers.h" namespace itensor { @@ -235,4 +236,4 @@ struct GESDDSolver : SvdSolver { } // namespace itensor -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/linalg/linsyssolvers-lapack.h b/include/p-ipeps/linalg/linsyssolvers-lapack.h index 1d9e780..56e202c 100644 --- a/include/p-ipeps/linalg/linsyssolvers-lapack.h +++ b/include/p-ipeps/linalg/linsyssolvers-lapack.h @@ -1,6 +1,7 @@ #ifndef _ITENSOR_LAPACK_LINSYS_SOLVERS_H #define _ITENSOR_LAPACK_LINSYS_SOLVERS_H +#include "p-ipeps/config.h" #include "p-ipeps/linalg/itensor-linsys-solvers.h" @@ -198,4 +199,4 @@ struct CholeskySolver : LinSysSolver { } //namespace detail -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/model-factory.h b/include/p-ipeps/model-factory.h index c160188..4caa750 100644 --- a/include/p-ipeps/model-factory.h +++ b/include/p-ipeps/model-factory.h @@ -1,6 +1,7 @@ #ifndef __MODEL_FACTORY_ #define __MODEL_FACTORY_ +#include "p-ipeps/config.h" #include "json.hpp" #include "p-ipeps/models.h" @@ -21,4 +22,4 @@ class ModelFactory { std::map s_methods; }; -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/models.h b/include/p-ipeps/models.h index c94b8e1..64f5bb3 100644 --- a/include/p-ipeps/models.h +++ b/include/p-ipeps/models.h @@ -1,6 +1,7 @@ #ifndef __MODELS_ #define __MODELS_ +#include "p-ipeps/config.h" #include #include #include @@ -69,4 +70,4 @@ std::unique_ptr getModel_J1Q(nlohmann::json & json_model); std::unique_ptr getModel(nlohmann::json & json_model); // ----- END Model Definitions ---------------------------------------- -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/models/aklt-2x2-ABCD.h b/include/p-ipeps/models/aklt-2x2-ABCD.h index d036809..fc498bd 100644 --- a/include/p-ipeps/models/aklt-2x2-ABCD.h +++ b/include/p-ipeps/models/aklt-2x2-ABCD.h @@ -1,6 +1,7 @@ #ifndef __AKLT_2X2_ABCD_ #define __AKLT_2X2_ABCD_ +#include "p-ipeps/config.h" #include "p-ipeps/models.h" #include "p-ipeps/engine.h" @@ -53,4 +54,4 @@ class AKLTModel_2x2_AB : public Model { } //namespace itensor -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/models/hb-2x2-ABCD.h b/include/p-ipeps/models/hb-2x2-ABCD.h index 1bd7a35..22cb880 100644 --- a/include/p-ipeps/models/hb-2x2-ABCD.h +++ b/include/p-ipeps/models/hb-2x2-ABCD.h @@ -1,6 +1,7 @@ #ifndef __HB_2X2_ABCD_ #define __HB_2X2_ABCD_ +#include "p-ipeps/config.h" #include "p-ipeps/models.h" #include "p-ipeps/engine.h" @@ -53,4 +54,4 @@ class HeisenbergModel_2x2_AB : public Model { } //namespace itensor -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/models/id-2x2-ABCD.h b/include/p-ipeps/models/id-2x2-ABCD.h index 89b30cc..4bb6e74 100644 --- a/include/p-ipeps/models/id-2x2-ABCD.h +++ b/include/p-ipeps/models/id-2x2-ABCD.h @@ -1,6 +1,7 @@ #ifndef __ID_2X2_ABCD_ #define __ID_2X2_ABCD_ +#include "p-ipeps/config.h" #include "p-ipeps/models.h" #include "p-ipeps/engine.h" @@ -51,4 +52,4 @@ class IdentityModel_2x2_AB : public Model { } //namespace itensor -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/models/ising-2x2-ABCD.h b/include/p-ipeps/models/ising-2x2-ABCD.h index b163c21..4507b6b 100644 --- a/include/p-ipeps/models/ising-2x2-ABCD.h +++ b/include/p-ipeps/models/ising-2x2-ABCD.h @@ -1,6 +1,7 @@ #ifndef __ISING_2X2_ABCD_ #define __ISING_2X2_ABCD_ +#include "p-ipeps/config.h" #include "p-ipeps/models.h" #include "p-ipeps/engine.h" @@ -49,4 +50,4 @@ class IsingModel_2x2_AB : public Model { } //namespace itensor -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/models/j1j2-2x2-ABCD.h b/include/p-ipeps/models/j1j2-2x2-ABCD.h index 54a2e2f..aebc5a0 100644 --- a/include/p-ipeps/models/j1j2-2x2-ABCD.h +++ b/include/p-ipeps/models/j1j2-2x2-ABCD.h @@ -1,6 +1,7 @@ #ifndef __J1J2_2X2_ABCD_ #define __J1J2_2X2_ABCD_ +#include "p-ipeps/config.h" #include "p-ipeps/models.h" #include "p-ipeps/engine.h" @@ -35,4 +36,4 @@ class J1J2Model_2x2_ABCD : public Model { } //namespace itensor -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/models/ladders-2x2-ABCD.h b/include/p-ipeps/models/ladders-2x2-ABCD.h index 348ba8a..b10ea4a 100644 --- a/include/p-ipeps/models/ladders-2x2-ABCD.h +++ b/include/p-ipeps/models/ladders-2x2-ABCD.h @@ -1,6 +1,7 @@ #ifndef __LADDERS_2X2_ABCD_ #define __LADDERS_2X2_ABCD_ +#include "p-ipeps/config.h" #include "p-ipeps/models.h" #include "p-ipeps/engine.h" @@ -53,4 +54,4 @@ class LaddersModel_4x2_ABCD : public Model { } //namespace itensor -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/mpo.h b/include/p-ipeps/mpo.h index bd47514..8b1db4b 100644 --- a/include/p-ipeps/mpo.h +++ b/include/p-ipeps/mpo.h @@ -1,6 +1,7 @@ #ifndef __MPO_ #define __MPO_ +#include "p-ipeps/config.h" #include "p-ipeps/ctm-cluster.h" #include "itensor/all.h" @@ -124,4 +125,4 @@ operator<<(std::ostream& s, MPO_2site const& mpo2s); std::ostream& operator<<(std::ostream& s, MPO_3site const& mpo3s); -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/rsvd-solver.h b/include/p-ipeps/rsvd-solver.h index aeadb01..80938da 100644 --- a/include/p-ipeps/rsvd-solver.h +++ b/include/p-ipeps/rsvd-solver.h @@ -1,6 +1,7 @@ #ifndef _ITENSOR_CUSTOM_SOLVERS_RSVD_H #define _ITENSOR_CUSTOM_SOLVERS_RSVD_H +#include "p-ipeps/config.h" #include "p-ipeps/config.h" #ifdef PEPS_WITH_RSVD diff --git a/include/p-ipeps/simple-update_v2.h b/include/p-ipeps/simple-update_v2.h index 2fe05c6..b6e3475 100644 --- a/include/p-ipeps/simple-update_v2.h +++ b/include/p-ipeps/simple-update_v2.h @@ -4,6 +4,7 @@ #ifndef __SMPL_UPDT_H_ #define __SMPL_UPDT_H_ +#include "p-ipeps/config.h" #include #include #include @@ -70,4 +71,4 @@ itensor::Args simpleUpdate(OpNS const& u12, Cluster & cls, itensor::ITensor getInvDiagT(itensor::ITensor const& t); -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/su2.h b/include/p-ipeps/su2.h index 9e2835e..cb33831 100644 --- a/include/p-ipeps/su2.h +++ b/include/p-ipeps/su2.h @@ -1,6 +1,7 @@ #ifndef __SU2_ #define __SU2_ +#include "p-ipeps/config.h" #include #include #include @@ -26,4 +27,4 @@ double SU2_getCG(int j1, int j2, int j, int m1, int m2, int m); int Factorial(int x); -#endif \ No newline at end of file +#endif diff --git a/include/p-ipeps/svdsolver-factory.h b/include/p-ipeps/svdsolver-factory.h index c5c1ecb..7b50468 100644 --- a/include/p-ipeps/svdsolver-factory.h +++ b/include/p-ipeps/svdsolver-factory.h @@ -1,6 +1,7 @@ #ifndef __SVDSOLVER_FACTORY_ #define __SVDSOLVER_FACTORY_ +#include "p-ipeps/config.h" #include "json.hpp" #include "p-ipeps/linalg/itensor-svd-solvers.h" @@ -19,4 +20,4 @@ class SvdSolverFactory { std::map s_methods; }; -#endif \ No newline at end of file +#endif diff --git a/src/cluster-ev-builder.cc b/src/cluster-ev-builder.cc index 88b8cb2..657a020 100644 --- a/src/cluster-ev-builder.cc +++ b/src/cluster-ev-builder.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/cluster-ev-builder.h" using namespace itensor; diff --git a/src/cluster-factory.cc b/src/cluster-factory.cc index 3da850d..c80b78e 100644 --- a/src/cluster-factory.cc +++ b/src/cluster-factory.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/cluster-factory.h" #include "p-ipeps/ctm-cluster-basic.h" @@ -31,4 +32,4 @@ std::unique_ptr ClusterFactory::create(nlohmann::json const& json_clust throw std::runtime_error(message); return nullptr; -} \ No newline at end of file +} diff --git a/src/ctm-cluster-basic.cc b/src/ctm-cluster-basic.cc index dccdf5a..474be53 100644 --- a/src/ctm-cluster-basic.cc +++ b/src/ctm-cluster-basic.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/ctm-cluster-basic.h" namespace itensor { @@ -560,4 +561,4 @@ std::unique_ptr Cluster_2x2_ABCD::create(nlohmann::json const& json_clu } -} //namespace itensor \ No newline at end of file +} //namespace itensor diff --git a/src/ctm-cluster-env_v2.cc b/src/ctm-cluster-env_v2.cc index eb96d75..5aaf81a 100644 --- a/src/ctm-cluster-env_v2.cc +++ b/src/ctm-cluster-env_v2.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/ctm-cluster-env_v2.h" // TODO Implement convergence check as general function. The actual @@ -1464,4 +1465,4 @@ CtmEnv::NORMALIZATION toNORMALIZATION(std::string const& normType) { if(normType == "NORM_PTN") return CtmEnv::NORM_PTN; std::cout << "Unsupported NORMALIZATION" << std::endl; exit(EXIT_FAILURE); -} \ No newline at end of file +} diff --git a/src/ctm-cluster-io.cc b/src/ctm-cluster-io.cc index 0837fbb..c072225 100644 --- a/src/ctm-cluster-io.cc +++ b/src/ctm-cluster-io.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/ctm-cluster-io.h" using namespace std; @@ -951,4 +952,4 @@ itensor::ITensor readTensorB(string const& fname) { // } // s << endl; // return s; -// } \ No newline at end of file +// } diff --git a/src/ctm-cluster.cc b/src/ctm-cluster.cc index 8149ac8..4f48a5e 100644 --- a/src/ctm-cluster.cc +++ b/src/ctm-cluster.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/ctm-cluster.h" using namespace itensor; diff --git a/src/ctmrg.cc b/src/ctmrg.cc index 35420aa..8d229e4 100644 --- a/src/ctmrg.cc +++ b/src/ctmrg.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/ctm-cluster-env_v2.h" using namespace itensor; diff --git a/src/engine-factory.cc b/src/engine-factory.cc index 3a3b2a9..5eb0346 100644 --- a/src/engine-factory.cc +++ b/src/engine-factory.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/engine-factory.h" #include "p-ipeps/models/id-2x2-ABCD.h" #include "p-ipeps/models/ising-2x2-ABCD.h" @@ -47,4 +48,4 @@ std::unique_ptr EngineFactory::build(nlohmann::json & json_model, throw std::runtime_error(message); return nullptr; -} \ No newline at end of file +} diff --git a/src/engine.cc b/src/engine.cc index 3d2188f..9116c13 100644 --- a/src/engine.cc +++ b/src/engine.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/engine.h" using namespace itensor; @@ -356,4 +357,4 @@ template<> Args TrotterEngine::performFullUpdate( // LEGACY return fullUpdate_ALS4S_LSCG_IT(*td.ptr_gateMPO[gi], cls, ctmEnv, // td.gates[gi], td.gate_auxInds[gi], args); -} \ No newline at end of file +} diff --git a/src/fu-2site.cc b/src/fu-2site.cc index 7272762..cb8c10f 100644 --- a/src/fu-2site.cc +++ b/src/fu-2site.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/full-update.h" using namespace itensor; @@ -1470,4 +1471,4 @@ Args fullUpdate_2S(MPO_2site const& mpo, Cluster & cls, CtmEnv const& ctmEnv, } return diag_data; -} \ No newline at end of file +} diff --git a/src/fu-3site-corboz.cc b/src/fu-3site-corboz.cc index 6ca97f1..df1b808 100644 --- a/src/fu-3site-corboz.cc +++ b/src/fu-3site-corboz.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/fu-3site-corboz.h" using namespace itensor; @@ -1330,4 +1331,4 @@ Args fu_3s_corboz(MPO_3site const& u123, Cluster & cls, CtmEnv const& ctmEnv, //diag_data.add("maxEvDisc",maxEvDisc); return diag_data; -} \ No newline at end of file +} diff --git a/src/fu-3site.cc b/src/fu-3site.cc index 48f7b6c..b32b96c 100644 --- a/src/fu-3site.cc +++ b/src/fu-3site.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" // #include "full-update-TEST.h" #include "p-ipeps/full-update.h" diff --git a/src/fu-4site.cc b/src/fu-4site.cc index 8322318..32529ea 100644 --- a/src/fu-4site.cc +++ b/src/fu-4site.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/full-update.h" #include "include/LBFGS.h" @@ -816,4 +817,4 @@ void FU4SiteGradMin::gradient(std::vector &grad) { // std::cout << std::endl; // return fx; -// } \ No newline at end of file +// } diff --git a/src/full-update-TEST.cc b/src/full-update-TEST.cc index 4042928..b479033 100644 --- a/src/full-update-TEST.cc +++ b/src/full-update-TEST.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "full-update-TEST.h" using namespace itensor; diff --git a/src/full-update.cc b/src/full-update.cc index 4770291..1f33d51 100644 --- a/src/full-update.cc +++ b/src/full-update.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/full-update.h" using namespace itensor; @@ -1998,4 +1999,4 @@ Args fullUpdate_ALS2S_IT(MPO_2site const& mpo, Cluster & cls, CtmEnv const& ctmE } return diag_data; -} \ No newline at end of file +} diff --git a/src/lattice.cc b/src/lattice.cc index f50d1a8..c308d9f 100644 --- a/src/lattice.cc +++ b/src/lattice.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/lattice.h" // namespace itensor { @@ -17,4 +18,4 @@ int dirFromShift(Shift const& s) { return -1; } -// } \ No newline at end of file +// } diff --git a/src/linalg/itensor-linsys-solvers.cc b/src/linalg/itensor-linsys-solvers.cc index f916d9f..6869237 100644 --- a/src/linalg/itensor-linsys-solvers.cc +++ b/src/linalg/itensor-linsys-solvers.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/linalg/itensor-linsys-solvers.h" namespace itensor { @@ -161,4 +162,4 @@ void PseudoInvSolver::solve( X = VT*(regInvS*(U*B)); } -} //namespace itensor \ No newline at end of file +} //namespace itensor diff --git a/src/linalg/itensor-svd-solvers.cc b/src/linalg/itensor-svd-solvers.cc index 51476e8..54e2821 100644 --- a/src/linalg/itensor-svd-solvers.cc +++ b/src/linalg/itensor-svd-solvers.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include #include #include "p-ipeps/linalg/itensor-svd-solvers.h" diff --git a/src/linalg/rsvd-solver.cc b/src/linalg/rsvd-solver.cc index 946a17f..027d27f 100644 --- a/src/linalg/rsvd-solver.cc +++ b/src/linalg/rsvd-solver.cc @@ -1,4 +1,5 @@ #include "p-ipeps/config.h" +#include "p-ipeps/config.h" #ifdef PEPS_WITH_RSVD diff --git a/src/model-factory.cc b/src/model-factory.cc index b0e59c8..46e57a6 100644 --- a/src/model-factory.cc +++ b/src/model-factory.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/model-factory.h" #include "p-ipeps/models/ising-2x2-ABCD.h" #include "p-ipeps/models/hb-2x2-ABCD.h" @@ -48,4 +49,4 @@ std::unique_ptr ModelFactory::create(std::string const& name, throw std::runtime_error(message); return nullptr; -} \ No newline at end of file +} diff --git a/src/models.cc b/src/models.cc index e3a1873..1024bd0 100644 --- a/src/models.cc +++ b/src/models.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/models.h" using namespace itensor; @@ -487,4 +488,4 @@ std::unique_ptr getModel(nlohmann::json & json_model) { return nullptr; } -// ----- END Model Definitions ---------------------------------------- \ No newline at end of file +// ----- END Model Definitions ---------------------------------------- diff --git a/src/models/aklt-2x2-ABCD.cc b/src/models/aklt-2x2-ABCD.cc index 5913cff..cae9494 100644 --- a/src/models/aklt-2x2-ABCD.cc +++ b/src/models/aklt-2x2-ABCD.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/models/aklt-2x2-ABCD.h" namespace itensor { @@ -409,4 +410,4 @@ std::unique_ptr AKLTModel_2x2_AB::buildEngine(nlohmann::json & json_mode } // ----- END Definition of model class -------------------------------- -} //namespace itensor \ No newline at end of file +} //namespace itensor diff --git a/src/models/hb-2x2-ABCD.cc b/src/models/hb-2x2-ABCD.cc index 0031082..2da3a50 100644 --- a/src/models/hb-2x2-ABCD.cc +++ b/src/models/hb-2x2-ABCD.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/models/hb-2x2-ABCD.h" namespace itensor { @@ -434,4 +435,4 @@ std::unique_ptr HeisenbergModel_2x2_AB::buildEngine(nlohmann::json & jso } // ----- END Definition of model class -------------------------------- -} //namespace itensor \ No newline at end of file +} //namespace itensor diff --git a/src/models/id-2x2-ABCD.cc b/src/models/id-2x2-ABCD.cc index a821965..ee5c327 100644 --- a/src/models/id-2x2-ABCD.cc +++ b/src/models/id-2x2-ABCD.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/models/id-2x2-ABCD.h" namespace itensor { @@ -215,4 +216,4 @@ std::unique_ptr IdentityModel_2x2_AB::buildEngine(nlohmann::json & json_ } // ----- END Definition of model class -------------------------------- -} //namespace itensor \ No newline at end of file +} //namespace itensor diff --git a/src/models/ising-2x2-ABCD.cc b/src/models/ising-2x2-ABCD.cc index dc901d1..a08898a 100644 --- a/src/models/ising-2x2-ABCD.cc +++ b/src/models/ising-2x2-ABCD.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/models/ising-2x2-ABCD.h" namespace itensor { @@ -333,4 +334,4 @@ std::unique_ptr IsingModel_2x2_AB::buildEngine(nlohmann::json & json_mod } // ----- END Definition of model class -------------------------------- -} //namespace itensor \ No newline at end of file +} //namespace itensor diff --git a/src/models/j1j2-2x2-ABCD.cc b/src/models/j1j2-2x2-ABCD.cc index 5b33168..f907598 100644 --- a/src/models/j1j2-2x2-ABCD.cc +++ b/src/models/j1j2-2x2-ABCD.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/models/j1j2-2x2-ABCD.h" namespace itensor { @@ -275,4 +276,4 @@ std::unique_ptr J1J2Model_2x2_ABCD::buildEngine(nlohmann::json & json_mo } // ----- END Definition of model class -------------------------------- -} //namespace itensor \ No newline at end of file +} //namespace itensor diff --git a/src/models/ladders-2x2-ABCD.cc b/src/models/ladders-2x2-ABCD.cc index 0671c44..6cab7d3 100644 --- a/src/models/ladders-2x2-ABCD.cc +++ b/src/models/ladders-2x2-ABCD.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/models/ladders-2x2-ABCD.h" namespace itensor { @@ -451,4 +452,4 @@ std::unique_ptr LaddersModel_4x2_ABCD::buildEngine(nlohmann::json & json } // ----- END Definition of model class -------------------------------- -} //namespace itensor \ No newline at end of file +} //namespace itensor diff --git a/src/mpo.cc b/src/mpo.cc index 2b898b3..f1f5266 100644 --- a/src/mpo.cc +++ b/src/mpo.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/mpo.h" using namespace itensor; diff --git a/src/simple-update_v2.cc b/src/simple-update_v2.cc index 89b522e..259dee2 100644 --- a/src/simple-update_v2.cc +++ b/src/simple-update_v2.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/simple-update_v2.h" using namespace itensor; @@ -1075,4 +1076,4 @@ ITensor getInvDiagT(ITensor const& t) { } return diagTensor(tmpD, t.inds()[0], t.inds()[1]); -} \ No newline at end of file +} diff --git a/src/su2.cc b/src/su2.cc index 151fb04..4e04af9 100644 --- a/src/su2.cc +++ b/src/su2.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/su2.h" using namespace std; @@ -127,4 +128,4 @@ int Factorial(int x) { return 1; } return x * Factorial(x - 1); -} \ No newline at end of file +} diff --git a/src/svdsolver-factory.cc b/src/svdsolver-factory.cc index 217c1dc..fca4230 100644 --- a/src/svdsolver-factory.cc +++ b/src/svdsolver-factory.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/svdsolver-factory.h" #include "p-ipeps/rsvd-solver.h" #include "p-ipeps/linalg/lapacksvd-solver.h" @@ -30,4 +31,4 @@ std::unique_ptr SvdSolverFactory::create(std::string const& throw std::runtime_error(message); return nullptr; -} \ No newline at end of file +} diff --git a/tests/test-arpack-itensor.cc b/tests/test-arpack-itensor.cc index f0e5ae8..865149b 100644 --- a/tests/test-arpack-itensor.cc +++ b/tests/test-arpack-itensor.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "p-ipeps/linalg/arpack-rcdn.h" #include "itensor/all.h" diff --git a/tests/test-arpack.cc b/tests/test-arpack.cc index 44f182a..826cb30 100644 --- a/tests/test-arpack.cc +++ b/tests/test-arpack.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include "arpack.hpp" #include @@ -333,4 +334,4 @@ int main() { // complex_symmetric_runner(); return 0; -} \ No newline at end of file +} diff --git a/tests/test-mklsvd.cc b/tests/test-mklsvd.cc index d96e1cf..896d597 100644 --- a/tests/test-mklsvd.cc +++ b/tests/test-mklsvd.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include #include "itensor/all.h" #include @@ -305,4 +306,4 @@ int main( int argc, char *argv[] ) { // (t_end_int - t_begin_int).count()/1000000.0 // <<" [sec]"<< std::endl; // for (int i=1;i<=5;i++) std::cout<< S_l3.real(S_l3.inds().front()(i),S_l3.inds().back()(i)) << std::endl; -} \ No newline at end of file +} diff --git a/tests/unit_tests/example.cc b/tests/unit_tests/example.cc index cadb1e2..94e2c5b 100644 --- a/tests/unit_tests/example.cc +++ b/tests/unit_tests/example.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include // additional include needed for this test from this project #include "p-ipeps/engine.h" diff --git a/tests/unit_tests/test-cluster.cc b/tests/unit_tests/test-cluster.cc index 983ba6f..73b886f 100644 --- a/tests/unit_tests/test-cluster.cc +++ b/tests/unit_tests/test-cluster.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include #include #include diff --git a/tests/unit_tests/test-ctm-env.cc b/tests/unit_tests/test-ctm-env.cc index 9f3cfe1..92f91a7 100644 --- a/tests/unit_tests/test-ctm-env.cc +++ b/tests/unit_tests/test-ctm-env.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include #include #include "p-ipeps/ctm-cluster-basic.h" @@ -704,4 +705,4 @@ TEST(CtmEnv_move_singleDirection, Default_cotr){ ctmEnv.move_singleDirection(DIRECTION::DOWN, ISOMETRY::ISOMETRY_T4, accT); for (auto const& id : cls.siteIds) verifyIndicesT(DIRECTION::DOWN, id); for (auto const& id : cls.siteIds) verifyIndicesC(DIRECTION::DOWN, id); -} \ No newline at end of file +} diff --git a/tests/unit_tests/test-gesdd-svd-solver.cc b/tests/unit_tests/test-gesdd-svd-solver.cc index 17bb564..aa648c0 100644 --- a/tests/unit_tests/test-gesdd-svd-solver.cc +++ b/tests/unit_tests/test-gesdd-svd-solver.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include #include #include "itensor/all.h" diff --git a/tests/unit_tests/test-lin-sys.cc b/tests/unit_tests/test-lin-sys.cc index aaa190c..4953af6 100644 --- a/tests/unit_tests/test-lin-sys.cc +++ b/tests/unit_tests/test-lin-sys.cc @@ -1,3 +1,4 @@ +#include "p-ipeps/config.h" #include #include #include "itensor/all.h" From 57705727c79d3122fd7dbb08f4acd767af885db0 Mon Sep 17 00:00:00 2001 From: Alberto Sartori Date: Mon, 25 Feb 2019 11:43:10 +0100 Subject: [PATCH 4/7] silence warnings from itensor --- examples/env-ctmrg/env-ctmrg.cc | 2 ++ examples/opt-su-adaptive/opt-su-adaptive.cc | 2 ++ include/p-ipeps/cluster-ev-builder.h | 2 ++ include/p-ipeps/ctm-cluster-basic.h | 2 ++ include/p-ipeps/ctm-cluster-env.h | 2 ++ include/p-ipeps/ctm-cluster-env_v2.h | 2 ++ include/p-ipeps/ctm-cluster-global.h | 2 ++ include/p-ipeps/ctm-cluster-io.h | 2 ++ include/p-ipeps/ctm-cluster.h | 2 ++ include/p-ipeps/engine.h | 2 ++ include/p-ipeps/fu-3site-corboz.h | 2 ++ include/p-ipeps/full-update.h | 2 ++ include/p-ipeps/linalg/itensor-linsys-solvers.h | 2 ++ include/p-ipeps/linalg/itensor-svd-solvers.h | 2 ++ include/p-ipeps/models.h | 2 ++ include/p-ipeps/mpo.h | 2 ++ include/p-ipeps/simple-update_v2.h | 2 ++ include/p-ipeps/su2.h | 2 ++ tests/test-arpack-itensor.cc | 2 ++ tests/test-mklsvd.cc | 2 ++ tests/unit_tests/test-gesdd-svd-solver.cc | 2 ++ tests/unit_tests/test-lin-sys.cc | 2 ++ 22 files changed, 44 insertions(+) diff --git a/examples/env-ctmrg/env-ctmrg.cc b/examples/env-ctmrg/env-ctmrg.cc index 216aea6..536b9a8 100644 --- a/examples/env-ctmrg/env-ctmrg.cc +++ b/examples/env-ctmrg/env-ctmrg.cc @@ -4,7 +4,9 @@ #include #include #include "json.hpp" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS #include "p-ipeps/ctm-cluster-env_v2.h" #include "p-ipeps/cluster-ev-builder.h" #include "p-ipeps/ctm-cluster-io.h" diff --git a/examples/opt-su-adaptive/opt-su-adaptive.cc b/examples/opt-su-adaptive/opt-su-adaptive.cc index bc8477b..896c1b4 100644 --- a/examples/opt-su-adaptive/opt-su-adaptive.cc +++ b/examples/opt-su-adaptive/opt-su-adaptive.cc @@ -4,7 +4,9 @@ #include #include #include "json.hpp" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS #include "p-ipeps/ctm-cluster-env_v2.h" #include "p-ipeps/cluster-ev-builder.h" #include "p-ipeps/ctm-cluster-io.h" diff --git a/include/p-ipeps/cluster-ev-builder.h b/include/p-ipeps/cluster-ev-builder.h index 43831c6..abd181c 100644 --- a/include/p-ipeps/cluster-ev-builder.h +++ b/include/p-ipeps/cluster-ev-builder.h @@ -4,7 +4,9 @@ #include "p-ipeps/config.h" #include #include +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS #include "p-ipeps/ctm-cluster-global.h" #include "p-ipeps/ctm-cluster.h" #include "p-ipeps/ctm-cluster-env_v2.h" diff --git a/include/p-ipeps/ctm-cluster-basic.h b/include/p-ipeps/ctm-cluster-basic.h index a217118..6a34bd4 100644 --- a/include/p-ipeps/ctm-cluster-basic.h +++ b/include/p-ipeps/ctm-cluster-basic.h @@ -7,7 +7,9 @@ #include #include #include "json.hpp" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS #include "p-ipeps/ctm-cluster.h" namespace itensor { diff --git a/include/p-ipeps/ctm-cluster-env.h b/include/p-ipeps/ctm-cluster-env.h index b620050..0e32a0c 100644 --- a/include/p-ipeps/ctm-cluster-env.h +++ b/include/p-ipeps/ctm-cluster-env.h @@ -12,7 +12,9 @@ #include #include "p-ipeps/ctm-cluster-io.h" #include "p-ipeps/ctm-cluster-global.h" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS class CtmEnv { diff --git a/include/p-ipeps/ctm-cluster-env_v2.h b/include/p-ipeps/ctm-cluster-env_v2.h index 39a078e..7b3bbbe 100644 --- a/include/p-ipeps/ctm-cluster-env_v2.h +++ b/include/p-ipeps/ctm-cluster-env_v2.h @@ -14,7 +14,9 @@ #include "p-ipeps/ctm-cluster-io.h" #include "p-ipeps/ctm-cluster-global.h" #include "p-ipeps/linalg/itensor-svd-solvers.h" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS class CtmEnv diff --git a/include/p-ipeps/ctm-cluster-global.h b/include/p-ipeps/ctm-cluster-global.h index 5b4197e..fd98f63 100644 --- a/include/p-ipeps/ctm-cluster-global.h +++ b/include/p-ipeps/ctm-cluster-global.h @@ -3,7 +3,9 @@ #include "p-ipeps/config.h" #include +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS /* * ENVironment of nxm cluster diff --git a/include/p-ipeps/ctm-cluster-io.h b/include/p-ipeps/ctm-cluster-io.h index 9473e7b..1b8ddbd 100644 --- a/include/p-ipeps/ctm-cluster-io.h +++ b/include/p-ipeps/ctm-cluster-io.h @@ -15,7 +15,9 @@ #include "p-ipeps/ctm-cluster-basic.h" #include "p-ipeps/ctm-cluster-global.h" #include "p-ipeps/cluster-factory.h" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS const std::string WS4(4,' '); diff --git a/include/p-ipeps/ctm-cluster.h b/include/p-ipeps/ctm-cluster.h index 6f61133..7974d19 100644 --- a/include/p-ipeps/ctm-cluster.h +++ b/include/p-ipeps/ctm-cluster.h @@ -10,7 +10,9 @@ #include #include "p-ipeps/lattice.h" #include "json.hpp" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS // ############################################################################ // IO for cluster definition using JSON data format diff --git a/include/p-ipeps/engine.h b/include/p-ipeps/engine.h index 7f381e0..a69b419 100644 --- a/include/p-ipeps/engine.h +++ b/include/p-ipeps/engine.h @@ -4,7 +4,9 @@ #include "p-ipeps/config.h" #include #include "json.hpp" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS #include "p-ipeps/cluster-ev-builder.h" #include "p-ipeps/ctm-cluster.h" #include "p-ipeps/ctm-cluster-global.h" diff --git a/include/p-ipeps/fu-3site-corboz.h b/include/p-ipeps/fu-3site-corboz.h index 1eb7761..1b98f0a 100644 --- a/include/p-ipeps/fu-3site-corboz.h +++ b/include/p-ipeps/fu-3site-corboz.h @@ -11,7 +11,9 @@ #include "p-ipeps/ctm-cluster.h" #include "p-ipeps/su2.h" #include "p-ipeps/linalg/itensor-linsys-solvers.h" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS const int IOFFSET = 100; diff --git a/include/p-ipeps/full-update.h b/include/p-ipeps/full-update.h index 043897c..544d26f 100644 --- a/include/p-ipeps/full-update.h +++ b/include/p-ipeps/full-update.h @@ -14,7 +14,9 @@ #include "p-ipeps/ctm-cluster.h" #include "p-ipeps/su2.h" #include "p-ipeps/linalg/itensor-linsys-solvers.h" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS itensor::ITensor pseudoInverse(itensor::ITensor const& M, itensor::Args const& args = itensor::Args::global()); diff --git a/include/p-ipeps/linalg/itensor-linsys-solvers.h b/include/p-ipeps/linalg/itensor-linsys-solvers.h index 13b6dc7..bb17a97 100644 --- a/include/p-ipeps/linalg/itensor-linsys-solvers.h +++ b/include/p-ipeps/linalg/itensor-linsys-solvers.h @@ -2,7 +2,9 @@ #define _ITENSOR_LINSYS_SOLVERS_H #include "p-ipeps/config.h" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS namespace itensor { diff --git a/include/p-ipeps/linalg/itensor-svd-solvers.h b/include/p-ipeps/linalg/itensor-svd-solvers.h index deb4d0e..c65daa3 100644 --- a/include/p-ipeps/linalg/itensor-svd-solvers.h +++ b/include/p-ipeps/linalg/itensor-svd-solvers.h @@ -2,7 +2,9 @@ #define _ITENSOR_SVD_SOLVERS_H #include "p-ipeps/config.h" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS namespace itensor { diff --git a/include/p-ipeps/models.h b/include/p-ipeps/models.h index 64f5bb3..f50372a 100644 --- a/include/p-ipeps/models.h +++ b/include/p-ipeps/models.h @@ -11,7 +11,9 @@ #include "p-ipeps/ctm-cluster.h" #include "p-ipeps/ctm-cluster-global.h" #include "p-ipeps/mpo.h" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS // ----- Trotter gates (3site, ...) MPOs ------------------------------ MPO_3site getMPO3s_Ising3Body(double tau, double J1, double J2, double h); diff --git a/include/p-ipeps/mpo.h b/include/p-ipeps/mpo.h index 8b1db4b..eb46e85 100644 --- a/include/p-ipeps/mpo.h +++ b/include/p-ipeps/mpo.h @@ -3,7 +3,9 @@ #include "p-ipeps/config.h" #include "p-ipeps/ctm-cluster.h" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS // ----- Main MPO Structures ------------------------------------------ // Index names of 3-site MPO indices diff --git a/include/p-ipeps/simple-update_v2.h b/include/p-ipeps/simple-update_v2.h index b6e3475..9df1d79 100644 --- a/include/p-ipeps/simple-update_v2.h +++ b/include/p-ipeps/simple-update_v2.h @@ -13,7 +13,9 @@ #include "p-ipeps/ctm-cluster.h" #include "p-ipeps/ctm-cluster-global.h" #include "p-ipeps/su2.h" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS // ----- 2-Site operator functions ------------------------------------ diff --git a/include/p-ipeps/su2.h b/include/p-ipeps/su2.h index cb33831..38e492f 100644 --- a/include/p-ipeps/su2.h +++ b/include/p-ipeps/su2.h @@ -5,7 +5,9 @@ #include #include #include +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS // Supported types of 1-site operators enum SU2O { diff --git a/tests/test-arpack-itensor.cc b/tests/test-arpack-itensor.cc index 865149b..5b6d3b8 100644 --- a/tests/test-arpack-itensor.cc +++ b/tests/test-arpack-itensor.cc @@ -1,6 +1,8 @@ #include "p-ipeps/config.h" #include "p-ipeps/linalg/arpack-rcdn.h" +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS struct DiagMVP { int id; diff --git a/tests/test-mklsvd.cc b/tests/test-mklsvd.cc index 896d597..fc46c9b 100644 --- a/tests/test-mklsvd.cc +++ b/tests/test-mklsvd.cc @@ -1,6 +1,8 @@ #include "p-ipeps/config.h" #include +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS #include using namespace itensor; diff --git a/tests/unit_tests/test-gesdd-svd-solver.cc b/tests/unit_tests/test-gesdd-svd-solver.cc index aa648c0..c8a6042 100644 --- a/tests/unit_tests/test-gesdd-svd-solver.cc +++ b/tests/unit_tests/test-gesdd-svd-solver.cc @@ -1,7 +1,9 @@ #include "p-ipeps/config.h" #include #include +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS #include "p-ipeps/linalg/lapacksvd-solver.h" using namespace itensor; diff --git a/tests/unit_tests/test-lin-sys.cc b/tests/unit_tests/test-lin-sys.cc index 4953af6..1d3ec1b 100644 --- a/tests/unit_tests/test-lin-sys.cc +++ b/tests/unit_tests/test-lin-sys.cc @@ -1,7 +1,9 @@ #include "p-ipeps/config.h" #include #include +DISABLE_WARNINGS #include "itensor/all.h" +ENABLE_WARNINGS #include "p-ipeps/linalg/linsyssolvers-lapack.h" using namespace itensor; From 2ceaa6f93c8d676963ae1023e4ea55cac75a3a71 Mon Sep 17 00:00:00 2001 From: Alberto Sartori Date: Mon, 25 Feb 2019 11:47:59 +0100 Subject: [PATCH 5/7] fix config file --- meson/config/p-ipeps/meson.build | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meson/config/p-ipeps/meson.build b/meson/config/p-ipeps/meson.build index bb846dc..08fa6b2 100644 --- a/meson/config/p-ipeps/meson.build +++ b/meson/config/p-ipeps/meson.build @@ -6,6 +6,20 @@ foreach _opt : optional_deps _cdata.set(_v, get_variable('with_'+_opt, false)) endforeach + +code = '''_Pragma("GCC diagnostic push") + _Pragma("GCC diagnostic ignored \"-Wextra\"") + _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") + _Pragma("GCC diagnostic ignored \"-Wpragmas\"") + int main() { return 0; } + _Pragma("GCC diagnostic pop") +''' + +_pragma = meson.get_compiler('cpp').compiles(code, name: 'pragma check') + +_cdata.set('COMPILER_HAS_DIAGNOSTIC_PRAGMA', _pragma) + + configure_file(output: 'config.h', input: 'config.h.in', configuration: _cdata, From dddca20af17144582b0b2b9db68a9e5b1c0f4d9a Mon Sep 17 00:00:00 2001 From: Alberto Sartori Date: Mon, 25 Feb 2019 11:51:54 +0100 Subject: [PATCH 6/7] better handling of optional features --- meson/dependencies/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson/dependencies/meson.build b/meson/dependencies/meson.build index 66a7fed..ceb57f3 100644 --- a/meson/dependencies/meson.build +++ b/meson/dependencies/meson.build @@ -13,7 +13,7 @@ foreach _opt : optional_deps # from command line either with the option -Dopt # or -Dopt-dir # there is no need to use both - if not _wanted and _dir == '' + if not _wanted message('Compiling without '+ _opt.to_upper()) else # first, we source the subdir where we test we can From 7f78274726351bf260a414025e208fb351eac28f Mon Sep 17 00:00:00 2001 From: Alberto Sartori Date: Mon, 25 Feb 2019 12:08:37 +0100 Subject: [PATCH 7/7] fix bug in handling dependencies --- meson/config/p-ipeps/config.h.in | 7 +++---- meson/config/p-ipeps/meson.build | 2 +- meson/dependencies/lbfgs/meson.build | 1 - meson/dependencies/meson.build | 5 ----- meson/dependencies/rsvd/meson.build | 6 ++---- meson_options.txt | 2 -- 6 files changed, 6 insertions(+), 17 deletions(-) diff --git a/meson/config/p-ipeps/config.h.in b/meson/config/p-ipeps/config.h.in index d84c521..72bff15 100644 --- a/meson/config/p-ipeps/config.h.in +++ b/meson/config/p-ipeps/config.h.in @@ -1,11 +1,10 @@ #ifndef _peps_config_h_meson #define _peps_config_h_meson -#mesondefine PEPS_WITH_RSVD - -#mesondefine PEPS_WITH_MKL - #mesondefine PEPS_WITH_ARPACK +#mesondefine PEPS_WITH_LBFGS +#mesondefine PEPS_WITH_MKL +#mesondefine PEPS_WITH_RSVD #mesondefine COMPILER_HAS_DIAGNOSTIC_PRAGMA diff --git a/meson/config/p-ipeps/meson.build b/meson/config/p-ipeps/meson.build index 08fa6b2..3d0aac6 100644 --- a/meson/config/p-ipeps/meson.build +++ b/meson/config/p-ipeps/meson.build @@ -3,7 +3,7 @@ _cdata = configuration_data() # optional_deps is defined in meson.build in the dependencies folder foreach _opt : optional_deps _v = 'PEPS_WITH_'+ _opt.to_upper() - _cdata.set(_v, get_variable('with_'+_opt, false)) + _cdata.set(_v, get_option(_opt)) endforeach diff --git a/meson/dependencies/lbfgs/meson.build b/meson/dependencies/lbfgs/meson.build index 1aa44af..91f3887 100644 --- a/meson/dependencies/lbfgs/meson.build +++ b/meson/dependencies/lbfgs/meson.build @@ -1,4 +1,3 @@ -set_variable('with_lbfgs', true) include_dirs += _lbfgs_include # defined in the meson.build in the bundled subdir #source_files += _lbfgs_source_files # defined in the meson.build in the bundled subdir diff --git a/meson/dependencies/meson.build b/meson/dependencies/meson.build index ceb57f3..dce5794 100644 --- a/meson/dependencies/meson.build +++ b/meson/dependencies/meson.build @@ -19,11 +19,6 @@ foreach _opt : optional_deps # first, we source the subdir where we test we can # compile and link and we update the list deps subdir(_opt) - # everything went fine and we can define a variable - # that will be used in the generation of the - # config file where we log the features of - # our project - set_variable('with_'+_opt, true) endif endforeach diff --git a/meson/dependencies/rsvd/meson.build b/meson/dependencies/rsvd/meson.build index d1b0596..afbd44a 100644 --- a/meson/dependencies/rsvd/meson.build +++ b/meson/dependencies/rsvd/meson.build @@ -1,9 +1,7 @@ # rsvd requires mkl -if not get_variable('with_mkl') - error('RSVD requires MKL. Please reconfigure by either passing -Dmkl=true or -Dmkl-dir=/path/to/mkl.') +if not get_option('mkl') + error('RSVD requires MKL. Please reconfigure by passing -Dmkl=true and eventually -Dmkl-dir=/path/to/mkl.') endif -set_variable('with_rsvd', true) - include_dirs += _rsvd_include # defined in the meson.build in the bundled subdir source_files += _rsvd_source_files # defined in the meson.build in the bundled subdir diff --git a/meson_options.txt b/meson_options.txt index d13919a..45c578a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,7 +1,5 @@ option('build-examples', type: 'boolean', value: true) -# TODO these should become type feature - ########### external dependendencies: # one option with `library_name`, type boolean # one option with `library_name-dir`, type string