60using SetSeedFn = int (*)(
void *obj,
unsigned long long seed);
64using CreateFn = int (*)(
void *obj,
unsigned int nrQubits);
80using SampleFn = int (*)(
void *obj,
unsigned int nSamples,
long int *samples,
unsigned int nBits,
int *bitOrdering);
81using SampleAllFn = int (*)(
void *obj,
unsigned int nSamples,
long int *samples);
82using AmplitudeFn = int (*)(
void *obj,
long long int state,
double *real,
double *imaginary);
83using ProbabilityFn = double (*)(
void *obj,
int *qubits,
int *mask,
int len);
98using ApplyPFn = int (*)(
void *obj,
int qubit,
double theta);
99using ApplyRxFn = int (*)(
void *obj,
int qubit,
double theta);
100using ApplyRyFn = int (*)(
void *obj,
int qubit,
double theta);
101using ApplyRzFn = int (*)(
void *obj,
int qubit,
double theta);
102using ApplyUFn = int (*)(
void *obj,
int qubit,
double theta,
double phi,
double lambda,
double gamma);
103using ApplyCXFn = int (*)(
void *obj,
int controlQubit,
int targetQubit);
104using ApplyCYFn = int (*)(
void *obj,
int controlQubit,
int targetQubit);
105using ApplyCZFn = int (*)(
void *obj,
int controlQubit,
int targetQubit);
106using ApplyCHFn = int (*)(
void *obj,
int controlQubit,
int targetQubit);
107using ApplyCSXFn = int (*)(
void *obj,
int controlQubit,
int targetQubit);
108using ApplyCSXDGFn = int (*)(
void *obj,
int controlQubit,
int targetQubit);
109using ApplyCPFn = int (*)(
void *obj,
int controlQubit,
int targetQubit,
double theta);
110using ApplyCRxFn = int (*)(
void *obj,
int controlQubit,
int targetQubit,
double theta);
111using ApplyCRyFn = int (*)(
void *obj,
int controlQubit,
int targetQubit,
double theta);
112using ApplyCRzFn = int (*)(
void *obj,
int controlQubit,
int targetQubit,
double theta);
113using ApplyCCXFn = int (*)(
void *obj,
int controlQubit1,
int controlQubit2,
int targetQubit);
115using ApplyCSwapFn = int (*)(
void *obj,
int controlQubit,
int qubit1,
int qubit2);
116using ApplyCUFn = int (*)(
void *obj,
int controlQubit,
int targetQubit,
double theta,
double phi,
double lambda,
double gamma);
124using RedistributeFn = int (*)(
void *obj,
const int32_t *global_qubits, uint32_t count);
127using GetStateRangeFn = int (*)(
void *obj, uint64_t begin, uint64_t end,
double *output);
128using SetStateRangeFn = int (*)(
void *obj, uint64_t begin, uint64_t end,
const double *input);
int(*)(void *obj, int *qubits, int *bitstring, int bitstringLen) MeasureQubitsCollapseFn
int(*)(void *obj, int qubit) ApplyZFn
int(*)(void *obj, uint64_t *begin, uint64_t *end) GetLocalStateBoundsFn
int(*)(void *obj, int qubit, const double *matrix) ApplyOneQubitMatrixFn
int(*)(void *obj, unsigned int nSamples, long int *samples) SampleAllFn
int(*)(void *obj, int useDoublePrecision) SetDataTypeFn
uint32_t num_global_qubits
int(*)(void *obj, int controlQubit, int targetQubit, double theta) ApplyCRxFn
int(*)(void *obj, long long int state, double *real, double *imaginary) AmplitudeFn
int(*)(void *obj, int qubit0, int qubit1, int qubit2, const double *matrix) ApplyThreeQubitMatrixFn
int(*)(void *obj, int controlQubit, int targetQubit, double theta) ApplyCRzFn
int(*)(void *obj, int qubit, const double *matrix, int layout) ApplyOneQubitMatrixWithLayoutFn
int(*)(void *obj, int controlQubit, int targetQubit, double theta, double phi, double lambda, double gamma) ApplyCUFn
int(*)(void *obj) RestoreStateNoFreeSavedFn
int(*)(void *obj, int controlQubit, int qubit1, int qubit2) ApplyCSwapFn
int(*)(void *obj, int controlQubit, int targetQubit) ApplyCHFn
int(*)(int deviceId) SetGpuDeviceFn
void *(*)(void *lib, int backend) CreateStateVectorWithBackendFn
int(*)(void *obj) SaveStateDestructiveFn
int(*)(void *obj, int qubit) ApplyKFn
void(*)(void *obj) DestroyStateVectorFn
unsigned long long(*)(void *obj) MeasureAllQubitsNoCollapseFn
double(*)(void *obj, int *qubits, int *mask, int len) ProbabilityFn
int(*)(void *obj, int qubit) ApplySFn
uint64_t transfer_workspace_bytes
int(*)(void *obj, uint64_t begin, uint64_t end, double *output) GetLocalStateRangeFn
int(*)(void *obj, const int32_t *global_qubits, uint32_t count) RedistributeFn
int(*)(void *obj, int qubit) ApplyTDGFn
int(*)(void *obj, int qubitIndex) MeasureQubitNoCollapseFn
void *(*)(void *obj) CloneFn
uint64_t(*)(void) GetCapabilitiesFn
int(*)(void *obj, int qubitIndex) MeasureQubitCollapseFn
void(*)(void *obj) FreeSavedStateFn
int(*)(void *obj, uint64_t begin, uint64_t end, const double *input) SetLocalStateRangeFn
int(*)(void *obj) GetBackendFn
int(*)(void *obj, unsigned int nSamples, long int *samples, unsigned int nBits, int *bitOrdering) SampleFn
int(*)(void *obj, int qubit, double theta) ApplyRyFn
int(*)(void *obj, int qubit, double theta, double phi, double lambda, double gamma) ApplyUFn
int(*)(void *obj, const MgdExExecutionConfig *config) SetExExecutionConfigFn
int(*)(void *obj, int qubit0, int qubit1, const double *matrix, int layout) ApplyTwoQubitMatrixWithLayoutFn
int(*)(void *obj, unsigned long long seed) SetSeedFn
int(*)(void *obj, const int32_t *global_qubits, const int32_t *local_qubits, uint32_t count) SwapGlobalLocalQubitsFn
int(*)(void *obj, int32_t *wires, uint32_t capacity) GetQubitLayoutFn
uint32_t(*)(void) GetApiVersionFn
int(*)(void *obj, int qubit) ApplyYFn
uint32_t max_queued_gates
int(*)(void *obj) SynchronizeFn
int(*)(void *obj, int qubit0, int qubit1, int qubit2, const double *matrix, int layout) ApplyThreeQubitMatrixWithLayoutFn
int(*)(void *obj, int *qubits, int *bitstring, int bitstringLen) MeasureQubitsNoCollapseFn
@ MGD_MATRIX_COLUMN_MAJOR
int(*)(void *obj, int controlQubit, int targetQubit) ApplyCXFn
int(*)(void *obj, int controlQubit1, int controlQubit2, int targetQubit) ApplyCCXFn
int(*)(void *obj, int qubit, double theta) ApplyRzFn
int(*)(void *obj, int controlQubit, int targetQubit) ApplyCYFn
int(*)(void *obj, int qubit) ApplySXDGFn
int(*)(void *obj, uint64_t begin, uint64_t end, const double *input) SetStateRangeFn
int(*)(void *obj, int controlQubit, int targetQubit) ApplyCSXFn
int(*)(void *obj, int qubit, double theta) ApplyPFn
double(*)(void *obj, const char *pauliString, int len) ExpectationValueFn
int(*)(void *obj, int qubit, double theta) ApplyRxFn
int(*)(void *obj, int qubit) ApplyHFn
int(*)(void *obj, int qubit) ApplySDGFn
int(*)(void *obj) GetNrQubitsFn
int(*)(void *obj, int controlQubit, int targetQubit) ApplyCSXDGFn
int(*)(void *obj, int qubit1, int qubit2) ApplySwapFn
int(*)(void *obj, int32_t *qubits, uint32_t capacity) GetGlobalQubitsFn
int(*)(void *obj, unsigned int nrQubits, const double *state) CreateWithStateFn
int(*)(void *obj, unsigned int nrQubits) CreateFn
int(*)(void *obj, int qubit) ApplyXFn
int(*)(void *obj) SaveStateFn
int(*)(void *obj, double *probabilities) AllProbabilitiesFn
double(*)(void *obj, long long int state) BasisStateProbabilityFn
int(*)(void *obj, int controlQubit, int targetQubit, double theta) ApplyCRyFn
int(*)(void *obj, int qubit0, int qubit1, const double *matrix) ApplyTwoQubitMatrixFn
int(*)(const char *licenseKey) ValidateLicenseFn
int(*)(void *obj, int controlQubit, int targetQubit) ApplyCZFn
int(*)(void) GetGpuDeviceCountFn
void *(*)(void *lib) CreateStateVectorFn
int(*)(void *obj, int qubit) ApplyTFn
int(*)(void *obj, const MgdDistributionConfig *config) ConfigureDistributionFn
const int32_t * shard_devices
int(*)(void *obj) IsDoublePrecisionFn
const int32_t * global_qubits
int(*)(void *obj, int controlQubit, int targetQubit, double theta) ApplyCPFn
int(*)(void *obj, uint32_t nrQubits, uint64_t basis) CreateWithBasisStateFn
int(*)(void *obj, int32_t *devices, uint32_t capacity) GetShardDevicesFn
void *(*)(void) InitLibFn
int(*)(void *obj, int qubit) ApplySXFn
int(*)(void *obj) SaveStateToHostFn
int(*)(void *obj, uint64_t begin, uint64_t end, double *output) GetStateRangeFn
int(*)(void *obj) RestoreStateFreeSavedFn
const char *(*)(void) GetLastErrorFn
unsigned long long(*)(void *obj) MeasureAllQubitsCollapseFn
int(*)(void *obj) ResetFn
int(*)(void *obj) GetStateVectorGpuIdFn