├── .github └── CODEOWNERS ├── graphics └── hadrons-icon-title.png ├── application-template ├── Makefile.am └── bootstrap.sh ├── Hadrons ├── Modules │ ├── MScalar │ │ ├── Loop.cpp │ │ ├── Product.cpp │ │ ├── Z2Noise.cpp │ │ ├── Scalar.hpp │ │ └── FreeProp.cpp │ ├── MUtilities │ │ ├── FFT.cpp │ │ ├── SaveTimeMomentum.cpp │ │ ├── VectorPackRef.cpp │ │ ├── RandomVectors.cpp │ │ ├── Momentum.hpp │ │ ├── VectorUnpack.cpp │ │ ├── RandomField.cpp │ │ ├── MomentumRandomDirection.hpp │ │ ├── PrecisionCast.cpp │ │ └── Momentum.cpp │ ├── templates │ │ ├── Module_tmp_in_NS.cpp.template │ │ ├── Module_in_NS.cpp.template │ │ └── Module_in_NS.hpp.template │ ├── MScalarSUN │ │ ├── Hessian.cpp │ │ ├── Div.cpp │ │ ├── EMT.cpp │ │ ├── TrMag.cpp │ │ ├── TrPhi.cpp │ │ ├── TwoPoint.cpp │ │ ├── TrKinetic.cpp │ │ ├── TransProj.cpp │ │ ├── TwoPointNPR.cpp │ │ ├── Grad.cpp │ │ ├── StochFreeField.cpp │ │ └── WilsonFlow.cpp │ ├── MGauge │ │ ├── Random.cpp │ │ ├── Electrify.cpp │ │ ├── GaugeFix.cpp │ │ ├── StoutSmearing.cpp │ │ ├── GaugeTransform.cpp │ │ ├── StochasticQedL.cpp │ │ ├── StochasticQedTL.cpp │ │ ├── StochasticQedZeta.cpp │ │ ├── Unit.cpp │ │ ├── RandomGaugeTransformation.cpp │ │ ├── FlowObservables.cpp │ │ └── FundtoHirep.cpp │ ├── MIO │ │ ├── LoadNersc.cpp │ │ ├── LoadA2AVectors.cpp │ │ ├── LoadPerambulator.cpp │ │ ├── LoadA2AMatrixDiskVector.cpp │ │ ├── LoadOpenQcd.cpp │ │ ├── ResultGroup.cpp │ │ ├── SaveNersc.cpp │ │ ├── WriteResultGroup.cpp │ │ ├── LoadDistillationVectors.cpp │ │ ├── LoadLapEvec.cpp │ │ ├── LoadInterlacedDistillationNoise.cpp │ │ ├── LoadCosmHol.cpp │ │ ├── LoadEigenPack.cpp │ │ ├── LoadBinary.cpp │ │ ├── LoadField.cpp │ │ └── SaveField.cpp │ ├── MSource │ │ ├── Wall.cpp │ │ ├── Momentum.cpp │ │ ├── Convolution.cpp │ │ ├── JacobiSmear.cpp │ │ ├── SeqAslash.cpp │ │ ├── Random.cpp │ │ ├── Z2.cpp │ │ ├── Gauss.cpp │ │ ├── Point.cpp │ │ ├── Z2Diluted.cpp │ │ ├── SeqGamma.cpp │ │ ├── SeqConserved.cpp │ │ ├── MomentumPhase.cpp │ │ ├── SeqGammaRegion.cpp │ │ └── SeqGammaWall.cpp │ ├── MSink │ │ ├── Point0.cpp │ │ ├── Smear.cpp │ │ ├── SourceSink.cpp │ │ └── Point.cpp │ ├── MFermion │ │ ├── EMLepton.cpp │ │ ├── FreeProp.cpp │ │ ├── GaugeProp.cpp │ │ └── Operators.cpp │ ├── MNPR │ │ ├── G1.cpp │ │ ├── FourQuarkLoop.cpp │ │ ├── SubtractionOperators.cpp │ │ ├── Bilinear.cpp │ │ ├── ExternalLeg.cpp │ │ ├── FourQuarkFullyConnected.cpp │ │ └── FourFermionFullyConnected.cpp │ ├── MAction │ │ ├── Laplacian.cpp │ │ ├── CovariantLaplacian.cpp │ │ ├── Wilson.cpp │ │ ├── MobiusDWF.cpp │ │ ├── ScaledDWF.cpp │ │ ├── ZMobiusDWF.cpp │ │ ├── WilsonClover.cpp │ │ ├── WilsonExpClover.cpp │ │ └── DWF.cpp │ ├── MContraction │ │ ├── A2ALoop.cpp │ │ ├── Meson.cpp │ │ ├── DiscLoop.cpp │ │ ├── WeakEye3pt.cpp │ │ ├── Gamma3pt.cpp │ │ ├── A2AMesonField.cpp │ │ ├── WeakNonEye3pt.cpp │ │ ├── A2AAslashField.cpp │ │ ├── SigmaToNucleonEye.cpp │ │ ├── Loop.cpp │ │ ├── WeakMesonDecayKl2.cpp │ │ ├── SigmaToNucleonNonEye.cpp │ │ ├── A2AFourQuarkContraction.cpp │ │ ├── XiToSigmaEye.cpp │ │ ├── A2ASmearedMesonField.cpp │ │ ├── RareKaonNeutralDisc.cpp │ │ ├── Baryon.cpp │ │ ├── BaryonGamma3pt.cpp │ │ └── WardIdentity.cpp │ ├── MDistil │ │ ├── LapEvec.cpp │ │ ├── DistilMesonFieldFixed.cpp │ │ └── DistilMesonFieldRelative.cpp │ ├── MSolver │ │ ├── CGNE.cpp │ │ ├── A2AAslashVectors.cpp │ │ ├── A2AVectors.cpp │ │ ├── ImplicitlyRestartedLanczos.cpp │ │ ├── MADWFCG.cpp │ │ ├── MixedPrecisionRBPrecBiCGSTAB.cpp │ │ ├── MixedPrecisionRBPrecCG.cpp │ │ ├── MixedPrecisionRBPrecCGBatched.cpp │ │ ├── RBPrecCG.cpp │ │ └── LocalCoherenceLanczos.cpp │ ├── MGuesser │ │ ├── DeflationSrcCast.cpp │ │ └── ExactDeflation.cpp │ ├── MGradientFlow │ │ ├── FermionFlow.cpp │ │ └── GaugeFlow.cpp │ ├── MNoise │ │ ├── SparseSpinColorDiagonal.cpp │ │ ├── ExactDistillation.cpp │ │ ├── FullVolumeSpinColorDiagonal.cpp │ │ ├── TimeDilutedSpinColorDiagonal.cpp │ │ ├── InterlacedDistillation.cpp │ │ └── CheckerboardSpinColorDiagonal.cpp │ └── MRHQ │ │ ├── RHQInsertionVI.cpp │ │ ├── RHQInsertionV.cpp │ │ ├── RHQInsertionIV.cpp │ │ ├── RHQInsertionI.cpp │ │ └── RHQInsertionIII.cpp ├── make_module_list.sh ├── add_module.sh ├── add_module_template.sh ├── Archive │ └── Modules │ │ ├── TestSeqGamma.cpp │ │ └── TestSeqConserved.cpp ├── make_module_inst.sh ├── Makefile.am └── ModuleFactory.hpp ├── Makefile.am ├── benchmarks ├── Make.inc └── Makefile.am ├── .gitignore ├── bootstrap.sh ├── utilities ├── Makefile.am └── Contractor.hpp ├── tests ├── Test_highfreq_stat.cpp └── Make.inc └── hadrons-config.in /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @aportelli 2 | -------------------------------------------------------------------------------- /graphics/hadrons-icon-title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aportelli/Hadrons/HEAD/graphics/hadrons-icon-title.png -------------------------------------------------------------------------------- /application-template/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | ACLOCAL_AMFLAGS = -I .buildutils/m4 3 | 4 | bin_PROGRAMS = my-hadrons-app 5 | 6 | my_hadrons_app_SOURCES = main.cpp -------------------------------------------------------------------------------- /application-template/bootstrap.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | echo '-- generating configure script...' 5 | mkdir -p .buildutils/m4 6 | autoreconf -fvi 7 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalar/Loop.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace Grid; 4 | using namespace Hadrons; 5 | using namespace MScalar; 6 | 7 | template class HADRONS_NAMESPACE::MScalar::TLoop; 8 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = Hadrons utilities tests benchmarks 2 | 3 | bin_SCRIPTS = hadrons-config 4 | 5 | .PHONY: tests benchmarks 6 | 7 | tests-local: all 8 | benchmarks-local: all 9 | 10 | ACLOCAL_AMFLAGS = -I .buildutils/m4 11 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalar/Product.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace Grid; 4 | using namespace Hadrons; 5 | using namespace MScalar; 6 | 7 | template class HADRONS_NAMESPACE::MScalar::TProduct; 8 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalar/Z2Noise.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace Grid; 4 | using namespace Hadrons; 5 | using namespace MScalar; 6 | 7 | template class HADRONS_NAMESPACE::MScalar::TZ2Noise; 8 | -------------------------------------------------------------------------------- /benchmarks/Make.inc: -------------------------------------------------------------------------------- 1 | benchmarks-local: Benchmark_meson_field 2 | EXTRA_PROGRAMS = Benchmark_meson_field 3 | 4 | Benchmark_meson_field_SOURCES=Benchmark_meson_field.cc 5 | Benchmark_meson_field_LDADD=-lHadrons -lGrid 6 | 7 | CLEANFILES = Benchmark_meson_field 8 | 9 | -------------------------------------------------------------------------------- /Hadrons/Modules/MUtilities/FFT.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace Grid; 4 | using namespace Hadrons; 5 | using namespace MUtilities; 6 | 7 | template class HADRONS_NAMESPACE::MUtilities::TFFT::GaugeField>; 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build* 2 | /.buildutils 3 | /.vscode 4 | /autom4te.cache 5 | /config.* 6 | /compile 7 | /ar-lib 8 | /aclocal.m4 9 | /configure 10 | /depcomp 11 | /install-sh 12 | /missing 13 | Makefile.in 14 | /Hadrons/sqlite 15 | /Hadrons/Modules.hpp 16 | /Hadrons/modules.inc 17 | .DS_Store 18 | *~ -------------------------------------------------------------------------------- /Hadrons/Modules/templates/Module_tmp_in_NS.cpp.template: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace Grid; 4 | using namespace Hadrons; 5 | using namespace ___NAMESPACE___; 6 | 7 | template class HADRONS_NAMESPACE::___NAMESPACE___::T___FILEBASENAME___; 8 | -------------------------------------------------------------------------------- /Hadrons/Modules/MUtilities/SaveTimeMomentum.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace Grid; 4 | using namespace Hadrons; 5 | using namespace MUtilities; 6 | 7 | template class HADRONS_NAMESPACE::MUtilities::TSaveTimeMomentum::GaugeField>; 8 | -------------------------------------------------------------------------------- /benchmarks/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_LDFLAGS += -L$(top_builddir)/Hadrons 2 | AM_CXXFLAGS += -I$(top_srcdir) 3 | 4 | EXTRA_PROGRAMS = \ 5 | Benchmark_meson_field 6 | 7 | CLEANFILES = $(EXTRA_PROGRAMS) 8 | 9 | benchmarks-local: $(EXTRA_PROGRAMS) 10 | 11 | Benchmark_meson_field_SOURCES=Benchmark_meson_field.cc 12 | Benchmark_meson_field_LDADD=-lHadrons -lGrid 13 | 14 | -------------------------------------------------------------------------------- /Hadrons/make_module_list.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | echo 'modules_cpp =\' > modules.inc 4 | find Modules -name '*.cpp' -type f -print | LC_ALL=C sort | sed 's/^/ /;$q;s/$/ \\/' >> modules.inc 5 | echo '' >> modules.inc 6 | echo 'modules_hpp =\' >> modules.inc 7 | find Modules -name '*.hpp' -type f -print | LC_ALL=C sort | sed 's/^/ /;$q;s/$/ \\/' >> modules.inc 8 | echo '' >> modules.inc 9 | rm -f Modules.hpp 10 | for f in $(find Modules -name '*.hpp' | LC_ALL=C sort); do 11 | echo "#include " >> Modules.hpp 12 | done 13 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/Hessian.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace Grid; 4 | using namespace Hadrons; 5 | using namespace MScalarSUN; 6 | 7 | template class HADRONS_NAMESPACE::MScalarSUN::THessian; 8 | template class HADRONS_NAMESPACE::MScalarSUN::THessian>; 9 | template class HADRONS_NAMESPACE::MScalarSUN::THessian>; 10 | template class HADRONS_NAMESPACE::MScalarSUN::THessian>; 11 | template class HADRONS_NAMESPACE::MScalarSUN::THessian>; 12 | template class HADRONS_NAMESPACE::MScalarSUN::THessian>; 13 | -------------------------------------------------------------------------------- /bootstrap.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -euo pipefail 4 | 5 | sqlite_link="https://www.sqlite.org/2023/sqlite-amalgamation-3410200.zip" 6 | sha256='01df06a84803c1ab4d62c64e995b151b2dbcf5dbc93bbc5eee213cb18225d987' 7 | 8 | echo '-- generating module list...' 9 | cd Hadrons 10 | ./make_module_list.sh 11 | cd .. 12 | echo '-- downloading SQLite...' 13 | wget ${sqlite_link} 14 | archive="$(basename ${sqlite_link})" 15 | folder="${archive%.*}" 16 | echo "${sha256} ${archive}" | sha256sum --check 17 | unzip "${archive}" 18 | mkdir -p Hadrons/sqlite/ 19 | mv "${folder}"/sqlite3* Hadrons/sqlite/ 20 | rm -rf "${folder}" "${archive}" 21 | echo '-- generating configure script...' 22 | mkdir -p .buildutils/m4 23 | autoreconf -fvi 24 | -------------------------------------------------------------------------------- /Hadrons/add_module.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if (( $# != 2 )); then 4 | echo "usage: $(basename "$0") " 1>&2 5 | exit 1 6 | fi 7 | NAME=$1 8 | NS=$2 9 | 10 | mkdir -p "Modules/${NS}" 11 | if [ -e "Modules/${NS}/${NAME}.cpp" ] || [ -e "Modules/${NS}/${NAME}.hpp" ]; then 12 | echo "error: files Modules/${NS}/${NAME}.* already exists" 1>&2 13 | exit 1 14 | fi 15 | TMPCC=".${NS}.${NAME}.tmp.cpp" 16 | TMPHPP=".${NS}.${NAME}.tmp.hpp" 17 | sed "s/___FILEBASENAME___/${NAME}/g" Modules/templates/Module_in_NS.cpp.template > "${TMPCC}" 18 | sed "s/___FILEBASENAME___/${NAME}/g" Modules/templates/Module_in_NS.hpp.template > "${TMPHPP}" 19 | sed "s/___NAMESPACE___/${NS}/g" "${TMPCC}" > "Modules/${NS}/${NAME}.cpp" 20 | sed "s/___NAMESPACE___/${NS}/g" "${TMPHPP}" > "Modules/${NS}/${NAME}.hpp" 21 | rm -f "${TMPCC}" "${TMPHPP}" 22 | ./make_module_list.sh 23 | -------------------------------------------------------------------------------- /Hadrons/add_module_template.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if (( $# != 2)); then 4 | echo "usage: $(basename "$0") " 1>&2 5 | exit 1 6 | fi 7 | NAME=$1 8 | NS=$2 9 | 10 | mkdir -p "Modules/${NS}" 11 | if [ -e "Modules/${NS}/${NAME}.cpp" ] || [ -e "Modules/${NS}/${NAME}.hpp" ]; then 12 | echo "error: files Modules/${NS}/${NAME}.* already exists" 1>&2 13 | exit 1 14 | fi 15 | TMPCC=".${NS}.${NAME}.tmp.cpp" 16 | TMPHPP=".${NS}.${NAME}.tmp.hpp" 17 | sed "s/___FILEBASENAME___/${NAME}/g" Modules/templates/Module_tmp_in_NS.cpp.template > "${TMPCC}" 18 | sed "s/___FILEBASENAME___/${NAME}/g" Modules/templates/Module_tmp_in_NS.hpp.template > "${TMPHPP}" 19 | sed "s/___NAMESPACE___/${NS}/g" "${TMPCC}" > "Modules/${NS}/${NAME}.cpp" 20 | sed "s/___NAMESPACE___/${NS}/g" "${TMPHPP}" > "Modules/${NS}/${NAME}.hpp" 21 | rm -f "${TMPCC}" "${TMPHPP}" 22 | ./make_module_list.sh 23 | -------------------------------------------------------------------------------- /utilities/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_LDFLAGS += -L$(top_builddir)/Hadrons 2 | AM_CXXFLAGS += -I$(top_srcdir) 3 | 4 | bin_PROGRAMS = \ 5 | BatchDeflationBenchmark \ 6 | HadronsContractor \ 7 | HadronsContractorBenchmark \ 8 | HadronsXmlRun \ 9 | HadronsXmlValidate \ 10 | HadronsFermionEP64To32 11 | 12 | BatchDeflationBenchmark_SOURCES = BatchDeflationBenchmark.cpp 13 | BatchDeflationBenchmark_LDADD = -lHadrons -lGrid 14 | 15 | HadronsXmlRun_SOURCES = HadronsXmlRun.cpp 16 | HadronsXmlRun_LDADD = -lHadrons -lGrid 17 | 18 | HadronsXmlValidate_SOURCES = HadronsXmlValidate.cpp 19 | HadronsXmlValidate_LDADD = -lHadrons -lGrid 20 | 21 | HadronsFermionEP64To32_SOURCES = EigenPackCast.cpp 22 | HadronsFermionEP64To32_CXXFLAGS = $(AM_CXXFLAGS) -DFIN=WilsonImplD::FermionField -DFOUT=WilsonImplF::FermionField 23 | HadronsFermionEP64To32_LDADD = -lHadrons -lGrid 24 | 25 | HadronsContractor_SOURCES = Contractor.cpp 26 | HadronsContractor_LDADD = -lHadrons -lGrid 27 | 28 | HadronsContractorBenchmark_SOURCES = ContractorBenchmark.cpp 29 | HadronsContractorBenchmark_LDADD = -lHadrons -lGrid 30 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalar/Scalar.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Scalar.hpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #ifndef Hadrons_Scalar_hpp_ 27 | #define Hadrons_Scalar_hpp_ 28 | 29 | #define FREEMOMPROP(m) "_scalar_mom_prop_" + std::to_string(m) 30 | 31 | #endif // Hadrons_Scalar_hpp_ 32 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/Random.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Random.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MGauge; 31 | 32 | template class HADRONS_NAMESPACE::MGauge::TRandom; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadNersc.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadNersc.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MIO; 31 | 32 | template class HADRONS_NAMESPACE::MIO::TLoadNersc; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/Wall.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Wall.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSource; 31 | 32 | template class HADRONS_NAMESPACE::MSource::TWall; 33 | 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSink/Point0.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Point0.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSink; 31 | 32 | template class HADRONS_NAMESPACE::MSink::TPoint0; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/Electrify.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Electrify.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MGauge; 31 | 32 | template class HADRONS_NAMESPACE::MGauge::TElectrify; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/GaugeFix.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * GaugeFix.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MGauge; 32 | 33 | template class HADRONS_NAMESPACE::MGauge::TGaugeFix; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadA2AVectors.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadA2AVectors.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MIO; 31 | 32 | template class HADRONS_NAMESPACE::MIO::TLoadA2AVectors; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/Momentum.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Momentum.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSource; 31 | 32 | template class HADRONS_NAMESPACE::MSource::TMomentum; 33 | 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MFermion/EMLepton.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * EMLepton.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MFermion; 31 | 32 | template class HADRONS_NAMESPACE::MFermion::TEMLepton; 33 | 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MFermion/FreeProp.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeProp.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MFermion; 31 | 32 | template class HADRONS_NAMESPACE::MFermion::TFreeProp; 33 | 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNPR/G1.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * G1.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: rabbott 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MNPR; 32 | 33 | template class HADRONS_NAMESPACE::MNPR::TG1; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/Convolution.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Convolution.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSource; 31 | 32 | template class HADRONS_NAMESPACE::MSource::TConvolution; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/JacobiSmear.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * JacobiSmear.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSource; 31 | 32 | template class HADRONS_NAMESPACE::MSource::TJacobiSmear; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/SeqAslash.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SeqAslash.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSource; 31 | 32 | template class HADRONS_NAMESPACE::MSource::TSeqAslash; 33 | 34 | -------------------------------------------------------------------------------- /utilities/Contractor.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Contractor.hpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #ifndef Hadrons_Contractor_hpp_ 27 | #define Hadrons_Contractor_hpp_ 28 | 29 | #include 30 | 31 | BEGIN_HADRONS_NAMESPACE 32 | 33 | 34 | 35 | END_HADRONS_NAMESPACE 36 | 37 | #endif // Hadrons_Contractor_hpp_ 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/MAction/Laplacian.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Laplacian.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MAction; 31 | 32 | template class HADRONS_NAMESPACE::MAction::TLaplacian; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/A2ALoop.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * A2ALoop.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TA2ALoop; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/StoutSmearing.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * StoutSmearing.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MGauge; 31 | 32 | template class HADRONS_NAMESPACE::MGauge::TStoutSmearing; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/Meson.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Meson.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TMeson; 33 | 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/GaugeTransform.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * GaugeTransform.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MGauge; 31 | 32 | template class HADRONS_NAMESPACE::MGauge::TGaugeTransform; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/StochasticQedL.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * StochasticQedL.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MGauge; 31 | 32 | template class HADRONS_NAMESPACE::MGauge::TStochasticQedL; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadPerambulator.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadPerambulator.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MIO; 32 | 33 | template class HADRONS_NAMESPACE::MIO::TLoadPerambulator; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/DiscLoop.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * DiscLoop.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TDiscLoop; 33 | 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/WeakEye3pt.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * WeakEye3pt.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TWeakEye3pt; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/StochasticQedTL.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * StochasticQedTL.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MGauge; 31 | 32 | template class HADRONS_NAMESPACE::MGauge::TStochasticQedTL; 33 | -------------------------------------------------------------------------------- /Hadrons/Archive/Modules/TestSeqGamma.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TestSeqGamma.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MUtilities; 31 | 32 | template class HADRONS_NAMESPACE::MUtilities::TTestSeqGamma; 33 | 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/Gamma3pt.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Gamma3pt.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TGamma3pt; 33 | 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/StochasticQedZeta.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * StochasticQedZeta.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MGauge; 31 | 32 | template class HADRONS_NAMESPACE::MGauge::TStochasticQedZeta; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/A2AMesonField.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * A2AMesonField.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TA2AMesonField; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/WeakNonEye3pt.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * WeakNonEye3pt.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TWeakNonEye3pt; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadA2AMatrixDiskVector.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadA2AMatrixDiskVector.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MIO; 31 | 32 | template class HADRONS_NAMESPACE::MIO::TLoadA2AMatrixDiskVector; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/Random.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Random.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: ferben 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MSource; 32 | 33 | template class HADRONS_NAMESPACE::MSource::TRandom; 34 | -------------------------------------------------------------------------------- /Hadrons/Archive/Modules/TestSeqConserved.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TestSeqConserved.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MUtilities; 31 | 32 | template class HADRONS_NAMESPACE::MUtilities::TTestSeqConserved; 33 | 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadOpenQcd.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadOpenQcd.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fabian Joswig 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MIO; 32 | 33 | template class HADRONS_NAMESPACE::MIO::TLoadOpenQcd; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/ResultGroup.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * ResultGroup.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Ryan Hill 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MIO; 32 | 33 | template class HADRONS_NAMESPACE::MIO::TResultGroup; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/Z2.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Z2.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSource; 31 | 32 | template class HADRONS_NAMESPACE::MSource::TZ2; 33 | template class HADRONS_NAMESPACE::MSource::TZ2; 34 | 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MUtilities/VectorPackRef.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * VectorPackRef.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MUtilities; 31 | 32 | template class HADRONS_NAMESPACE::MUtilities::TVectorPackRef; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/A2AAslashField.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * A2AAslashField.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TA2AAslashField; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MDistil/LapEvec.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LapEvec.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Felix Erben 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | 28 | #include 29 | 30 | using namespace Grid; 31 | using namespace Hadrons; 32 | using namespace MDistil; 33 | 34 | template class HADRONS_NAMESPACE::MDistil::TLapEvec; 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/Unit.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Unit.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MGauge; 31 | 32 | template class HADRONS_NAMESPACE::MGauge::TUnit; 33 | template class HADRONS_NAMESPACE::MGauge::TUnit; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNPR/FourQuarkLoop.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * FourQuarkLoop.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Felix Erben 8 | * Author: rabbott 9 | * 10 | * Hadrons is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation, either version 2 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * Hadrons is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with Hadrons. If not, see . 22 | * 23 | * See the full license in the file "LICENSE" in the top level distribution 24 | * directory. 25 | */ 26 | 27 | /* END LEGAL */ 28 | #include 29 | 30 | using namespace Grid; 31 | 32 | template class HADRONS_NAMESPACE::MNPR::TFourQuarkLoop; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSolver/CGNE.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * CGNE.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSolver; 31 | 32 | template class HADRONS_NAMESPACE::MSolver::TCGNE; 33 | template class HADRONS_NAMESPACE::MSolver::TCGNE; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/SigmaToNucleonEye.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SigmaToNucleonEye.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TSigmaToNucleonEye; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSink/Smear.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Smear.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Raoul Hodgson 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MSink; 32 | 33 | template class HADRONS_NAMESPACE::MSink::TSmear; 34 | 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/Gauss.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Gauss.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSource; 31 | 32 | template class HADRONS_NAMESPACE::MSource::TGauss; 33 | template class HADRONS_NAMESPACE::MSource::TGauss; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MAction/CovariantLaplacian.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * CovariantLaplacian.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MAction; 31 | 32 | template class HADRONS_NAMESPACE::MAction::TCovariantLaplacian; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/Loop.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Loop.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fionn O hOgain 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MContraction; 32 | 33 | template class HADRONS_NAMESPACE::MContraction::TLoop; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/WeakMesonDecayKl2.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * WeakMesonDecayKl2.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TWeakMesonDecayKl2; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/RandomGaugeTransformation.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * RandomGaugeTransformation.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MGauge; 31 | 32 | template class HADRONS_NAMESPACE::MGauge::TRandomGaugeTransformation; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/SaveNersc.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SaveNersc.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Michael Marshall <43034299+mmphys@users.noreply.github.com> 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MIO; 32 | 33 | template class HADRONS_NAMESPACE::MIO::TSaveNersc; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalar/FreeProp.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeProp.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Simon Bürger 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MScalar; 32 | 33 | template class HADRONS_NAMESPACE::MScalar::TFreeProp; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSink/SourceSink.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SourceSink.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Raoul Hodgson 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MSink; 32 | 33 | template class HADRONS_NAMESPACE::MSink::TSourceSink; 34 | 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/Point.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Point.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSource; 31 | 32 | template class HADRONS_NAMESPACE::MSource::TPoint; 33 | template class HADRONS_NAMESPACE::MSource::TPoint; 34 | 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/Z2Diluted.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Z2Diluted.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fionn O hOgain 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MSource; 32 | 33 | template class HADRONS_NAMESPACE::MSource::TZ2Diluted; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/SigmaToNucleonNonEye.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SigmaToNucleonNonEye.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TSigmaToNucleonNonEye; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/WriteResultGroup.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * WriteResultGroup.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Ryan Hill 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MIO; 32 | 33 | template class HADRONS_NAMESPACE::MIO::TWriteResultGroup; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/SeqGamma.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SeqGamma.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSource; 31 | 32 | template class HADRONS_NAMESPACE::MSource::TSeqGamma; 33 | template class HADRONS_NAMESPACE::MSource::TSeqGamma; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MFermion/GaugeProp.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * GaugeProp.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MFermion; 31 | 32 | template class HADRONS_NAMESPACE::MFermion::TGaugeProp; 33 | template class HADRONS_NAMESPACE::MFermion::TGaugeProp; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MFermion/Operators.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Operators.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MFermion; 31 | 32 | template class HADRONS_NAMESPACE::MFermion::TOperators; 33 | template class HADRONS_NAMESPACE::MFermion::TOperators; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/FlowObservables.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * FlowObservables.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fabian Joswig 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MGauge; 32 | 33 | template class HADRONS_NAMESPACE::MGauge::TFlowObservables; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/A2AFourQuarkContraction.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * A2AFourQuarkContraction.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MContraction; 31 | 32 | template class HADRONS_NAMESPACE::MContraction::TA2AFourQuarkContraction; 33 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNPR/SubtractionOperators.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SubtractionOperators.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: rabbott 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MNPR; 32 | 33 | template class HADRONS_NAMESPACE::MNPR::TSubtractionOperators; 34 | -------------------------------------------------------------------------------- /Hadrons/make_module_inst.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | for m in `find Modules -name '*.hpp' -type f -print`; do 4 | echo "====== ${m}" 5 | CCFILE=`echo $m | sed -E s/\.hpp/.cpp/g` 6 | NS=`echo $m | awk -F '/' '{print $2}'` 7 | NMOD=`grep -E 'MODULE_REGISTER_TMP.+<.+>.?' $m | wc -l` 8 | if [ ! -e ${CCFILE} ] && (( NMOD != 0 )); then 9 | echo "#include " >> ${CCFILE} 10 | echo "" >> ${CCFILE} 11 | echo "using namespace Grid;" >> ${CCFILE} 12 | echo "using namespace Hadrons;" >> ${CCFILE} 13 | echo "using namespace ${NS};" >> ${CCFILE} 14 | echo "" >> ${CCFILE} 15 | for i in `grep -E 'MODULE_REGISTER_TMP.+<.+>.?' $m | sed -E 's/ +//g'` 16 | do 17 | TMPARG=`echo ${i} | grep -oE 'ARG\(.+>\)' | sed -E 's/^ARG\(//g' | sed -E 's/\)$//g'` 18 | SUB=`echo ${i} | sed -E 's/ARG\(.+>\)/@arg@/g' | sed -E 's/,/|/g'` 19 | SUB=`echo ${SUB} | sed -E 's/.+\(//g' | sed -E 's/\);//g'` 20 | SUB=`echo ${SUB} | sed -E "s/@arg@/${TMPARG}/g"` 21 | NAME=`echo ${SUB} | awk -F '|' '{print $1}'` 22 | TYPE=`echo ${SUB} | awk -F '|' '{print $2}'` 23 | echo "template class HADRONS_NAMESPACE::${NS}::${TYPE};" >> ${CCFILE} 24 | done 25 | echo "" >> ${CCFILE} 26 | fi 27 | done -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/XiToSigmaEye.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * XiToSigmaEye.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Felix Erben 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MContraction; 32 | 33 | template class HADRONS_NAMESPACE::MContraction::TXiToSigmaEye; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/SeqConserved.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SeqConserved.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSource; 31 | 32 | template class HADRONS_NAMESPACE::MSource::TSeqConserved; 33 | template class HADRONS_NAMESPACE::MSource::TSeqConserved; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/MomentumPhase.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * MomentumPhase.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSource; 31 | 32 | template class HADRONS_NAMESPACE::MSource::TMomentumPhase; 33 | template class HADRONS_NAMESPACE::MSource::TMomentumPhase; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGuesser/DeflationSrcCast.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * DeflationSrcCast.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Raoul Hodgson 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MGuesser; 32 | 33 | template class HADRONS_NAMESPACE::MGuesser::TDeflationSrcCast; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadDistillationVectors.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadDistillationVectors.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Felix Erben 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MIO; 32 | 33 | template class HADRONS_NAMESPACE::MIO::TLoadDistillationVectors; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNPR/Bilinear.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Bilinear.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fabian Joswig 8 | * Author: Felix Erben 9 | * 10 | * Hadrons is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation, either version 2 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * Hadrons is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with Hadrons. If not, see . 22 | * 23 | * See the full license in the file "LICENSE" in the top level distribution 24 | * directory. 25 | */ 26 | 27 | /* END LEGAL */ 28 | #include 29 | 30 | using namespace Grid; 31 | using namespace Hadrons; 32 | using namespace MNPR; 33 | 34 | template class HADRONS_NAMESPACE::MNPR::TBilinear; 35 | 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadLapEvec.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadLapEvec.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Felix Erben 8 | * Author: nelsonlachini 9 | * 10 | * Hadrons is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation, either version 2 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * Hadrons is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with Hadrons. If not, see . 22 | * 23 | * See the full license in the file "LICENSE" in the top level distribution 24 | * directory. 25 | */ 26 | 27 | /* END LEGAL */ 28 | #include 29 | 30 | using namespace Grid; 31 | using namespace Hadrons; 32 | using namespace MIO; 33 | 34 | template class HADRONS_NAMESPACE::MIO::TLoadLapEvec; 35 | 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSolver/A2AAslashVectors.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * A2AAslashVectors.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSolver; 31 | 32 | template class HADRONS_NAMESPACE::MSolver::TA2AAslashVectors; 33 | template class HADRONS_NAMESPACE::MSolver::TA2AAslashVectors; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MAction/Wilson.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Wilson.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MAction; 31 | 32 | template class HADRONS_NAMESPACE::MAction::TWilson; 33 | #ifdef GRID_DEFAULT_PRECISION_DOUBLE 34 | template class HADRONS_NAMESPACE::MAction::TWilson; 35 | #endif 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/A2ASmearedMesonField.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * A2ASmearedMesonField.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Nils Asmussen 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MContraction; 32 | 33 | template class HADRONS_NAMESPACE::MContraction::TA2ASmearedMesonField; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MAction/MobiusDWF.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * MobiusDWF.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MAction; 31 | 32 | template class HADRONS_NAMESPACE::MAction::TMobiusDWF; 33 | #ifdef GRID_DEFAULT_PRECISION_DOUBLE 34 | template class HADRONS_NAMESPACE::MAction::TMobiusDWF; 35 | #endif 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MAction/ScaledDWF.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * ScaledDWF.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MAction; 31 | 32 | template class HADRONS_NAMESPACE::MAction::TScaledDWF; 33 | #ifdef GRID_DEFAULT_PRECISION_DOUBLE 34 | template class HADRONS_NAMESPACE::MAction::TScaledDWF; 35 | #endif 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGradientFlow/FermionFlow.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * FermionFlow.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2022 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Matthew Black 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MGradientFlow; 32 | 33 | template class Grid::Hadrons::MGradientFlow::TFermionFlow>; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/templates/Module_in_NS.cpp.template: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace Grid; 4 | using namespace Hadrons; 5 | using namespace ___NAMESPACE___; 6 | 7 | /****************************************************************************** 8 | * T___FILEBASENAME___ implementation * 9 | ******************************************************************************/ 10 | // constructor ///////////////////////////////////////////////////////////////// 11 | T___FILEBASENAME___::T___FILEBASENAME___(const std::string name) 12 | : Module<___FILEBASENAME___Par>(name) 13 | {} 14 | 15 | // dependencies/products /////////////////////////////////////////////////////// 16 | std::vector T___FILEBASENAME___::getInput(void) 17 | { 18 | std::vector in; 19 | 20 | return in; 21 | } 22 | 23 | std::vector T___FILEBASENAME___::getOutput(void) 24 | { 25 | std::vector out = {getName()}; 26 | 27 | return out; 28 | } 29 | 30 | // setup /////////////////////////////////////////////////////////////////////// 31 | void T___FILEBASENAME___::setup(void) 32 | { 33 | 34 | } 35 | 36 | // execution /////////////////////////////////////////////////////////////////// 37 | void T___FILEBASENAME___::execute(void) 38 | { 39 | 40 | } 41 | -------------------------------------------------------------------------------- /Hadrons/Modules/MAction/ZMobiusDWF.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * ZMobiusDWF.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MAction; 31 | 32 | template class HADRONS_NAMESPACE::MAction::TZMobiusDWF; 33 | #ifdef GRID_DEFAULT_PRECISION_DOUBLE 34 | template class HADRONS_NAMESPACE::MAction::TZMobiusDWF; 35 | #endif 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/RareKaonNeutralDisc.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * RareKaonNeutralDisc.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fionn O hOgain 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | 28 | #include 29 | 30 | using namespace Grid; 31 | using namespace Hadrons; 32 | using namespace MContraction; 33 | 34 | template class HADRONS_NAMESPACE::MContraction::TRareKaonNeutralDisc; 35 | 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadInterlacedDistillationNoise.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadInterlacedDistillationNoise.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: nelsonlachini 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MIO; 32 | 33 | template class HADRONS_NAMESPACE::MIO::TLoadInterlacedDistillationNoise; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNoise/SparseSpinColorDiagonal.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SparseSpinColorDiagonal.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MNoise; 31 | 32 | template class HADRONS_NAMESPACE::MNoise::TSparseSpinColorDiagonal; 33 | template class HADRONS_NAMESPACE::MNoise::TSparseSpinColorDiagonal; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSolver/A2AVectors.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * A2AVectors.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSolver; 31 | 32 | template class HADRONS_NAMESPACE::MSolver::TA2AVectors>; 33 | template class HADRONS_NAMESPACE::MSolver::TA2AVectors>; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MUtilities/RandomVectors.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * RandomVectors.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MUtilities; 31 | 32 | template class HADRONS_NAMESPACE::MUtilities::TRandomVectors; 33 | template class HADRONS_NAMESPACE::MUtilities::TRandomVectors; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MAction/WilsonClover.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * WilsonClover.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MAction; 31 | 32 | template class HADRONS_NAMESPACE::MAction::TWilsonClover; 33 | #ifdef GRID_DEFAULT_PRECISION_DOUBLE 34 | template class HADRONS_NAMESPACE::MAction::TWilsonClover; 35 | #endif 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGuesser/ExactDeflation.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * ExactDeflation.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MGuesser; 31 | 32 | template class HADRONS_NAMESPACE::MGuesser::TExactDeflation>; 33 | template class HADRONS_NAMESPACE::MGuesser::TExactDeflation>; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNoise/ExactDistillation.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * ExactDistillation.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Felix Erben 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MNoise; 32 | 33 | template class HADRONS_NAMESPACE::MNoise::TExactDistillation; 34 | template class HADRONS_NAMESPACE::MNoise::TExactDistillation; 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNoise/FullVolumeSpinColorDiagonal.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * FullVolumeSpinColorDiagonal.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MNoise; 31 | 32 | template class HADRONS_NAMESPACE::MNoise::TFullVolumeSpinColorDiagonal; 33 | template class HADRONS_NAMESPACE::MNoise::TFullVolumeSpinColorDiagonal; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNPR/ExternalLeg.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * ExternalLeg.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fabian Joswig 8 | * Author: Fabian Joswig 9 | * Author: rabbott 10 | * 11 | * Hadrons is free software: you can redistribute it and/or modify 12 | * it under the terms of the GNU General Public License as published by 13 | * the Free Software Foundation, either version 2 of the License, or 14 | * (at your option) any later version. 15 | * 16 | * Hadrons is distributed in the hope that it will be useful, 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | * GNU General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Hadrons. If not, see . 23 | * 24 | * See the full license in the file "LICENSE" in the top level distribution 25 | * directory. 26 | */ 27 | 28 | /* END LEGAL */ 29 | #include 30 | 31 | using namespace Grid; 32 | using namespace Hadrons; 33 | using namespace MNPR; 34 | 35 | template class HADRONS_NAMESPACE::MNPR::TExternalLeg; 36 | 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNPR/FourQuarkFullyConnected.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * FourQuarkFullyConnected.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fabian Joswig 8 | * Author: Felix Erben 9 | * 10 | * Hadrons is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation, either version 2 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * Hadrons is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with Hadrons. If not, see . 22 | * 23 | * See the full license in the file "LICENSE" in the top level distribution 24 | * directory. 25 | */ 26 | 27 | /* END LEGAL */ 28 | #include 29 | 30 | using namespace Grid; 31 | using namespace Hadrons; 32 | using namespace MNPR; 33 | 34 | 35 | template class HADRONS_NAMESPACE::MNPR::TFourQuarkFullyConnected; 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNoise/TimeDilutedSpinColorDiagonal.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TimeDilutedSpinColorDiagonal.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MNoise; 31 | 32 | template class HADRONS_NAMESPACE::MNoise::TTimeDilutedSpinColorDiagonal; 33 | template class HADRONS_NAMESPACE::MNoise::TTimeDilutedSpinColorDiagonal; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGauge/FundtoHirep.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * FundtoHirep.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MGauge; 32 | 33 | template class MGauge::TFundtoHirep; 34 | template class MGauge::TFundtoHirep; 35 | template class MGauge::TFundtoHirep; 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNPR/FourFermionFullyConnected.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * FourFermionFullyConnected.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fabian Joswig 8 | * Author: Felix Erben 9 | * 10 | * Hadrons is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation, either version 2 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * Hadrons is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with Hadrons. If not, see . 22 | * 23 | * See the full license in the file "LICENSE" in the top level distribution 24 | * directory. 25 | */ 26 | 27 | /* END LEGAL */ 28 | #include 29 | 30 | using namespace Grid; 31 | using namespace Hadrons; 32 | using namespace MNPR; 33 | 34 | 35 | template class HADRONS_NAMESPACE::MNPR::TFourFermionFullyConnected; 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/SeqGammaRegion.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SeqGammaRegion.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Michael Marshall <43034299+mmphys@users.noreply.github.com> 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MSource; 32 | 33 | template class HADRONS_NAMESPACE::MSource::TSeqGammaRegion; 34 | template class HADRONS_NAMESPACE::MSource::TSeqGammaRegion; 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNoise/InterlacedDistillation.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * InterlacedDistillation.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Felix Erben 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MNoise; 32 | 33 | template class HADRONS_NAMESPACE::MNoise::TInterlacedDistillation; 34 | template class HADRONS_NAMESPACE::MNoise::TInterlacedDistillation; 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MRHQ/RHQInsertionVI.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * RHQInsertionVI.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Alessandro Barone 7 | * Author: Alessandro Barone 8 | * Author: Antonin Portelli 9 | * Author: Ryan Hill 10 | * 11 | * Hadrons is free software: you can redistribute it and/or modify 12 | * it under the terms of the GNU General Public License as published by 13 | * the Free Software Foundation, either version 2 of the License, or 14 | * (at your option) any later version. 15 | * 16 | * Hadrons is distributed in the hope that it will be useful, 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | * GNU General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Hadrons. If not, see . 23 | * 24 | * See the full license in the file "LICENSE" in the top level distribution 25 | * directory. 26 | */ 27 | 28 | /* END LEGAL */ 29 | #include 30 | 31 | using namespace Grid; 32 | using namespace Hadrons; 33 | using namespace MRHQ; 34 | 35 | template class HADRONS_NAMESPACE::MRHQ::TRHQInsertionVI; 36 | 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MUtilities/Momentum.hpp: -------------------------------------------------------------------------------- 1 | #ifndef Hadrons_MUtilities_Momentum_hpp_ 2 | #define Hadrons_MUtilities_Momentum_hpp_ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | BEGIN_HADRONS_NAMESPACE 9 | 10 | /****************************************************************************** 11 | * simple module creating a constant momentum * 12 | ******************************************************************************/ 13 | BEGIN_MODULE_NAMESPACE(MUtilities) 14 | 15 | class MomentumPar: Serializable 16 | { 17 | public: 18 | GRID_SERIALIZABLE_CLASS_MEMBERS(MomentumPar, 19 | std::string, mom, 20 | std::string, output); 21 | }; 22 | 23 | class TMomentum: public Module 24 | { 25 | public: 26 | // constructor 27 | TMomentum(const std::string name); 28 | // destructor 29 | virtual ~TMomentum(void) {}; 30 | // dependency relation 31 | virtual std::vector getInput(void); 32 | virtual std::vector getOutput(void); 33 | // setup 34 | virtual void setup(void); 35 | // execution 36 | virtual void execute(void); 37 | }; 38 | 39 | MODULE_REGISTER(Momentum, TMomentum, MUtilities); 40 | 41 | END_MODULE_NAMESPACE 42 | 43 | END_HADRONS_NAMESPACE 44 | 45 | #endif // Hadrons_MUtilities_Momentum_hpp_ 46 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSolver/ImplicitlyRestartedLanczos.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * ImplicitlyRestartedLanczos.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSolver; 31 | 32 | template class HADRONS_NAMESPACE::MSolver::TImplicitlyRestartedLanczos; 33 | template class HADRONS_NAMESPACE::MSolver::TImplicitlyRestartedLanczos; 34 | -------------------------------------------------------------------------------- /Hadrons/Modules/MAction/WilsonExpClover.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * WilsonExpClover.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fabian Joswig 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MAction; 32 | 33 | template class HADRONS_NAMESPACE::MAction::TWilsonExpClover; 34 | #ifdef GRID_DEFAULT_PRECISION_DOUBLE 35 | template class HADRONS_NAMESPACE::MAction::TWilsonExpClover; 36 | #endif 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MAction/DWF.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * DWF.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MAction; 31 | 32 | template class HADRONS_NAMESPACE::MAction::TDWF; 33 | template class HADRONS_NAMESPACE::MAction::TDWF; 34 | #ifdef GRID_DEFAULT_PRECISION_DOUBLE 35 | template class HADRONS_NAMESPACE::MAction::TDWF; 36 | template class HADRONS_NAMESPACE::MAction::TDWF; 37 | #endif 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/MUtilities/VectorUnpack.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * VectorUnpack.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MUtilities; 31 | 32 | template class HADRONS_NAMESPACE::MUtilities::TVectorUnpack; 33 | template class HADRONS_NAMESPACE::MUtilities::TVectorUnpack; 34 | template class HADRONS_NAMESPACE::MUtilities::TVectorUnpack; 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MDistil/DistilMesonFieldFixed.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * DistilMesonFieldFixed.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Felix Erben 8 | * Author: Nelson Lachini 9 | * Author: nelsonlachini 10 | * 11 | * Hadrons is free software: you can redistribute it and/or modify 12 | * it under the terms of the GNU General Public License as published by 13 | * the Free Software Foundation, either version 2 of the License, or 14 | * (at your option) any later version. 15 | * 16 | * Hadrons is distributed in the hope that it will be useful, 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | * GNU General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Hadrons. If not, see . 23 | * 24 | * See the full license in the file "LICENSE" in the top level distribution 25 | * directory. 26 | */ 27 | 28 | /* END LEGAL */ 29 | 30 | #include 31 | 32 | using namespace Grid; 33 | using namespace Hadrons; 34 | using namespace MDistil; 35 | 36 | template class HADRONS_NAMESPACE::MDistil::TDistilMesonFieldFixed; 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MNoise/CheckerboardSpinColorDiagonal.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * CheckerboardSpinColorDiagonal.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fionn O hOgain 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MNoise; 32 | 33 | template class HADRONS_NAMESPACE::MNoise::TCheckerboardSpinColorDiagonal; 34 | template class HADRONS_NAMESPACE::MNoise::TCheckerboardSpinColorDiagonal; 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSolver/MADWFCG.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * MADWFCG.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Raoul Hodgson 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MSolver; 32 | 33 | template class HADRONS_NAMESPACE::MSolver::TMADWFCG; 34 | template class HADRONS_NAMESPACE::MSolver::TMADWFCG; 35 | template class HADRONS_NAMESPACE::MSolver::TMADWFCG< FIMPLD, FIMPLD>; 36 | 37 | 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSource/SeqGammaWall.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SeqGammaWall.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Michael Marshall <43034299+mmphys@users.noreply.github.com> 8 | * Author: Michael Marshall 9 | * 10 | * Hadrons is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation, either version 2 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * Hadrons is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with Hadrons. If not, see . 22 | * 23 | * See the full license in the file "LICENSE" in the top level distribution 24 | * directory. 25 | */ 26 | 27 | /* END LEGAL */ 28 | #include 29 | 30 | using namespace Grid; 31 | using namespace Hadrons; 32 | using namespace MSource; 33 | 34 | template class HADRONS_NAMESPACE::MSource::TSeqGammaWall; 35 | template class HADRONS_NAMESPACE::MSource::TSeqGammaWall; 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MDistil/DistilMesonFieldRelative.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * DistilMesonFieldRelative.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Felix Erben 8 | * Author: Nelson Lachini 9 | * Author: nelsonlachini 10 | * 11 | * Hadrons is free software: you can redistribute it and/or modify 12 | * it under the terms of the GNU General Public License as published by 13 | * the Free Software Foundation, either version 2 of the License, or 14 | * (at your option) any later version. 15 | * 16 | * Hadrons is distributed in the hope that it will be useful, 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | * GNU General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Hadrons. If not, see . 23 | * 24 | * See the full license in the file "LICENSE" in the top level distribution 25 | * directory. 26 | */ 27 | 28 | /* END LEGAL */ 29 | 30 | #include 31 | 32 | using namespace Grid; 33 | using namespace Hadrons; 34 | using namespace MDistil; 35 | 36 | template class HADRONS_NAMESPACE::MDistil::TDistilMesonFieldRelative; 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSolver/MixedPrecisionRBPrecBiCGSTAB.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * MixedPrecisionRBPrecBiCGSTAB.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fabian Joswig 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MSolver; 32 | 33 | template class HADRONS_NAMESPACE::MSolver::TMixedPrecisionRBPrecBiCGSTAB; 34 | template class HADRONS_NAMESPACE::MSolver::TMixedPrecisionRBPrecBiCGSTAB; 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSolver/MixedPrecisionRBPrecCG.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * MixedPrecisionRBPrecCG.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSolver; 31 | 32 | template class HADRONS_NAMESPACE::MSolver::TMixedPrecisionRBPrecCG; 33 | template class HADRONS_NAMESPACE::MSolver::TMixedPrecisionRBPrecCG; 34 | template class HADRONS_NAMESPACE::MSolver::TMixedPrecisionRBPrecCG; 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSolver/MixedPrecisionRBPrecCGBatched.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * MixedPrecisionRBPrecCGBatched.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Raoul Hodgson 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MSolver; 32 | 33 | template class HADRONS_NAMESPACE::MSolver::TMixedPrecisionRBPrecCGBatched; 34 | template class HADRONS_NAMESPACE::MSolver::TMixedPrecisionRBPrecCGBatched; 35 | -------------------------------------------------------------------------------- /Hadrons/Modules/MRHQ/RHQInsertionV.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * RHQInsertionV.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Alessandro Barone 7 | * Author: Alessandro Barone 8 | * Author: Antonin Portelli 9 | * Author: RChrHill <75032435+RChrHill@users.noreply.github.com> 10 | * Author: Ryan Hill 11 | * 12 | * Hadrons is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU General Public License as published by 14 | * the Free Software Foundation, either version 2 of the License, or 15 | * (at your option) any later version. 16 | * 17 | * Hadrons is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU General Public License 23 | * along with Hadrons. If not, see . 24 | * 25 | * See the full license in the file "LICENSE" in the top level distribution 26 | * directory. 27 | */ 28 | 29 | /* END LEGAL */ 30 | #include 31 | 32 | using namespace Grid; 33 | using namespace Hadrons; 34 | using namespace MRHQ; 35 | 36 | template class HADRONS_NAMESPACE::MRHQ::TRHQInsertionV; 37 | 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/templates/Module_in_NS.hpp.template: -------------------------------------------------------------------------------- 1 | #ifndef Hadrons____NAMESPACE_______FILEBASENAME____hpp_ 2 | #define Hadrons____NAMESPACE_______FILEBASENAME____hpp_ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | BEGIN_HADRONS_NAMESPACE 9 | 10 | /****************************************************************************** 11 | * ___FILEBASENAME___ * 12 | ******************************************************************************/ 13 | BEGIN_MODULE_NAMESPACE(___NAMESPACE___) 14 | 15 | class ___FILEBASENAME___Par: Serializable 16 | { 17 | public: 18 | GRID_SERIALIZABLE_CLASS_MEMBERS(___FILEBASENAME___Par, 19 | unsigned int, i); 20 | }; 21 | 22 | class T___FILEBASENAME___: public Module<___FILEBASENAME___Par> 23 | { 24 | public: 25 | // constructor 26 | T___FILEBASENAME___(const std::string name); 27 | // destructor 28 | virtual ~T___FILEBASENAME___(void) {}; 29 | // dependency relation 30 | virtual std::vector getInput(void); 31 | virtual std::vector getOutput(void); 32 | // setup 33 | virtual void setup(void); 34 | // execution 35 | virtual void execute(void); 36 | }; 37 | 38 | MODULE_REGISTER(___FILEBASENAME___, T___FILEBASENAME___, ___NAMESPACE___); 39 | 40 | END_MODULE_NAMESPACE 41 | 42 | END_HADRONS_NAMESPACE 43 | 44 | #endif // Hadrons____NAMESPACE_______FILEBASENAME____hpp_ 45 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSink/Point.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Point.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Raoul Hodgson 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MSink; 32 | 33 | typedef Lattice,Ns>>> SpinMatField; 34 | 35 | template class HADRONS_NAMESPACE::MSink::TPoint; 36 | template class HADRONS_NAMESPACE::MSink::TPoint; 37 | template class HADRONS_NAMESPACE::MSink::TPoint; 38 | 39 | -------------------------------------------------------------------------------- /Hadrons/Modules/MSolver/RBPrecCG.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * RBPrecCG.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSolver; 31 | 32 | template class HADRONS_NAMESPACE::MSolver::TRBPrecCG; 33 | template class HADRONS_NAMESPACE::MSolver::TRBPrecCG; 34 | template class HADRONS_NAMESPACE::MSolver::TRBPrecCG; 35 | template class HADRONS_NAMESPACE::MSolver::TRBPrecCG; 36 | template class HADRONS_NAMESPACE::MSolver::TRBPrecCG; 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/Baryon.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Baryon.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Felix Erben 8 | * Author: Michael Marshall <43034299+mmphys@users.noreply.github.com> 9 | * Author: Raoul Hodgson 10 | * Author: Simon Bürger 11 | * 12 | * Hadrons is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU General Public License as published by 14 | * the Free Software Foundation, either version 2 of the License, or 15 | * (at your option) any later version. 16 | * 17 | * Hadrons is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU General Public License 23 | * along with Hadrons. If not, see . 24 | * 25 | * See the full license in the file "LICENSE" in the top level distribution 26 | * directory. 27 | */ 28 | 29 | /* END LEGAL */ 30 | #include 31 | 32 | using namespace Grid; 33 | using namespace Hadrons; 34 | using namespace MContraction; 35 | 36 | template class HADRONS_NAMESPACE::MContraction::TBaryon; 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MRHQ/RHQInsertionIV.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * RHQInsertionIV.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Alessandro Barone 7 | * Author: Alessandro Barone 8 | * Author: Antonin Portelli 9 | * Author: Matthew Black 10 | * Author: Matthew Black 11 | * Author: Ryan Hill 12 | * 13 | * Hadrons is free software: you can redistribute it and/or modify 14 | * it under the terms of the GNU General Public License as published by 15 | * the Free Software Foundation, either version 2 of the License, or 16 | * (at your option) any later version. 17 | * 18 | * Hadrons is distributed in the hope that it will be useful, 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | * GNU General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU General Public License 24 | * along with Hadrons. If not, see . 25 | * 26 | * See the full license in the file "LICENSE" in the top level distribution 27 | * directory. 28 | */ 29 | 30 | /* END LEGAL */ 31 | 32 | #include 33 | 34 | using namespace Grid; 35 | using namespace Hadrons; 36 | using namespace MRHQ; 37 | 38 | template class HADRONS_NAMESPACE::MRHQ::TRHQInsertionIV; 39 | -------------------------------------------------------------------------------- /Hadrons/Modules/MUtilities/RandomField.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * RandomField.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MUtilities; 31 | 32 | template class HADRONS_NAMESPACE::MUtilities::TRandomField; 33 | template class HADRONS_NAMESPACE::MUtilities::TRandomField; 34 | template class HADRONS_NAMESPACE::MUtilities::TRandomField; 35 | template class HADRONS_NAMESPACE::MUtilities::TRandomField; 36 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/BaryonGamma3pt.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * BaryonGamma3pt.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Felix Erben 8 | * Author: Michael Marshall <43034299+mmphys@users.noreply.github.com> 9 | * Author: Raoul Hodgson 10 | * Author: Raoul Hodgson 11 | * 12 | * Hadrons is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU General Public License as published by 14 | * the Free Software Foundation, either version 2 of the License, or 15 | * (at your option) any later version. 16 | * 17 | * Hadrons is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU General Public License 23 | * along with Hadrons. If not, see . 24 | * 25 | * See the full license in the file "LICENSE" in the top level distribution 26 | * directory. 27 | */ 28 | 29 | /* END LEGAL */ 30 | #include 31 | 32 | using namespace Grid; 33 | using namespace Hadrons; 34 | using namespace MContraction; 35 | 36 | template class HADRONS_NAMESPACE::MContraction::TBaryonGamma3pt; 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/Div.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Div.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MScalarSUN; 31 | 32 | template class HADRONS_NAMESPACE::MScalarSUN::TDiv>; 33 | template class HADRONS_NAMESPACE::MScalarSUN::TDiv>; 34 | template class HADRONS_NAMESPACE::MScalarSUN::TDiv>; 35 | template class HADRONS_NAMESPACE::MScalarSUN::TDiv>; 36 | template class HADRONS_NAMESPACE::MScalarSUN::TDiv>; 37 | 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/EMT.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * EMT.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MScalarSUN; 31 | 32 | template class HADRONS_NAMESPACE::MScalarSUN::TEMT>; 33 | template class HADRONS_NAMESPACE::MScalarSUN::TEMT>; 34 | template class HADRONS_NAMESPACE::MScalarSUN::TEMT>; 35 | template class HADRONS_NAMESPACE::MScalarSUN::TEMT>; 36 | template class HADRONS_NAMESPACE::MScalarSUN::TEMT>; 37 | 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadCosmHol.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadCosmHol.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MIO; 31 | 32 | template class HADRONS_NAMESPACE::MIO::TLoadCosmHol>; 33 | template class HADRONS_NAMESPACE::MIO::TLoadCosmHol>; 34 | template class HADRONS_NAMESPACE::MIO::TLoadCosmHol>; 35 | template class HADRONS_NAMESPACE::MIO::TLoadCosmHol>; 36 | template class HADRONS_NAMESPACE::MIO::TLoadCosmHol>; 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadEigenPack.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadEigenPack.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fionn O hOgain 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MIO; 32 | 33 | template class HADRONS_NAMESPACE::MIO::TLoadEigenPack, GIMPL>; 34 | #ifdef GRID_DEFAULT_PRECISION_DOUBLE 35 | template class HADRONS_NAMESPACE::MIO::TLoadEigenPack, GIMPLF>; 36 | template class HADRONS_NAMESPACE::MIO::TLoadEigenPack, GIMPL>; 37 | #endif 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/MContraction/WardIdentity.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * WardIdentity.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Lanny91 8 | * Author: Michael Marshall <43034299+mmphys@users.noreply.github.com> 9 | * Author: Michael Marshall 10 | * Author: fionnoh 11 | * 12 | * Hadrons is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU General Public License as published by 14 | * the Free Software Foundation, either version 2 of the License, or 15 | * (at your option) any later version. 16 | * 17 | * Hadrons is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU General Public License 23 | * along with Hadrons. If not, see . 24 | * 25 | * See the full license in the file "LICENSE" in the top level distribution 26 | * directory. 27 | */ 28 | 29 | /* END LEGAL */ 30 | #include 31 | 32 | using namespace Grid; 33 | using namespace Hadrons; 34 | using namespace MContraction; 35 | 36 | template class HADRONS_NAMESPACE::MContraction::TWardIdentity; 37 | template class HADRONS_NAMESPACE::MContraction::TWardIdentity; 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/TrMag.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TrMag.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MScalarSUN; 31 | 32 | template class HADRONS_NAMESPACE::MScalarSUN::TTrMag>; 33 | template class HADRONS_NAMESPACE::MScalarSUN::TTrMag>; 34 | template class HADRONS_NAMESPACE::MScalarSUN::TTrMag>; 35 | template class HADRONS_NAMESPACE::MScalarSUN::TTrMag>; 36 | template class HADRONS_NAMESPACE::MScalarSUN::TTrMag>; 37 | 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/TrPhi.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TrPhi.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MScalarSUN; 31 | 32 | template class HADRONS_NAMESPACE::MScalarSUN::TTrPhi>; 33 | template class HADRONS_NAMESPACE::MScalarSUN::TTrPhi>; 34 | template class HADRONS_NAMESPACE::MScalarSUN::TTrPhi>; 35 | template class HADRONS_NAMESPACE::MScalarSUN::TTrPhi>; 36 | template class HADRONS_NAMESPACE::MScalarSUN::TTrPhi>; 37 | 38 | -------------------------------------------------------------------------------- /tests/Test_highfreq_stat.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Test_highfreq_stat.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | 27 | #include 28 | #include 29 | 30 | using namespace Grid; 31 | using namespace Hadrons; 32 | 33 | int main(int argc, char *argv[]) 34 | { 35 | Grid_init(&argc, &argv); 36 | 37 | // high-frequency stat 38 | Database db("test-highfreq-stat.db"); 39 | StatLogger stat(db, 1); 40 | 41 | stat.start(); 42 | // do nothing 43 | std::this_thread::sleep_for(std::chrono::seconds(2)); 44 | stat.stop(); 45 | 46 | Grid_finalize(); 47 | 48 | return EXIT_SUCCESS; 49 | } 50 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/TwoPoint.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TwoPoint.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MScalarSUN; 31 | 32 | template class HADRONS_NAMESPACE::MScalarSUN::TTwoPoint>; 33 | template class HADRONS_NAMESPACE::MScalarSUN::TTwoPoint>; 34 | template class HADRONS_NAMESPACE::MScalarSUN::TTwoPoint>; 35 | template class HADRONS_NAMESPACE::MScalarSUN::TTwoPoint>; 36 | template class HADRONS_NAMESPACE::MScalarSUN::TTwoPoint>; 37 | 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/MUtilities/MomentumRandomDirection.hpp: -------------------------------------------------------------------------------- 1 | #ifndef Hadrons_MUtilities_MomentumRandomDirection_hpp_ 2 | #define Hadrons_MUtilities_MomentumRandomDirection_hpp_ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | BEGIN_HADRONS_NAMESPACE 9 | 10 | /****************************************************************************** 11 | * generate spatial twist with given norm and random direction * 12 | ******************************************************************************/ 13 | BEGIN_MODULE_NAMESPACE(MUtilities) 14 | 15 | class MomentumRandomDirectionPar: Serializable 16 | { 17 | public: 18 | GRID_SERIALIZABLE_CLASS_MEMBERS(MomentumRandomDirectionPar, 19 | double, norm, 20 | std::string, output); 21 | }; 22 | 23 | class TMomentumRandomDirection: public Module 24 | { 25 | public: 26 | // constructor 27 | TMomentumRandomDirection(const std::string name); 28 | // destructor 29 | virtual ~TMomentumRandomDirection(void) {}; 30 | // dependency relation 31 | virtual std::vector getInput(void); 32 | virtual std::vector getOutput(void); 33 | // setup 34 | virtual void setup(void); 35 | // execution 36 | virtual void execute(void); 37 | }; 38 | 39 | MODULE_REGISTER(MomentumRandomDirection, TMomentumRandomDirection, MUtilities); 40 | 41 | END_MODULE_NAMESPACE 42 | 43 | END_HADRONS_NAMESPACE 44 | 45 | #endif // Hadrons_MUtilities_MomentumRandomDirection_hpp_ 46 | -------------------------------------------------------------------------------- /Hadrons/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CXXFLAGS += -I$(top_srcdir) 2 | AM_CFLAGS += -DSQLITE_ENABLE_MATH_FUNCTIONS 3 | lib_LIBRARIES = libHadrons.a 4 | 5 | include modules.inc 6 | 7 | libHadrons_a_SOURCES = \ 8 | sqlite/sqlite3.c \ 9 | Application.cpp \ 10 | Database.cpp \ 11 | Environment.cpp \ 12 | Exceptions.cpp \ 13 | Global.cpp \ 14 | LeptonImpl.cpp \ 15 | StatLogger.cpp \ 16 | Module.cpp \ 17 | TimerArray.cpp \ 18 | VirtualMachine.cpp \ 19 | $(modules_cpp) 20 | 21 | libHadrons_adir = $(includedir)/Hadrons 22 | nobase_libHadrons_a_HEADERS = \ 23 | A2AVectors.hpp \ 24 | A2AMatrix.hpp \ 25 | Application.hpp \ 26 | Database.hpp \ 27 | DilutedNoise.hpp \ 28 | DiskVector.hpp \ 29 | DistilMatrix.hpp \ 30 | DistillationVectors.hpp \ 31 | EigenPack.hpp \ 32 | EmField.hpp \ 33 | Environment.hpp \ 34 | Exceptions.hpp \ 35 | Factory.hpp \ 36 | FieldIo.hpp \ 37 | GeneticScheduler.hpp \ 38 | Global.hpp \ 39 | Graph.hpp \ 40 | LatticeUtilities.hpp \ 41 | Module.hpp \ 42 | Modules.hpp \ 43 | ModuleFactory.hpp \ 44 | NamedTensor.hpp \ 45 | Serialization.hpp \ 46 | Solver.hpp \ 47 | SqlEntry.hpp \ 48 | StatLogger.hpp \ 49 | TimerArray.hpp \ 50 | VirtualMachine.hpp \ 51 | sqlite/sqlite3.h \ 52 | sqlite/sqlite3ext.h \ 53 | $(modules_hpp) 54 | -------------------------------------------------------------------------------- /Hadrons/Modules/MRHQ/RHQInsertionI.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * RHQInsertionI.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Alessandro Barone 7 | * Author: Alessandro Barone 8 | * Author: Antonin Portelli 9 | * Author: Matthew Black 10 | * Author: Matthew Black 11 | * Author: RChrHill <75032435+RChrHill@users.noreply.github.com> 12 | * Author: Ryan Hill 13 | * 14 | * Hadrons is free software: you can redistribute it and/or modify 15 | * it under the terms of the GNU General Public License as published by 16 | * the Free Software Foundation, either version 2 of the License, or 17 | * (at your option) any later version. 18 | * 19 | * Hadrons is distributed in the hope that it will be useful, 20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | * GNU General Public License for more details. 23 | * 24 | * You should have received a copy of the GNU General Public License 25 | * along with Hadrons. If not, see . 26 | * 27 | * See the full license in the file "LICENSE" in the top level distribution 28 | * directory. 29 | */ 30 | 31 | /* END LEGAL */ 32 | #include 33 | 34 | using namespace Grid; 35 | using namespace Hadrons; 36 | using namespace MRHQ; 37 | 38 | template class HADRONS_NAMESPACE::MRHQ::TRHQInsertionI; 39 | 40 | -------------------------------------------------------------------------------- /Hadrons/Modules/MRHQ/RHQInsertionIII.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * RHQInsertionIII.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Alessandro Barone 7 | * Author: Alessandro Barone 8 | * Author: Antonin Portelli 9 | * Author: Matthew Black 10 | * Author: Matthew Black 11 | * Author: RChrHill <75032435+RChrHill@users.noreply.github.com> 12 | * Author: Ryan Hill 13 | * 14 | * Hadrons is free software: you can redistribute it and/or modify 15 | * it under the terms of the GNU General Public License as published by 16 | * the Free Software Foundation, either version 2 of the License, or 17 | * (at your option) any later version. 18 | * 19 | * Hadrons is distributed in the hope that it will be useful, 20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | * GNU General Public License for more details. 23 | * 24 | * You should have received a copy of the GNU General Public License 25 | * along with Hadrons. If not, see . 26 | * 27 | * See the full license in the file "LICENSE" in the top level distribution 28 | * directory. 29 | */ 30 | 31 | /* END LEGAL */ 32 | #include 33 | 34 | using namespace Grid; 35 | using namespace Hadrons; 36 | using namespace MRHQ; 37 | 38 | template class HADRONS_NAMESPACE::MRHQ::TRHQInsertionIII; 39 | 40 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/TrKinetic.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TrKinetic.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MScalarSUN; 31 | 32 | template class HADRONS_NAMESPACE::MScalarSUN::TTrKinetic>; 33 | template class HADRONS_NAMESPACE::MScalarSUN::TTrKinetic>; 34 | template class HADRONS_NAMESPACE::MScalarSUN::TTrKinetic>; 35 | template class HADRONS_NAMESPACE::MScalarSUN::TTrKinetic>; 36 | template class HADRONS_NAMESPACE::MScalarSUN::TTrKinetic>; 37 | 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/TransProj.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TransProj.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MScalarSUN; 31 | 32 | template class HADRONS_NAMESPACE::MScalarSUN::TTransProj>; 33 | template class HADRONS_NAMESPACE::MScalarSUN::TTransProj>; 34 | template class HADRONS_NAMESPACE::MScalarSUN::TTransProj>; 35 | template class HADRONS_NAMESPACE::MScalarSUN::TTransProj>; 36 | template class HADRONS_NAMESPACE::MScalarSUN::TTransProj>; 37 | 38 | 39 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/TwoPointNPR.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * TwoPointNPR.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MScalarSUN; 31 | 32 | template class HADRONS_NAMESPACE::MScalarSUN::TTwoPointNPR>; 33 | template class HADRONS_NAMESPACE::MScalarSUN::TTwoPointNPR>; 34 | template class HADRONS_NAMESPACE::MScalarSUN::TTwoPointNPR>; 35 | template class HADRONS_NAMESPACE::MScalarSUN::TTwoPointNPR>; 36 | template class HADRONS_NAMESPACE::MScalarSUN::TTwoPointNPR>; 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadBinary.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadBinary.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MIO; 31 | 32 | template class HADRONS_NAMESPACE::MIO::TLoadBinary; 33 | template class HADRONS_NAMESPACE::MIO::TLoadBinary>; 34 | template class HADRONS_NAMESPACE::MIO::TLoadBinary>; 35 | template class HADRONS_NAMESPACE::MIO::TLoadBinary>; 36 | template class HADRONS_NAMESPACE::MIO::TLoadBinary>; 37 | template class HADRONS_NAMESPACE::MIO::TLoadBinary>; 38 | 39 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/Grad.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Grad.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MScalarSUN; 31 | 32 | template class HADRONS_NAMESPACE::MScalarSUN::TGrad; 33 | template class HADRONS_NAMESPACE::MScalarSUN::TGrad>; 34 | template class HADRONS_NAMESPACE::MScalarSUN::TGrad>; 35 | template class HADRONS_NAMESPACE::MScalarSUN::TGrad>; 36 | template class HADRONS_NAMESPACE::MScalarSUN::TGrad>; 37 | template class HADRONS_NAMESPACE::MScalarSUN::TGrad>; 38 | -------------------------------------------------------------------------------- /Hadrons/Modules/MGradientFlow/GaugeFlow.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * GaugeFlow.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2022 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Matthew Black 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MGradientFlow; 32 | 33 | template class Grid::Hadrons::MGradientFlow::TGaugeFlow>; 34 | template class Grid::Hadrons::MGradientFlow::TGaugeFlow>; 35 | template class Grid::Hadrons::MGradientFlow::TGaugeFlow>; 36 | template class Grid::Hadrons::MGradientFlow::TGaugeFlow>; 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/StochFreeField.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * StochFreeField.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MScalarSUN; 31 | 32 | template class HADRONS_NAMESPACE::MScalarSUN::TStochFreeField>; 33 | template class HADRONS_NAMESPACE::MScalarSUN::TStochFreeField>; 34 | template class HADRONS_NAMESPACE::MScalarSUN::TStochFreeField>; 35 | template class HADRONS_NAMESPACE::MScalarSUN::TStochFreeField>; 36 | template class HADRONS_NAMESPACE::MScalarSUN::TStochFreeField>; 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/LoadField.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * LoadField.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Michael Marshall <43034299+mmphys@users.noreply.github.com> 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MIO; 32 | 33 | template class HADRONS_NAMESPACE::MIO::TLoadField; 34 | #ifdef GRID_DEFAULT_PRECISION_DOUBLE 35 | template class HADRONS_NAMESPACE::MIO::TLoadField; 36 | #endif 37 | template class HADRONS_NAMESPACE::MIO::TLoadField; 38 | template class HADRONS_NAMESPACE::MIO::TLoadField::GaugeField>; 39 | -------------------------------------------------------------------------------- /Hadrons/Modules/MIO/SaveField.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SaveField.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Michael Marshall <43034299+mmphys@users.noreply.github.com> 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MIO; 32 | 33 | template class HADRONS_NAMESPACE::MIO::TSaveField; 34 | #ifdef GRID_DEFAULT_PRECISION_DOUBLE 35 | template class HADRONS_NAMESPACE::MIO::TSaveField; 36 | #endif 37 | template class HADRONS_NAMESPACE::MIO::TSaveField; 38 | template class HADRONS_NAMESPACE::MIO::TSaveField::GaugeField>; 39 | -------------------------------------------------------------------------------- /Hadrons/Modules/MScalarSUN/WilsonFlow.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * WilsonFlow.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Joseph Lee 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MScalarSUN; 32 | 33 | template class HADRONS_NAMESPACE::MScalarSUN::TWilsonFlow>; 34 | template class HADRONS_NAMESPACE::MScalarSUN::TWilsonFlow>; 35 | template class HADRONS_NAMESPACE::MScalarSUN::TWilsonFlow>; 36 | template class HADRONS_NAMESPACE::MScalarSUN::TWilsonFlow>; 37 | template class HADRONS_NAMESPACE::MScalarSUN::TWilsonFlow>; 38 | -------------------------------------------------------------------------------- /Hadrons/ModuleFactory.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * ModuleFactory.hpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | 27 | #ifndef Hadrons_ModuleFactory_hpp_ 28 | #define Hadrons_ModuleFactory_hpp_ 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | BEGIN_HADRONS_NAMESPACE 35 | 36 | /****************************************************************************** 37 | * ModuleFactory * 38 | ******************************************************************************/ 39 | class ModuleFactory: public Factory 40 | { 41 | SINGLETON_DEFCTOR(ModuleFactory) 42 | }; 43 | 44 | END_HADRONS_NAMESPACE 45 | 46 | #endif // Hadrons_ModuleFactory_hpp_ 47 | -------------------------------------------------------------------------------- /Hadrons/Modules/MUtilities/PrecisionCast.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * PrecisionCast.cpp, part of Hadrons (https://github.com/aportelli/Hadrons) 3 | * 4 | * Copyright (C) 2015 - 2023 5 | * 6 | * Author: Antonin Portelli 7 | * Author: Fionn O hOgain 8 | * 9 | * Hadrons is free software: you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation, either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Hadrons is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with Hadrons. If not, see . 21 | * 22 | * See the full license in the file "LICENSE" in the top level distribution 23 | * directory. 24 | */ 25 | 26 | /* END LEGAL */ 27 | #include 28 | 29 | using namespace Grid; 30 | using namespace Hadrons; 31 | using namespace MUtilities; 32 | 33 | template class HADRONS_NAMESPACE::MUtilities::TPrecisionCast; 34 | template class HADRONS_NAMESPACE::MUtilities::TPrecisionCast; 35 | template class HADRONS_NAMESPACE::MUtilities::TPrecisionCast; 36 | template class HADRONS_NAMESPACE::MUtilities::TPrecisionCast; 37 | -------------------------------------------------------------------------------- /Hadrons/Modules/MUtilities/Momentum.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Grid; 5 | using namespace Hadrons; 6 | using namespace MUtilities; 7 | 8 | /****************************************************************************** 9 | * TMomentum implementation * 10 | ******************************************************************************/ 11 | // constructor ///////////////////////////////////////////////////////////////// 12 | TMomentum::TMomentum(const std::string name) 13 | : Module(name) 14 | {} 15 | 16 | // dependencies/products /////////////////////////////////////////////////////// 17 | std::vector TMomentum::getInput(void) 18 | { 19 | std::vector in; 20 | 21 | return in; 22 | } 23 | 24 | std::vector TMomentum::getOutput(void) 25 | { 26 | std::vector out = {getName()}; 27 | 28 | return out; 29 | } 30 | 31 | // setup /////////////////////////////////////////////////////////////////////// 32 | void TMomentum::setup(void) 33 | { 34 | envCreate(HadronsSerializable, getName(), 1, 0); 35 | } 36 | 37 | // execution /////////////////////////////////////////////////////////////////// 38 | void TMomentum::execute(void) 39 | { 40 | std::vector mom; 41 | 42 | mom = strToVec(par().mom); 43 | if (mom.size() != env().getNd()) 44 | { 45 | HADRONS_ERROR(Size, "Wrong number of components"); 46 | } 47 | LOG(Message) << "Created momentum vector " << mom << std::endl; 48 | saveResult(par().output, "mom", mom); 49 | auto &out = envGet(HadronsSerializable, getName()); 50 | out = mom; 51 | } 52 | -------------------------------------------------------------------------------- /hadrons-config.in: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | includedir=@includedir@ 6 | 7 | usage() 8 | { 9 | cat < 7 | * 8 | * Hadrons is free software: you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation, either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * Hadrons is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with Hadrons. If not, see . 20 | * 21 | * See the full license in the file "LICENSE" in the top level distribution 22 | * directory. 23 | */ 24 | 25 | /* END LEGAL */ 26 | #include 27 | 28 | using namespace Grid; 29 | using namespace Hadrons; 30 | using namespace MSolver; 31 | 32 | template class HADRONS_NAMESPACE::MSolver::TLocalCoherenceLanczos; 33 | template class HADRONS_NAMESPACE::MSolver::TLocalCoherenceLanczos; 34 | template class HADRONS_NAMESPACE::MSolver::TLocalCoherenceLanczos; 35 | #ifdef GRID_DEFAULT_PRECISION_DOUBLE 36 | template class HADRONS_NAMESPACE::MSolver::TLocalCoherenceLanczos; 37 | template class HADRONS_NAMESPACE::MSolver::TLocalCoherenceLanczos; 38 | template class HADRONS_NAMESPACE::MSolver::TLocalCoherenceLanczos; 39 | #endif 40 | --------------------------------------------------------------------------------