Qrack  1.7
General classical-emulating-quantum development framework
Functions
Logic Gates

Each bit is paired with a CL* variant that utilizes a classical bit as an input. More...

Functions

virtual void Qrack::QInterface::AND (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit)
 Quantum analog of classical "AND" gate. More...
 
virtual void Qrack::QInterface::OR (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit)
 Quantum analog of classical "OR" gate. More...
 
virtual void Qrack::QInterface::XOR (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit)
 Quantum analog of classical "XOR" gate. More...
 
virtual void Qrack::QInterface::CLAND (bitLenInt inputQBit, bool inputClassicalBit, bitLenInt outputBit)
 Quantum analog of classical "AND" gate. More...
 
virtual void Qrack::QInterface::CLOR (bitLenInt inputQBit, bool inputClassicalBit, bitLenInt outputBit)
 Quantum analog of classical "OR" gate. More...
 
virtual void Qrack::QInterface::CLXOR (bitLenInt inputQBit, bool inputClassicalBit, bitLenInt outputBit)
 Quantum analog of classical "XOR" gate. More...
 
virtual void Qrack::QUnit::AND (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit)
 Quantum analog of classical "AND" gate. More...
 
virtual void Qrack::QUnit::AND (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit, bitLenInt length)
 Bitwise "AND". More...
 
virtual void Qrack::QUnit::OR (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit)
 Quantum analog of classical "OR" gate. More...
 
virtual void Qrack::QUnit::OR (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit, bitLenInt length)
 Bitwise "OR". More...
 
virtual void Qrack::QUnit::XOR (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit)
 Quantum analog of classical "XOR" gate. More...
 
virtual void Qrack::QUnit::XOR (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit, bitLenInt length)
 Bitwise "XOR". More...
 
virtual void Qrack::QUnit::CLAND (bitLenInt inputQBit, bool inputClassicalBit, bitLenInt outputBit)
 Quantum analog of classical "AND" gate. More...
 
virtual void Qrack::QUnit::CLAND (bitLenInt qInputStart, bitCapInt classicalInput, bitLenInt outputStart, bitLenInt length)
 Classical bitwise "AND". More...
 
virtual void Qrack::QUnit::CLOR (bitLenInt inputQBit, bool inputClassicalBit, bitLenInt outputBit)
 Quantum analog of classical "OR" gate. More...
 
virtual void Qrack::QUnit::CLOR (bitLenInt qInputStart, bitCapInt classicalInput, bitLenInt outputStart, bitLenInt length)
 Classical bitwise "OR". More...
 
virtual void Qrack::QUnit::CLXOR (bitLenInt inputQBit, bool inputClassicalBit, bitLenInt outputBit)
 Quantum analog of classical "XOR" gate. More...
 
virtual void Qrack::QUnit::CLXOR (bitLenInt qInputStart, bitCapInt classicalInput, bitLenInt outputStart, bitLenInt length)
 Classical bitwise "XOR". More...
 

Detailed Description

Each bit is paired with a CL* variant that utilizes a classical bit as an input.

Function Documentation

