QNLP
v1.0
|
#include <GateWriter.hpp>
Public Member Functions | |
GateWriter () | |
Construct a new Gate Writer object. More... | |
GateWriter (std::string latexCSVFilename, std::string matrixFilename) | |
Construct a new Gate Writer object. More... | |
~GateWriter () | |
Destroy the Gate Writer object. More... | |
void | gateOut (std::string gateLabel, std::string matrixVals) |
Writes the given matrix to matrix_val_out. Assumes matrix type is printable. More... | |
void | segmentMarkerOut (std::string segmentString) |
Marks the output file with a string pattern to allow easy of parsing for gates to algorithm operations. More... | |
void | oneQubitGateCall (const std::string &gateLabel, const std::string &matrixVals, std::size_t gate_idx) |
Writes the single qubit gate to disk. -1 used to denote lack of control line. More... | |
void | twoQubitGateCall (const std::string gateLabel, const std::string matrixVals, std::size_t gate_ctrl_idx, std::size_t gate_tgt_idx) |
Writes the controlled gate to disk. More... | |
std::unordered_set< std::string > & | getAppliedGates () |
Return the map of all applied gates so far. More... | |
Private Attributes | |
std::ofstream | latex_csv_out |
std::ofstream | matrix_val_out |
std::unordered_set< std::string > | gates |
Definition at line 9 of file GateWriter.hpp.
|
inline |
Construct a new Gate Writer object.
Definition at line 19 of file GateWriter.hpp.
|
inline |
Construct a new Gate Writer object.
latexCSVFilename | Filename for Latex CSV |
matrixFilename | Filename for matrix |
Definition at line 28 of file GateWriter.hpp.
References latex_csv_out, and matrix_val_out.
|
inline |
Destroy the Gate Writer object.
Definition at line 43 of file GateWriter.hpp.
References latex_csv_out, and matrix_val_out.
|
inline |
Writes the given matrix to matrix_val_out. Assumes matrix type is printable.
matrix |
Definition at line 56 of file GateWriter.hpp.
References gates, and matrix_val_out.
Referenced by twoQubitGateCall().
|
inline |
Return the map of all applied gates so far.
Definition at line 101 of file GateWriter.hpp.
References gates.
|
inline |
Writes the single qubit gate to disk. -1 used to denote lack of control line.
gateLabel | std::string used to label gate name. |
matrixVal | The matrix representing the gate. |
gate_idx | The qubit index to apply gate. |
Definition at line 79 of file GateWriter.hpp.
References twoQubitGateCall().
Referenced by TEST_CASE().
|
inline |
Marks the output file with a string pattern to allow easy of parsing for gates to algorithm operations.
segmentString | The name of the segment to print into the file. |
Definition at line 68 of file GateWriter.hpp.
References latex_csv_out.
|
inline |
Writes the controlled gate to disk.
gateLabel | std::string used to label gate name. |
matrixVal | The matrix representing the gate. |
gate_ctrl_idx | The qubit index for the gate control line |
gate_tgt_idx | The qubit index for the gate target line |
Definition at line 91 of file GateWriter.hpp.
References gateOut(), and latex_csv_out.
Referenced by oneQubitGateCall().
|
private |
Definition at line 12 of file GateWriter.hpp.
Referenced by gateOut(), and getAppliedGates().
|
private |
Definition at line 11 of file GateWriter.hpp.
Referenced by GateWriter(), segmentMarkerOut(), twoQubitGateCall(), and ~GateWriter().
|
private |
Definition at line 11 of file GateWriter.hpp.
Referenced by gateOut(), GateWriter(), and ~GateWriter().