QDMI v1.1.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
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
52
104
107
163
166
246
249
268
271
315
318
360
363
384
387
534
537
642
645
646// NOLINTEND(performance-enum-size, modernize-use-using)
647
648#ifdef __cplusplus
649} // extern "C"
650#endif
QDMI_JOB_STATUS_T
Enum of the status a job can have.
Definition constants.h:369
@ QDMI_JOB_STATUS_CANCELED
The job was canceled, and the result is not available.
Definition constants.h:382
@ QDMI_JOB_STATUS_CREATED
The job was created and can be configured via QDMI_job_set_parameter.
Definition constants.h:374
@ QDMI_JOB_STATUS_SUBMITTED
The job was submitted and is waiting to be executed.
Definition constants.h:376
@ QDMI_JOB_STATUS_RUNNING
The job is running, and the result is not yet available.
Definition constants.h:380
@ QDMI_JOB_STATUS_DONE
The job is done, and the result can be retrieved.
Definition constants.h:378
enum QDMI_DEVICE_STATUS_T QDMI_Device_Status
Device status type.
Definition constants.h:270
enum QDMI_JOB_STATUS_T QDMI_Job_Status
Job status type.
Definition constants.h:386
QDMI_PROGRAM_FORMAT_T
Enum of formats that can be submitted to the device.
Definition constants.h:391
@ QDMI_PROGRAM_FORMAT_CALIBRATION
void* A calibration program.
Definition constants.h:508
@ QDMI_PROGRAM_FORMAT_CUSTOM3
Definition constants.h:528
@ QDMI_PROGRAM_FORMAT_QIRBASESTRING
char* (string) A text-based QIR program complying to the QIR base profile.
Definition constants.h:469
@ QDMI_PROGRAM_FORMAT_QASM3
char* (string) An OpenQASM 3 program.
Definition constants.h:439
@ QDMI_PROGRAM_FORMAT_CUSTOM4
Definition constants.h:530
@ QDMI_PROGRAM_FORMAT_QIRBASEMODULE
void* A QIR binary complying to the QIR base profile.
Definition constants.h:480
@ QDMI_PROGRAM_FORMAT_CUSTOM2
Definition constants.h:526
@ QDMI_PROGRAM_FORMAT_CUSTOM5
Definition constants.h:532
@ QDMI_PROGRAM_FORMAT_QIRADAPTIVESTRING
char* (string) A text-based QIR program complying to the QIR adaptive profile.
Definition constants.h:491
@ QDMI_PROGRAM_FORMAT_QIRADAPTIVEMODULE
void* A QIR binary complying to the QIR adaptive profile.
Definition constants.h:501
@ QDMI_PROGRAM_FORMAT_CUSTOM1
This enum value is reserved for a custom program format.
Definition constants.h:524
@ QDMI_PROGRAM_FORMAT_MAX
The maximum value of the enum.
Definition constants.h:517
@ QDMI_PROGRAM_FORMAT_QASM2
char* (string) An OpenQASM 2.0 program.
Definition constants.h:417
QDMI_DEVICE_JOB_PARAMETER_T
Enum of the device job parameters that can be set via QDMI_device_job_set_parameter.
Definition constants.h:114
@ QDMI_DEVICE_JOB_PARAMETER_SHOTSNUM
size_t The number of shots to execute for a quantum circuit job.
Definition constants.h:137
@ QDMI_DEVICE_JOB_PARAMETER_MAX
The maximum value of the enum.
Definition constants.h:146
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM1
This enum value is reserved for a custom parameter.
Definition constants.h:153
@ QDMI_DEVICE_JOB_PARAMETER_PROGRAMFORMAT
QDMI_Program_Format The format of the program to be executed.
Definition constants.h:122
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM4
Definition constants.h:159
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM2
Definition constants.h:155
@ QDMI_DEVICE_JOB_PARAMETER_PROGRAM
void* The program to be executed.
Definition constants.h:132
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM5
Definition constants.h:161
@ QDMI_DEVICE_JOB_PARAMETER_CUSTOM3
Definition constants.h:157
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_LIBNOTFOUND
Library not found.
Definition constants.h:43
enum QDMI_PROGRAM_FORMAT_T QDMI_Program_Format
Program format type.
Definition constants.h:536
enum QDMI_JOB_RESULT_T QDMI_Job_Result
Job result type.
Definition constants.h:644
enum QDMI_DEVICE_JOB_PARAMETER_T QDMI_Device_Job_Parameter
Device job parameter type.
Definition constants.h:165
enum QDMI_SITE_PROPERTY_T QDMI_Site_Property
Site property type.
Definition constants.h:317
QDMI_SITE_PROPERTY_T
Definition constants.h:276
@ QDMI_SITE_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:305
@ QDMI_SITE_PROPERTY_CUSTOM4
Definition constants.h:311
@ QDMI_SITE_PROPERTY_CUSTOM2
Definition constants.h:307
@ QDMI_SITE_PROPERTY_CUSTOM3
Definition constants.h:309
@ QDMI_SITE_PROPERTY_T1
double The T1 time of a site in µs.
Definition constants.h:287
@ QDMI_SITE_PROPERTY_T2
double The T2 time of a site in µs.
Definition constants.h:289
@ QDMI_SITE_PROPERTY_ID
size_t The unique ID to identify the site in a program.
Definition constants.h:285
@ QDMI_SITE_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:298
@ QDMI_SITE_PROPERTY_CUSTOM5
Definition constants.h:313
QDMI_DEVICE_SESSION_PARAMETER_T
Enum of the device session parameters that can be set via QDMI_device_session_set_parameter.
Definition constants.h:59
@ QDMI_DEVICE_SESSION_PARAMETER_MAX
The maximum value of the enum.
Definition constants.h:87
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM4
Definition constants.h:100
@ QDMI_DEVICE_SESSION_PARAMETER_TOKEN
char* (string) A token to be used in the session initialization for authenticating with the device.
Definition constants.h:69
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM5
Definition constants.h:102
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM2
Definition constants.h:96
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM3
Definition constants.h:98
@ 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:78
@ QDMI_DEVICE_SESSION_PARAMETER_CUSTOM1
This enum value is reserved for a custom parameter.
Definition constants.h:94
QDMI_DEVICE_STATUS_T
Enum of different status the device can be in.
Definition constants.h:251
@ QDMI_DEVICE_STATUS_IDLE
The device is idle.
Definition constants.h:253
@ QDMI_DEVICE_STATUS_OFFLINE
The device is offline.
Definition constants.h:252
@ QDMI_DEVICE_STATUS_ERROR
The device is in an error state.
Definition constants.h:255
@ QDMI_DEVICE_STATUS_MAX
The maximum value of the enum.
Definition constants.h:266
@ QDMI_DEVICE_STATUS_CALIBRATION
The device is in calibration.
Definition constants.h:257
@ QDMI_DEVICE_STATUS_MAINTENANCE
The device is in maintenance.
Definition constants.h:256
@ QDMI_DEVICE_STATUS_BUSY
The device is busy.
Definition constants.h:254
QDMI_JOB_RESULT_T
Enum of the formats the results can be returned in.
Definition constants.h:541
@ QDMI_JOB_RESULT_PROBABILITIES_DENSE
double* (double list) The probabilities of the result.
Definition constants.h:581
@ QDMI_JOB_RESULT_MAX
The maximum value of the enum.
Definition constants.h:625
@ QDMI_JOB_RESULT_STATEVECTOR_DENSE
double* (double list) The state vector of the result.
Definition constants.h:573
@ QDMI_JOB_RESULT_HIST_KEYS
char* (string) The keys for the histogram of the results.
Definition constants.h:558
@ QDMI_JOB_RESULT_PROBABILITIES_SPARSE_VALUES
double* (double list) The values for the sparse probabilities of the result.
Definition constants.h:616
@ QDMI_JOB_RESULT_HIST_VALUES
size_t* (size_t list) The values for the histogram of the results.
Definition constants.h:564
@ QDMI_JOB_RESULT_STATEVECTOR_SPARSE_VALUES
double* (double list) The values for the sparse state vector of the result.
Definition constants.h:598
@ QDMI_JOB_RESULT_CUSTOM1
This enum value is reserved for a custom result.
Definition constants.h:632
@ QDMI_JOB_RESULT_CUSTOM5
Definition constants.h:640
@ QDMI_JOB_RESULT_CUSTOM2
Definition constants.h:634
@ QDMI_JOB_RESULT_STATEVECTOR_SPARSE_KEYS
char* (string) The keys for the sparse state vector of the result.
Definition constants.h:589
@ QDMI_JOB_RESULT_SHOTS
char* (string) The results of the individual shots as a comma-separated list, for example,...
Definition constants.h:547
@ QDMI_JOB_RESULT_CUSTOM4
Definition constants.h:638
@ QDMI_JOB_RESULT_CUSTOM3
Definition constants.h:636
@ QDMI_JOB_RESULT_PROBABILITIES_SPARSE_KEYS
char* (string) The keys for the sparse probabilities of the result.
Definition constants.h:607
QDMI_OPERATION_PROPERTY_T
Definition constants.h:324
@ QDMI_OPERATION_PROPERTY_CUSTOM2
Definition constants.h:352
@ QDMI_OPERATION_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:343
@ QDMI_OPERATION_PROPERTY_QUBITSNUM
size_t The number of qubits involved in the operation.
Definition constants.h:328
@ QDMI_OPERATION_PROPERTY_NAME
char* (string) The string identifier of the operation.
Definition constants.h:326
@ QDMI_OPERATION_PROPERTY_PARAMETERSNUM
size_t The number of floating point parameters the operation takes.
Definition constants.h:330
@ QDMI_OPERATION_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:350
@ QDMI_OPERATION_PROPERTY_CUSTOM3
Definition constants.h:354
@ QDMI_OPERATION_PROPERTY_DURATION
double The duration of an operation in µs.
Definition constants.h:332
@ QDMI_OPERATION_PROPERTY_CUSTOM5
Definition constants.h:358
@ QDMI_OPERATION_PROPERTY_FIDELITY
double The fidelity of an operation.
Definition constants.h:334
@ QDMI_OPERATION_PROPERTY_CUSTOM4
Definition constants.h:356
enum QDMI_DEVICE_SESSION_PARAMETER_T QDMI_Device_Session_Parameter
Device session parameter type.
Definition constants.h:106
enum QDMI_OPERATION_PROPERTY_T QDMI_Operation_Property
Operation property type.
Definition constants.h:362
QDMI_DEVICE_PROPERTY_T
Definition constants.h:172
@ QDMI_DEVICE_PROPERTY_NAME
char* (string) The name of the device.
Definition constants.h:174
@ QDMI_DEVICE_PROPERTY_CUSTOM3
Definition constants.h:240
@ QDMI_DEVICE_PROPERTY_CUSTOM2
Definition constants.h:238
@ QDMI_DEVICE_PROPERTY_NEEDSCALIBRATION
size_t Whether the device needs calibration.
Definition constants.h:220
@ QDMI_DEVICE_PROPERTY_STATUS
QDMI_Device_Status The status of the device.
Definition constants.h:178
@ QDMI_DEVICE_PROPERTY_VERSION
char* (string) The version of the device.
Definition constants.h:176
@ QDMI_DEVICE_PROPERTY_LIBRARYVERSION
char* (string) The implemented version of QDMI.
Definition constants.h:180
@ QDMI_DEVICE_PROPERTY_QUBITSNUM
size_t The number of qubits in the device.
Definition constants.h:182
@ QDMI_DEVICE_PROPERTY_COUPLINGMAP
QDMI_Site* (QDMI_Site list) The coupling map of the device.
Definition constants.h:208
@ QDMI_DEVICE_PROPERTY_OPERATIONS
QDMI_Operation* (QDMI_Operation list) The operations supported by the device.
Definition constants.h:196
@ QDMI_DEVICE_PROPERTY_CUSTOM1
This enum value is reserved for a custom property.
Definition constants.h:236
@ QDMI_DEVICE_PROPERTY_CUSTOM4
Definition constants.h:242
@ QDMI_DEVICE_PROPERTY_CUSTOM5
Definition constants.h:244
@ QDMI_DEVICE_PROPERTY_SITES
QDMI_Site* (QDMI_Site list) The sites of the device.
Definition constants.h:189
@ QDMI_DEVICE_PROPERTY_MAX
The maximum value of the enum.
Definition constants.h:229
enum QDMI_DEVICE_PROPERTY_T QDMI_Device_Property
Device property type.
Definition constants.h:248