From 43aa297ac22d314699e0a75df93f132dde911e5f Mon Sep 17 00:00:00 2001 From: Ricardo Espinoza Date: Tue, 22 Sep 2020 19:42:50 -0700 Subject: [PATCH 1/6] Improving the logging of WorkspaceClientException to include more actionable information (#380) Improving the logging of WorkspaceClientException to include more informative data in its message from its inner exception. This is a follow up to #378 . - Instead of providing the full stack of the exception in the output, we extract more relevant fields from the source RestErrorException and provide them to the user. - Also, this change exposes header "x-ms-request-id"if present in the response, for additional debugging. --- .../Exceptions/WorkspaceClientException.cs | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/src/Azure/Azure.Quantum.Client/Exceptions/WorkspaceClientException.cs b/src/Azure/Azure.Quantum.Client/Exceptions/WorkspaceClientException.cs index 821e3a64bc2..ee1b7293182 100644 --- a/src/Azure/Azure.Quantum.Client/Exceptions/WorkspaceClientException.cs +++ b/src/Azure/Azure.Quantum.Client/Exceptions/WorkspaceClientException.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. +using Microsoft.Azure.Quantum.Client.Models; using System; namespace Microsoft.Azure.Quantum.Exceptions @@ -67,9 +68,41 @@ public WorkspaceClientException( $"WorkspaceName: {workspaceName}{Environment.NewLine}" + $"BaseUri: {baseUri}{Environment.NewLine}" + $"JobId: {jobId}{Environment.NewLine}" + - (inner != null ? $"Inner Exception: {inner}" : string.Empty), + FormatInnerException(inner), inner) { } + + /// + /// Formats the contents of the inner exception in so it can be included in the + /// exception message and presented in an informative way. + /// + /// Inner exception that we want to include in the outer exception message. + /// + /// A string representing the contents of the inner exception. + /// + private static string FormatInnerException(Exception ex) + { + string formattedException = string.Empty; + if (ex != null) + { + formattedException += $"Server Error: {ex.Message}{Environment.NewLine}"; + + // Handle specific types of exceptions for additional data + if (ex is RestErrorException restErrorException) + { + formattedException += $"Error Code: {restErrorException?.Body?.Code}{Environment.NewLine}" + + $"Server message: {restErrorException?.Body?.Message}{Environment.NewLine}"; + + var headers = restErrorException?.Response?.Headers; + if (headers != null && headers.ContainsKey("x-ms-request-id")) + { + formattedException += $"Server Request Id: {headers["x-ms-request-id"]}{Environment.NewLine}"; + } + } + } + + return formattedException; + } } } From f99a5c51c3ae47c51191d6de739eeb95802b5bd4 Mon Sep 17 00:00:00 2001 From: Scott Carda <55811729+ScottCarda-MS@users.noreply.github.com> Date: Wed, 23 Sep 2020 15:35:14 -0700 Subject: [PATCH 2/6] Removed Bug2212 file, which has an invalid cycle in it. (#385) --- .../Simulators.Tests/Circuits/Bug2212.qs | 29 ------------------- 1 file changed, 29 deletions(-) delete mode 100644 src/Simulation/Simulators.Tests/Circuits/Bug2212.qs diff --git a/src/Simulation/Simulators.Tests/Circuits/Bug2212.qs b/src/Simulation/Simulators.Tests/Circuits/Bug2212.qs deleted file mode 100644 index 82ccb4bcfeb..00000000000 --- a/src/Simulation/Simulators.Tests/Circuits/Bug2212.qs +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -namespace Bug2212 { - - function F<'T> (arg1 :'T , arg : Unit) : 'T { - return arg1; - } - - function RecursiveGeneric2<'T> (arg1 : (Unit -> 'T), arg2 : Int) : Int { - if ( arg2 <= 0 ) { - return arg2; - } else { - let _ = arg1(); - return RecursiveGeneric2<(Unit -> 'T)>(F(arg1,_),arg2 - 1); - } - } -} - -namespace Microsoft.Quantum.Simulation.Simulators.Tests.Circuits -{ - open Bug2212; - - operation Bug2212Test () : Unit - { - // Calling this function used to trigger a run time exception. - let x = RecursiveGeneric2(F(3,_), 10); - } -} From a18ecf4eb1a6cad4800c6dfe4a5ce96e362d807c Mon Sep 17 00:00:00 2001 From: Chris Granade Date: Wed, 23 Sep 2020 17:14:41 -0700 Subject: [PATCH 3/6] Added new EmptyArray function. (#379) (#382) --- src/Simulation/QsharpCore/Arrays/Empty.cs | 19 +++++++++++++++ src/Simulation/QsharpCore/Arrays/Empty.qs | 24 +++++++++++++++++++ .../IntrinsicTests/Arrays/Tests.qs | 22 +++++++++++++++++ .../IntrinsicTests/Random/Tests.qs | 3 +++ 4 files changed, 68 insertions(+) create mode 100644 src/Simulation/QsharpCore/Arrays/Empty.cs create mode 100644 src/Simulation/QsharpCore/Arrays/Empty.qs create mode 100644 src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/Arrays/Tests.qs diff --git a/src/Simulation/QsharpCore/Arrays/Empty.cs b/src/Simulation/QsharpCore/Arrays/Empty.cs new file mode 100644 index 00000000000..7cb7448a393 --- /dev/null +++ b/src/Simulation/QsharpCore/Arrays/Empty.cs @@ -0,0 +1,19 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +using System; +using Microsoft.Quantum.Simulation.Core; + +namespace Microsoft.Quantum.Arrays +{ + public partial class EmptyArray<__TElement__> + { + public class Native : EmptyArray<__TElement__> + { + public Native(IOperationFactory m) : base(m) { } + public override Func> __Body__ => _ => + new QArray<__TElement__>(); + } + } + +} diff --git a/src/Simulation/QsharpCore/Arrays/Empty.qs b/src/Simulation/QsharpCore/Arrays/Empty.qs new file mode 100644 index 00000000000..0d586def7a2 --- /dev/null +++ b/src/Simulation/QsharpCore/Arrays/Empty.qs @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +namespace Microsoft.Quantum.Arrays { + + /// # Summary + /// Returns the empty array of a given type. + /// + /// # Type Parameters + /// ## 'TElement + /// The type of elements of the array. + /// + /// # Output + /// The empty array. + /// + /// # Example + /// ```Q# + /// let empty = EmptyArray(); + /// ``` + function EmptyArray<'TElement>() : 'TElement[] { + body intrinsic; + } + +} diff --git a/src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/Arrays/Tests.qs b/src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/Arrays/Tests.qs new file mode 100644 index 00000000000..3bbc428984a --- /dev/null +++ b/src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/Arrays/Tests.qs @@ -0,0 +1,22 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +namespace Microsoft.Quantum.Arrays { + open Microsoft.Quantum.Diagnostics; + + /// # Summary + /// Checks that empty arrays are indeed empty. + @Test("QuantumSimulator") + @Test("ToffoliSimulator") + function EmptyArraysAreEmpty() : Unit { + Fact( + Length(EmptyArray()) == 0, + "Empty array of type Int[] was not actually empty." + ); + Fact( + Length(EmptyArray<(Double, Pauli[])>()) == 0, + "Empty array of type (Double, Pauli[])[] was not actually empty." + ); + } + +} diff --git a/src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/Random/Tests.qs b/src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/Random/Tests.qs index ab8416de9e6..aff82adbc8a 100644 --- a/src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/Random/Tests.qs +++ b/src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/Random/Tests.qs @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + namespace Microsoft.Quantum.Tests { open Microsoft.Quantum.Intrinsic; open Microsoft.Quantum.Canon; From 29f8ea74652b1aea6e87367281ef132d9c1fda04 Mon Sep 17 00:00:00 2001 From: bettinaheim <34236215+bettinaheim@users.noreply.github.com> Date: Mon, 28 Sep 2020 12:40:09 -0700 Subject: [PATCH 4/6] check to limit nr of threads for small problems (#387) --- src/Simulation/Native/src/external/fused.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Simulation/Native/src/external/fused.hpp b/src/Simulation/Native/src/external/fused.hpp index 2b170461e41..fdde401785f 100644 --- a/src/Simulation/Native/src/external/fused.hpp +++ b/src/Simulation/Native/src/external/fused.hpp @@ -145,7 +145,10 @@ class Fused if (envNT == NULL) { // If the user didn't force the number of threads, make an intelligent guess int nMaxThrds = std::thread::hardware_concurrency(); // Logical HW threads if (nMaxThrds > 4) nMaxThrds/= 2; // Assume we have hyperthreading (no consistent/concise way to do this) - if (wfnCapacity < 1u << 20) { + if (wfnCapacity < 1ul << 14) nMaxThrds = 1; + else if (wfnCapacity < 1ul << 16) nMaxThrds = 2; + else if (wfnCapacity < 1ul << 20) + { if (nMaxThrds > 8) nMaxThrds = 8; // Small problem, never use too many else if (nMaxThrds > 3) nMaxThrds = 3; // Small problem on a small machine } From a45e7c7b9683fee1db746f51e0393ada15dfeb6d Mon Sep 17 00:00:00 2001 From: "Stefan J. Wernli" Date: Tue, 13 Oct 2020 11:15:13 -0700 Subject: [PATCH 5/6] Return projects to original paths to fix e2e build --- AdvantageBenchmark/privateBuild/advantage.sln | Bin 10534 -> 10544 bytes AdvantageBenchmark/privateBuild/host.csproj | 2 +- Simulation.sln | 2 +- bootstrap.ps1 | 2 +- build/manifest.ps1 | 6 +++--- build/pack.ps1 | 2 +- src/Simulation/Common/Simulators.Impl.props | 2 +- .../Tests.CsharpGeneration.fsproj | 2 +- .../Microsoft.Quantum.EntryPointDriver.csproj | 2 +- ....Simulation.QCTraceSimulatorRuntime.csproj | 2 +- .../QCTraceSimulator/Circuits/AndLadder.qs | 0 .../QCTraceSimulator/Circuits/ApplyByIndex.qs | 0 .../QCTraceSimulator/Circuits/CCX.qs | 0 .../QCTraceSimulator/Circuits/CCZ.qs | 0 .../QCTraceSimulator/Circuits/CCminusIX.qs | 0 .../QCTraceSimulator/Circuits/CCminusIZ.qs | 0 .../QCTraceSimulator/Circuits/CZ.qs | 0 .../QCTraceSimulator/Circuits/ControlledH.qs | 0 .../QCTraceSimulator/Circuits/ControlledR.qs | 0 .../QCTraceSimulator/Circuits/ControlledR1.qs | 0 .../Circuits/ControlledR1Frac.qs | 0 .../Circuits/ControlledRFrac.qs | 0 .../QCTraceSimulator/Circuits/ControlledRZ.qs | 0 .../Circuits/ControlledRZFrac.qs | 0 .../Circuits/ControlledSWAP.qs | 0 .../QCTraceSimulator/Circuits/ControlledT.qs | 0 .../Circuits/ControlledTPower.qs | 0 .../QCTraceSimulator/Circuits/ControlledTS.qs | 0 .../QCTraceSimulator/Circuits/ExpFracZZ.qs | 0 .../QCTraceSimulator/Circuits/ExpFracZZZ.qs | 0 .../QCTraceSimulator/Circuits/ExpZZ.qs | 0 .../QCTraceSimulator/Circuits/FailOn.qs | 0 .../Circuits/IndiciesOfNonIdentity.qs | 0 .../QCTraceSimulator/Circuits/Interface.qs | 0 .../Circuits/InternalOperations.qs | 0 .../QCTraceSimulator/Circuits/Mod.qs | 0 .../QCTraceSimulator/Circuits/MultiCX.qs | 0 .../MultiControlledFromOpAndSinglyCtrldOp.qs | 0 .../Circuits/MultiControlledMultiNot.qs | 0 .../Circuits/MultiControlledU.qs | 0 .../Circuits/MultiPauliFlip.qs | 0 .../Circuits/PauliArrayByIndex.qs | 0 .../QCTraceSimulator/Circuits/PauliXFlip.qs | 0 .../QCTraceSimulator/Circuits/PauliZFlip.qs | 0 .../Circuits/Primitive.CCNOT.qs | 0 .../Circuits/Primitive.CNOT.qs | 0 .../Circuits/Primitive.Exp.qs | 0 .../Circuits/Primitive.ExpFrac.qs | 0 .../QCTraceSimulator/Circuits/Primitive.H.qs | 0 .../QCTraceSimulator/Circuits/Primitive.HY.qs | 0 .../Circuits/Primitive.IsingXX.qs | 0 .../Circuits/Primitive.IsingYY.qs | 0 .../Circuits/Primitive.IsingZZ.qs | 0 .../Circuits/Primitive.MultiX.qs | 0 .../QCTraceSimulator/Circuits/Primitive.R.qs | 0 .../QCTraceSimulator/Circuits/Primitive.R1.qs | 0 .../Circuits/Primitive.R1Frac.qs | 0 .../Circuits/Primitive.RFrac.qs | 0 .../QCTraceSimulator/Circuits/Primitive.Rx.qs | 0 .../QCTraceSimulator/Circuits/Primitive.Ry.qs | 0 .../QCTraceSimulator/Circuits/Primitive.Rz.qs | 0 .../QCTraceSimulator/Circuits/Primitive.S.qs | 0 .../Circuits/Primitive.SWAP.qs | 0 .../QCTraceSimulator/Circuits/Primitive.T.qs | 0 .../QCTraceSimulator/Circuits/Primitive.X.qs | 0 .../QCTraceSimulator/Circuits/Primitive.Y.qs | 0 .../QCTraceSimulator/Circuits/Primitive.Z.qs | 0 .../QCTraceSimulator/Circuits/ReducedForm.qs | 0 .../QCTraceSimulator/InterfaceUtils.cs | 0 .../QCTraceSimulator.Checks.cs | 0 .../QCTraceSimulator.Diagnostics.Dump.cs | 0 .../QCTraceSimulator.Interface.CX.cs | 0 .../QCTraceSimulator.Interface.Clifford.cs | 0 ...QCTraceSimulator.Interface.ForceMeasure.cs | 0 .../QCTraceSimulator.Interface.R.cs | 0 .../QCTraceSimulator.Interface.RFrac.cs | 0 .../QCTraceSimulator.Primitive.Allocate.cs | 0 .../QCTraceSimulator.Primitive.Assert.cs | 0 .../QCTraceSimulator.Primitive.AssertProb.cs | 0 .../QCTraceSimulator.Primitive.Borrow.cs | 0 .../QCTraceSimulator.Primitive.Measure.cs | 0 .../QCTraceSimulator.Primitive.Release.cs | 0 .../QCTraceSimulator.Primitive.Return.cs | 0 .../QCTraceSimulator.Primitive.random.cs | 0 .../QCTraceSimulator/QCTraceSimulator.cs | 0 .../QCTraceSimulator/QCTraceSimulatorImpl.cs | 0 .../QCTraceSimulator/Utils.cs | 0 .../QuantumProcessor/Allocate.cs | 0 .../QuantumProcessor/Assert.cs | 0 .../QuantumProcessor/AssertProb.cs | 0 .../QuantumProcessor/Borrow.cs | 0 .../QuantumProcessor/ClassicalControl.cs | 0 .../QuantumProcessor/Dump.cs | 0 .../QuantumProcessor/Exp.cs | 0 .../QuantumProcessor/ExpFrac.cs | 0 .../QuantumProcessor/H.cs | 0 .../QuantumProcessor/M.cs | 0 .../QuantumProcessor/Measure.cs | 0 .../QuantumProcessorDispatcher.cs | 0 .../QuantumProcessor/R.cs | 0 .../QuantumProcessor/R1.cs | 0 .../QuantumProcessor/R1Frac.cs | 0 .../QuantumProcessor/RFrac.cs | 0 .../QuantumProcessor/Release.cs | 0 .../QuantumProcessor/Reset.cs | 0 .../QuantumProcessor/Return.cs | 0 .../QuantumProcessor/S.cs | 0 .../QuantumProcessor/SWAP.cs | 0 .../QuantumProcessor/T.cs | 0 .../QuantumProcessor/X.cs | 0 .../QuantumProcessor/Y.cs | 0 .../QuantumProcessor/Z.cs | 0 .../QuantumProcessor/random.cs | 0 .../QuantumSimulator/ApplyControlledX.cs | 0 .../QuantumSimulator/ApplyControlledZ.cs | 0 .../QuantumSimulator/ApplyUncontrolledH.cs | 0 .../QuantumSimulator/ApplyUncontrolledRx.cs | 0 .../QuantumSimulator/ApplyUncontrolledRy.cs | 0 .../QuantumSimulator/ApplyUncontrolledRz.cs | 0 .../QuantumSimulator/ApplyUncontrolledS.cs | 0 .../QuantumSimulator/ApplyUncontrolledT.cs | 0 .../QuantumSimulator/ApplyUncontrolledX.cs | 0 .../QuantumSimulator/ApplyUncontrolledY.cs | 0 .../QuantumSimulator/ApplyUncontrolledZ.cs | 0 .../QuantumSimulator/Assert.cs | 0 .../QuantumSimulator/AssertProb.cs | 0 .../QuantumSimulator/Checks.cs | 0 .../QuantumSimulator/Dump.cs | 0 .../QuantumSimulator/Exp.cs | 0 .../QuantumSimulator/Extensions.cs | 0 .../QuantumSimulator/H.cs | 0 .../QuantumSimulator/IsingXX.cs | 0 .../QuantumSimulator/IsingYY.cs | 0 .../QuantumSimulator/IsingZZ.cs | 0 .../QuantumSimulator/M.cs | 0 .../QuantumSimulator/Measure.cs | 0 .../QuantumSimulator/QuantumSimulator.cs | 0 .../QuantumSimulator/Qubit.cs | 0 .../QuantumSimulator/QubitManager.cs | 0 .../QuantumSimulator/R.cs | 0 .../QuantumSimulator/Reset.cs | 0 .../QuantumSimulator/Rx.cs | 0 .../QuantumSimulator/Ry.cs | 0 .../QuantumSimulator/Rz.cs | 0 .../QuantumSimulator/S.cs | 0 .../QuantumSimulator/SWAP.cs | 0 .../QuantumSimulator/SimulatorBase.cs | 0 .../QuantumSimulator/StackTrace.cs | 0 .../QuantumSimulator/StateDumper.cs | 0 .../QuantumSimulator/T.cs | 0 .../QuantumSimulator/X.cs | 0 .../QuantumSimulator/Y.cs | 0 .../QuantumSimulator/Z.cs | 0 .../QuantumSimulator/random.cs | 0 .../ResourcesEstimator/ResourcesEstimator.cs | 16 ++++++++-------- .../ToffoliSimulator/Assert.cs | 0 .../ToffoliSimulator/AssertProb.cs | 0 .../ToffoliSimulator/Dump.cs | 0 .../ToffoliSimulator/Exp.cs | 0 .../ToffoliSimulator/ExpFrac.cs | 0 .../ToffoliSimulator/Extensions.cs | 0 .../ToffoliSimulator/H.cs | 0 .../ToffoliSimulator/M.cs | 0 .../ToffoliSimulator/Measure.cs | 0 .../ToffoliSimulator/R.cs | 0 .../ToffoliSimulator/RFrac.cs | 0 .../ToffoliSimulator/Random.cs | 0 .../ToffoliSimulator/S.cs | 0 .../ToffoliSimulator/SWAP.cs | 0 .../ToffoliSimulator/T.cs | 0 .../ToffoliSimulator/ToffoliSimulator.cs | 0 .../ToffoliSimulator/X.cs | 0 .../ToffoliSimulator/Y.cs | 0 .../ToffoliSimulator/Z.cs | 0 .../IntrinsicTests/IntrinsicTests.csproj | 2 +- .../TestProjects/UnitTests/UnitTests.csproj | 2 +- .../Tests.Microsoft.Quantum.Simulators.csproj | 2 +- .../.gitignore | 0 .../FindNuspecReferences.ps1 | 0 .../Microsoft.Quantum.Simulators.csproj | 10 +++++----- ...crosoft.Quantum.Simulators.nuspec.template | 12 ++++++------ .../Properties/AssemblyInfo.cs | 0 182 files changed, 33 insertions(+), 33 deletions(-) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/AndLadder.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ApplyByIndex.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/CCX.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/CCZ.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/CCminusIX.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/CCminusIZ.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/CZ.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ControlledH.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ControlledR.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ControlledR1.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ControlledR1Frac.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ControlledRFrac.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ControlledRZ.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ControlledRZFrac.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ControlledSWAP.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ControlledT.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ControlledTPower.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ControlledTS.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ExpFracZZ.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ExpFracZZZ.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ExpZZ.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/FailOn.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/IndiciesOfNonIdentity.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Interface.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/InternalOperations.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Mod.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/MultiCX.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/MultiControlledFromOpAndSinglyCtrldOp.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/MultiControlledMultiNot.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/MultiControlledU.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/MultiPauliFlip.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/PauliArrayByIndex.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/PauliXFlip.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/PauliZFlip.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.CCNOT.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.CNOT.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.Exp.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.ExpFrac.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.H.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.HY.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.IsingXX.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.IsingYY.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.IsingZZ.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.MultiX.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.R.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.R1.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.R1Frac.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.RFrac.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.Rx.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.Ry.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.Rz.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.S.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.SWAP.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.T.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.X.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.Y.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/Primitive.Z.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Circuits/ReducedForm.qs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/InterfaceUtils.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Checks.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Diagnostics.Dump.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Interface.CX.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Interface.Clifford.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Interface.ForceMeasure.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Interface.R.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Interface.RFrac.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Primitive.Allocate.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Primitive.Assert.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Primitive.AssertProb.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Primitive.Borrow.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Primitive.Measure.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Primitive.Release.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Primitive.Return.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.Primitive.random.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulator.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/QCTraceSimulatorImpl.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QCTraceSimulator/Utils.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/Allocate.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/Assert.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/AssertProb.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/Borrow.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/ClassicalControl.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/Dump.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/Exp.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/ExpFrac.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/H.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/M.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/Measure.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/QuantumProcessorDispatcher.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/R.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/R1.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/R1Frac.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/RFrac.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/Release.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/Reset.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/Return.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/S.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/SWAP.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/T.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/X.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/Y.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/Z.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumProcessor/random.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/ApplyControlledX.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/ApplyControlledZ.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/ApplyUncontrolledH.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/ApplyUncontrolledRx.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/ApplyUncontrolledRy.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/ApplyUncontrolledRz.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/ApplyUncontrolledS.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/ApplyUncontrolledT.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/ApplyUncontrolledX.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/ApplyUncontrolledY.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/ApplyUncontrolledZ.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Assert.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/AssertProb.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Checks.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Dump.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Exp.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Extensions.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/H.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/IsingXX.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/IsingYY.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/IsingZZ.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/M.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Measure.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/QuantumSimulator.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Qubit.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/QubitManager.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/R.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Reset.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Rx.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Ry.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Rz.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/S.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/SWAP.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/SimulatorBase.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/StackTrace.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/StateDumper.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/T.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/X.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Y.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/Z.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/QuantumSimulator/random.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ResourcesEstimator/ResourcesEstimator.cs (99%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/Assert.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/AssertProb.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/Dump.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/Exp.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/ExpFrac.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/Extensions.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/H.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/M.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/Measure.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/R.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/RFrac.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/Random.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/S.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/SWAP.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/T.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/ToffoliSimulator.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/X.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/Y.cs (100%) rename src/Simulation/{Simulators => Simulators.Impl}/ToffoliSimulator/Z.cs (100%) rename src/Simulation/{Simulators.Core => Simulators}/.gitignore (100%) rename src/Simulation/{Simulators.Core => Simulators}/FindNuspecReferences.ps1 (100%) rename src/Simulation/{Simulators.Core => Simulators}/Microsoft.Quantum.Simulators.csproj (54%) rename src/Simulation/{Simulators.Core => Simulators}/Microsoft.Quantum.Simulators.nuspec.template (64%) rename src/Simulation/{Simulators.Core => Simulators}/Properties/AssemblyInfo.cs (100%) diff --git a/AdvantageBenchmark/privateBuild/advantage.sln b/AdvantageBenchmark/privateBuild/advantage.sln index 91b39bc2b8745f0b74bd552c86f2c38e3267615f..c8a396588986ad9f2a9ab4693aa144e5344f04a1 100644 GIT binary patch delta 22 dcmZ1$v>|AN5Fe)=gC|2SLjgn1WjH5qyRmn1`PlJ diff --git a/AdvantageBenchmark/privateBuild/host.csproj b/AdvantageBenchmark/privateBuild/host.csproj index 9eac18bfca4..48baa69c3ba 100644 --- a/AdvantageBenchmark/privateBuild/host.csproj +++ b/AdvantageBenchmark/privateBuild/host.csproj @@ -9,7 +9,7 @@ - + diff --git a/Simulation.sln b/Simulation.sln index ef74245467b..ef30cc459c6 100644 --- a/Simulation.sln +++ b/Simulation.sln @@ -9,7 +9,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Quantum.Simulatio EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Quantum.Simulation.Common", "src\Simulation\Common\Microsoft.Quantum.Simulation.Common.csproj", "{8EC46ADB-7FAA-49EA-BA63-E7B32C4F4445}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Quantum.Simulators", "src\Simulation\Simulators.Core\Microsoft.Quantum.Simulators.csproj", "{72B7E75C-D305-45BD-929E-C86298AAA8DE}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Quantum.Simulators", "src\Simulation\Simulators\Microsoft.Quantum.Simulators.csproj", "{72B7E75C-D305-45BD-929E-C86298AAA8DE}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests.Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime", "src\Simulation\QCTraceSimulator.Tests\Tests.Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime.csproj", "{DD50D2D9-2765-449B-8C4B-835A428E160D}" EndProject diff --git a/bootstrap.ps1 b/bootstrap.ps1 index 2a74594cf2f..37f8301d0f4 100644 --- a/bootstrap.ps1 +++ b/bootstrap.ps1 @@ -7,7 +7,7 @@ Push-Location (Join-Path $PSScriptRoot "src/Simulation/CsharpGeneration") .\FindNuspecReferences.ps1 Pop-Location -Push-Location (Join-Path $PSScriptRoot "src/Simulation/Simulators.Core") +Push-Location (Join-Path $PSScriptRoot "src/Simulation/Simulators") .\FindNuspecReferences.ps1 Pop-Location diff --git a/build/manifest.ps1 b/build/manifest.ps1 index f8cb1ec7c07..782ee6c810e 100644 --- a/build/manifest.ps1 +++ b/build/manifest.ps1 @@ -29,9 +29,9 @@ ".\src\Simulation\Type1Core\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.Type1.Core.dll", ".\src\Simulation\Type2Core\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.Type2.Core.dll", ".\src\Simulation\QsharpFoundation\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.QSharp.Foundation.dll", - ".\src\Simulation\Simulators.Core\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.Simulation.Common.dll", - ".\src\Simulation\Simulators.Core\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime.dll", - ".\src\Simulation\Simulators.Core\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.Simulators.dll", + ".\src\Simulation\Simulators\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.Simulation.Common.dll", + ".\src\Simulation\Simulators\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime.dll", + ".\src\Simulation\Simulators\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.Simulators.dll", ".\src\Simulation\Simulators.Type1\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.Simulators.Type1.dll", ".\src\Simulation\Simulators.Type2\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.Simulators.Type2.dll", ".\src\Xunit\bin\$Env:BUILD_CONFIGURATION\netstandard2.1\Microsoft.Quantum.Xunit.dll" diff --git a/build/pack.ps1 b/build/pack.ps1 index 283085f64ca..28e3c06deea 100644 --- a/build/pack.ps1 +++ b/build/pack.ps1 @@ -68,7 +68,7 @@ Pack-Dotnet '../src/Simulation/QSharpFoundation/Microsoft.Quantum.QSharp.Foundat Pack-Dotnet '../src/Simulation/QsharpCore/Microsoft.Quantum.QSharp.Core.csproj' Pack-Dotnet '../src/Simulation/Type1Core/Microsoft.Quantum.Type1.Core.csproj' Pack-Dotnet '../src/Simulation/Type2Core/Microsoft.Quantum.Type2.Core.csproj' -Pack-One '../src/Simulation/Simulators.Core/Microsoft.Quantum.Simulators.nuspec' +Pack-One '../src/Simulation/Simulators/Microsoft.Quantum.Simulators.nuspec' Pack-One '../src/Simulation/Simulators.Type1/Microsoft.Quantum.Simulators.Type1.nuspec' Pack-One '../src/Simulation/Simulators.Type2/Microsoft.Quantum.Simulators.Type2.nuspec' Pack-One '../src/Quantum.Development.Kit/Microsoft.Quantum.Development.Kit.nuspec' diff --git a/src/Simulation/Common/Simulators.Impl.props b/src/Simulation/Common/Simulators.Impl.props index 07f50298499..0f0e4e4ed8a 100644 --- a/src/Simulation/Common/Simulators.Impl.props +++ b/src/Simulation/Common/Simulators.Impl.props @@ -21,7 +21,7 @@ - + diff --git a/src/Simulation/CsharpGeneration.Tests/Tests.CsharpGeneration.fsproj b/src/Simulation/CsharpGeneration.Tests/Tests.CsharpGeneration.fsproj index 4e83f9f6035..d5ee8e1add2 100644 --- a/src/Simulation/CsharpGeneration.Tests/Tests.CsharpGeneration.fsproj +++ b/src/Simulation/CsharpGeneration.Tests/Tests.CsharpGeneration.fsproj @@ -52,7 +52,7 @@ - + diff --git a/src/Simulation/EntryPointDriver/Microsoft.Quantum.EntryPointDriver.csproj b/src/Simulation/EntryPointDriver/Microsoft.Quantum.EntryPointDriver.csproj index e78cf42f721..3c13f0f8c65 100644 --- a/src/Simulation/EntryPointDriver/Microsoft.Quantum.EntryPointDriver.csproj +++ b/src/Simulation/EntryPointDriver/Microsoft.Quantum.EntryPointDriver.csproj @@ -26,7 +26,7 @@ - + diff --git a/src/Simulation/QCTraceSimulator.Tests/Tests.Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime.csproj b/src/Simulation/QCTraceSimulator.Tests/Tests.Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime.csproj index 9b472054974..946f625dbd1 100644 --- a/src/Simulation/QCTraceSimulator.Tests/Tests.Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime.csproj +++ b/src/Simulation/QCTraceSimulator.Tests/Tests.Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime.csproj @@ -13,7 +13,7 @@ - + diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/AndLadder.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/AndLadder.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/AndLadder.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/AndLadder.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ApplyByIndex.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ApplyByIndex.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ApplyByIndex.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ApplyByIndex.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/CCX.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/CCX.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/CCX.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/CCX.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/CCZ.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/CCZ.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/CCZ.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/CCZ.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/CCminusIX.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/CCminusIX.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/CCminusIX.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/CCminusIX.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/CCminusIZ.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/CCminusIZ.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/CCminusIZ.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/CCminusIZ.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/CZ.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/CZ.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/CZ.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/CZ.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledH.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledH.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledH.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledH.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledR.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledR.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledR.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledR.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledR1.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledR1.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledR1.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledR1.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledR1Frac.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledR1Frac.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledR1Frac.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledR1Frac.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledRFrac.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledRFrac.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledRFrac.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledRFrac.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledRZ.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledRZ.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledRZ.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledRZ.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledRZFrac.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledRZFrac.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledRZFrac.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledRZFrac.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledSWAP.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledSWAP.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledSWAP.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledSWAP.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledT.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledT.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledT.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledT.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledTPower.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledTPower.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledTPower.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledTPower.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledTS.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledTS.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ControlledTS.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ControlledTS.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ExpFracZZ.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ExpFracZZ.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ExpFracZZ.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ExpFracZZ.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ExpFracZZZ.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ExpFracZZZ.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ExpFracZZZ.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ExpFracZZZ.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ExpZZ.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ExpZZ.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ExpZZ.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ExpZZ.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/FailOn.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/FailOn.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/FailOn.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/FailOn.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/IndiciesOfNonIdentity.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/IndiciesOfNonIdentity.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/IndiciesOfNonIdentity.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/IndiciesOfNonIdentity.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Interface.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Interface.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Interface.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Interface.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/InternalOperations.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/InternalOperations.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/InternalOperations.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/InternalOperations.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Mod.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Mod.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Mod.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Mod.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/MultiCX.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/MultiCX.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/MultiCX.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/MultiCX.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/MultiControlledFromOpAndSinglyCtrldOp.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/MultiControlledFromOpAndSinglyCtrldOp.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/MultiControlledFromOpAndSinglyCtrldOp.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/MultiControlledFromOpAndSinglyCtrldOp.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/MultiControlledMultiNot.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/MultiControlledMultiNot.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/MultiControlledMultiNot.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/MultiControlledMultiNot.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/MultiControlledU.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/MultiControlledU.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/MultiControlledU.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/MultiControlledU.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/MultiPauliFlip.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/MultiPauliFlip.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/MultiPauliFlip.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/MultiPauliFlip.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/PauliArrayByIndex.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/PauliArrayByIndex.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/PauliArrayByIndex.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/PauliArrayByIndex.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/PauliXFlip.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/PauliXFlip.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/PauliXFlip.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/PauliXFlip.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/PauliZFlip.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/PauliZFlip.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/PauliZFlip.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/PauliZFlip.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.CCNOT.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.CCNOT.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.CCNOT.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.CCNOT.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.CNOT.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.CNOT.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.CNOT.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.CNOT.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Exp.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Exp.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Exp.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Exp.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.ExpFrac.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.ExpFrac.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.ExpFrac.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.ExpFrac.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.H.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.H.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.H.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.H.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.HY.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.HY.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.HY.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.HY.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.IsingXX.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.IsingXX.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.IsingXX.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.IsingXX.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.IsingYY.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.IsingYY.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.IsingYY.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.IsingYY.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.IsingZZ.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.IsingZZ.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.IsingZZ.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.IsingZZ.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.MultiX.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.MultiX.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.MultiX.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.MultiX.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.R.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.R.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.R.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.R.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.R1.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.R1.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.R1.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.R1.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.R1Frac.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.R1Frac.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.R1Frac.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.R1Frac.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.RFrac.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.RFrac.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.RFrac.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.RFrac.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Rx.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Rx.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Rx.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Rx.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Ry.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Ry.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Ry.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Ry.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Rz.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Rz.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Rz.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Rz.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.S.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.S.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.S.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.S.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.SWAP.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.SWAP.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.SWAP.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.SWAP.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.T.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.T.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.T.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.T.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.X.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.X.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.X.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.X.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Y.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Y.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Y.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Y.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Z.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Z.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/Primitive.Z.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/Primitive.Z.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Circuits/ReducedForm.qs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ReducedForm.qs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Circuits/ReducedForm.qs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Circuits/ReducedForm.qs diff --git a/src/Simulation/Simulators/QCTraceSimulator/InterfaceUtils.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/InterfaceUtils.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/InterfaceUtils.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/InterfaceUtils.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Checks.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Checks.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Checks.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Checks.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Diagnostics.Dump.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Diagnostics.Dump.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Diagnostics.Dump.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Diagnostics.Dump.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Interface.CX.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Interface.CX.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Interface.CX.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Interface.CX.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Interface.Clifford.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Interface.Clifford.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Interface.Clifford.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Interface.Clifford.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Interface.ForceMeasure.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Interface.ForceMeasure.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Interface.ForceMeasure.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Interface.ForceMeasure.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Interface.R.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Interface.R.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Interface.R.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Interface.R.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Interface.RFrac.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Interface.RFrac.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Interface.RFrac.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Interface.RFrac.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Allocate.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Allocate.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Allocate.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Allocate.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Assert.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Assert.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Assert.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Assert.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.AssertProb.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.AssertProb.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.AssertProb.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.AssertProb.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Borrow.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Borrow.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Borrow.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Borrow.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Measure.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Measure.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Measure.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Measure.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Release.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Release.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Release.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Release.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Return.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Return.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.Return.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.Return.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.random.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.random.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.Primitive.random.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.Primitive.random.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulator.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulator.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulatorImpl.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulatorImpl.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulatorImpl.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/QCTraceSimulatorImpl.cs diff --git a/src/Simulation/Simulators/QCTraceSimulator/Utils.cs b/src/Simulation/Simulators.Impl/QCTraceSimulator/Utils.cs similarity index 100% rename from src/Simulation/Simulators/QCTraceSimulator/Utils.cs rename to src/Simulation/Simulators.Impl/QCTraceSimulator/Utils.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/Allocate.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/Allocate.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/Allocate.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/Allocate.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/Assert.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/Assert.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/Assert.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/Assert.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/AssertProb.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/AssertProb.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/AssertProb.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/AssertProb.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/Borrow.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/Borrow.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/Borrow.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/Borrow.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/ClassicalControl.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/ClassicalControl.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/ClassicalControl.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/ClassicalControl.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/Dump.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/Dump.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/Dump.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/Dump.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/Exp.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/Exp.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/Exp.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/Exp.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/ExpFrac.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/ExpFrac.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/ExpFrac.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/ExpFrac.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/H.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/H.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/H.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/H.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/M.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/M.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/M.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/M.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/Measure.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/Measure.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/Measure.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/Measure.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/QuantumProcessorDispatcher.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/QuantumProcessorDispatcher.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/QuantumProcessorDispatcher.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/QuantumProcessorDispatcher.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/R.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/R.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/R.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/R.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/R1.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/R1.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/R1.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/R1.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/R1Frac.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/R1Frac.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/R1Frac.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/R1Frac.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/RFrac.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/RFrac.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/RFrac.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/RFrac.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/Release.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/Release.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/Release.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/Release.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/Reset.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/Reset.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/Reset.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/Reset.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/Return.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/Return.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/Return.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/Return.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/S.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/S.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/S.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/S.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/SWAP.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/SWAP.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/SWAP.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/SWAP.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/T.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/T.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/T.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/T.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/X.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/X.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/X.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/X.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/Y.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/Y.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/Y.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/Y.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/Z.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/Z.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/Z.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/Z.cs diff --git a/src/Simulation/Simulators/QuantumProcessor/random.cs b/src/Simulation/Simulators.Impl/QuantumProcessor/random.cs similarity index 100% rename from src/Simulation/Simulators/QuantumProcessor/random.cs rename to src/Simulation/Simulators.Impl/QuantumProcessor/random.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/ApplyControlledX.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/ApplyControlledX.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/ApplyControlledX.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/ApplyControlledX.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/ApplyControlledZ.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/ApplyControlledZ.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/ApplyControlledZ.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/ApplyControlledZ.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledH.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledH.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledH.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledH.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledRx.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledRx.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledRx.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledRx.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledRy.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledRy.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledRy.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledRy.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledRz.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledRz.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledRz.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledRz.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledS.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledS.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledS.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledS.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledT.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledT.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledT.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledT.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledX.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledX.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledX.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledX.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledY.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledY.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledY.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledY.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledZ.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledZ.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/ApplyUncontrolledZ.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/ApplyUncontrolledZ.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Assert.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Assert.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Assert.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Assert.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/AssertProb.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/AssertProb.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/AssertProb.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/AssertProb.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Checks.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Checks.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Checks.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Checks.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Dump.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Dump.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Dump.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Dump.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Exp.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Exp.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Exp.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Exp.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Extensions.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Extensions.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Extensions.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Extensions.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/H.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/H.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/H.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/H.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/IsingXX.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/IsingXX.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/IsingXX.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/IsingXX.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/IsingYY.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/IsingYY.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/IsingYY.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/IsingYY.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/IsingZZ.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/IsingZZ.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/IsingZZ.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/IsingZZ.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/M.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/M.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/M.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/M.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Measure.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Measure.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Measure.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Measure.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/QuantumSimulator.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/QuantumSimulator.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/QuantumSimulator.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/QuantumSimulator.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Qubit.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Qubit.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Qubit.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Qubit.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/QubitManager.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/QubitManager.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/QubitManager.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/QubitManager.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/R.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/R.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/R.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/R.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Reset.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Reset.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Reset.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Reset.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Rx.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Rx.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Rx.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Rx.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Ry.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Ry.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Ry.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Ry.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Rz.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Rz.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Rz.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Rz.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/S.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/S.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/S.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/S.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/SWAP.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/SWAP.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/SWAP.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/SWAP.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/SimulatorBase.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/SimulatorBase.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/SimulatorBase.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/SimulatorBase.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/StackTrace.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/StackTrace.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/StackTrace.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/StackTrace.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/StateDumper.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/StateDumper.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/StateDumper.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/StateDumper.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/T.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/T.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/T.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/T.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/X.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/X.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/X.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/X.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Y.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Y.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Y.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Y.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/Z.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/Z.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/Z.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/Z.cs diff --git a/src/Simulation/Simulators/QuantumSimulator/random.cs b/src/Simulation/Simulators.Impl/QuantumSimulator/random.cs similarity index 100% rename from src/Simulation/Simulators/QuantumSimulator/random.cs rename to src/Simulation/Simulators.Impl/QuantumSimulator/random.cs diff --git a/src/Simulation/Simulators/ResourcesEstimator/ResourcesEstimator.cs b/src/Simulation/Simulators.Impl/ResourcesEstimator/ResourcesEstimator.cs similarity index 99% rename from src/Simulation/Simulators/ResourcesEstimator/ResourcesEstimator.cs rename to src/Simulation/Simulators.Impl/ResourcesEstimator/ResourcesEstimator.cs index d08847898cf..4d8c9423626 100644 --- a/src/Simulation/Simulators/ResourcesEstimator/ResourcesEstimator.cs +++ b/src/Simulation/Simulators.Impl/ResourcesEstimator/ResourcesEstimator.cs @@ -123,7 +123,7 @@ public virtual DataTable Data var results = collector.Results.ToTable(); Debug.Assert(results.keyColumnNames.Length > 2 && results.keyColumnNames[2] == "Caller"); - var roots = results.rows.Where(r => r.KeyRow[2] == CallGraphEdge.CallGraphRootHashed); + var roots = results.rows.Where(r => r.KeyRow[2] == CallGraphEdge.CallGraphRootHashed); var s_idx = Array.FindIndex(results.statisticsNames, n => n == "Sum"); for (var m_idx = 0; m_idx < results.metricNames.Length; m_idx++) @@ -135,14 +135,14 @@ public virtual DataTable Data row["Metric"] = label; if (m_idx >= 0 && s_idx >= 0) - { - Double sum = 0; - Double max = 0; // all our metrics are positive + { + Double sum = 0; + Double max = 0; // all our metrics are positive foreach (var r in roots) - { - Double metric_value = r.DataRow[m_idx, s_idx]; - sum += metric_value; - max = System.Math.Max(max, metric_value); + { + Double metric_value = r.DataRow[m_idx, s_idx]; + sum += metric_value; + max = System.Math.Max(max, metric_value); } row["Sum"] = sum; row["Max"] = max; diff --git a/src/Simulation/Simulators/ToffoliSimulator/Assert.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/Assert.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/Assert.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/Assert.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/AssertProb.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/AssertProb.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/AssertProb.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/AssertProb.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/Dump.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/Dump.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/Dump.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/Dump.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/Exp.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/Exp.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/Exp.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/Exp.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/ExpFrac.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/ExpFrac.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/ExpFrac.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/ExpFrac.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/Extensions.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/Extensions.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/Extensions.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/Extensions.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/H.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/H.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/H.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/H.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/M.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/M.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/M.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/M.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/Measure.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/Measure.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/Measure.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/Measure.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/R.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/R.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/R.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/R.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/RFrac.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/RFrac.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/RFrac.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/RFrac.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/Random.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/Random.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/Random.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/Random.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/S.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/S.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/S.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/S.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/SWAP.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/SWAP.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/SWAP.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/SWAP.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/T.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/T.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/T.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/T.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/ToffoliSimulator.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/ToffoliSimulator.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/ToffoliSimulator.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/ToffoliSimulator.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/X.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/X.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/X.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/X.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/Y.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/Y.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/Y.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/Y.cs diff --git a/src/Simulation/Simulators/ToffoliSimulator/Z.cs b/src/Simulation/Simulators.Impl/ToffoliSimulator/Z.cs similarity index 100% rename from src/Simulation/Simulators/ToffoliSimulator/Z.cs rename to src/Simulation/Simulators.Impl/ToffoliSimulator/Z.cs diff --git a/src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/IntrinsicTests.csproj b/src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/IntrinsicTests.csproj index 5bdb6ad7318..8a9529dffca 100644 --- a/src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/IntrinsicTests.csproj +++ b/src/Simulation/Simulators.Tests/TestProjects/IntrinsicTests/IntrinsicTests.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/Simulation/Simulators.Tests/TestProjects/UnitTests/UnitTests.csproj b/src/Simulation/Simulators.Tests/TestProjects/UnitTests/UnitTests.csproj index b5c5f7a6b8a..a612c54e272 100644 --- a/src/Simulation/Simulators.Tests/TestProjects/UnitTests/UnitTests.csproj +++ b/src/Simulation/Simulators.Tests/TestProjects/UnitTests/UnitTests.csproj @@ -11,7 +11,7 @@ - + diff --git a/src/Simulation/Simulators.Tests/Tests.Microsoft.Quantum.Simulators.csproj b/src/Simulation/Simulators.Tests/Tests.Microsoft.Quantum.Simulators.csproj index 9a97d67614a..f3c8285d222 100644 --- a/src/Simulation/Simulators.Tests/Tests.Microsoft.Quantum.Simulators.csproj +++ b/src/Simulation/Simulators.Tests/Tests.Microsoft.Quantum.Simulators.csproj @@ -9,7 +9,7 @@ - + false diff --git a/src/Simulation/Simulators.Core/.gitignore b/src/Simulation/Simulators/.gitignore similarity index 100% rename from src/Simulation/Simulators.Core/.gitignore rename to src/Simulation/Simulators/.gitignore diff --git a/src/Simulation/Simulators.Core/FindNuspecReferences.ps1 b/src/Simulation/Simulators/FindNuspecReferences.ps1 similarity index 100% rename from src/Simulation/Simulators.Core/FindNuspecReferences.ps1 rename to src/Simulation/Simulators/FindNuspecReferences.ps1 diff --git a/src/Simulation/Simulators.Core/Microsoft.Quantum.Simulators.csproj b/src/Simulation/Simulators/Microsoft.Quantum.Simulators.csproj similarity index 54% rename from src/Simulation/Simulators.Core/Microsoft.Quantum.Simulators.csproj rename to src/Simulation/Simulators/Microsoft.Quantum.Simulators.csproj index 8226d6b2192..e83aa0cac54 100644 --- a/src/Simulation/Simulators.Core/Microsoft.Quantum.Simulators.csproj +++ b/src/Simulation/Simulators/Microsoft.Quantum.Simulators.csproj @@ -3,11 +3,11 @@ - - - - - + + + + + diff --git a/src/Simulation/Simulators.Core/Microsoft.Quantum.Simulators.nuspec.template b/src/Simulation/Simulators/Microsoft.Quantum.Simulators.nuspec.template similarity index 64% rename from src/Simulation/Simulators.Core/Microsoft.Quantum.Simulators.nuspec.template rename to src/Simulation/Simulators/Microsoft.Quantum.Simulators.nuspec.template index 3335cefd51b..a6b1ee3819e 100644 --- a/src/Simulation/Simulators.Core/Microsoft.Quantum.Simulators.nuspec.template +++ b/src/Simulation/Simulators/Microsoft.Quantum.Simulators.nuspec.template @@ -20,12 +20,12 @@ - - - - - - + + + + + + diff --git a/src/Simulation/Simulators.Core/Properties/AssemblyInfo.cs b/src/Simulation/Simulators/Properties/AssemblyInfo.cs similarity index 100% rename from src/Simulation/Simulators.Core/Properties/AssemblyInfo.cs rename to src/Simulation/Simulators/Properties/AssemblyInfo.cs From 81948c7d50e77254bc8419227d2039822a4877d5 Mon Sep 17 00:00:00 2001 From: "Stefan J. Wernli" Date: Wed, 14 Oct 2020 10:18:24 -0700 Subject: [PATCH 6/6] Fix bug in MResetY --- src/Simulation/TargetDefinitions/Decompositions/MResetY.qs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Simulation/TargetDefinitions/Decompositions/MResetY.qs b/src/Simulation/TargetDefinitions/Decompositions/MResetY.qs index 070a5db0d7f..cd2b5f9c549 100644 --- a/src/Simulation/TargetDefinitions/Decompositions/MResetY.qs +++ b/src/Simulation/TargetDefinitions/Decompositions/MResetY.qs @@ -26,7 +26,7 @@ namespace Microsoft.Quantum.Measurement { let result = Measure([PauliY], [target]); // We must return the qubit to the Z basis as well. - S(target); + Adjoint S(target); H(target); if (result == One) {