13 #ifndef QUANTUM_GATE_ACCELERATORS_IONQACCELERATOR_HPP_ 14 #define QUANTUM_GATE_ACCELERATORS_IONQACCELERATOR_HPP_ 16 #include "RemoteAccelerator.hpp" 19 #include <type_traits> 26 void cancel()
override;
30 if (config.keyExists<
int>(
"shots")) {
31 shots = config.get<
int>(
"shots");
33 if (config.stringExists(
"backend")) {
34 backend = config.getString(
"backend");
38 const std::vector<std::string> configurationKeys()
override {
39 return {
"shots",
"backend"};
44 const std::string getSignature()
override {
return "ionq:" + backend; }
46 std::vector<std::pair<int, int>> getConnectivity()
override;
48 const std::string
name()
const override {
return "ionq"; }
51 const std::string processInput(
52 std::shared_ptr<AcceleratorBuffer> buffer,
53 std::vector<std::shared_ptr<CompositeInstruction>> functions)
override;
55 void processResponse(std::shared_ptr<AcceleratorBuffer> buffer,
56 const std::string &response)
override;
65 void searchAPIKey(std::string &key, std::string &url);
66 void findApiKeyInFile(std::string &key, std::string &url,
67 const std::string &p);
69 std::string currentApiToken;
74 std::string backend =
"simulator";
76 bool jobIsRunning =
false;
77 std::string currentJobId =
"";
79 bool initialized =
false;
Definition: Accelerator.hpp:25
Definition: heterogeneous.hpp:45
Definition: ionq_accelerator.hpp:24
const std::string description() const override
Definition: ionq_accelerator.hpp:49
Definition: RemoteAccelerator.hpp:38
const std::string name() const override
Definition: ionq_accelerator.hpp:48