QDMI v1.3.0
Quantum Device Management Interface
Loading...
Searching...
No Matches
constants.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 - 2026 QDMI Maintainers
3 * All rights reserved.
4 *
5 * Licensed under the Apache License v2.0 with LLVM Exceptions (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://llvm.org/LICENSE.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 *
17 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
18 */
19
24
25#ifndef QDMI_CONSTANTS_H
26#define QDMI_CONSTANTS_H
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32// The following clang-tidy warnings cannot be addressed because this header is
33// used from both C and C++ code.
34// NOLINTBEGIN(performance-enum-size, modernize-use-using)
35
55
143
146
202
205
268
271
431
434
453
456
666
669
816
819
844
847
1011
1014
1119
1122
1158
1161
1162// NOLINTEND(performance-enum-size, modernize-use-using)
1163
1164#ifdef __cplusplus
1165} // extern "C"
1166#endif
1167
1168#endif // QDMI_CONSTANTS_H
QDMI_JOB_STATUS_T
Enum of the status a job can have.
Definition constants.h:825
@ QDMI_JOB_STATUS_CANCELED
The job was canceled, and the result is not available.
Definition constants.h:840
@ QDMI_JOB_STATUS_CREATED
The job was created and can be configured via QDMI_job_set_parameter.
Definition constants.h:830
@ QDMI_JOB_STATUS_SUBMITTED
The job was submitted.
Definition constants.h:832
@ QDMI_JOB_STATUS_QUEUED
The job was received, and is waiting to be executed.
Definition constants.h:834
@ QDMI_JOB_STATUS_FAILED
An error occurred in the job's lifecycle.
Definition constants.h:842
@ QDMI_JOB_STATUS_RUNNING
The job is running, and the result is not yet available.
Definition constants.h:836
@ QDMI_JOB_STATUS_DONE
The job is done, and the result can be retrieved.
Definition constants.h:838
enum QDMI_DEVICE_STATUS_T QDMI_Device_Status
Device status type.
Definition constants.h:455
enum QDMI_JOB_STATUS_T QDMI_Job_Status
Job status type.
Definition constants.h:846
QDMI_PROGRAM_FORMAT_T
Enum of formats that can be submitted to the device.
Definition constants.h:851
@ QDMI_PROGRAM_FORMAT_CALIBRATION
void* A calibration program.
Definition constants.h:968
@ QDMI_PROGRAM_FORMAT_CUSTOM3
Definition constants.h:1005
@ QDMI_PROGRAM_FORMAT_QIRBASESTRING
char* (string) A text-based QIR program complying to the QIR base profile.
Definition constants.h:929
@ QDMI_PROGRAM_FORMAT_QASM3
char* (string) An OpenQASM 3 program.
Definition constants.h:899
@ QDMI_PROGRAM_FORMAT_CUSTOM4
Definition constants.h:1007
@ QDMI_PROGRAM_FORMAT_QPY
void* A QPY program.
Definition constants.h:977
@ QDMI_PROGRAM_FORMAT_QIRBASEMODULE
void* A QIR binary complying to the QIR base profile.
Definition constants.h:940
@ QDMI_PROGRAM_FORMAT_CUSTOM2
Definition constants.h:1003
@ QDMI_PROGRAM_FORMAT_CUSTOM5
Definition constants.h:1009
@ QDMI_PROGRAM_FORMAT_QIRADAPTIVESTRING
char* (string) A text-based QIR program complying to the QIR adaptive profile.
Definition constants.h:951
@ QDMI_PROGRAM_FORMAT_QIRADAPTIVEMODULE
void* A QIR binary complying to the QIR adaptive profile.
Definition constants.h:961
@ QDMI_PROGRAM_FORMAT_IQMJSON
char* (string) A program in the IQM data transfer format.
Definition constants.h:985
@ QDMI_PROGRAM_FORMAT_CUSTOM1
This enum value is reserved for a custom program format.
Definition constants.h:1001
@ QDMI_PROGRAM_FORMAT_MAX
The maximum value of the enum.
Definition constants.h:994
@ QDMI_PROGRAM_FORMAT_QASM2
char* (string) An OpenQASM 2.0 program.
Definition constants.h:877
QDMI_DEVICE_JOB_PARAMETER_T
Enum of the device job parameters that can be set via QDMI_device_job_set_parameter.
Definition constants.h:153
@ QDMI_DEVICE_JOB_PARAMETER_SHOTSNUM
size_t The number of shots to execute for a quantum circuit job.
Definition constants.h:176
@ QDMI_DEVICE_JOB_PARAMETER_MAX
The maximum value of the enum.
Definition constants.h:185
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM1
This enum value is reserved for a custom parameter.
Definition constants.h:192
@ QDMI_DEVICE_JOB_PARAMETER_PROGRAMFORMAT
QDMI_Program_Format The format of the program to be executed.
Definition constants.h:161
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM4
Definition constants.h:198
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM2
Definition constants.h:194
@ QDMI_DEVICE_JOB_PARAMETER_PROGRAM
void* The program to be executed.
Definition constants.h:171
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM5
Definition constants.h:200
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM3
Definition constants.h:196
QDMI_STATUS
Status codes returned by the API.
Definition constants.h:39
@ QDMI_ERROR_NOTFOUND
Element not found.
Definition constants.h:46
@ QDMI_ERROR_OUTOFMEM
Out of memory.
Definition constants.h:43
@ QDMI_ERROR_NOTSUPPORTED
Definition constants.h:50
@ QDMI_WARN_GENERAL
A general warning.
Definition constants.h:40
@ QDMI_ERROR_INVALIDARGUMENT
Invalid argument.
Definition constants.h:48
@ QDMI_ERROR_FATAL
A fatal error.
Definition constants.h:42
@ QDMI_SUCCESS
The operation was successful.
Definition constants.h:41
@ QDMI_ERROR_BADSTATE
Resource is in the wrong state for the operation.
Definition constants.h:52
@ QDMI_ERROR_OUTOFRANGE
Out of range.
Definition constants.h:47
@ QDMI_ERROR_NOTIMPLEMENTED
Not implemented.
Definition constants.h:44
@ QDMI_ERROR_PERMISSIONDENIED
Permission denied.
Definition constants.h:49
@ QDMI_ERROR_TIMEOUT
Operation timed out.
Definition constants.h:53
@ QDMI_ERROR_LIBNOTFOUND
Library not found.
Definition constants.h:45
enum QDMI_PROGRAM_FORMAT_T QDMI_Program_Format
Program format type.
Definition constants.h:1013
QDMI_DEVICE_PULSE_SUPPORT_LEVEL_T
Enum to indicate the level of pulse support a device has.
Definition constants.h:1126
@ QDMI_DEVICE_PULSE_SUPPORT_LEVEL_CHANNEL
The device supports pulse-level control at an abstraction level of QDMI_Pulse_Channel.
Definition constants.h:1149
@ QDMI_DEVICE_PULSE_SUPPORT_LEVEL_NONE
The device does not support pulse-level control.
Definition constants.h:1128
@ 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:1156
@ QDMI_DEVICE_PULSE_SUPPORT_LEVEL_SITE
The device supports pulse-level control at an abstraction level of QDMI_Site.
Definition constants.h:1139
enum QDMI_JOB_RESULT_T QDMI_Job_Result
Job result type.
Definition constants.h:1121
enum QDMI_DEVICE_JOB_PARAMETER_T QDMI_Device_Job_Parameter
Device job parameter type.
Definition constants.h:204
enum QDMI_SITE_PROPERTY_T QDMI_Site_Property
Site property type.
Definition constants.h:668
QDMI_SITE_PROPERTY_T
Definition constants.h:461
@ QDMI_SITE_PROPERTY_INDEX
size_t The unique index (or ID) to identify the site in a program.
Definition constants.h:473
@ QDMI_SITE_PROPERTY_XCOORDINATE
int64_t The raw, unscaled X-coordinate of the site.
Definition constants.h:520
@ QDMI_SITE_PROPERTY_ZEXTENT
uint64_t The raw, unscaled extent of a zone along the Z-axis.
Definition constants.h:625
@ QDMI_SITE_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:656
@ QDMI_SITE_PROPERTY_CUSTOM4
Definition constants.h:662
@ QDMI_SITE_PROPERTY_XEXTENT
uint64_t The raw, unscaled extent of a zone along the X-axis.
Definition constants.h:593
@ QDMI_SITE_PROPERTY_CUSTOM2
Definition constants.h:658
@ QDMI_SITE_PROPERTY_CUSTOM3
Definition constants.h:660
@ QDMI_SITE_PROPERTY_T1
uint64_t The raw, unscaled T1 time of a site.
Definition constants.h:484
@ QDMI_SITE_PROPERTY_ISZONE
bool Whether the site is a zone.
Definition constants.h:577
@ QDMI_SITE_PROPERTY_T2
uint64_t The raw, unscaled T2 time of a site.
Definition constants.h:495
@ QDMI_SITE_PROPERTY_YEXTENT
uint64_t The raw, unscaled extent of a zone along the Y-axis.
Definition constants.h:609
@ QDMI_SITE_PROPERTY_MODULEINDEX
uint64_t an unsigned integer that uniquely identifies the module.
Definition constants.h:631
@ QDMI_SITE_PROPERTY_SUBMODULEINDEX
uint64_t an unsigned integer uniquely identifying the submodule within a module.
Definition constants.h:640
@ QDMI_SITE_PROPERTY_YCOORDINATE
int64_t The raw, unscaled Y-coordinate of the site.
Definition constants.h:540
@ QDMI_SITE_PROPERTY_ZCOORDINATE
int64_t The raw, unscaled Z-coordinate of the site.
Definition constants.h:560
@ QDMI_SITE_PROPERTY_NAME
Definition constants.h:500
@ QDMI_SITE_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:649
@ QDMI_SITE_PROPERTY_CUSTOM5
Definition constants.h:664
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:213
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM5
Definition constants.h:266
@ QDMI_DEVICE_JOB_PROPERTY_PROGRAM
void* The program to be executed.
Definition constants.h:236
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM1
This enum value is reserved for a custom parameter.
Definition constants.h:258
@ QDMI_DEVICE_JOB_PROPERTY_PROGRAMFORMAT
QDMI_Program_Format The format of the program to be executed.
Definition constants.h:230
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM4
Definition constants.h:264
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM3
Definition constants.h:262
@ QDMI_DEVICE_JOB_PROPERTY_SHOTSNUM
size_t The number of shots to execute for a quantum circuit job.
Definition constants.h:242
@ QDMI_DEVICE_JOB_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:251
@ QDMI_DEVICE_JOB_PROPERTY_CUSTOM2
Definition constants.h:260
@ QDMI_DEVICE_JOB_PROPERTY_ID
char* (string) The job's ID.
Definition constants.h:224
enum QDMI_DEVICE_JOB_PROPERTY_T QDMI_Device_Job_Property
Device job property type.
Definition constants.h:270
QDMI_DEVICE_SESSION_PARAMETER_T
Enum of the device session parameters that can be set via QDMI_device_session_set_parameter.
Definition constants.h:62
@ QDMI_DEVICE_SESSION_PARAMETER_MAX
The maximum value of the enum.
Definition constants.h:126
@ QDMI_DEVICE_SESSION_PARAMETER_PASSWORD
char* (string) The password to use for the session.
Definition constants.h:117
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM4
Definition constants.h:139
@ QDMI_DEVICE_SESSION_PARAMETER_TOKEN
char* (string) A token to be used in the session initialization for authenticating with the device.
Definition constants.h:80
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM5
Definition constants.h:141
@ QDMI_DEVICE_SESSION_PARAMETER_USERNAME
char* (string) The username to use for the device session.
Definition constants.h:110
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM2
Definition constants.h:135
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM3
Definition constants.h:137
@ 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:71
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM1
This enum value is reserved for a custom parameter.
Definition constants.h:133
@ QDMI_DEVICE_SESSION_PARAMETER_AUTHURL
char* (string) The URL to an authentication server used as part of the authentication procedure.
Definition constants.h:103
@ QDMI_DEVICE_SESSION_PARAMETER_AUTHFILE
char* (string) A file path to a file containing authentication information.
Definition constants.h:89
QDMI_DEVICE_STATUS_T
Enum of different status the device can be in.
Definition constants.h:436
@ QDMI_DEVICE_STATUS_IDLE
The device is idle.
Definition constants.h:438
@ QDMI_DEVICE_STATUS_OFFLINE
The device is offline.
Definition constants.h:437
@ QDMI_DEVICE_STATUS_ERROR
The device is in an error state.
Definition constants.h:440
@ QDMI_DEVICE_STATUS_MAX
The maximum value of the enum.
Definition constants.h:451
@ QDMI_DEVICE_STATUS_CALIBRATION
The device is in calibration.
Definition constants.h:442
@ QDMI_DEVICE_STATUS_MAINTENANCE
The device is in maintenance.
Definition constants.h:441
@ QDMI_DEVICE_STATUS_BUSY
The device is busy.
Definition constants.h:439
QDMI_JOB_RESULT_T
Enum of the formats the results can be returned in.
Definition constants.h:1018
@ QDMI_JOB_RESULT_PROBABILITIES_DENSE
double* (double list) The probabilities of the result.
Definition constants.h:1058
@ QDMI_JOB_RESULT_MAX
The maximum value of the enum.
Definition constants.h:1102
@ QDMI_JOB_RESULT_STATEVECTOR_DENSE
double* (double list) The state vector of the result.
Definition constants.h:1050
@ QDMI_JOB_RESULT_HIST_KEYS
char* (string) The keys for the histogram of the results.
Definition constants.h:1035
@ QDMI_JOB_RESULT_PROBABILITIES_SPARSE_VALUES
double* (double list) The values for the sparse probabilities of the result.
Definition constants.h:1093
@ QDMI_JOB_RESULT_HIST_VALUES
size_t* (size_t list) The values for the histogram of the results.
Definition constants.h:1041
@ QDMI_JOB_RESULT_STATEVECTOR_SPARSE_VALUES
double* (double list) The values for the sparse state vector of the result.
Definition constants.h:1075
@ QDMI_JOB_RESULT_CUSTOM1
This enum value is reserved for a custom result.
Definition constants.h:1109
@ QDMI_JOB_RESULT_CUSTOM5
Definition constants.h:1117
@ QDMI_JOB_RESULT_CUSTOM2
Definition constants.h:1111
@ QDMI_JOB_RESULT_STATEVECTOR_SPARSE_KEYS
char* (string) The keys for the sparse state vector of the result.
Definition constants.h:1066
@ QDMI_JOB_RESULT_SHOTS
char* (string) The results of the individual shots as a comma-separated list, for example,...
Definition constants.h:1024
@ QDMI_JOB_RESULT_CUSTOM4
Definition constants.h:1115
@ QDMI_JOB_RESULT_CUSTOM3
Definition constants.h:1113
@ QDMI_JOB_RESULT_PROBABILITIES_SPARSE_KEYS
char* (string) The keys for the sparse probabilities of the result.
Definition constants.h:1084
QDMI_OPERATION_PROPERTY_T
Definition constants.h:675
@ QDMI_OPERATION_PROPERTY_CUSTOM2
Definition constants.h:808
@ QDMI_OPERATION_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:799
@ QDMI_OPERATION_PROPERTY_BLOCKINGRADIUS
uint64_t The raw, unscaled blocking radius of the operation.
Definition constants.h:732
@ QDMI_OPERATION_PROPERTY_ISZONED
bool Whether the operation is a zoned (global) operation.
Definition constants.h:759
@ QDMI_OPERATION_PROPERTY_QUBITSNUM
size_t The number of qubits involved in the operation.
Definition constants.h:679
@ QDMI_OPERATION_PROPERTY_NAME
char* (string) The string identifier of the operation.
Definition constants.h:677
@ QDMI_OPERATION_PROPERTY_PARAMETERSNUM
size_t The number of floating point parameters the operation takes.
Definition constants.h:681
@ QDMI_OPERATION_PROPERTY_INTERACTIONRADIUS
uint64_t The raw, unscaled interaction radius of the operation.
Definition constants.h:713
@ QDMI_OPERATION_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:806
@ QDMI_OPERATION_PROPERTY_CUSTOM3
Definition constants.h:810
@ QDMI_OPERATION_PROPERTY_DURATION
uint64_t The raw, unscaled duration of an operation.
Definition constants.h:692
@ QDMI_OPERATION_PROPERTY_MEANSHUTTLINGSPEED
uint64_t The raw, unscaled mean shuttling speed of an operation.
Definition constants.h:790
@ QDMI_OPERATION_PROPERTY_CUSTOM5
Definition constants.h:814
@ QDMI_OPERATION_PROPERTY_IDLINGFIDELITY
double Fidelity of qubits idling during a global operation.
Definition constants.h:745
@ QDMI_OPERATION_PROPERTY_FIDELITY
double The fidelity of an operation.
Definition constants.h:694
@ QDMI_OPERATION_PROPERTY_SITES
QDMI_Site* (list) The sites to which the operation is applicable.
Definition constants.h:772
@ QDMI_OPERATION_PROPERTY_CUSTOM4
Definition constants.h:812
enum QDMI_DEVICE_SESSION_PARAMETER_T QDMI_Device_Session_Parameter
Device session parameter type.
Definition constants.h:145
enum QDMI_OPERATION_PROPERTY_T QDMI_Operation_Property
Operation property type.
Definition constants.h:818
QDMI_DEVICE_PROPERTY_T
Definition constants.h:279
@ QDMI_DEVICE_PROPERTY_MINATOMDISTANCE
uint64_t The raw, unscaled minimum required distance between qubits during quantum computation.
Definition constants.h:397
@ QDMI_DEVICE_PROPERTY_NAME
char* (string) The name of the device.
Definition constants.h:281
@ QDMI_DEVICE_PROPERTY_LENGTHSCALEFACTOR
double A scale factor for all length values.
Definition constants.h:359
@ QDMI_DEVICE_PROPERTY_CUSTOM3
Definition constants.h:425
@ QDMI_DEVICE_PROPERTY_CUSTOM2
Definition constants.h:423
@ QDMI_DEVICE_PROPERTY_LENGTHUNIT
char* (string) The length unit reported by the device.
Definition constants.h:349
@ QDMI_DEVICE_PROPERTY_NEEDSCALIBRATION
size_t Whether the device needs calibration.
Definition constants.h:332
@ QDMI_DEVICE_PROPERTY_STATUS
QDMI_Device_Status The status of the device.
Definition constants.h:285
@ QDMI_DEVICE_PROPERTY_VERSION
char* (string) The version of the device.
Definition constants.h:283
@ QDMI_DEVICE_PROPERTY_LIBRARYVERSION
char* (string) The implemented version of QDMI.
Definition constants.h:287
@ QDMI_DEVICE_PROPERTY_PULSESUPPORT
QDMI_Device_Pulse_Support_Level Whether the device supports pulse-level control.
Definition constants.h:340
@ QDMI_DEVICE_PROPERTY_SUPPORTEDPROGRAMFORMATS
QDMI_Program_Format* (QDMI_Program_Format list) The program formats supported by the device.
Definition constants.h:405
@ QDMI_DEVICE_PROPERTY_QUBITSNUM
size_t The number of qubits in the device.
Definition constants.h:289
@ QDMI_DEVICE_PROPERTY_COUPLINGMAP
QDMI_Site* (QDMI_Site list) The coupling map of the device.
Definition constants.h:320
@ QDMI_DEVICE_PROPERTY_DURATIONSCALEFACTOR
double A scale factor for all duration values.
Definition constants.h:378
@ QDMI_DEVICE_PROPERTY_OPERATIONS
QDMI_Operation* (QDMI_Operation list) The operations supported by the device.
Definition constants.h:308
@ QDMI_DEVICE_PROPERTY_DURATIONUNIT
char* (string) The duration unit reported by the device.
Definition constants.h:368
@ QDMI_DEVICE_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:421
@ QDMI_DEVICE_PROPERTY_CUSTOM4
Definition constants.h:427
@ QDMI_DEVICE_PROPERTY_CUSTOM5
Definition constants.h:429
@ QDMI_DEVICE_PROPERTY_SITES
QDMI_Site* (QDMI_Site list) The sites of the device.
Definition constants.h:301
@ QDMI_DEVICE_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:414
enum QDMI_DEVICE_PULSE_SUPPORT_LEVEL_T QDMI_Device_Pulse_Support_Level
Pulse support level type.
Definition constants.h:1160
enum QDMI_DEVICE_PROPERTY_T QDMI_Device_Property
Device property type.
Definition constants.h:433