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

Classes

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

Typedefs

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

Functions

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

Variables

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

Typedef Documentation

◆ AbstractSyntaxTreePtr

Definition at line 58 of file Expr.h.

◆ ArgumentType

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

Definition at line 58 of file SimpleOps.h.

◆ BarrierType

Definition at line 112 of file SimpleOps.h.

◆ CondOpType

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

Definition at line 115 of file SimpleOps.h.

◆ CXGateCallType

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

Definition at line 68 of file SimpleOps.h.

◆ ExpGatecallType

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

Definition at line 62 of file SimpleOps.h.

◆ GatecallType

Definition at line 64 of file SimpleOps.h.

◆ GateDeclOpType

Definition at line 121 of file SimpleOps.h.

◆ GateDeclType

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

Definition at line 117 of file SimpleOps.h.

◆ MeasureType

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

Definition at line 111 of file SimpleOps.h.

◆ MixedListType

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

Definition at line 59 of file SimpleOps.h.

◆ OpaqueDeclType

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

Definition at line 122 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 106 of file SimpleOps.h.

◆ QopType

Definition at line 114 of file SimpleOps.h.

◆ ResetType

Definition at line 110 of file SimpleOps.h.

◆ SimpleBarrierType

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

Definition at line 120 of file SimpleOps.h.

◆ SimpleExpType

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

Definition at line 56 of file SimpleOps.h.

◆ SimpleGatecallType

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

Definition at line 61 of file SimpleOps.h.

◆ StatementType

Definition at line 104 of file SimpleOps.h.

◆ UGateCallType

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

Definition at line 66 of file SimpleOps.h.

◆ UopType

Definition at line 70 of file SimpleOps.h.

Function Documentation

◆ Clone()

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

Variable Documentation

◆ AddBarrier

phx::function<AddBarrierExpr> qasm::AddBarrier
inline

Definition at line 339 of file SimpleOps.h.

◆ AddComment

phx::function<AddCommentExpr> qasm::AddComment
inline

Definition at line 186 of file SimpleOps.h.

◆ AddCondQop

phx::function<AddCondQopExpr> qasm::AddCondQop
inline

Definition at line 556 of file SyntaxTree.h.

◆ AddCreg

phx::function<AddCregExpr> qasm::AddCreg
inline

Definition at line 147 of file SimpleOps.h.

◆ AddDeclaration

phx::function<AddDeclarationExpr> qasm::AddDeclaration
inline

Definition at line 202 of file SimpleOps.h.

◆ AddGate

phx::function<AddGateExpr> qasm::AddGate
inline

Definition at line 518 of file SyntaxTree.h.

◆ AddGateDecl

phx::function<AddGateDeclExpr> qasm::AddGateDecl
inline

Definition at line 428 of file SimpleOps.h.

◆ AddMeasure

phx::function<AddMeasureExpr> qasm::AddMeasure
inline

Definition at line 262 of file SimpleOps.h.

◆ AddOpaqueDecl

phx::function<AddOpaqueDeclExpr> qasm::AddOpaqueDecl
inline

Definition at line 371 of file SimpleOps.h.

◆ AddQreg

phx::function<AddQregExpr> qasm::AddQreg
inline

Definition at line 169 of file SimpleOps.h.

◆ AddReset

phx::function<AddResetExpr> qasm::AddReset
inline

Definition at line 298 of file SimpleOps.h.

◆ error_handler

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

Definition at line 35 of file qasm.h.

◆ MakeBinary

phx::function<MakeBinaryExpression> qasm::MakeBinary
inline

Definition at line 207 of file Expr.h.

◆ MakeConstant

phx::function<MakeConstantExpression> qasm::MakeConstant
inline

Definition at line 104 of file Expr.h.

◆ MakeFunction

phx::function<MakeFunctionExpression> qasm::MakeFunction
inline

Definition at line 323 of file Expr.h.

◆ MakeIndexedId

phx::function<MakeIndexedIdExpression> qasm::MakeIndexedId
inline

Definition at line 54 of file SimpleOps.h.

◆ MakeUnary

phx::function<MakeUnaryExpression> qasm::MakeUnary
inline

Definition at line 259 of file Expr.h.

◆ MakeVariable

phx::function<MakeVariableExpression> qasm::MakeVariable
inline

Definition at line 143 of file Expr.h.