entity-toolkit / entity

New generation astrophysical plasma simulation code with CPU/GPU portability
https://entity-toolkit.github.io/wiki/
Other
27 stars 2 forks source link

Error when compiling with double precision #53

Closed LudwigBoess closed 1 month ago

LudwigBoess commented 2 months ago

When configuring with -D precision=double I get the following error on compiling:

[ 96%] Building CXX object src/framework/CMakeFiles/ntt_framework.dir/domain/metadomain.cpp.o
/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(382): error: no instance of overloaded function "std::min" matches the argument list
            argument types are: (float, const real_t)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::SRPIC, M=metric::Minkowski<_1D>]" 
(407): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(385): error: no instance of function template "cmp::AlmostEqual" matches the argument list
            argument types are: (const real_t, float)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::SRPIC, M=metric::Minkowski<_1D>]" 
(407): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(382): error: no instance of overloaded function "std::min" matches the argument list
            argument types are: (float, const real_t)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::SRPIC, M=metric::Minkowski<_2D>]" 
(408): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(385): error: no instance of function template "cmp::AlmostEqual" matches the argument list
            argument types are: (const real_t, float)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::SRPIC, M=metric::Minkowski<_2D>]" 
(408): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(382): error: no instance of overloaded function "std::min" matches the argument list
            argument types are: (float, const real_t)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::SRPIC, M=metric::Minkowski<_3D>]" 
(409): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(385): error: no instance of function template "cmp::AlmostEqual" matches the argument list
            argument types are: (const real_t, float)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::SRPIC, M=metric::Minkowski<_3D>]" 
(409): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(382): error: no instance of overloaded function "std::min" matches the argument list
            argument types are: (float, const real_t)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::SRPIC, M=metric::Spherical<_2D>]" 
(410): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(385): error: no instance of function template "cmp::AlmostEqual" matches the argument list
            argument types are: (const real_t, float)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::SRPIC, M=metric::Spherical<_2D>]" 
(410): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(382): error: no instance of overloaded function "std::min" matches the argument list
            argument types are: (float, const real_t)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::SRPIC, M=metric::QSpherical<_2D>]" 
(411): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(385): error: no instance of function template "cmp::AlmostEqual" matches the argument list
            argument types are: (const real_t, float)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::SRPIC, M=metric::QSpherical<_2D>]" 
(411): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(382): error: no instance of overloaded function "std::min" matches the argument list
            argument types are: (float, const real_t)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::GRPIC, M=metric::KerrSchild<_2D>]" 
(412): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(385): error: no instance of function template "cmp::AlmostEqual" matches the argument list
            argument types are: (const real_t, float)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::GRPIC, M=metric::KerrSchild<_2D>]" 
(412): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(382): error: no instance of overloaded function "std::min" matches the argument list
            argument types are: (float, const real_t)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::GRPIC, M=metric::QKerrSchild<_2D>]" 
(413): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(385): error: no instance of function template "cmp::AlmostEqual" matches the argument list
            argument types are: (const real_t, float)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::GRPIC, M=metric::QKerrSchild<_2D>]" 
(413): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(382): error: no instance of overloaded function "std::min" matches the argument list
            argument types are: (float, const real_t)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::GRPIC, M=metric::KerrSchild0<_2D>]" 
(414): here

/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp(385): error: no instance of function template "cmp::AlmostEqual" matches the argument list
            argument types are: (const real_t, float)
          detected during instantiation of "void ntt::Metadomain<S, M>::metricCompatibilityCheck() const [with S=ntt::SimEngine::GRPIC, M=metric::KerrSchild0<_2D>]" 
(414): here

16 errors detected in the compilation of "/project/astroplasmas/ludwig/PIC/ntt_v1.0/entity/src/framework/domain/metadomain.cpp".
haykh commented 1 month ago

should have been fixed in #54 & #57

haykh commented 1 month ago

@LudwigBoess closing this issue, since all double-precision tests are passing in 1.1.0rc. Feel free to reopen if you encounter this error again.

LudwigBoess commented 1 month ago

@haykh looks good on my end!