//===----------------- QtmGateArg.cpp ----------------------===// // This file implements the Scaffold Quantum Gate Argument Class // // // // This file was created by Scaffold Compiler Working Group // // // // //===----------------------------------------------------------------------===// #include "llvm/Support/raw_ostream.h" #include "llvm/Constants.h" using namespace llvm; namespace { class QtmGateArg{ //arguments to qgate calls public: Value* argPtr; int argNum; bool isQbit; bool isCbit; bool isUndef; bool isPtr; int valOrIndex; //Value if not Qbit, Index if Qbit & not a Ptr double angle; QtmGateArg(): argPtr(NULL), argNum(-1), isQbit(false), isCbit(false), isUndef(false), isPtr(false), valOrIndex(-1), angle(0.0){ } void dump() //originally print_qgateArg { errs()<< "Printing QGate Argument:\n"; if(argPtr) errs() << " Name: "<getName()<<"\n"; errs() << " Arg Num: "<