# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: circuit.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import builder as _builder
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


import mimiqcircuits.proto.bitvector_pb2 as bitvector__pb2



DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rcircuit.proto\x1a\x0f\x62itvector.proto\"\x17\n\x06Symbol\x12\r\n\x05value\x18\x01 \x01(\t\"\xa6\x01\n\x03\x41rg\x12#\n\x0e\x61rgvalue_value\x18\x01 \x01(\x0b\x32\t.ArgValueH\x00\x12\x1f\n\x0csymbol_value\x18\x02 \x01(\x0b\x32\x07.SymbolH\x00\x12)\n\x11\x61rgfunction_value\x18\x03 \x01(\x0b\x32\x0c.ArgFunctionH\x00\x12\'\n\x10irrational_value\x18\x04 \x01(\x0e\x32\x0b.IrrationalH\x00\x42\x05\n\x03\x61rg\"^\n\x08\x41rgValue\x12\x17\n\rinteger_value\x18\x01 \x01(\x03H\x00\x12\x16\n\x0c\x64ouble_value\x18\x02 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x42\x0b\n\targ_value\"?\n\x0b\x41rgFunction\x12\x1c\n\x05mtype\x18\x01 \x01(\x0e\x32\r.FunctionType\x12\x12\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x04.Arg\"4\n\nComplexArg\x12\x12\n\x04real\x18\x01 \x01(\x0b\x32\x04.Arg\x12\x12\n\x04imag\x18\x02 \x01(\x0b\x32\x04.Arg\"$\n\x08Rational\x12\x0b\n\x03num\x18\x01 \x01(\x03\x12\x0b\n\x03\x64\x65n\x18\x02 \x01(\x03\"@\n\nSimpleGate\x12\x18\n\x05mtype\x18\x01 \x01(\x0e\x32\t.GateType\x12\x18\n\nparameters\x18\x02 \x03(\x0b\x32\x04.Arg\"<\n\nCustomGate\x12\x11\n\tnumqubits\x18\x01 \x01(\x03\x12\x1b\n\x06matrix\x18\x02 \x03(\x0b\x32\x0b.ComplexArg\"B\n\x0bGeneralized\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x04.Arg\x12\x11\n\tqregsizes\x18\x03 \x03(\x03\"8\n\x07\x43ontrol\x12\x18\n\toperation\x18\x01 \x01(\x0b\x32\x05.Gate\x12\x13\n\x0bnumcontrols\x18\x02 \x01(\x03\"v\n\x05Power\x12\x18\n\toperation\x18\x01 \x01(\x0b\x32\x05.Gate\x12\x14\n\ndouble_val\x18\x02 \x01(\x01H\x00\x12!\n\x0crational_val\x18\x03 \x01(\x0b\x32\t.RationalH\x00\x12\x11\n\x07int_val\x18\x04 \x01(\x03H\x00\x42\x07\n\x05power\"#\n\x07Inverse\x12\x18\n\toperation\x18\x01 \x01(\x0b\x32\x05.Gate\"8\n\x08Parallel\x12\x18\n\toperation\x18\x01 \x01(\x0b\x32\x05.Gate\x12\x12\n\nnumrepeats\x18\x02 \x01(\x03\"7\n\x08GateCall\x12\x17\n\x04\x64\x65\x63l\x18\x01 \x01(\x0b\x32\t.GateDecl\x12\x12\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x04.Arg\"S\n\x08GateDecl\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\x04\x61rgs\x18\x02 \x03(\x0b\x32\x07.Symbol\x12\"\n\x0cinstructions\x18\x03 \x03(\x0b\x32\x0c.Instruction\"/\n\x0bPauliString\x12\x11\n\tnumqubits\x18\x01 \x01(\x03\x12\r\n\x05pauli\x18\x02 \x01(\t\"\xaf\x02\n\x04Gate\x12!\n\nsimplegate\x18\x01 \x01(\x0b\x32\x0b.SimpleGateH\x00\x12!\n\ncustomgate\x18\x02 \x01(\x0b\x32\x0b.CustomGateH\x00\x12#\n\x0bgeneralized\x18\x03 \x01(\x0b\x32\x0c.GeneralizedH\x00\x12\x1b\n\x07\x63ontrol\x18\x04 \x01(\x0b\x32\x08.ControlH\x00\x12\x17\n\x05power\x18\x05 \x01(\x0b\x32\x06.PowerH\x00\x12\x1b\n\x07inverse\x18\x06 \x01(\x0b\x32\x08.InverseH\x00\x12\x1d\n\x08parallel\x18\x07 \x01(\x0b\x32\t.ParallelH\x00\x12\x1d\n\x08gatecall\x18\x08 \x01(\x0b\x32\t.GateCallH\x00\x12#\n\x0bpaulistring\x18\t \x01(\x0b\x32\x0c.PauliStringH\x00\x42\x06\n\x04gate\"H\n\x0eSimpleOperator\x12\x1c\n\x05mtype\x18\x01 \x01(\x0e\x32\r.OperatorType\x12\x18\n\nparameters\x18\x02 \x03(\x0b\x32\x04.Arg\"@\n\x0e\x43ustomOperator\x12\x11\n\tnumqubits\x18\x01 \x01(\x03\x12\x1b\n\x06matrix\x18\x02 \x03(\x0b\x32\x0b.ComplexArg\"=\n\x0cRescaledGate\x12\x18\n\toperation\x18\x01 \x01(\x0b\x32\x05.Gate\x12\x13\n\x05scale\x18\x02 \x01(\x0b\x32\x04.Arg\"\xb4\x03\n\x08Operator\x12!\n\nsimplegate\x18\x01 \x01(\x0b\x32\x0b.SimpleGateH\x00\x12!\n\ncustomgate\x18\x02 \x01(\x0b\x32\x0b.CustomGateH\x00\x12#\n\x0bgeneralized\x18\x03 \x01(\x0b\x32\x0c.GeneralizedH\x00\x12\x1b\n\x07\x63ontrol\x18\x04 \x01(\x0b\x32\x08.ControlH\x00\x12\x17\n\x05power\x18\x05 \x01(\x0b\x32\x06.PowerH\x00\x12\x1b\n\x07inverse\x18\x06 \x01(\x0b\x32\x08.InverseH\x00\x12\x1d\n\x08parallel\x18\x07 \x01(\x0b\x32\t.ParallelH\x00\x12\x1d\n\x08gatecall\x18\x08 \x01(\x0b\x32\t.GateCallH\x00\x12#\n\x0bpaulistring\x18\t \x01(\x0b\x32\x0c.PauliStringH\x00\x12)\n\x0esimpleoperator\x18\n \x01(\x0b\x32\x0f.SimpleOperatorH\x00\x12)\n\x0e\x63ustomoperator\x18\x0b \x01(\x0b\x32\x0f.CustomOperatorH\x00\x12%\n\x0crescaledgate\x18\x0c \x01(\x0b\x32\r.RescaledGateH\x00\x42\n\n\x08operator\"P\n\x12SimpleKrausChannel\x12 \n\x05mtype\x18\x01 \x01(\x0e\x32\x11.KrausChannelType\x12\x18\n\nparameters\x18\x02 \x03(\x0b\x32\x04.Arg\"E\n\x12\x43ustomKrausChannel\x12\x11\n\tnumqubits\x18\x01 \x01(\x03\x12\x1c\n\toperators\x18\x02 \x03(\x0b\x32\t.Operator\"C\n\x13\x44\x65polarizingChannel\x12\x11\n\tnumqubits\x18\x01 \x01(\x03\x12\x19\n\x0bprobability\x18\x02 \x01(\x0b\x32\x04.Arg\"7\n\x13MixedUnitaryChannel\x12 \n\toperators\x18\x01 \x03(\x0b\x32\r.RescaledGate\"O\n\x0cPauliChannel\x12\x1b\n\rprobabilities\x18\x01 \x03(\x0b\x32\x04.Arg\x12\"\n\x0cpaulistrings\x18\x02 \x03(\x0b\x32\x0c.PauliString\"\x95\x02\n\x0cKrausChannel\x12\x31\n\x12simplekrauschannel\x18\x01 \x01(\x0b\x32\x13.SimpleKrausChannelH\x00\x12\x31\n\x12\x63ustomkrauschannel\x18\x02 \x01(\x0b\x32\x13.CustomKrausChannelH\x00\x12\x33\n\x13\x64\x65polarizingchannel\x18\x03 \x01(\x0b\x32\x14.DepolarizingChannelH\x00\x12\x33\n\x13mixedunitarychannel\x18\x04 \x01(\x0b\x32\x14.MixedUnitaryChannelH\x00\x12%\n\x0cpaulichannel\x18\x05 \x01(\x0b\x32\r.PauliChannelH\x00\x42\x0e\n\x0ckrauschannel\"J\n\x0fSimpleOperation\x12\x1d\n\x05mtype\x18\x01 \x01(\x0e\x32\x0e.OperationType\x12\x18\n\nparameters\x18\x02 \x03(\x0b\x32\x04.Arg\"K\n\x0bIfStatement\x12\x1d\n\toperation\x18\x01 \x01(\x0b\x32\n.Operation\x12\x1d\n\tbitstring\x18\x02 \x01(\x0b\x32\n.BitVector\"\x1c\n\x07\x42\x61rrier\x12\x11\n\tnumqubits\x18\x01 \x01(\x03\"#\n\tAmplitude\x12\x16\n\x02\x62s\x18\x01 \x01(\x0b\x32\n.BitVector\"/\n\x10\x45xpectationValue\x12\x1b\n\x08operator\x18\x01 \x01(\x0b\x32\t.Operator\"9\n\x04Note\x12\x12\n\x08int_note\x18\x01 \x01(\x03H\x00\x12\x15\n\x0b\x64ouble_note\x18\x02 \x01(\x01H\x00\x42\x06\n\x04note\"H\n\x10SimpleAnnotation\x12\x1e\n\x05mtype\x18\x01 \x01(\x0e\x32\x0f.AnnotationType\x12\x14\n\x05notes\x18\x02 \x03(\x0b\x32\x05.Note\"3\n\x08\x44\x65tector\x12\x11\n\tnumqubits\x18\x01 \x01(\x03\x12\x14\n\x05notes\x18\x02 \x03(\x0b\x32\x05.Note\":\n\x11ObservableInclude\x12\x0f\n\x07numbits\x18\x01 \x01(\x03\x12\x14\n\x05notes\x18\x02 \x03(\x0b\x32\x05.Note\"\xe7\x07\n\tOperation\x12!\n\nsimplegate\x18\x01 \x01(\x0b\x32\x0b.SimpleGateH\x00\x12!\n\ncustomgate\x18\x02 \x01(\x0b\x32\x0b.CustomGateH\x00\x12#\n\x0bgeneralized\x18\x03 \x01(\x0b\x32\x0c.GeneralizedH\x00\x12\x1b\n\x07\x63ontrol\x18\x04 \x01(\x0b\x32\x08.ControlH\x00\x12\x17\n\x05power\x18\x05 \x01(\x0b\x32\x06.PowerH\x00\x12\x1b\n\x07inverse\x18\x06 \x01(\x0b\x32\x08.InverseH\x00\x12\x1d\n\x08parallel\x18\x07 \x01(\x0b\x32\t.ParallelH\x00\x12\x1d\n\x08gatecall\x18\x08 \x01(\x0b\x32\t.GateCallH\x00\x12#\n\x0bpaulistring\x18\t \x01(\x0b\x32\x0c.PauliStringH\x00\x12\x31\n\x12simplekrauschannel\x18\n \x01(\x0b\x32\x13.SimpleKrausChannelH\x00\x12\x31\n\x12\x63ustomkrauschannel\x18\x0b \x01(\x0b\x32\x13.CustomKrausChannelH\x00\x12\x33\n\x13\x64\x65polarizingchannel\x18\x0c \x01(\x0b\x32\x14.DepolarizingChannelH\x00\x12\x33\n\x13mixedunitarychannel\x18\r \x01(\x0b\x32\x14.MixedUnitaryChannelH\x00\x12%\n\x0cpaulichannel\x18\x0e \x01(\x0b\x32\r.PauliChannelH\x00\x12)\n\x0esimpleoperator\x18\x0f \x01(\x0b\x32\x0f.SimpleOperatorH\x00\x12)\n\x0e\x63ustomoperator\x18\x10 \x01(\x0b\x32\x0f.CustomOperatorH\x00\x12%\n\x0crescaledgate\x18\x11 \x01(\x0b\x32\r.RescaledGateH\x00\x12+\n\x0fsimpleoperation\x18\x12 \x01(\x0b\x32\x10.SimpleOperationH\x00\x12#\n\x0bifstatement\x18\x13 \x01(\x0b\x32\x0c.IfStatementH\x00\x12\x1b\n\x07\x62\x61rrier\x18\x14 \x01(\x0b\x32\x08.BarrierH\x00\x12\x1f\n\tamplitude\x18\x15 \x01(\x0b\x32\n.AmplitudeH\x00\x12-\n\x10\x65xpectationvalue\x18\x16 \x01(\x0b\x32\x11.ExpectationValueH\x00\x12\x1d\n\x08\x64\x65tector\x18\x17 \x01(\x0b\x32\t.DetectorH\x00\x12+\n\robservableinc\x18\x18 \x01(\x0b\x32\x12.ObservableIncludeH\x00\x12-\n\x10simpleannotation\x18\x19 \x01(\x0b\x32\x11.SimpleAnnotationH\x00\x42\x0b\n\toperation\"b\n\x0bInstruction\x12\x1d\n\toperation\x18\x01 \x01(\x0b\x32\n.Operation\x12\x10\n\x08qtargets\x18\x02 \x03(\x03\x12\x10\n\x08\x63targets\x18\x03 \x03(\x03\x12\x10\n\x08ztargets\x18\x04 \x03(\x03\"-\n\x07\x43ircuit\x12\"\n\x0cinstructions\x18\x01 \x03(\x0b\x32\x0c.Instruction*\x1f\n\nIrrational\x12\x06\n\x02PI\x10\x00\x12\t\n\x05\x45ULER\x10\x01*m\n\x0c\x46unctionType\x12\x07\n\x03\x41\x44\x44\x10\x00\x12\x07\n\x03MUL\x10\x01\x12\x07\n\x03\x44IV\x10\x02\x12\x07\n\x03POW\x10\x03\x12\x07\n\x03SIN\x10\x05\x12\x07\n\x03\x43OS\x10\x06\x12\x07\n\x03TAN\x10\x07\x12\x07\n\x03\x45XP\x10\x08\x12\x07\n\x03LOG\x10\t\x12\x0c\n\x08IDENTITY\x10\n*\xf6\x02\n\x08GateType\x12\n\n\x06GateID\x10\x00\x12\t\n\x05GateX\x10\x01\x12\t\n\x05GateY\x10\x02\x12\t\n\x05GateZ\x10\x03\x12\t\n\x05GateH\x10\x04\x12\x0b\n\x07GateHXY\x10\x05\x12\x0b\n\x07GateHYZ\x10\x06\x12\t\n\x05GateS\x10\x07\x12\t\n\x05GateT\x10\x08\x12\t\n\x05\x44\x65lay\x10\t\x12\t\n\x05GateU\x10\n\x12\t\n\x05GateP\x10\x0b\x12\n\n\x06GateRX\x10\x0c\x12\n\n\x06GateRY\x10\r\x12\n\n\x06GateRZ\x10\x0e\x12\t\n\x05GateR\x10\x0f\x12\n\n\x06GateU1\x10\x10\x12\n\n\x06GateU2\x10\x11\x12\n\n\x06GateU3\x10\x12\x12\x0c\n\x08GateSWAP\x10\x13\x12\r\n\tGateISWAP\x10\x14\x12\x0b\n\x07GateECR\x10\x15\x12\x0b\n\x07GateDCX\x10\x16\x12\x0b\n\x07GateRXX\x10\x17\x12\x0b\n\x07GateRYY\x10\x18\x12\x0b\n\x07GateRZZ\x10\x19\x12\x0b\n\x07GateRZX\x10\x1a\x12\x10\n\x0cGateXXplusYY\x10\x1b\x12\x11\n\rGateXXminusYY\x10\x1c*\xbf\x02\n\x0cOperatorType\x12\x0e\n\nSigmaMinus\x10\x00\x12\r\n\tSigmaPlus\x10\x01\x12\r\n\tSigma0001\x10\x02\x12\r\n\tSigma0010\x10\x03\x12\r\n\tSigma0011\x10\x04\x12\r\n\tSigma0110\x10\x05\x12\r\n\tSigma0111\x10\x06\x12\r\n\tSigma1011\x10\x07\x12\x0e\n\nProjector0\x10\x08\x12\x0e\n\nProjector1\x10\t\x12\x0f\n\x0bProjector00\x10\n\x12\x0f\n\x0bProjector01\x10\x0b\x12\x0f\n\x0bProjector10\x10\x0c\x12\x0f\n\x0bProjector11\x10\r\x12\x0f\n\x0bProjectorX0\x10\x0e\x12\x0f\n\x0bProjectorX1\x10\x0f\x12\x0f\n\x0bProjectorY0\x10\x10\x12\x0f\n\x0bProjectorY1\x10\x11\x12\x0e\n\nDiagonalOp\x10\x12*\x80\x02\n\x10KrausChannelType\x12\n\n\x06ResetX\x10\x00\x12\n\n\x06ResetY\x10\x01\x12\n\n\x06ResetZ\x10\x02\x12\x14\n\x10\x41mplitudeDamping\x10\x03\x12\x1f\n\x1bGeneralizedAmplitudeDamping\x10\x04\x12\x19\n\x15PhaseAmplitudeDamping\x10\x05\x12\x10\n\x0cThermalNoise\x10\x06\x12\n\n\x06PauliX\x10\x07\x12\n\n\x06PauliY\x10\x08\x12\n\n\x06PauliZ\x10\t\x12\x14\n\x10ProjectiveNoiseX\x10\n\x12\x14\n\x10ProjectiveNoiseY\x10\x0b\x12\x14\n\x10ProjectiveNoiseZ\x10\x0c*\xdd\x01\n\rOperationType\x12\x0c\n\x08MeasureX\x10\x00\x12\x0c\n\x08MeasureY\x10\x01\x12\x0c\n\x08MeasureZ\x10\x02\x12\r\n\tMeasureXX\x10\x03\x12\r\n\tMeasureYY\x10\x04\x12\r\n\tMeasureZZ\x10\x05\x12\x11\n\rMeasureResetX\x10\x06\x12\x11\n\rMeasureResetY\x10\x07\x12\x11\n\rMeasureResetZ\x10\x08\x12\x0b\n\x07\x42ondDim\x10\t\x12\x0f\n\x0bSchmidtRank\x10\n\x12\x15\n\x11VonNeumannEntropy\x10\x0b\x12\x07\n\x03Not\x10\x0c*F\n\x0e\x41nnotationType\x12\x14\n\x10QubitCoordinates\x10\x00\x12\x14\n\x10ShiftCoordinates\x10\x01\x12\x08\n\x04Tick\x10\x03\x62\x06proto3')

