36 inline namespace literals {
42 inline constexpr
cplx operator"" _i(
unsigned long long int x) noexcept {
43 return {0.,
static_cast<double>(x)};
52 inline constexpr
cplx operator"" _i(
long double x) noexcept {
53 return {0.,
static_cast<double>(x)};
60 constexpr
double chop = 1e-10;
72 constexpr
double pi = 3.141592653589793238462643383279502884;
76 constexpr
double ee = 2.718281828459045235360287471352662497;
81 constexpr
double infty = std::numeric_limits<double>::max();
92 return exp(2.0 *
pi * 1_i / static_cast<double>(D));
constexpr double chop
Used in qpp::disp() for setting to zero numbers that have their absolute value smaller than qpp::chop...
Definition: constants.h:60
constexpr idx maxn
Maximum number of allowed qubits/qudits (subsystems)
Definition: constants.h:67
cplx omega(idx D)
D-th root of unity.
Definition: constants.h:89
Quantum++ main namespace.
Definition: circuits.h:35
std::complex< double > cplx
Complex number in double precision.
Definition: types.h:49
constexpr double infty
Used to denote infinity in double precision.
Definition: constants.h:81
constexpr double pi
Definition: constants.h:72
Argument out of range exception.
Definition: exception.h:515
std::size_t idx
Non-negative integer index, make sure you use an unsigned type.
Definition: types.h:39
constexpr double ee
Base of natural logarithm, .
Definition: constants.h:76