Maestro 0.1.0
Unified interface for quantum circuit simulation
Loading...
Searching...
No Matches
qasm Namespace Reference

Classes

class  CircToQasm
class  AbstractSyntaxTree
class  Constant
struct  MakeConstantExpression
class  Variable
struct  MakeVariableExpression
class  BinaryOperator
struct  MakeBinaryExpression
class  UnaryOperator
struct  MakeUnaryExpression
class  Function
struct  MakeFunctionExpression
class  Expression
struct  error_handler_
class  QasmToCirc
class  IndexedId
struct  MakeIndexedIdExpression
struct  QoperationStatement
struct  AddCregExpr
struct  AddQregExpr
struct  AddCommentExpr
struct  AddDeclarationExpr
struct  AddMeasureExpr
struct  AddResetExpr
struct  AddBarrierExpr
struct  AddOpaqueDeclExpr
struct  AddGateDeclExpr
struct  AddGateExpr
struct  AddCondQopExpr
struct  Program

Typedefs

typedef std::shared_ptr< AbstractSyntaxTreeAbstractSyntaxTreePtr
using SimpleExpType = std::variant<double, int, std::string>
using ArgumentType = std::variant<std::string, IndexedId>
using MixedListType = std::vector<ArgumentType>
using SimpleGatecallType = boost::fusion::vector<std::string, MixedListType>
using ExpGatecallType
using GatecallType = std::variant<SimpleGatecallType, ExpGatecallType>
using UGateCallType
using CXGateCallType = boost::fusion::vector<ArgumentType, ArgumentType>
using UopType = std::variant<UGateCallType, CXGateCallType, GatecallType>
using StatementType = QoperationStatement
using ProgramType
using ResetType = ArgumentType
using MeasureType = boost::fusion::vector<ArgumentType, ArgumentType>
using BarrierType = MixedListType
using QopType = StatementType
using CondOpType = boost::fusion::vector<std::string, int, QopType>
using GateDeclType
using SimpleBarrierType = std::vector<std::string>
using GateDeclOpType = std::variant<UopType, SimpleBarrierType>
using OpaqueDeclType

Functions

template<typename Expr>
static AbstractSyntaxTreePtr Clone (Expr const &t)

Variables

phx::function< MakeConstantExpressionMakeConstant
phx::function< MakeVariableExpressionMakeVariable
phx::function< MakeBinaryExpressionMakeBinary
phx::function< MakeUnaryExpressionMakeUnary
phx::function< MakeFunctionExpressionMakeFunction
phx::function< error_handler_ > const error_handler = error_handler_()
phx::function< MakeIndexedIdExpressionMakeIndexedId
phx::function< AddCregExprAddCreg
phx::function< AddQregExprAddQreg
phx::function< AddCommentExprAddComment
phx::function< AddDeclarationExprAddDeclaration
phx::function< AddMeasureExprAddMeasure
phx::function< AddResetExprAddReset
phx::function< AddBarrierExprAddBarrier
phx::function< AddOpaqueDeclExprAddOpaqueDecl
phx::function< AddGateDeclExprAddGateDecl
phx::function< AddGateExprAddGate
phx::function< AddCondQopExprAddCondQop

Typedef Documentation

◆ AbstractSyntaxTreePtr

Definition at line 57 of file Expr.h.

◆ ArgumentType

using qasm::ArgumentType = std::variant<std::string, IndexedId>

Definition at line 56 of file SimpleOps.h.

◆ BarrierType

Definition at line 110 of file SimpleOps.h.

◆ CondOpType

using qasm::CondOpType = boost::fusion::vector<std::string, int, QopType>

Definition at line 113 of file SimpleOps.h.

◆ CXGateCallType

using qasm::CXGateCallType = boost::fusion::vector<ArgumentType, ArgumentType>

Definition at line 66 of file SimpleOps.h.

◆ ExpGatecallType

Initial value:
boost::fusion::vector<std::string, std::vector<Expression>, MixedListType>
std::vector< ArgumentType > MixedListType
Definition SimpleOps.h:57

Definition at line 60 of file SimpleOps.h.

◆ GatecallType

Definition at line 62 of file SimpleOps.h.

◆ GateDeclOpType

Definition at line 119 of file SimpleOps.h.

◆ GateDeclType

Initial value:
boost::fusion::vector<std::string, std::vector<std::string>,
std::vector<std::string>>

Definition at line 115 of file SimpleOps.h.

