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;
68 constexpr
double eps = 1e-12;
80 constexpr
double pi = 3.141592653589793238462643383279502884;
84 constexpr
double ee = 2.718281828459045235360287471352662497;
89 constexpr
double infty = std::numeric_limits<double>::max();
100 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:75
cplx omega(idx D)
D-th root of unity.
Definition: constants.h:97
constexpr double eps
Used to decide whether a number or expression in double precision is zero or not. ...
Definition: constants.h:68
Quantum++ main namespace.
Definition: codes.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:89
constexpr double pi
Definition: constants.h:80
Parameter out of range exception.
Definition: exception.h:515
std::size_t idx
Non-negative integer index.
Definition: types.h:39
constexpr double ee
Base of natural logarithm, .
Definition: constants.h:84