QDMI v1.2.0
Quantum Device Management Interface
Loading...
Searching...
No Matches
constants.h
Go to the documentation of this file.
1/*------------------------------------------------------------------------------
2Copyright 2024 Munich Quantum Software Stack Project
3
4Licensed under the Apache License, Version 2.0 with LLVM Exceptions (the
5"License"); you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8https://github.com/Munich-Quantum-Software-Stack/QDMI/blob/develop/LICENSE
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13License for the specific language governing permissions and limitations under
14the License.
15
16SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
17------------------------------------------------------------------------------*/
18
23
24#pragma once
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30// The following clang-tidy warnings cannot be addressed because this header is
31// used from both C and C++ code.
32// NOLINTBEGIN(performance-enum-size, modernize-use-using)
33
53
141
144
200
203
266
269
421
424
443
446
656
659
806
809
834
837
984
987
1092
1095
1131
1134
1135// NOLINTEND(performance-enum-size, modernize-use-using)
1136
1137#ifdef __cplusplus
1138} // extern "C"
1139#endif
QDMI_JOB_STATUS_T
Enum of the status a job can have.
Definition constants.h:815
@ QDMI_JOB_STATUS_CANCELED
The job was canceled, and the result is not available.
Definition constants.h:830
@ QDMI_JOB_STATUS_CREATED
The job was created and can be configured via QDMI_job_set_parameter.
Definition constants.h:820
@ QDMI_JOB_STATUS_SUBMITTED
The job was submitted.
Definition constants.h:822
@ QDMI_JOB_STATUS_QUEUED
The job was received, and is waiting to be executed.
Definition constants.h:824
@ QDMI_JOB_STATUS_FAILED
An error occurred in the job's lifecycle.
Definition constants.h:832
@ QDMI_JOB_STATUS_RUNNING
The job is running, and the result is not yet available.
Definition constants.h:826
@ QDMI_JOB_STATUS_DONE
The job is done, and the result can be retrieved.
Definition constants.h:828
enum QDMI_DEVICE_STATUS_T QDMI_Device_Status
Device status type.
Definition constants.h:445
enum QDMI_JOB_STATUS_T QDMI_Job_Status
Job status type.
Definition constants.h:836
QDMI_PROGRAM_FORMAT_T
Enum of formats that can be submitted to the device.
Definition constants.h:841
@ QDMI_PROGRAM_FORMAT_CALIBRATION
void* A calibration program.
Definition constants.h:958
@ QDMI_PROGRAM_FORMAT_CUSTOM3
Definition constants.h:978
@ QDMI_PROGRAM_FORMAT_QIRBASESTRING
char* (string) A text-based QIR program complying to the QIR base profile.
Definition constants.h:919
@ QDMI_PROGRAM_FORMAT_QASM3
char* (string) An OpenQASM 3 program.
Definition constants.h:889
@ QDMI_PROGRAM_FORMAT_CUSTOM4
Definition constants.h:980
@ QDMI_PROGRAM_FORMAT_QIRBASEMODULE
void* A QIR binary complying to the QIR base profile.
Definition constants.h:930
@ QDMI_PROGRAM_FORMAT_CUSTOM2
Definition constants.h:976
@ QDMI_PROGRAM_FORMAT_CUSTOM5
Definition constants.h:982
@ QDMI_PROGRAM_FORMAT_QIRADAPTIVESTRING
char* (string) A text-based QIR program complying to the QIR adaptive profile.
Definition constants.h:941
@ QDMI_PROGRAM_FORMAT_QIRADAPTIVEMODULE
void* A QIR binary complying to the QIR adaptive profile.
Definition constants.h:951
@ QDMI_PROGRAM_FORMAT_CUSTOM1
This enum value is reserved for a custom program format.
Definition constants.h:974
@ QDMI_PROGRAM_FORMAT_MAX
The maximum value of the enum.
Definition constants.h:967
@ QDMI_PROGRAM_FORMAT_QASM2
char* (string) An OpenQASM 2.0 program.
Definition constants.h:867
QDMI_DEVICE_JOB_PARAMETER_T
Enum of the device job parameters that can be set via QDMI_device_job_set_parameter.
Definition constants.h:151
@ QDMI_DEVICE_JOB_PARAMETER_SHOTSNUM
size_t The number of shots to execute for a quantum circuit job.
Definition constants.h:174
@ QDMI_DEVICE_JOB_PARAMETER_MAX
The maximum value of the enum.
Definition constants.h:183
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM1
This enum value is reserved for a custom parameter.
Definition constants.h:190
@ QDMI_DEVICE_JOB_PARAMETER_PROGRAMFORMAT
QDMI_Program_Format The format of the program to be executed.
Definition constants.h:159
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM4
Definition constants.h:196
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM2
Definition constants.h:192
@ QDMI_DEVICE_JOB_PARAMETER_PROGRAM
void* The program to be executed.
Definition constants.h:169
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM5
Definition constants.h:198
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM3
Definition constants.h:194
QDMI_STATUS
Status codes returned by the API.
Definition constants.h:37
@ QDMI_ERROR_NOTFOUND
Element not found.
Definition constants.h:44
@ QDMI_ERROR_OUTOFMEM
Out of memory.
Definition constants.h:41
@ QDMI_ERROR_NOTSUPPORTED
Definition constants.h:48
@ QDMI_WARN_GENERAL
A general warning.
Definition constants.h:38
@ QDMI_ERROR_INVALIDARGUMENT
Invalid argument.
Definition constants.h:46
@ QDMI_ERROR_FATAL
A fatal error.
Definition constants.h:40
@ QDMI_SUCCESS
The operation was successful.
Definition constants.h:39
@ QDMI_ERROR_BADSTATE
Resource is in the wrong state for the operation.
Definition constants.h:50
@ QDMI_ERROR_OUTOFRANGE
Out of range.
Definition constants.h:45
@ QDMI_ERROR_NOTIMPLEMENTED
Not implemented.
Definition constants.h:42
@ QDMI_ERROR_PERMISSIONDENIED
Permission denied.
Definition constants.h:47
@ QDMI_ERROR_TIMEOUT
Operation timed out.
Definition constants.h:51
@ QDMI_ERROR_LIBNOTFOUND
Library not found.
Definition constants.h:43
enum QDMI_PROGRAM_FORMAT_T QDMI_Program_Format
Program format type.
Definition constants.h:986
QDMI_DEVICE_PULSE_SUPPORT_LEVEL_T
Enum to indicate the level of pulse support a device has.
Definition constants.h:1099
@ QDMI_DEVICE_PULSE_SUPPORT_LEVEL_CHANNEL
The device supports pulse-level control at an abstraction level of QDMI_Pulse_Channel.
Definition constants.h:1122
@ QDMI_DEVICE_PULSE_SUPPORT_LEVEL_NONE
The device does not support pulse-level control.
Definition constants.h:1101
@ QDMI_DEVICE_PULSE_SUPPORT_LEVEL_SITEANDCHANNEL
The device supports pulse-level control at an abstraction level of QDMI_Site and QDMI_Pulse_Channel.
Definition constants.h:1129
@ QDMI_DEVICE_PULSE_SUPPORT_LEVEL_SITE
The device supports pulse-level control at an abstraction level of QDMI_Site.
Definition constants.h:1112
enum QDMI_JOB_RESULT_T QDMI_Job_Result
Job result type.
Definition constants.h:1094
enum QDMI_DEVICE_JOB_PARAMETER_T QDMI_Device_Job_Parameter
Device job parameter type.
Definition constants.h:202
enum QDMI_SITE_PROPERTY_T QDMI_Site_Property
Site property type.
Definition constants.h:658
QDMI_SITE_PROPERTY_T
Definition constants.h:451
@ QDMI_SITE_PROPERTY_INDEX
size_t The unique index (or ID) to identify the site in a program.
Definition constants.h:463
@ QDMI_SITE_PROPERTY_XCOORDINATE
int64_t The raw, unscaled X-coordinate of the site.
Definition constants.h:510
@ QDMI_SITE_PROPERTY_ZEXTENT
uint64_t The raw, unscaled extent of a zone along the Z-axis.
Definition constants.h:615
@ QDMI_SITE_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:646
@ QDMI_SITE_PROPERTY_CUSTOM4
Definition constants.h:652
@ QDMI_SITE_PROPERTY_XEXTENT
uint64_t The raw, unscaled extent of a zone along the X-axis.
Definition constants.h:583
@ QDMI_SITE_PROPERTY_CUSTOM2
Definition constants.h:648
@ QDMI_SITE_PROPERTY_CUSTOM3
Definition constants.h:650
@ QDMI_SITE_PROPERTY_T1
uint64_t The raw, unscaled T1 time of a site.
Definition constants.h:474
@ QDMI_SITE_PROPERTY_ISZONE
bool Whether the site is a zone.
Definition constants.h:567
@ QDMI_SITE_PROPERTY_T2
uint64_t The raw, unscaled T2 time of a site.
Definition constants.h:485
@ QDMI_SITE_PROPERTY_YEXTENT
uint64_t The raw, unscaled extent of a zone along the Y-axis.
Definition constants.h:599
@ QDMI_SITE_PROPERTY_MODULEINDEX
uint64_t an unsigned integer that uniquely identifies the module.
Definition constants.h:621
@ QDMI_SITE_PROPERTY_SUBMODULEINDEX
uint64_t an unsigned integer uniquely identifying the submodule within a module.
Definition constants.h:630
@ QDMI_SITE_PROPERTY_YCOORDINATE
int64_t The raw, unscaled Y-coordinate of the site.
Definition constants.h:530
@ QDMI_SITE_PROPERTY_ZCOORDINATE
int64_t The raw, unscaled Z-coordinate of the site.
Definition constants.h:550
@ QDMI_SITE_PROPERTY_NAME
Definition constants.h:490
@ QDMI_SITE_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:639
@ QDMI_SITE_PROPERTY_CUSTOM5
Definition constants.h:654
QDMI_DEVICE_JOB_PROPERTY_T
Enum of the device job properties that can be queried via QDMI_device_job_query_property as part of t...
Definition constants.h:211
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM5
Definition constants.h:264
@ QDMI_DEVICE_JOB_PROPERTY_PROGRAM
void* The program to be executed.
Definition constants.h:234
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM1
This enum value is reserved for a custom parameter.
Definition constants.h:256
@ QDMI_DEVICE_JOB_PROPERTY_PROGRAMFORMAT
QDMI_Program_Format The format of the program to be executed.
Definition constants.h:228
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM4
Definition constants.h:262
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM3
Definition constants.h:260
@ QDMI_DEVICE_JOB_PROPERTY_SHOTSNUM
size_t The number of shots to execute for a quantum circuit job.
Definition constants.h:240
@ QDMI_DEVICE_JOB_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:249
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM2
Definition constants.h:258
@ QDMI_DEVICE_JOB_PROPERTY_ID
char* (string) The job's ID.
Definition constants.h:222
enum QDMI_DEVICE_JOB_PROPERTY_T QDMI_Device_Job_Property
Device job property type.
Definition constants.h:268
QDMI_DEVICE_SESSION_PARAMETER_T
Enum of the device session parameters that can be set via QDMI_device_session_set_parameter.
Definition constants.h:60
@ QDMI_DEVICE_SESSION_PARAMETER_MAX
The maximum value of the enum.
Definition constants.h:124
@ QDMI_DEVICE_SESSION_PARAMETER_PASSWORD
char* (string) The password to use for the session.
Definition constants.h:115
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM4
Definition constants.h:137
@ QDMI_DEVICE_SESSION_PARAMETER_TOKEN
char* (string) A token to be used in the session initialization for authenticating with the device.
Definition constants.h:78
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM5
Definition constants.h:139
@ QDMI_DEVICE_SESSION_PARAMETER_USERNAME
char* (string) The username to use for the device session.
Definition constants.h:108
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM2
Definition constants.h:133
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM3
Definition constants.h:135
@ QDMI_DEVICE_SESSION_PARAMETER_BASEURL
char* (string) The baseURL or API endpoint to be used for accessing the device within the session.
Definition constants.h:69
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM1
This enum value is reserved for a custom parameter.
Definition constants.h:131
@ QDMI_DEVICE_SESSION_PARAMETER_AUTHURL
char* (string) The URL to an authentication server used as part of the authentication procedure.
Definition constants.h:101
@ QDMI_DEVICE_SESSION_PARAMETER_AUTHFILE
char* (string) A file path to a file containing authentication information.
Definition constants.h:87
QDMI_DEVICE_STATUS_T
Enum of different status the device can be in.
Definition constants.h:426
@ QDMI_DEVICE_STATUS_IDLE
The device is idle.
Definition constants.h:428
@ QDMI_DEVICE_STATUS_OFFLINE
The device is offline.
Definition constants.h:427
@ QDMI_DEVICE_STATUS_ERROR
The device is in an error state.
Definition constants.h:430
@ QDMI_DEVICE_STATUS_MAX
The maximum value of the enum.
Definition constants.h:441
@ QDMI_DEVICE_STATUS_CALIBRATION
The device is in calibration.
Definition constants.h:432
@ QDMI_DEVICE_STATUS_MAINTENANCE
The device is in maintenance.
Definition constants.h:431
@ QDMI_DEVICE_STATUS_BUSY
The device is busy.
Definition constants.h:429
QDMI_JOB_RESULT_T
Enum of the formats the results can be returned in.
Definition constants.h:991
@ QDMI_JOB_RESULT_PROBABILITIES_DENSE
double* (double list) The probabilities of the result.
Definition constants.h:1031
@ QDMI_JOB_RESULT_MAX
The maximum value of the enum.
Definition constants.h:1075
@ QDMI_JOB_RESULT_STATEVECTOR_DENSE
double* (double list) The state vector of the result.
Definition constants.h:1023
@ QDMI_JOB_RESULT_HIST_KEYS
char* (string) The keys for the histogram of the results.
Definition constants.h:1008
@ QDMI_JOB_RESULT_PROBABILITIES_SPARSE_VALUES
double* (double list) The values for the sparse probabilities of the result.
Definition constants.h:1066
@ QDMI_JOB_RESULT_HIST_VALUES
size_t* (size_t list) The values for the histogram of the results.
Definition constants.h:1014
@ QDMI_JOB_RESULT_STATEVECTOR_SPARSE_VALUES
double* (double list) The values for the sparse state vector of the result.
Definition constants.h:1048
@ QDMI_JOB_RESULT_CUSTOM1
This enum value is reserved for a custom result.
Definition constants.h:1082
@ QDMI_JOB_RESULT_CUSTOM5
Definition constants.h:1090
@ QDMI_JOB_RESULT_CUSTOM2
Definition constants.h:1084
@ QDMI_JOB_RESULT_STATEVECTOR_SPARSE_KEYS
char* (string) The keys for the sparse state vector of the result.
Definition constants.h:1039
@ QDMI_JOB_RESULT_SHOTS
char* (string) The results of the individual shots as a comma-separated list, for example,...
Definition constants.h:997
@ QDMI_JOB_RESULT_CUSTOM4
Definition constants.h:1088
@ QDMI_JOB_RESULT_CUSTOM3
Definition constants.h:1086
@ QDMI_JOB_RESULT_PROBABILITIES_SPARSE_KEYS
char* (string) The keys for the sparse probabilities of the result.
Definition constants.h:1057
QDMI_OPERATION_PROPERTY_T
Definition constants.h:665
@ QDMI_OPERATION_PROPERTY_CUSTOM2
Definition constants.h:798
@ QDMI_OPERATION_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:789
@ QDMI_OPERATION_PROPERTY_BLOCKINGRADIUS
uint64_t The raw, unscaled blocking radius of the operation.
Definition constants.h:722
@ QDMI_OPERATION_PROPERTY_ISZONED
bool Whether the operation is a zoned (global) operation.
Definition constants.h:749
@ QDMI_OPERATION_PROPERTY_QUBITSNUM
size_t The number of qubits involved in the operation.
Definition constants.h:669
@ QDMI_OPERATION_PROPERTY_NAME
char* (string) The string identifier of the operation.
Definition constants.h:667
@ QDMI_OPERATION_PROPERTY_PARAMETERSNUM
size_t The number of floating point parameters the operation takes.
Definition constants.h:671
@ QDMI_OPERATION_PROPERTY_INTERACTIONRADIUS
uint64_t The raw, unscaled interaction radius of the operation.
Definition constants.h:703
@ QDMI_OPERATION_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:796
@ QDMI_OPERATION_PROPERTY_CUSTOM3
Definition constants.h:800
@ QDMI_OPERATION_PROPERTY_DURATION
uint64_t The raw, unscaled duration of an operation.
Definition constants.h:682
@ QDMI_OPERATION_PROPERTY_MEANSHUTTLINGSPEED
uint64_t The raw, unscaled mean shuttling speed of an operation.
Definition constants.h:780
@ QDMI_OPERATION_PROPERTY_CUSTOM5
Definition constants.h:804
@ QDMI_OPERATION_PROPERTY_IDLINGFIDELITY
double Fidelity of qubits idling during a global operation.
Definition constants.h:735
@ QDMI_OPERATION_PROPERTY_FIDELITY
double The fidelity of an operation.
Definition constants.h:684
@ QDMI_OPERATION_PROPERTY_SITES
QDMI_Site* (list) The sites to which the operation is applicable.
Definition constants.h:762
@ QDMI_OPERATION_PROPERTY_CUSTOM4
Definition constants.h:802
enum QDMI_DEVICE_SESSION_PARAMETER_T QDMI_Device_Session_Parameter
Device session parameter type.
Definition constants.h:143
enum QDMI_OPERATION_PROPERTY_T QDMI_Operation_Property
Operation property type.
Definition constants.h:808
QDMI_DEVICE_PROPERTY_T
Definition constants.h:277
@ QDMI_DEVICE_PROPERTY_MINATOMDISTANCE
uint64_t The raw, unscaled minimum required distance between qubits during quantum computation.
Definition constants.h:395
@ QDMI_DEVICE_PROPERTY_NAME
char* (string) The name of the device.
Definition constants.h:279
@ QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR
double A scale factor for all length values.
Definition constants.h:357
@ QDMI_DEVICE_PROPERTY_CUSTOM3
Definition constants.h:415
@ QDMI_DEVICE_PROPERTY_CUSTOM2
Definition constants.h:413
@ QDMI_DEVICE_PROPERTY_LENGTHUNIT
char* (string) The length unit reported by the device.
Definition constants.h:347
@ QDMI_DEVICE_PROPERTY_NEEDSCALIBRATION
size_t Whether the device needs calibration.
Definition constants.h:330
@ QDMI_DEVICE_PROPERTY_STATUS
QDMI_Device_Status The status of the device.
Definition constants.h:283
@ QDMI_DEVICE_PROPERTY_VERSION
char* (string) The version of the device.
Definition constants.h:281
@ QDMI_DEVICE_PROPERTY_LIBRARYVERSION
char* (string) The implemented version of QDMI.
Definition constants.h:285
@ QDMI_DEVICE_PROPERTY_PULSESUPPORT
QDMI_Device_Pulse_Support_Level Whether the device supports pulse-level control.
Definition constants.h:338
@ QDMI_DEVICE_PROPERTY_QUBITSNUM
size_t The number of qubits in the device.
Definition constants.h:287
@ QDMI_DEVICE_PROPERTY_COUPLINGMAP
QDMI_Site* (QDMI_Site list) The coupling map of the device.
Definition constants.h:318
@ QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR
double A scale factor for all duration values.
Definition constants.h:376
@ QDMI_DEVICE_PROPERTY_OPERATIONS
QDMI_Operation* (QDMI_Operation list) The operations supported by the device.
Definition constants.h:306
@ QDMI_DEVICE_PROPERTY_DURATIONUNIT
char* (string) The duration unit reported by the device.
Definition constants.h:366
@ QDMI_DEVICE_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:411
@ QDMI_DEVICE_PROPERTY_CUSTOM4
Definition constants.h:417
@ QDMI_DEVICE_PROPERTY_CUSTOM5
Definition constants.h:419
@ QDMI_DEVICE_PROPERTY_SITES
QDMI_Site* (QDMI_Site list) The sites of the device.
Definition constants.h:299
@ QDMI_DEVICE_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:404
enum QDMI_DEVICE_PULSE_SUPPORT_LEVEL_T QDMI_Device_Pulse_Support_Level
Pulse support level type.
Definition constants.h:1133
enum QDMI_DEVICE_PROPERTY_T QDMI_Device_Property
Device property type.
Definition constants.h:423