Skip to content

Commit

Permalink
Update API reference
Browse files Browse the repository at this point in the history
  • Loading branch information
WrathfulSpatula committed Oct 25, 2022
1 parent 8b041d2 commit 8207018
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 18 deletions.
30 changes: 30 additions & 0 deletions docs/api/qalu.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
:orphan:

.. Copyright (c) 2017-2021
QInterface
========================

Defined in `qalu.hpp <https://github.com/vm6502q/qrack/blob/master/include/qalu.hpp>`_.

This is an interface layer, separate from and in addition to `Qrack::QInterface`, meant to isolate less-used functionality as optional. Specifically, it provides all emulated arithmetic logic unit (ALU) functionality that is not yet implemented at gate level in `Qrack::QInterface`.

.. doxygenclass:: Qrack::QAlu
:project: qrack


Arithmetic
--------------------------

.. doxygenfunction:: Qrack::QAlu::INCSC(bitCapInt, bitLenInt, bitLenInt, bitLenInt, bitLenInt)
.. doxygenfunction:: Qrack::QAlu::INCSC(bitCapInt, bitLenInt, bitLenInt, bitLenInt)
.. doxygenfunction:: Qrack::QAlu::MUL
.. doxygenfunction:: Qrack::QAlu::DIV
.. doxygenfunction:: Qrack::QAlu::CMUL
.. doxygenfunction:: Qrack::QAlu::CDIV
.. doxygenfunction:: Qrack::QAlu::POWModNOut
.. doxygenfunction:: Qrack::QAlu::CPOWModNOut
.. doxygenfunction:: Qrack::QAlu::IndexedLDA
.. doxygenfunction:: Qrack::QAlu::IndexedADC
.. doxygenfunction:: Qrack::QAlu::IndexedSBC
.. doxygenfunction:: Qrack::QAlu::Hash
23 changes: 5 additions & 18 deletions docs/api/qinterface.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,8 @@ State Manipulation Methods
.. doxygenfunction:: Qrack::QInterface::SetQuantumState
.. doxygenfunction:: Qrack::QInterface::Compose(QInterfacePtr)
.. doxygenfunction:: Qrack::QInterface::Compose(QInterfacePtr, bitLenInt)
.. doxygenfunction:: Qrack::QInterface::Decompose
.. doxygenfunction:: Qrack::QInterface::Decompose(bitLenInt, bitLenInt)
.. doxygenfunction:: Qrack::QInterface::Decompose(bitLenInt, QInterfacePtr)
.. doxygenfunction:: Qrack::QInterface::Dispose(bitLenInt, bitLenInt)
.. doxygenfunction:: Qrack::QInterface::Dispose(bitLenInt, bitLenInt, bitCapInt)
.. doxygenfunction:: Qrack::QInterface::Prob
Expand Down Expand Up @@ -92,7 +93,7 @@ State Manipulation Methods
.. doxygenfunction:: Qrack::QInterface::TrySeparate(bitLenInt, bitLenInt)
.. doxygenfunction:: Qrack::QInterface::TryDecompose
.. doxygenfunction:: Qrack::QInterface::MultiShotMeasureMask(const std::vector<bitCapInt>&, unsigned)
.. doxygenfunction:: Qrack::QInterface::MultiShotMeasureMask(const std::vector<bitCapInt>&, unsigned, unsigned *)
.. doxygenfunction:: Qrack::QInterface::MultiShotMeasureMask(const std::vector<bitCapInt>&, unsigned, unsigned long long *)
.. doxygenfunction:: Qrack::QInterface::ApproxCompare
.. doxygenfunction:: Qrack::QInterface::TimeEvolve

Expand Down Expand Up @@ -144,8 +145,6 @@ Single Gates
.. doxygenfunction:: Qrack::QInterface::SqrtY(bitLenInt)
.. doxygenfunction:: Qrack::QInterface::ISqrtY(bitLenInt)
.. doxygenfunction:: Qrack::QInterface::SqrtH(bitLenInt)
.. doxygenfunction:: Qrack::QInterface::SqrtXConjT(bitLenInt)
.. doxygenfunction:: Qrack::QInterface::ISqrtXConjT(bitLenInt)

