From a116810239964162e1d658e9edfee05923e7d5c9 Mon Sep 17 00:00:00 2001 From: Yury Sudzilouski Date: Sun, 21 Jun 2020 22:47:04 -0700 Subject: [PATCH 1/3] bug fix? --- src/Simulation/QCTraceSimulator/DepthCounter.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Simulation/QCTraceSimulator/DepthCounter.cs b/src/Simulation/QCTraceSimulator/DepthCounter.cs index db02a56fb8b..8cd0c58cc71 100644 --- a/src/Simulation/QCTraceSimulator/DepthCounter.cs +++ b/src/Simulation/QCTraceSimulator/DepthCounter.cs @@ -87,8 +87,8 @@ public void OnOperationEnd(object[] returnedQubitsTraceData) OperationCallRecord caller = operationCallStack.Peek(); HashedString callerName = caller.OperationName; - caller.ReleasedQubitsAvailableTime = Max(opRec.ReleasedQubitsAvailableTime, caller.ReleasedQubitsAvailableTime ); - caller.ReleasedQubitsAvailableTime = Max(opRec.ReleasedQubitsAvailableTime, caller.ReleasedQubitsAvailableTime ); + caller.ReleasedQubitsAvailableTime = Max(opRec.ReleasedQubitsAvailableTime, caller.ReleasedQubitsAvailableTime); + caller.ReturnedQubitsAvailableTime = Max(opRec.ReturnedQubitsAvailableTime, caller.ReturnedQubitsAvailableTime); double[] metrics = StatisticsRecord( From 609d31d340f1b90a0cf866f901085fb18c0df557 Mon Sep 17 00:00:00 2001 From: Yury Sudzilouski Date: Sun, 21 Jun 2020 23:08:04 -0700 Subject: [PATCH 2/3] removed duplicate code --- .../QCTraceSimulator/QCTraceSimulatorImpl.cs | 28 +------------------ 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulatorImpl.cs b/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulatorImpl.cs index 53088993426..98d0ee29867 100644 --- a/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulatorImpl.cs +++ b/src/Simulation/Simulators/QCTraceSimulator/QCTraceSimulatorImpl.cs @@ -179,32 +179,6 @@ from op in primitiveOperationAsCircuits } } - #region Helpers - static private (long, long) Reduce(long numerator, long denominatorPower) - { - if (numerator == 0) - { - return (0, 0); - } - - if (numerator % 2 != 0) - { - return (numerator, denominatorPower); - } - - long numNew = numerator; - long denomPowerNew = denominatorPower; - - while (numNew % 2 == 0) - { - numNew /= 2; - denomPowerNew -= 1; - } - - return (numNew, denomPowerNew); - } - #endregion - #region Primitive operations logic private void DoPrimitiveOperation(PrimitiveOperationsGroups operation, IQArray target, bool invalidateConstraints = true) @@ -230,7 +204,7 @@ private void RFrac(Pauli pauli, long numerator, long denominatorPower, Qubit tar return; // global phase case } - (long numNew, long denomPowerNew) = Reduce(numerator, denominatorPower); + (long numNew, long denomPowerNew) = CommonUtils.Reduce(numerator, denominatorPower); switch (denomPowerNew) { case 3: From fc73e9945782470707d994c11234597ecddacb0a Mon Sep 17 00:00:00 2001 From: Yury Sudzilouski Date: Mon, 22 Jun 2020 09:32:59 -0700 Subject: [PATCH 3/3] regularizing namespaces --- src/Simulation/QCTraceSimulator/DistinctInputsChecker.cs | 1 - src/Simulation/QCTraceSimulator/Exceptions.cs | 2 +- src/Simulation/QCTraceSimulator/InvalidatedQubitsUseChecker.cs | 1 - src/Simulation/QCTraceSimulator/QCTraceSimulatorCore.cs | 1 - src/Simulation/QCTraceSimulator/QubitMetrics.cs | 2 -- 5 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/Simulation/QCTraceSimulator/DistinctInputsChecker.cs b/src/Simulation/QCTraceSimulator/DistinctInputsChecker.cs index bd795995e1d..f5ae0e99851 100644 --- a/src/Simulation/QCTraceSimulator/DistinctInputsChecker.cs +++ b/src/Simulation/QCTraceSimulator/DistinctInputsChecker.cs @@ -5,7 +5,6 @@ using System.Collections.Generic; using System.Diagnostics; using Microsoft.Quantum.Simulation.Core; -using Microsoft.Quantum.Simulation.Simulators.QCTraceSimulators; namespace Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime { diff --git a/src/Simulation/QCTraceSimulator/Exceptions.cs b/src/Simulation/QCTraceSimulator/Exceptions.cs index 938921ba2af..0d4e31be8c5 100644 --- a/src/Simulation/QCTraceSimulator/Exceptions.cs +++ b/src/Simulation/QCTraceSimulator/Exceptions.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -namespace Microsoft.Quantum.Simulation.Simulators.QCTraceSimulators +namespace Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime { /// /// This exception is thrown when the input to an diff --git a/src/Simulation/QCTraceSimulator/InvalidatedQubitsUseChecker.cs b/src/Simulation/QCTraceSimulator/InvalidatedQubitsUseChecker.cs index d6a7ebb550c..d08db1bfd6c 100644 --- a/src/Simulation/QCTraceSimulator/InvalidatedQubitsUseChecker.cs +++ b/src/Simulation/QCTraceSimulator/InvalidatedQubitsUseChecker.cs @@ -8,7 +8,6 @@ using System.Text; using System.Threading.Tasks; using Microsoft.Quantum.Simulation.Core; -using Microsoft.Quantum.Simulation.Simulators.QCTraceSimulators; namespace Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime { diff --git a/src/Simulation/QCTraceSimulator/QCTraceSimulatorCore.cs b/src/Simulation/QCTraceSimulator/QCTraceSimulatorCore.cs index 87c56594945..d89fae497ca 100644 --- a/src/Simulation/QCTraceSimulator/QCTraceSimulatorCore.cs +++ b/src/Simulation/QCTraceSimulator/QCTraceSimulatorCore.cs @@ -8,7 +8,6 @@ namespace Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime using System.Collections.Generic; using System.Diagnostics; using Microsoft.Quantum.Simulation.Common; - using Microsoft.Quantum.Simulation.Simulators.QCTraceSimulators; using System.Linq; [Serializable] diff --git a/src/Simulation/QCTraceSimulator/QubitMetrics.cs b/src/Simulation/QCTraceSimulator/QubitMetrics.cs index 397d9c1003b..ca7b1a0bd9c 100644 --- a/src/Simulation/QCTraceSimulator/QubitMetrics.cs +++ b/src/Simulation/QCTraceSimulator/QubitMetrics.cs @@ -1,8 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using Microsoft.Quantum.Simulation.Simulators.QCTraceSimulators; - namespace Microsoft.Quantum.Simulation.QCTraceSimulatorRuntime { ///