26 template <
typename... Ts>
31 return std::make_shared<QEngineCPU>(args...);
34 return std::make_shared<QEngineOCL>(args...);
36 return std::make_shared<QEngineOCLMulti>(args...);
39 return std::make_shared<QUnit>(subengine, args...);
Create a QEngineOCL, derived from QEngineCPU, leveraging OpenCL hardware to increase the speed of cer...
Definition: qinterface.hpp:64
QInterfaceEngine
Enumerated list of supported engines.
Definition: qinterface.hpp:54
Create a QUnit, which utilizes other QInterface classes to minimize the amount of work that's needed ...
Definition: qinterface.hpp:80
QInterfacePtr CreateQuantumInterface(QInterfaceEngine engine, QInterfaceEngine subengine, Ts...args)
Factory method to create specific engine implementations.
Definition: qfactory.hpp:27
std::shared_ptr< QInterface > QInterfacePtr
Definition: qinterface.hpp:46
Definition: complex16simd.hpp:21
Create a QEngineOCLMUlti, composed from multiple QEngineOCLs, using OpenCL in parallel across 2^N dev...
Definition: qinterface.hpp:70
Create a QEngineCPU leveraging only local CPU and memory resources.
Definition: qinterface.hpp:59