diff --git a/src/Simulation/Common/IQuantumProcessor.cs b/src/Simulation/Common/IQuantumProcessor.cs
index dd61aed3bdd..80d7187dc67 100644
--- a/src/Simulation/Common/IQuantumProcessor.cs
+++ b/src/Simulation/Common/IQuantumProcessor.cs
@@ -639,4 +639,26 @@ public interface IQuantumProcessor
/// The message to be reported.
void OnMessage(string msg);
}
+
+ ///
+ /// Represents a quantum processor that can return diagnostics to its host program.
+ ///
+ public interface IDiagnosticDataSource
+ {
+ ///
+ /// An event fired whenever a simulator has additional diagnostic data
+ /// available for display (e.g. state information, assertion details,
+ /// execution traces).
+ ///
+ public event Action? OnDisplayableDiagnostic;
+
+ ///
+ /// Sends diagnostic data to any listening display handlers.
+ /// Display handlers may discard any unrecognized data, such that
+ /// no guarantee is made as to any particular action taken as a result
+ /// of calling this method.
+ ///
+ public void MaybeDisplayDiagnostic(object data);
+ }
+
}
diff --git a/src/Simulation/Common/QuantumProcessorBase.cs b/src/Simulation/Common/QuantumProcessorBase.cs
index 26783f7fdea..3457a6a95e6 100644
--- a/src/Simulation/Common/QuantumProcessorBase.cs
+++ b/src/Simulation/Common/QuantumProcessorBase.cs
@@ -1,6 +1,8 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
+#nullable enable
+
using System;
using Microsoft.Quantum.Simulation.Core;
using System.Diagnostics;
@@ -12,174 +14,213 @@ namespace Microsoft.Quantum.Simulation.Common
/// A class that implements IQuantumProcessor that does not do any logic, but is convenient to inherit from.
/// It throws for most APIs.
///
- public class QuantumProcessorBase : IQuantumProcessor
+ public class QuantumProcessorBase : IQuantumProcessor, IDiagnosticDataSource
{
+ ///
+ public event Action? OnDisplayableDiagnostic = null;
+
+ ///
public virtual void X(Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledX(IQArray controls, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void Y(Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledY(IQArray controls, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void Z(Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledZ(IQArray controls, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void SWAP(Qubit qubit1, Qubit qubit2)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledSWAP(IQArray controls, Qubit qubit1, Qubit qubit2)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void H(Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledH(IQArray controls, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void S(Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledS(IQArray controls, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void SAdjoint(Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledSAdjoint(IQArray controls, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void T(Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledT(IQArray controls, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void TAdjoint(Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledTAdjoint(IQArray controls, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void R(Pauli axis, double theta, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledR(IQArray controls, Pauli axis, double theta, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void RFrac(Pauli axis, long numerator, long power, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledRFrac(IQArray controls, Pauli axis, long numerator, long power, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void R1(double theta, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledR1(IQArray controls, double theta, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void R1Frac(long numerator, long power, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledR1Frac(IQArray controls, long numerator, long power, Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void Exp(IQArray paulis, double theta, IQArray qubits)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledExp(IQArray controls, IQArray paulis, double theta, IQArray qubits)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ExpFrac(IQArray paulis, long numerator, long power, IQArray qubits)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void ControlledExpFrac(IQArray controls, IQArray paulis, long numerator, long power, IQArray qubits)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual Result M(Qubit qubit)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual Result Measure(IQArray bases, IQArray qubits)
{
throw new UnsupportedOperationException();
}
+ ///
public virtual void Reset(Qubit qubit)
{
throw new UnsupportedOperationException();
}
- public virtual long StartConditionalStatement(IQArray measurementResults, IQArray resultsValues)
+ ///
+ public virtual long StartConditionalStatement(
+ IQArray? measurementResults, IQArray? resultsValues
+ )
{
if (measurementResults == null) { return 1; };
if (resultsValues == null) { return 1; };
@@ -199,6 +240,7 @@ public virtual long StartConditionalStatement(IQArray measurementResults
return equal;
}
+ ///
public virtual long StartConditionalStatement(Result measurementResult, Result resultValue)
{
@@ -212,83 +254,106 @@ public virtual long StartConditionalStatement(Result measurementResult, Result r
}
}
+ ///
public virtual bool RunThenClause(long statement)
{
return (statement != 0);
}
+ ///
public virtual bool RepeatThenClause(long statement)
{
return false;
}
+ ///
public virtual bool RunElseClause(long statement)
{
return (statement == 0);
}
+ ///
public virtual bool RepeatElseClause(long statement)
{
return false;
}
+ ///
public virtual void EndConditionalStatement(long id)
{
}
+ ///
public virtual void Assert(IQArray bases, IQArray qubits, Result result, string msg)
{
}
+ ///
public virtual void AssertProb(IQArray bases, IQArray qubits, double probabilityOfZero, string msg, double tol)
{
}
+ ///
public virtual void OnOperationStart(ICallable operation, IApplyData arguments)
{
}
+ ///
public virtual void OnOperationEnd(ICallable operation, IApplyData arguments)
{
}
+ ///
public virtual void OnFail(System.Runtime.ExceptionServices.ExceptionDispatchInfo exceptionDispatchInfo)
{
}
+ ///
public virtual void OnAllocateQubits(IQArray qubits)
{
}
+ ///
public virtual void OnReleaseQubits(IQArray qubits)
{
}
+ ///
public virtual void OnBorrowQubits(IQArray qubits, long allocatedForBorrowingCount)
{
}
+ ///
public virtual void OnReturnQubits(IQArray qubits, long releasedOnReturnCount)
{
}
+ ///
public virtual void OnDumpMachine(T location)
{
}
+ ///
public virtual void OnDumpRegister(T location, IQArray qubits)
{
}
+ ///
public virtual void OnMessage(string msg)
{
}
+ ///
+ public void MaybeDisplayDiagnostic(object data)
+ {
+ OnDisplayableDiagnostic?.Invoke(data);
+ }
}
///
- /// A class that implements exception to be thrown when Operation is not supported by a QuantumProcessor.
+ /// A class that implements an exception to be thrown
+ /// when a given operation is not supported by a QuantumProcessor.
///
public class UnsupportedOperationException : PlatformNotSupportedException
{
diff --git a/src/Simulation/Common/SimulatorBase.cs b/src/Simulation/Common/SimulatorBase.cs
index 41f566ea641..2ff97af7328 100644
--- a/src/Simulation/Common/SimulatorBase.cs
+++ b/src/Simulation/Common/SimulatorBase.cs
@@ -196,7 +196,7 @@ public void EnableExceptionPrinting()
/// no guarantee is made as to any particular action taken as a result
/// of calling this method.
///
- protected void MaybeDisplayDiagnostic(object data)
+ public void MaybeDisplayDiagnostic(object data)
{
OnDisplayableDiagnostic?.Invoke(data);
}
diff --git a/src/Simulation/Simulators/QuantumProcessor/Allocate.cs b/src/Simulation/Simulators/QuantumProcessor/Allocate.cs
index ea176410f61..0dfc39aa40f 100644
--- a/src/Simulation/Simulators/QuantumProcessor/Allocate.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/Allocate.cs
@@ -5,7 +5,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherAllocate : Intrinsic.Allocate
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/Assert.cs b/src/Simulation/Simulators/QuantumProcessor/Assert.cs
index a0badd62007..430a657e32e 100644
--- a/src/Simulation/Simulators/QuantumProcessor/Assert.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/Assert.cs
@@ -7,7 +7,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherAssert : Microsoft.Quantum.Diagnostics.AssertMeasurement
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/AssertProb.cs b/src/Simulation/Simulators/QuantumProcessor/AssertProb.cs
index 9f4d87e085e..c1636d5aeb9 100644
--- a/src/Simulation/Simulators/QuantumProcessor/AssertProb.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/AssertProb.cs
@@ -7,7 +7,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherAssertProb : Microsoft.Quantum.Diagnostics.AssertMeasurementProbability
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/Borrow.cs b/src/Simulation/Simulators/QuantumProcessor/Borrow.cs
index d497549ccb9..09c6cff2437 100644
--- a/src/Simulation/Simulators/QuantumProcessor/Borrow.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/Borrow.cs
@@ -5,7 +5,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherBorrow : Intrinsic.Borrow
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/ClassicalControl.cs b/src/Simulation/Simulators/QuantumProcessor/ClassicalControl.cs
index 506fb79ac3c..67ab028f9d5 100644
--- a/src/Simulation/Simulators/QuantumProcessor/ClassicalControl.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/ClassicalControl.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
private static void RunClause(ICallable op, OperationFunctor type, IQArray? ctrls)
diff --git a/src/Simulation/Simulators/QuantumProcessor/Dump.cs b/src/Simulation/Simulators/QuantumProcessor/Dump.cs
index a0b2ce227f7..fb497ed09cc 100644
--- a/src/Simulation/Simulators/QuantumProcessor/Dump.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/Dump.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherDumpMachine : Quantum.Diagnostics.DumpMachine
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/Exp.cs b/src/Simulation/Simulators/QuantumProcessor/Exp.cs
index d714d9d364d..85a77981108 100644
--- a/src/Simulation/Simulators/QuantumProcessor/Exp.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/Exp.cs
@@ -7,7 +7,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherExp : Quantum.Intrinsic.Exp
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/ExpFrac.cs b/src/Simulation/Simulators/QuantumProcessor/ExpFrac.cs
index 7f5438e00d7..17abff2402b 100644
--- a/src/Simulation/Simulators/QuantumProcessor/ExpFrac.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/ExpFrac.cs
@@ -7,7 +7,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherExpFrac : Quantum.Intrinsic.ExpFrac
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/H.cs b/src/Simulation/Simulators/QuantumProcessor/H.cs
index 9ded09a1739..480dc98afaa 100644
--- a/src/Simulation/Simulators/QuantumProcessor/H.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/H.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherH : Quantum.Intrinsic.H
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/M.cs b/src/Simulation/Simulators/QuantumProcessor/M.cs
index adf46ea18ef..32328af7cb7 100644
--- a/src/Simulation/Simulators/QuantumProcessor/M.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/M.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherM : Quantum.Intrinsic.M
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/Measure.cs b/src/Simulation/Simulators/QuantumProcessor/Measure.cs
index fe430df2e16..6d825b24c0d 100644
--- a/src/Simulation/Simulators/QuantumProcessor/Measure.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/Measure.cs
@@ -7,7 +7,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherMeasure : Quantum.Intrinsic.Measure
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/QuantumProcessorDispatcher.cs b/src/Simulation/Simulators/QuantumProcessor/QuantumProcessorDispatcher.cs
index fa530a28316..df945310b69 100644
--- a/src/Simulation/Simulators/QuantumProcessor/QuantumProcessorDispatcher.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/QuantumProcessorDispatcher.cs
@@ -1,15 +1,22 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
+// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
+#nullable enable
+
using System;
using Microsoft.Quantum.Simulation.Common;
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
+
///
/// Dispatcher (Simulator) that redirects all the calls to a class implementing interface.
///
- public partial class QuantumProcessorDispatcher : SimulatorBase
+ ///
+ /// Type of the implementation to be used by this dispatcher.
+ ///
+ public partial class QuantumProcessorDispatcher : SimulatorBase
+ where TProcessor: class, IQuantumProcessor
{
private const int PreallocatedQubitCount = 256;
///
@@ -20,30 +27,66 @@ public partial class QuantumProcessorDispatcher : SimulatorBase
public override string Name => "QuantumProcessorDispatcher";
///
- /// An instance of a class implementing interface that this simulator wraps.
+ /// An instance of a class implementing the interface that this simulator wraps.
///
- public IQuantumProcessor QuantumProcessor
+ public TProcessor QuantumProcessor
{
get;
private set;
}
///
- ///
+ /// Constructs a new dispatcher using a given implementation of the
+ /// interface.
///
- /// An instance of a class implementing interface to be wrapped. If the parameter is null is used.
- /// An instance of a class implementing interface. If the parameter is null is used.
+ ///
+ /// An instance of a class implementing interface to be used
+ /// by this dispatcher to implement the required intrinsic operations.
+ ///
+ ///
+ /// An instance of a class implementing interface. If the parameter is null is used.
+ ///
/// A seed to be used by Q# Microsoft.Quantum.Intrinsic.Random operation.
- public QuantumProcessorDispatcher(IQuantumProcessor? quantumProcessor = null, IQubitManager? qubitManager = null, int? randomSeed = null)
+ public QuantumProcessorDispatcher(TProcessor quantumProcessor, IQubitManager? qubitManager = null, int? randomSeed = null)
: base(qubitManager ?? new QubitManagerTrackingScope(PreallocatedQubitCount, mayExtendCapacity:true, disableBorrowing:false))
{
random = new System.Random(randomSeed == null ? DateTime.Now.Millisecond : randomSeed.Value);
- QuantumProcessor = quantumProcessor ?? new QuantumProcessorBase();
+ QuantumProcessor = quantumProcessor;
OnOperationStart += QuantumProcessor.OnOperationStart;
OnOperationEnd += QuantumProcessor.OnOperationEnd;
OnFail += QuantumProcessor.OnFail;
OnLog += QuantumProcessor.OnMessage;
+
+ // If our quantum processor supports it, forward any diagnostic data that
+ // it produces to SimulatorBase.
+ if (quantumProcessor is IDiagnosticDataSource dataSource)
+ {
+ dataSource.OnDisplayableDiagnostic += MaybeDisplayDiagnostic;
+ }
}
}
+
+
+ ///
+ /// Dispatcher (Simulator) that redirects all the calls to a class implementing interface.
+ ///
+ public class QuantumProcessorDispatcher : QuantumProcessorDispatcher
+ {
+ ///
+ ///
+ ///
+ /// An instance of a class implementing interface to be wrapped. If the parameter is null is used.
+ /// An instance of a class implementing interface. If the parameter is null is used.
+ /// A seed to be used by Q# Microsoft.Quantum.Intrinsic.Random operation.
+ public QuantumProcessorDispatcher(IQuantumProcessor? quantumProcessor = null, IQubitManager? qubitManager = null, int? randomSeed = null)
+ : base(
+ quantumProcessor: quantumProcessor ?? new QuantumProcessorBase(),
+ qubitManager: qubitManager,
+ randomSeed: randomSeed
+ )
+ { }
+
+ }
+
}
diff --git a/src/Simulation/Simulators/QuantumProcessor/R.cs b/src/Simulation/Simulators/QuantumProcessor/R.cs
index 448aab417cf..c665359f121 100644
--- a/src/Simulation/Simulators/QuantumProcessor/R.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/R.cs
@@ -7,7 +7,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherR : Quantum.Intrinsic.R
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/R1.cs b/src/Simulation/Simulators/QuantumProcessor/R1.cs
index 65d3c8570ef..e51a50d495c 100644
--- a/src/Simulation/Simulators/QuantumProcessor/R1.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/R1.cs
@@ -7,7 +7,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherR1 : Quantum.Intrinsic.R1
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/R1Frac.cs b/src/Simulation/Simulators/QuantumProcessor/R1Frac.cs
index 60a07ff2cbe..f9ce11e4f72 100644
--- a/src/Simulation/Simulators/QuantumProcessor/R1Frac.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/R1Frac.cs
@@ -8,7 +8,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherR1Frac : Quantum.Intrinsic.R1Frac
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/RFrac.cs b/src/Simulation/Simulators/QuantumProcessor/RFrac.cs
index 88d24466659..16811ecd4ba 100644
--- a/src/Simulation/Simulators/QuantumProcessor/RFrac.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/RFrac.cs
@@ -8,7 +8,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherRFrac : Quantum.Intrinsic.RFrac
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/Release.cs b/src/Simulation/Simulators/QuantumProcessor/Release.cs
index 84424d3daa0..ba2351eeb7c 100644
--- a/src/Simulation/Simulators/QuantumProcessor/Release.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/Release.cs
@@ -5,7 +5,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherRelease : Intrinsic.Release
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/Reset.cs b/src/Simulation/Simulators/QuantumProcessor/Reset.cs
index 4ebee59437a..c0c1462d195 100644
--- a/src/Simulation/Simulators/QuantumProcessor/Reset.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/Reset.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherReset : Quantum.Intrinsic.Reset
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/Return.cs b/src/Simulation/Simulators/QuantumProcessor/Return.cs
index 2a5277340fd..844d82d05b2 100644
--- a/src/Simulation/Simulators/QuantumProcessor/Return.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/Return.cs
@@ -5,7 +5,7 @@ namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
using Microsoft.Quantum.Simulation.Core;
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherReturn : Intrinsic.Return
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/S.cs b/src/Simulation/Simulators/QuantumProcessor/S.cs
index c9081b09345..fcf03383b81 100644
--- a/src/Simulation/Simulators/QuantumProcessor/S.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/S.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherS : Quantum.Intrinsic.S
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/SWAP.cs b/src/Simulation/Simulators/QuantumProcessor/SWAP.cs
index 98fe3d1347e..a689cee9d37 100644
--- a/src/Simulation/Simulators/QuantumProcessor/SWAP.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/SWAP.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherSWAP : Quantum.Intrinsic.SWAP
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/T.cs b/src/Simulation/Simulators/QuantumProcessor/T.cs
index 440e82677bf..6b457a24fee 100644
--- a/src/Simulation/Simulators/QuantumProcessor/T.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/T.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherT : Quantum.Intrinsic.T
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/X.cs b/src/Simulation/Simulators/QuantumProcessor/X.cs
index e9e3c7b7b73..c0225bd45a3 100644
--- a/src/Simulation/Simulators/QuantumProcessor/X.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/X.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherX : Quantum.Intrinsic.X
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/Y.cs b/src/Simulation/Simulators/QuantumProcessor/Y.cs
index 271f6872750..98c08985023 100644
--- a/src/Simulation/Simulators/QuantumProcessor/Y.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/Y.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherY : Quantum.Intrinsic.Y
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/Z.cs b/src/Simulation/Simulators/QuantumProcessor/Z.cs
index e4fc24859ba..37b4f30c5e6 100644
--- a/src/Simulation/Simulators/QuantumProcessor/Z.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/Z.cs
@@ -6,7 +6,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherZ : Quantum.Intrinsic.Z
{
diff --git a/src/Simulation/Simulators/QuantumProcessor/random.cs b/src/Simulation/Simulators/QuantumProcessor/random.cs
index 0b0452c23c8..5d725bbc732 100644
--- a/src/Simulation/Simulators/QuantumProcessor/random.cs
+++ b/src/Simulation/Simulators/QuantumProcessor/random.cs
@@ -8,7 +8,7 @@
namespace Microsoft.Quantum.Simulation.QuantumProcessor
{
- public partial class QuantumProcessorDispatcher
+ public partial class QuantumProcessorDispatcher
{
public class QuantumProcessorDispatcherRandom : Quantum.Intrinsic.Random
{