void Qrack::QUnit::AND ( bitLenInt  inputBit1,
bitLenInt  inputBit2,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "AND" gate.

Measures the outputBit, then overwrites it with result.

Reimplemented from Qrack::QInterface.

void Qrack::QUnit::AND ( bitLenInt  inputStart1,
bitLenInt  inputStart2,
bitLenInt  outputStart,
bitLenInt  length 
)
virtual

Bitwise "AND".

"AND" compare two bits in QInterface, and store result in outputBit

"AND" registers at "inputStart1" and "inputStart2," of "length" bits, placing the result in "outputStart".

Reimplemented from Qrack::QInterface.

void Qrack::QInterface::AND ( bitLenInt  inputBit1,
bitLenInt  inputBit2,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "AND" gate.

Measures the outputBit, then overwrites it with result.

Reimplemented in Qrack::QUnit.

void Qrack::QUnit::CLAND ( bitLenInt  inputQBit,
bool  inputClassicalBit,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "AND" gate.

Takes one qubit input and one classical bit input. Measures the outputBit, then overwrites it with result.

Reimplemented from Qrack::QInterface.

void Qrack::QUnit::CLAND ( bitLenInt  qInputStart,
bitCapInt  classicalInput,
bitLenInt  outputStart,
bitLenInt  length 
)
virtual

Classical bitwise "AND".

"AND" compare a bit range in QInterface with a classical unsigned integer, and store result in range starting at output

"AND" registers at "inputStart1" and the classic bits of "classicalInput," of "length" bits, placing the result in "outputStart".

Reimplemented from Qrack::QInterface.

void Qrack::QInterface::CLAND ( bitLenInt  inputQBit,
bool  inputClassicalBit,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "AND" gate.

Takes one qubit input and one classical bit input. Measures the outputBit, then overwrites it with result.

Reimplemented in Qrack::QUnit.

void Qrack::QUnit::CLOR ( bitLenInt  inputQBit,
bool  inputClassicalBit,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "OR" gate.

Takes one qubit input and one classical bit input. Measures the outputBit, then overwrites it with result.

Reimplemented from Qrack::QInterface.

void Qrack::QUnit::CLOR ( bitLenInt  qInputStart,
bitCapInt  classicalInput,
bitLenInt  outputStart,
bitLenInt  length 
)
virtual

Classical bitwise "OR".

"OR" compare a bit range in QInterface with a classical unsigned integer, and store result in range starting at output

Reimplemented from Qrack::QInterface.

void Qrack::QInterface::CLOR ( bitLenInt  inputQBit,
bool  inputClassicalBit,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "OR" gate.

Takes one qubit input and one classical bit input. Measures the outputBit, then overwrites it with result.

Reimplemented in Qrack::QUnit.

void Qrack::QUnit::CLXOR ( bitLenInt  inputQBit,
bool  inputClassicalBit,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "XOR" gate.

Takes one qubit input and one classical bit input. Measures the outputBit, then overwrites it with result.

Reimplemented from Qrack::QInterface.

void Qrack::QUnit::CLXOR ( bitLenInt  qInputStart,
bitCapInt  classicalInput,
bitLenInt  outputStart,
bitLenInt  length 
)
virtual

Classical bitwise "XOR".

"XOR" compare a bit range in QInterface with a classical unsigned integer, and store result in range starting at output

Reimplemented from Qrack::QInterface.

void Qrack::QInterface::CLXOR ( bitLenInt  inputQBit,
bool  inputClassicalBit,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "XOR" gate.

Takes one qubit input and one classical bit input. Measures the outputBit, then overwrites it with result.

Reimplemented in Qrack::QUnit.

void Qrack::QUnit::OR ( bitLenInt  inputBit1,
bitLenInt  inputBit2,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "OR" gate.

Measures the outputBit, then overwrites it with result.

Reimplemented from Qrack::QInterface.

void Qrack::QUnit::OR ( bitLenInt  inputStart1,
bitLenInt  inputStart2,
bitLenInt  outputStart,
bitLenInt  length 
)
virtual

Bitwise "OR".

"OR" compare two bits in QInterface, and store result in outputBit

Reimplemented from Qrack::QInterface.

void Qrack::QInterface::OR ( bitLenInt  inputBit1,
bitLenInt  inputBit2,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "OR" gate.

Measures the outputBit, then overwrites it with result.

Reimplemented in Qrack::QUnit.

void Qrack::QUnit::XOR ( bitLenInt  inputBit1,
bitLenInt  inputBit2,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "XOR" gate.

Measures the outputBit, then overwrites it with result.

Reimplemented from Qrack::QInterface.

void Qrack::QUnit::XOR ( bitLenInt  inputStart1,
bitLenInt  inputStart2,
bitLenInt  outputStart,
bitLenInt  length 
)
virtual

Bitwise "XOR".

"XOR" compare two bits in QInterface, and store result in outputBit

Reimplemented from Qrack::QInterface.

void Qrack::QInterface::XOR ( bitLenInt  inputBit1,
bitLenInt  inputBit2,
bitLenInt  outputBit 
)
virtual

Quantum analog of classical "XOR" gate.

Measures the outputBit, then overwrites it with result.

Reimplemented in Qrack::QUnit.