◆ MeasureType

using qasm::MeasureType = boost::fusion::vector<ArgumentType, ArgumentType>

Definition at line 109 of file SimpleOps.h.

◆ MixedListType

using qasm::MixedListType = std::vector<ArgumentType>

Definition at line 57 of file SimpleOps.h.

◆ OpaqueDeclType

Initial value:
boost::fusion::vector<std::string, std::vector<std::string>,
std::vector<std::string>>

Definition at line 120 of file SimpleOps.h.

◆ ProgramType

Initial value:
boost::fusion::vector<std::vector<std::string>, double,
std::vector<std::string>, std::vector<StatementType>>

Definition at line 104 of file SimpleOps.h.

◆ QopType

Definition at line 112 of file SimpleOps.h.

◆ ResetType

Definition at line 108 of file SimpleOps.h.

◆ SimpleBarrierType

using qasm::SimpleBarrierType = std::vector<std::string>

Definition at line 118 of file SimpleOps.h.

◆ SimpleExpType

using qasm::SimpleExpType = std::variant<double, int, std::string>

Definition at line 54 of file SimpleOps.h.

◆ SimpleGatecallType

using qasm::SimpleGatecallType = boost::fusion::vector<std::string, MixedListType>

Definition at line 59 of file SimpleOps.h.

◆ StatementType

Definition at line 102 of file SimpleOps.h.

◆ UGateCallType

Initial value:
boost::fusion::vector<std::vector<Expression>, ArgumentType>
std::variant< std::string, IndexedId > ArgumentType
Definition SimpleOps.h:56

Definition at line 64 of file SimpleOps.h.

◆ UopType

Definition at line 68 of file SimpleOps.h.

Function Documentation

◆ Clone()

template<typename Expr>
AbstractSyntaxTreePtr qasm::Clone ( Expr const & t)
static

Definition at line 59 of file Expr.h.

Variable Documentation

◆ AddBarrier

phx::function<AddBarrierExpr> qasm::AddBarrier

Definition at line 341 of file SimpleOps.h.

◆ AddComment

phx::function<AddCommentExpr> qasm::AddComment

Definition at line 184 of file SimpleOps.h.

◆ AddCondQop

phx::function<AddCondQopExpr> qasm::AddCondQop

Definition at line 557 of file SyntaxTree.h.

◆ AddCreg

phx::function<AddCregExpr> qasm::AddCreg

Definition at line 145 of file SimpleOps.h.

◆ AddDeclaration

phx::function<AddDeclarationExpr> qasm::AddDeclaration

Definition at line 200 of file SimpleOps.h.

◆ AddGate

phx::function<AddGateExpr> qasm::AddGate

Definition at line 519 of file SyntaxTree.h.

◆ AddGateDecl

phx::function<AddGateDeclExpr> qasm::AddGateDecl

Definition at line 429 of file SimpleOps.h.

◆ AddMeasure

phx::function<AddMeasureExpr> qasm::AddMeasure

Definition at line 262 of file SimpleOps.h.

◆ AddOpaqueDecl

phx::function<AddOpaqueDeclExpr> qasm::AddOpaqueDecl

Definition at line 373 of file SimpleOps.h.

◆ AddQreg

phx::function<AddQregExpr> qasm::AddQreg

Definition at line 167 of file SimpleOps.h.

◆ AddReset

phx::function<AddResetExpr> qasm::AddReset

Definition at line 299 of file SimpleOps.h.

◆ error_handler

phx::function<error_handler_> const qasm::error_handler = error_handler_()

Definition at line 33 of file qasm.h.

◆ MakeBinary

phx::function<MakeBinaryExpression> qasm::MakeBinary

Definition at line 196 of file Expr.h.

◆ MakeConstant

phx::function<MakeConstantExpression> qasm::MakeConstant

Definition at line 98 of file Expr.h.

◆ MakeFunction

phx::function<MakeFunctionExpression> qasm::MakeFunction

Definition at line 310 of file Expr.h.

◆ MakeIndexedId

phx::function<MakeIndexedIdExpression> qasm::MakeIndexedId

Definition at line 52 of file SimpleOps.h.

◆ MakeUnary

phx::function<MakeUnaryExpression> qasm::MakeUnary

Definition at line 247 of file Expr.h.

◆ MakeVariable

phx::function<MakeVariableExpression> qasm::MakeVariable

Definition at line 133 of file Expr.h.