_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'circuit_pb2', globals())
if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  _IRRATIONAL._serialized_start=4393
  _IRRATIONAL._serialized_end=4424
  _FUNCTIONTYPE._serialized_start=4426
  _FUNCTIONTYPE._serialized_end=4535
  _GATETYPE._serialized_start=4538
  _GATETYPE._serialized_end=4912
  _OPERATORTYPE._serialized_start=4915
  _OPERATORTYPE._serialized_end=5234
  _KRAUSCHANNELTYPE._serialized_start=5237
  _KRAUSCHANNELTYPE._serialized_end=5493
  _OPERATIONTYPE._serialized_start=5496
  _OPERATIONTYPE._serialized_end=5717
  _ANNOTATIONTYPE._serialized_start=5719
  _ANNOTATIONTYPE._serialized_end=5789
  _SYMBOL._serialized_start=34
  _SYMBOL._serialized_end=57
  _ARG._serialized_start=60
  _ARG._serialized_end=226
  _ARGVALUE._serialized_start=228
  _ARGVALUE._serialized_end=322
  _ARGFUNCTION._serialized_start=324
  _ARGFUNCTION._serialized_end=387
  _COMPLEXARG._serialized_start=389
  _COMPLEXARG._serialized_end=441
  _RATIONAL._serialized_start=443
  _RATIONAL._serialized_end=479
  _SIMPLEGATE._serialized_start=481
  _SIMPLEGATE._serialized_end=545
  _CUSTOMGATE._serialized_start=547
  _CUSTOMGATE._serialized_end=607
  _GENERALIZED._serialized_start=609
  _GENERALIZED._serialized_end=675
  _CONTROL._serialized_start=677
  _CONTROL._serialized_end=733
  _POWER._serialized_start=735
  _POWER._serialized_end=853
  _INVERSE._serialized_start=855
  _INVERSE._serialized_end=890
  _PARALLEL._serialized_start=892
  _PARALLEL._serialized_end=948
  _GATECALL._serialized_start=950
  _GATECALL._serialized_end=1005
  _GATEDECL._serialized_start=1007
  _GATEDECL._serialized_end=1090
  _PAULISTRING._serialized_start=1092
  _PAULISTRING._serialized_end=1139
  _GATE._serialized_start=1142
  _GATE._serialized_end=1445
  _SIMPLEOPERATOR._serialized_start=1447
  _SIMPLEOPERATOR._serialized_end=1519
  _CUSTOMOPERATOR._serialized_start=1521
  _CUSTOMOPERATOR._serialized_end=1585
  _RESCALEDGATE._serialized_start=1587
  _RESCALEDGATE._serialized_end=1648
  _OPERATOR._serialized_start=1651
  _OPERATOR._serialized_end=2087
  _SIMPLEKRAUSCHANNEL._serialized_start=2089
  _SIMPLEKRAUSCHANNEL._serialized_end=2169
  _CUSTOMKRAUSCHANNEL._serialized_start=2171
  _CUSTOMKRAUSCHANNEL._serialized_end=2240
  _DEPOLARIZINGCHANNEL._serialized_start=2242
  _DEPOLARIZINGCHANNEL._serialized_end=2309
  _MIXEDUNITARYCHANNEL._serialized_start=2311
  _MIXEDUNITARYCHANNEL._serialized_end=2366
  _PAULICHANNEL._serialized_start=2368
  _PAULICHANNEL._serialized_end=2447
  _KRAUSCHANNEL._serialized_start=2450
  _KRAUSCHANNEL._serialized_end=2727
  _SIMPLEOPERATION._serialized_start=2729
  _SIMPLEOPERATION._serialized_end=2803
  _IFSTATEMENT._serialized_start=2805
  _IFSTATEMENT._serialized_end=2880
  _BARRIER._serialized_start=2882
  _BARRIER._serialized_end=2910
  _AMPLITUDE._serialized_start=2912
  _AMPLITUDE._serialized_end=2947
  _EXPECTATIONVALUE._serialized_start=2949
  _EXPECTATIONVALUE._serialized_end=2996
  _NOTE._serialized_start=2998
  _NOTE._serialized_end=3055
  _SIMPLEANNOTATION._serialized_start=3057
  _SIMPLEANNOTATION._serialized_end=3129
  _DETECTOR._serialized_start=3131
  _DETECTOR._serialized_end=3182
  _OBSERVABLEINCLUDE._serialized_start=3184
  _OBSERVABLEINCLUDE._serialized_end=3242
  _OPERATION._serialized_start=3245
  _OPERATION._serialized_end=4244
  _INSTRUCTION._serialized_start=4246
  _INSTRUCTION._serialized_end=4344
  _CIRCUIT._serialized_start=4346
  _CIRCUIT._serialized_end=4391
# @@protoc_insertion_point(module_scope)
