prep /nologo /om /ft /SF CQuantumDoc::SimThreadStart "D:\users\jon\quantum\Debug\quantum"
profile /nologo /nc "D:\users\jon\quantum\Debug\quantum" 
prep /nologo /m "D:\users\jon\quantum\Debug\quantum"
plist /nologo "D:\users\jon\quantum\Debug\quantum"
Profile: Function timing, sorted by time
Date:    Thu May 15 20:56:51 1997


Program Statistics
------------------
    Command line at 1997 May 15 20:54: "D:\users\jon\quantum\Debug\quantum" 
    Start function: CQuantumDoc::SimThreadStart(void *)
    Total time: 8039.275 millisecond
    Time outside of functions: 4.862 millisecond
    Call depth: 14
    Total functions: 423
    Total hits: 4051526
    Function coverage: 28.1%
    Overhead Calculated 7
    Overhead Average 7

Module Statistics for quantum.exe
---------------------------------
    Time in module: 8034.413 millisecond
    Percent of time in module: 100.0%
    Functions in module: 423
    Hits in module: 4051526
    Module function coverage: 28.1%

        Func          Func+Child           Hit
        Time   %         Time      %      Count  Function
---------------------------------------------------------
    1734.410  21.6     4447.244  55.4    49152 CComplexMatrix::Multiply(class CComplexVector &,class CComplexVector const &) (matrix.obj)
    1118.267  13.9     6957.051  86.6    49152 CMetaverse::CalculateGate(class CGate const *,class CComplexVector &,class CComplexVector &,class CComplexVector &,int) (metaverse.obj)
    1001.161  12.5     1001.161  12.5  1049179 CComplexVector::Length(void) (quantumdoc.obj)
     803.237  10.0      803.237  10.0   688141 CComplexVector::operator[](int) (gate.obj)
     459.398   5.7      459.398   5.7   409604 CComplexVector::operator[](int) (matrix.obj)
     404.884   5.0      673.277   8.4   196608 operator*(class CComplex const &,class CComplex const &) (matrix.obj)
     311.739   3.9      311.739   3.9    18768 CQList<class CGate const *>::GrowTo(int) (gategroup.obj)
     281.323   3.5      281.323   3.5   204934 CComplex::CComplex(double,double) (matrix.obj)
     209.075   2.6      209.075   2.6   196704 CInputOutputGate::OutputPins(void) (gate.obj)
     192.699   2.4      192.699   2.4    11114 CQList<class CGate const *>::~CQList<class CGate const *>(void) (gategroup.obj)
     186.323   2.3      186.323   2.3   197438 CInputOutputGate::InputPins(void) (gate.obj)
     168.332   2.1      168.332   2.1   196608 CComplex::operator+=(class CComplex const &) (matrix.obj)
     135.526   1.7      135.526   1.7   102497 CComplex::operator=(double const &) (matrix.obj)
     131.848   1.6      131.848   1.6   196608 CComplexMatrix::operator[](int) (matrix.obj)
     113.555   1.4      113.555   1.4    98382 CPin::BitNumber(void) (gate.obj)
      88.072   1.1     4535.316  56.4    49152 CInputOutputGate::CalcOutput(class CComplexVector &,class CComplexVector const *) (gate.obj)
      75.058   0.9       75.058   0.9    49152 CComplexMatrix::Columns(void) (gate.obj)
      71.748   0.9     7518.944  93.6        2 CMetaverse::SimulateSubGroup(class CComplexVector &,class CCircuit *,class CGateGroup const &,int &) (metaverse.obj)
      53.220   0.7      123.864   1.5    17376 CQList<class CGate const *>::Copy(class CQList<class CGate const *> const &) (gategroup.obj)
      50.755   0.6       50.755   0.6    49176 CInputOutputGate::OutputPin(int) (gate.obj)
      48.878   0.6       48.878   0.6    49611 CQList<class CGate const *>::Length(void) (gategroup.obj)
      45.614   0.6      369.982   4.6    10166 CQList<class CGate const *>::CQList<class CGate const *>(class CQList<class CGate const *> const &) (gategroup.obj)
      45.426   0.6       45.426   0.6    31977 CQList<class CGate const *>::operator[](int) (gategroup.obj)
      42.729   0.5       76.744   1.0        2 CMetaverse::DumpAmplitdues(class CComplexVector const &,int) (metaverse.obj)
      38.977   0.5       38.977   0.5    49525 CInputOutputGate::InputPin(int) (gate.obj)
      36.330   0.5      406.312   5.1     5083 CGateGroup::CGateGroup(class CGateGroup const &) (gategroup.obj)
      18.979   0.2      211.678   2.6     5557 CGateGroup::~CGateGroup(void) (gategroup.obj)
      18.463   0.2       90.195   1.1     7210 CQList<class CGate const *>::operator=(class CQList<class CGate const *> const &) (gategroup.obj)
      16.943   0.2      289.424   3.6     3340 CQList<class CGateGroup>::operator[](int) (metaverse.obj)
      16.205   0.2       38.663   0.5     1849 operator<(class CGateGroup const &,class CGateGroup const &) (gategroup.obj)
      11.201   0.1       26.496   0.3     1849 operator==(class CQList<class CGate const *> const &,class CQList<class CGate const *> const &) (gategroup.obj)
      11.045   0.1      101.240   1.3     3605 CGateGroup::operator=(class CGateGroup const &) (gategroup.obj)
      10.433   0.1       10.433   0.1     3540 CQList<class CGate const *>::Find(class CGate const * const &) (gategroup.obj)
       9.614   0.1        9.614   0.1    16386 CComplex::MagSquared(void) (matrix.obj)
       8.935   0.1       10.756   0.1     3337 CGateGroup::Gate(int) (metaverse.obj)
       7.721   0.1       20.642   0.3     8312 CComplex::`default constructor closure'(void) (matrix.obj)
       7.370   0.1       10.626   0.1     2808 CGateGroup::DependsOn(int) (gategroup.obj)
       5.948   0.1        9.129   0.1     4549 CGateGroup::NoDependsOn(void) (gategroup.obj)
       5.684   0.1      338.419   4.2        7 CQList<class CGateGroup>::Sort(void) (gategroup.obj)
       4.998   0.1       33.198   0.4      123 CQList<class CGateGroup>::Find(class CGateGroup const &) (gategroup.obj)
       4.862   0.1        7.089   0.1       49 CComplexVector::Zero(void) (matrix.obj)
       2.603   0.0       23.245   0.3       62 `vector constructor iterator'(void *,unsigned int,int,void (*)(void *)) (gate.obj)
       2.273   0.0       15.465   0.2       13 CComplexVector::Copy(class CComplexVector const &) (matrix.obj)
       2.087   0.0       19.296   0.2       49 CComplexVector::SetLength(int,int) (matrix.obj)
       2.068   0.0     8034.002 100.0        1 CQuantumDoc::QuantumWorkerThread(struct CQuantumDoc::Simdata *) (quantumdoc.obj)
       1.780   0.0        1.780   0.0     3828 CQList<class CGateGroup>::Length(void) (metaverse.obj)
       1.704   0.0       28.199   0.4     1849 operator==(class CGateGroup const &,class CGateGroup const &) (gategroup.obj)
       1.566   0.0        7.460   0.1      444 CGateGroup::ComputeTransitiveEnclosure(class CGate *) (gategroup.obj)
       1.341   0.0       40.545   0.5      948 CQList<class CGate const *>::CQList<class CGate const *>(int) (gategroup.obj)
       0.845   0.0        0.845   0.0      112 CComplexVector::Reset(void) (matrix.obj)
       0.797   0.0       41.342   0.5      474 CGateGroup::CGateGroup(void) (gategroup.obj)
       0.753   0.0       21.668   0.3      130 CQList<class CGateGroup>::GrowTo(int) (gategroup.obj)
       0.559   0.0        0.559   0.0      242 CQList<class CGate const *>::Sort(void) (gategroup.obj)
       0.551   0.0        0.551   0.0        4 operator<<(class ostream &,class CComplex const &) (matrix.obj)
       0.542   0.0        8.463   0.1      444 CQList<class CGate const *>::operator+=(class CGate const * const &) (gategroup.obj)
       0.441   0.0        0.770   0.0      417 CCircuit::NumberOfGates(void) (quantumdoc.obj)
       0.417   0.0        0.717   0.0      444 CQList<class CGate const *>::Append(class CGate const * const &) (gategroup.obj)
       0.411   0.0     8034.413 100.0        1 CQuantumDoc::SimThreadStart(void *) (quantumdoc.obj)
       0.391   0.0        0.391   0.0      300 CPin::ParentGate(void) (gate.obj)
       0.388   0.0        1.074   0.0        1 CCircuit::IsValidQuantumCircuit(void) (circuit.obj)
       0.373   0.0        0.373   0.0      372 CPin::ConnectedTo(void) (gate.obj)
       0.370   0.0       15.672   0.2        7 CGateGroup::`vector deleting destructor'(unsigned int) (gategroup.obj)
       0.329   0.0        0.329   0.0      417 CQList<class CGate *>::Length(void) (quantumdoc.obj)
       0.329   0.0        0.329   0.0      456 CQList<class CGate *>::operator[](int) (metaverse.obj)
       0.325   0.0     8031.926 100.0        1 CMetaverse::StartSimulation(class CCircuit *,int,int,void (*)(int,void *),void *) (metaverse.obj)
       0.273   0.0      126.060   1.6        2 CMetaverse::PartitionGroup(class CGateGroup,int,int,class CQList<class CGateGroup> &) (metaverse.obj)
       0.261   0.0        0.795   0.0      216 CCircuit::Gate(int) (metaverse.obj)
       0.249   0.0       15.103   0.2      192 CGateGroup::AddGate(class CGate *) (gategroup.obj)
       0.245   0.0      263.970   3.3        1 CCircuit::OrderGates(void) (circuit.obj)
       0.225   0.0      153.428   1.9        4 CGateGroup::ExpandGatesToSeperateGroups(class CQList<class CGateGroup> &) (gategroup.obj)
       0.215   0.0        2.910   0.0      123 CQList<class CGateGroup>::Append(class CGateGroup const &) (gategroup.obj)
       0.194   0.0       36.301   0.5      123 CQList<class CGateGroup>::operator+=(class CGateGroup const &) (gategroup.obj)
       0.182   0.0        0.774   0.0        1 CMetaverse::VerifyOutputGateConnections(class CCircuit *) (metaverse.obj)
       0.176   0.0        0.735   0.0      121 CGateGroup::Sort(void) (gategroup.obj)
       0.175   0.0     8031.595 100.0        1 CMetaverse::Simulate(class CCircuit *,class CComplexVector &) (metaverse.obj)
       0.173   0.0        0.173   0.0       28 CQList<int>::GrowTo(int) (metaverse.obj)
       0.166   0.0        0.166   0.0       48 CQList<class CGate *>::Find(class CGate * const &) (circuit.obj)
       0.148   0.0        0.148   0.0      192 CGate::InputPins(void) (gate.obj)
       0.128   0.0        0.226   0.0        2 CQuantumDoc::SimCallback(int,void *) (quantumdoc.obj)
       0.124   0.0        1.053   0.0        1 CMetaverse::SetInitialAmplitudes(class CComplexVector &,class CCircuit const *) (metaverse.obj)
       0.116   0.0        0.205   0.0       72 CPin::IsConnected(void) (gate.obj)
       0.098   0.0        0.098   0.0        2 CSimProgress::SetPos(int,int) (quantumdoc.obj)
       0.090   0.0     7654.873  95.3        1 CMetaverse::SimulateCircuitEfficiently(class CComplexVector &,class CCircuit *) (metaverse.obj)
       0.090   0.0        0.090   0.0       49 CQList<int>::Find(int const &) (metaverse.obj)
       0.074   0.0        0.202   0.0       49 CQList<int>::operator+=(int const &) (metaverse.obj)
       0.070   0.0        0.313   0.0       48 CQList<class CGate *>::operator+=(class CGate * const &) (circuit.obj)
       0.068   0.0        0.665   0.0        4 CComplexVector::`vector deleting destructor'(unsigned int) (matrix.obj)
       0.064   0.0        0.064   0.0       96 CSinkGate::InputPins(void) (gate.obj)
       0.060   0.0        0.060   0.0        3 CQList<int>::~CQList<int>(void) (metaverse.obj)
       0.056   0.0        0.056   0.0       12 operator==(class CComplex const &,class CComplex const &) (matrix.obj)
       0.054   0.0        0.828   0.0       60 CComplexVector::~CComplexVector(void) (matrix.obj)
       0.046   0.0        0.077   0.0       48 CQList<class CGate *>::Append(class CGate * const &) (circuit.obj)
       0.041   0.0       21.560   0.3        7 CQList<class CGateGroup>::CQList<class CGateGroup>(int) (metaverse.obj)
       0.039   0.0        0.039   0.0       48 CComplexVector::CComplexVector(void) (matrix.obj)
       0.031   0.0        0.031   0.0       48 CQList<class CGate *>::GrowTo(int) (circuit.obj)
       0.030   0.0        0.030   0.0       48 CSourceGate::OutputPins(void) (gate.obj)
       0.027   0.0       15.699   0.2        7 CQList<class CGateGroup>::~CQList<class CGateGroup>(void) (metaverse.obj)
       0.025   0.0        0.025   0.0       36 CSinkGate::InputPin(int) (gate.obj)
       0.024   0.0        0.024   0.0       36 CGate::OutputPins(void) (gate.obj)
       0.023   0.0        0.039   0.0       25 CQList<int>::Append(int const &) (metaverse.obj)
       0.023   0.0        0.417   0.0       12 CStaticSource::CalcOutput(class CComplexVector const *) (gate.obj)
       0.018   0.0        0.018   0.0       46 CQList<int>::Length(void) (metaverse.obj)
       0.015   0.0        0.015   0.0       12 CCircuit::NumberOfInputBits(void) (quantumdoc.obj)
       0.014   0.0     7589.808  94.5        1 CMetaverse::SimulateGroup(class CComplexVector &,class CCircuit *,class CGateGroup const &,int &) (metaverse.obj)
       0.013   0.0        0.013   0.0       17 CSourceGate::OutputPin(int) (gate.obj)
       0.007   0.0        1.089   0.0        1 CMetaverse::VerifyCircuitSize(class CCircuit *) (metaverse.obj)
       0.007   0.0        0.007   0.0        2 ToBinary(char *,int,int) (metaverse.obj)
       0.006   0.0        0.395   0.0       12 CComplexVector::CComplexVector(class CComplexVector const &) (matrix.obj)
       0.006   0.0        0.163   0.0        3 CQList<int>::CQList<int>(int) (metaverse.obj)
       0.003   0.0        0.006   0.0        1 CMetaverse::FreeAmplitudes(void) (metaverse.obj)
       0.003   0.0        0.003   0.0        3 CCircuit::NumberOfOutputBits(void) (metaverse.obj)
       0.002   0.0        0.002   0.0        1 CCircuit::GetCircuit(void) (quantumdoc.obj)
       0.002   0.0        0.002   0.0        1 CCircuit::GetName(void) (quantumdoc.obj)
       0.002   0.0        0.002   0.0        6 CQList<class CGateGroup>::Empty(void) (gategroup.obj)
       0.001   0.0        0.004   0.0        1 CCircuit::NumberOfProcessingGates(void) (quantumdoc.obj)
       0.001   0.0        0.001   0.0        1 CCircuit::Ordered(void) (metaverse.obj)
       0.001   0.0        0.001   0.0        2 CComplex::operator+=(double const &) (matrix.obj)
       0.001   0.0       15.078   0.2        1 CComplexVector::operator=(class CComplexVector const &) (matrix.obj)
       0.001   0.0        0.001   0.0        1 CQList<class CGate *>::Empty(void) (circuit.obj)
