27 std::unique_ptr<BsplineReader> aReader;
29 #if defined(QMC_COMPLEX) 31 <<
" precision storage (C2C)." << std::endl;
34 app_summary() <<
" Running OpenMP offload code path." << std::endl;
37 app_summary() <<
" Using hybrid orbital representation." << std::endl;
38 aReader = std::make_unique<HybridRepSetReader<HybridRepCplx<SplineC2COMPTarget<ST>>>>(
e);
41 aReader = std::make_unique<SplineSetReader<SplineC2COMPTarget<ST>>>(
e);
48 app_summary() <<
" Using hybrid orbital representation." << std::endl;
49 aReader = std::make_unique<HybridRepSetReader<HybridRepCplx<SplineC2C<ST>>>>(
e);
52 aReader = std::make_unique<SplineSetReader<SplineC2C<ST>>>(
e);
56 <<
" precision storage (C2R)." << std::endl;
59 app_summary() <<
" Running OpenMP offload code path." << std::endl;
62 app_summary() <<
" Using hybrid orbital representation." << std::endl;
63 aReader = std::make_unique<HybridRepSetReader<HybridRepCplx<SplineC2ROMPTarget<ST>>>>(
e);
66 aReader = std::make_unique<SplineSetReader<SplineC2ROMPTarget<ST>>>(
e);
73 app_summary() <<
" Using hybrid orbital representation." << std::endl;
74 aReader = std::make_unique<HybridRepSetReader<HybridRepCplx<SplineC2R<ST>>>>(
e);
77 aReader = std::make_unique<SplineSetReader<SplineC2R<ST>>>(
e);
86 const std::string& useGPU)
89 return createBsplineComplex<float>(
e, hybrid_rep, useGPU);
91 return createBsplineComplex<double>(
e, hybrid_rep, useGPU);
helper functions for EinsplineSetBuilder
std::ostream & app_summary()
std::unique_ptr< BsplineReader > createBsplineComplex(EinsplineSetBuilder *e, bool hybrid_rep, const std::string &useGPU)
create a reader which handles complex (double size real) splines, C2R or C2C case spline storage and ...
static PlatformKind selectPlatform(std::string_view value)
The most general reader class for the following classes using the full single grid for the supercell...
derived from BsplineReader