Qrack  7.0
General classical-emulating-quantum development framework
Namespaces | Macros
qstabilizerhybrid.cpp File Reference
#include "qfactory.hpp"
#include <thread>
Include dependency graph for qstabilizerhybrid.cpp:

Namespaces

 Qrack
 

Macros

#define IS_REAL_0(r)   (abs(r) <= FP_NORM_EPSILON)
 
#define IS_CTRLED_CLIFFORD(top, bottom)   ((IS_REAL_0(std::real(top)) || IS_REAL_0(std::imag(top))) && (IS_SAME(top, bottom) || IS_SAME(top, -bottom)))
 
#define IS_CLIFFORD(mtrx)
 

Macro Definition Documentation

◆ IS_CLIFFORD

#define IS_CLIFFORD (   mtrx)
Value:
(IS_SAME(mtrx[0], mtrx[1]) || IS_SAME(mtrx[0], -mtrx[1]) || IS_SAME(mtrx[0], I_CMPLX * mtrx[1]) || \
IS_SAME(mtrx[0], -I_CMPLX * mtrx[1])) && \
(IS_SAME(mtrx[0], mtrx[2]) || IS_SAME(mtrx[0], -mtrx[2]) || IS_SAME(mtrx[0], I_CMPLX * mtrx[2]) || \
IS_SAME(mtrx[0], -I_CMPLX * mtrx[2])) && \
(IS_SAME(mtrx[0], mtrx[3]) || IS_SAME(mtrx[0], -mtrx[3]) || IS_SAME(mtrx[0], I_CMPLX * mtrx[3]) || \
IS_SAME(mtrx[0], -I_CMPLX * mtrx[3]))
#define IS_SAME(c1, c2)
Definition: qinterface.hpp:28
#define I_CMPLX
Definition: qrack_types.hpp:147

◆ IS_CTRLED_CLIFFORD

#define IS_CTRLED_CLIFFORD (   top,
  bottom 
)    ((IS_REAL_0(std::real(top)) || IS_REAL_0(std::imag(top))) && (IS_SAME(top, bottom) || IS_SAME(top, -bottom)))

◆ IS_REAL_0

#define IS_REAL_0 (   r)    (abs(r) <= FP_NORM_EPSILON)