.. doxygenfunction:: Qrack::QInterface::PhaseRootN(bitLenInt, bitLenInt)
.. doxygenfunction:: Qrack::QInterface::IPhaseRootN(bitLenInt, bitLenInt)
Expand All @@ -164,7 +163,8 @@ Single Gates
.. doxygenfunction:: Qrack::QInterface::RZ(real1_f, bitLenInt)
.. doxygenfunction:: Qrack::QInterface::CRZ(real1_f, bitLenInt, bitLenInt)

.. doxygenfunction:: Qrack::QInterface::UniformlyControlledSingleBit(const std::vector<bitLenInt>&, bitLenInt, complex const*)
.. doxygenfunction:: Qrack::QInterface::UniformlyControlledSingleBit(const std::vector<bitLenInt>&, bitLenInt, complex const *)
.. doxygenfunction:: Qrack::QInterface::UniformlyControlledSingleBit(const std::vector<bitLenInt>&, bitLenInt, complex const *, const std::vector<bitCapInt>&, bitCapInt)
.. doxygenfunction:: Qrack::QInterface::UniformlyControlledRY(const std::vector<bitLenInt>&, bitLenInt, real1 const*)
.. doxygenfunction:: Qrack::QInterface::UniformlyControlledRZ(const std::vector<bitLenInt>&, bitLenInt, real1 const*)

Expand All @@ -180,18 +180,10 @@ Qrack can build with quantum arithmetic methods, using CMake option ``-DENABLE_A
.. doxygenfunction:: Qrack::QInterface::INCC
.. doxygenfunction:: Qrack::QInterface::INCS
.. doxygenfunction:: Qrack::QInterface::DECS
.. doxygenfunction:: Qrack::QInterface::INCSC(bitCapInt, bitLenInt, bitLenInt, bitLenInt, bitLenInt)
.. doxygenfunction:: Qrack::QInterface::INCSC(bitCapInt, bitLenInt, bitLenInt, bitLenInt)
.. doxygenfunction:: Qrack::QInterface::MUL
.. doxygenfunction:: Qrack::QInterface::DIV
.. doxygenfunction:: Qrack::QInterface::CMUL
.. doxygenfunction:: Qrack::QInterface::CDIV
.. doxygenfunction:: Qrack::QInterface::MULModNOut
.. doxygenfunction:: Qrack::QInterface::IMULModNOut
.. doxygenfunction:: Qrack::QInterface::CMULModNOut
.. doxygenfunction:: Qrack::QInterface::CIMULModNOut
.. doxygenfunction:: Qrack::QInterface::POWModNOut
.. doxygenfunction:: Qrack::QInterface::CPOWModNOut
.. doxygenfunction:: Qrack::QInterface::FullAdd
.. doxygenfunction:: Qrack::QInterface::IFullAdd
Expand All @@ -203,11 +195,6 @@ Qrack can build with quantum arithmetic methods, using CMake option ``-DENABLE_A
.. doxygenfunction:: Qrack::QInterface::CADC
.. doxygenfunction:: Qrack::QInterface::CIADC
.. doxygenfunction:: Qrack::QInterface::IndexedLDA
.. doxygenfunction:: Qrack::QInterface::IndexedADC
.. doxygenfunction:: Qrack::QInterface::IndexedSBC
.. doxygenfunction:: Qrack::QInterface::Hash
Algorithmic Implementations
---------------------------
Expand Down
22 changes: 22 additions & 0 deletions docs/api/qparity.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
:orphan:

.. Copyright (c) 2017-2021
QInterface
========================

Defined in `qparity.hpp <https://github.com/vm6502q/qrack/blob/master/include/qparity.hpp>`_.

This is an interface layer, separate from and in addition to `Qrack::QInterface`, meant to isolate less-used functionality as optional.

.. doxygenclass:: Qrack::QParity
:project: qrack


Methods
--------------------------

.. doxygenfunction:: Qrack::QParity::UniformParityRZ
.. doxygenfunction:: Qrack::QParity::CUniformParityRZ
.. doxygenfunction:: Qrack::QParity::ProbParity
.. doxygenfunction:: Qrack::QParity::MParityRZ
2 changes: 2 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ Daniel Strano would like to specifically note that Benn Bollay is almost entirel
:maxdepth: 2

api/qinterface
api/qalu
api/qparity
api/oclengine
api/qengine
api/qenginecpu
Expand Down

0 comments on commit 8207018

Please sign in to comment.