qsharp-lang 1.17.1-dev → 1.17.2-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.d.ts +10 -8
- package/dist/browser.js +5 -3
- package/dist/compiler/compiler.d.ts +1 -1
- package/dist/compiler/compiler.js +8 -7
- package/dist/{shared → data-structures}/circuit.d.ts +24 -0
- package/dist/data-structures/circuit.js +130 -0
- package/dist/data-structures/legacyCircuitUpdate.d.ts +16 -0
- package/dist/{shared → data-structures}/legacyCircuitUpdate.js +117 -61
- package/dist/{shared → data-structures}/register.d.ts +4 -0
- package/dist/data-structures/register.js +20 -0
- package/dist/debug-service/debug-service.d.ts +1 -1
- package/dist/debug-service/debug-service.js +1 -1
- package/dist/diagnostics.d.ts +21 -0
- package/dist/diagnostics.js +84 -0
- package/dist/katas-content.generated.js +7 -7
- package/dist/katas-content.generated.md.js +7 -7
- package/dist/main.d.ts +2 -2
- package/dist/main.js +2 -1
- package/dist/project.d.ts +10 -0
- package/dist/project.js +17 -0
- package/dist/samples.generated.js +1 -6
- package/dist/utils.d.ts +2 -10
- package/dist/utils.js +0 -39
- package/dist/workers/common.js +62 -17
- package/docs/Microsoft.Quantum.Core/Length.md +1 -1
- package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
- package/docs/Microsoft.Quantum.Core/index.md +1 -3
- package/docs/Std.Arithmetic/AddLE.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfEqualL.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfEqualLE.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfGreaterL.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfGreaterLE.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfLessL.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfLessLE.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
- package/docs/Std.Arithmetic/FourierTDIncByLE.md +1 -1
- package/docs/Std.Arithmetic/IncByI.md +1 -1
- package/docs/Std.Arithmetic/IncByIUsingIncByLE.md +1 -1
- package/docs/Std.Arithmetic/IncByL.md +1 -1
- package/docs/Std.Arithmetic/IncByLE.md +1 -1
- package/docs/Std.Arithmetic/IncByLEUsingAddLE.md +1 -1
- package/docs/Std.Arithmetic/IncByLUsingIncByLE.md +1 -1
- package/docs/Std.Arithmetic/LookAheadDKRSAddLE.md +1 -1
- package/docs/Std.Arithmetic/MAJ.md +1 -1
- package/docs/Std.Arithmetic/ReflectAboutInteger.md +1 -1
- package/docs/Std.Arithmetic/RippleCarryCGAddLE.md +1 -1
- package/docs/Std.Arithmetic/RippleCarryCGIncByLE.md +1 -1
- package/docs/Std.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
- package/docs/Std.Arithmetic/index.md +1 -3
- package/docs/Std.Arrays/All.md +1 -1
- package/docs/Std.Arrays/Any.md +1 -1
- package/docs/Std.Arrays/Chunks.md +1 -1
- package/docs/Std.Arrays/CircularlyShifted.md +1 -1
- package/docs/Std.Arrays/ColumnAt.md +1 -1
- package/docs/Std.Arrays/Count.md +1 -1
- package/docs/Std.Arrays/Diagonal.md +1 -1
- package/docs/Std.Arrays/DrawMany.md +1 -1
- package/docs/Std.Arrays/Enumerated.md +1 -1
- package/docs/Std.Arrays/Excluding.md +1 -1
- package/docs/Std.Arrays/Filtered.md +1 -1
- package/docs/Std.Arrays/FlatMapped.md +1 -1
- package/docs/Std.Arrays/Flattened.md +1 -1
- package/docs/Std.Arrays/Fold.md +1 -1
- package/docs/Std.Arrays/ForEach.md +1 -1
- package/docs/Std.Arrays/Head.md +1 -1
- package/docs/Std.Arrays/HeadAndRest.md +1 -1
- package/docs/Std.Arrays/IndexOf.md +1 -1
- package/docs/Std.Arrays/IndexRange.md +1 -1
- package/docs/Std.Arrays/Interleaved.md +1 -1
- package/docs/Std.Arrays/IsEmpty.md +1 -1
- package/docs/Std.Arrays/IsRectangularArray.md +1 -1
- package/docs/Std.Arrays/IsSorted.md +1 -1
- package/docs/Std.Arrays/IsSquareArray.md +1 -1
- package/docs/Std.Arrays/Mapped.md +1 -1
- package/docs/Std.Arrays/MappedByIndex.md +1 -1
- package/docs/Std.Arrays/MappedOverRange.md +1 -1
- package/docs/Std.Arrays/Most.md +1 -1
- package/docs/Std.Arrays/MostAndTail.md +1 -1
- package/docs/Std.Arrays/Padded.md +1 -1
- package/docs/Std.Arrays/Partitioned.md +1 -1
- package/docs/Std.Arrays/Rest.md +1 -1
- package/docs/Std.Arrays/Reversed.md +1 -1
- package/docs/Std.Arrays/SequenceI.md +1 -1
- package/docs/Std.Arrays/SequenceL.md +1 -1
- package/docs/Std.Arrays/Sorted.md +1 -1
- package/docs/Std.Arrays/Subarray.md +1 -1
- package/docs/Std.Arrays/Swapped.md +1 -1
- package/docs/Std.Arrays/Tail.md +1 -1
- package/docs/Std.Arrays/Transposed.md +1 -1
- package/docs/Std.Arrays/Unzipped.md +1 -1
- package/docs/Std.Arrays/Where.md +1 -1
- package/docs/Std.Arrays/Windows.md +1 -1
- package/docs/Std.Arrays/Zipped.md +1 -1
- package/docs/Std.Arrays/index.md +1 -3
- package/docs/Std.Canon/ApplyCNOTChain.md +1 -1
- package/docs/Std.Canon/ApplyControlledOnBitString.md +1 -1
- package/docs/Std.Canon/ApplyControlledOnInt.md +1 -1
- package/docs/Std.Canon/ApplyOperationPowerA.md +1 -1
- package/docs/Std.Canon/ApplyOperationPowerCA.md +24 -0
- package/docs/Std.Canon/ApplyP.md +1 -1
- package/docs/Std.Canon/ApplyPauli.md +1 -1
- package/docs/Std.Canon/ApplyPauliFromBitString.md +1 -1
- package/docs/Std.Canon/ApplyPauliFromInt.md +1 -1
- package/docs/Std.Canon/ApplyQFT.md +1 -1
- package/docs/Std.Canon/ApplyQPE.md +51 -0
- package/docs/Std.Canon/ApplyToEach.md +1 -1
- package/docs/Std.Canon/ApplyToEachA.md +1 -1
- package/docs/Std.Canon/ApplyToEachC.md +1 -1
- package/docs/Std.Canon/ApplyToEachCA.md +1 -1
- package/docs/Std.Canon/ApplyXorInPlace.md +1 -1
- package/docs/Std.Canon/ApplyXorInPlaceL.md +1 -1
- package/docs/Std.Canon/CX.md +1 -1
- package/docs/Std.Canon/CY.md +1 -1
- package/docs/Std.Canon/CZ.md +1 -1
- package/docs/Std.Canon/Fst.md +1 -1
- package/docs/Std.Canon/Relabel.md +1 -1
- package/docs/Std.Canon/Snd.md +1 -1
- package/docs/Std.Canon/SwapReverseRegister.md +1 -1
- package/docs/Std.Canon/index.md +3 -3
- package/docs/Std.Convert/BigIntAsBoolArray.md +1 -1
- package/docs/Std.Convert/BigIntAsInt.md +1 -1
- package/docs/Std.Convert/BoolArrayAsBigInt.md +1 -1
- package/docs/Std.Convert/BoolArrayAsInt.md +1 -1
- package/docs/Std.Convert/BoolArrayAsResultArray.md +1 -1
- package/docs/Std.Convert/BoolAsResult.md +1 -1
- package/docs/Std.Convert/ComplexAsComplexPolar.md +1 -1
- package/docs/Std.Convert/ComplexPolarAsComplex.md +1 -1
- package/docs/Std.Convert/DoubleAsStringWithPrecision.md +1 -1
- package/docs/Std.Convert/IntAsBigInt.md +1 -1
- package/docs/Std.Convert/IntAsBoolArray.md +1 -1
- package/docs/Std.Convert/IntAsDouble.md +1 -1
- package/docs/Std.Convert/ResultArrayAsBoolArray.md +1 -1
- package/docs/Std.Convert/ResultArrayAsInt.md +1 -1
- package/docs/Std.Convert/ResultAsBool.md +1 -1
- package/docs/Std.Convert/index.md +1 -3
- package/docs/Std.Core/Length.md +1 -1
- package/docs/Std.Core/Repeated.md +1 -1
- package/docs/Std.Core/index.md +1 -3
- package/docs/Std.Diagnostics/ApplyIdleNoise.md +1 -1
- package/docs/Std.Diagnostics/BitFlipNoise.md +1 -1
- package/docs/Std.Diagnostics/CheckAllZero.md +1 -1
- package/docs/Std.Diagnostics/CheckOperationsAreEqual.md +1 -1
- package/docs/Std.Diagnostics/CheckZero.md +1 -1
- package/docs/Std.Diagnostics/ConfigurePauliNoise.md +1 -1
- package/docs/Std.Diagnostics/DepolarizingNoise.md +1 -1
- package/docs/Std.Diagnostics/DumpMachine.md +1 -1
- package/docs/Std.Diagnostics/DumpOperation.md +1 -1
- package/docs/Std.Diagnostics/DumpRegister.md +1 -1
- package/docs/Std.Diagnostics/Fact.md +1 -1
- package/docs/Std.Diagnostics/NoNoise.md +1 -1
- package/docs/Std.Diagnostics/PhaseFlipNoise.md +1 -1
- package/docs/Std.Diagnostics/StartCountingFunction.md +1 -1
- package/docs/Std.Diagnostics/StartCountingOperation.md +1 -1
- package/docs/Std.Diagnostics/StartCountingQubits.md +1 -1
- package/docs/Std.Diagnostics/StopCountingFunction.md +1 -1
- package/docs/Std.Diagnostics/StopCountingOperation.md +1 -1
- package/docs/Std.Diagnostics/StopCountingQubits.md +1 -1
- package/docs/Std.Diagnostics/index.md +1 -3
- package/docs/Std.Intrinsic/AND.md +1 -1
- package/docs/Std.Intrinsic/ApplyUnitary.md +1 -1
- package/docs/Std.Intrinsic/CCNOT.md +1 -1
- package/docs/Std.Intrinsic/CNOT.md +1 -1
- package/docs/Std.Intrinsic/Exp.md +1 -1
- package/docs/Std.Intrinsic/H.md +1 -1
- package/docs/Std.Intrinsic/I.md +1 -1
- package/docs/Std.Intrinsic/M.md +1 -1
- package/docs/Std.Intrinsic/Measure.md +1 -1
- package/docs/Std.Intrinsic/Message.md +1 -1
- package/docs/Std.Intrinsic/R.md +1 -1
- package/docs/Std.Intrinsic/R1.md +1 -1
- package/docs/Std.Intrinsic/R1Frac.md +1 -1
- package/docs/Std.Intrinsic/RFrac.md +1 -1
- package/docs/Std.Intrinsic/Reset.md +1 -1
- package/docs/Std.Intrinsic/ResetAll.md +1 -1
- package/docs/Std.Intrinsic/Rx.md +1 -1
- package/docs/Std.Intrinsic/Rxx.md +1 -1
- package/docs/Std.Intrinsic/Ry.md +1 -1
- package/docs/Std.Intrinsic/Ryy.md +1 -1
- package/docs/Std.Intrinsic/Rz.md +1 -1
- package/docs/Std.Intrinsic/Rzz.md +1 -1
- package/docs/Std.Intrinsic/S.md +1 -1
- package/docs/Std.Intrinsic/SWAP.md +1 -1
- package/docs/Std.Intrinsic/SX.md +1 -1
- package/docs/Std.Intrinsic/T.md +1 -1
- package/docs/Std.Intrinsic/X.md +1 -1
- package/docs/Std.Intrinsic/Y.md +1 -1
- package/docs/Std.Intrinsic/Z.md +1 -1
- package/docs/Std.Intrinsic/index.md +1 -3
- package/docs/Std.Logical/Xor.md +1 -1
- package/docs/Std.Logical/index.md +1 -3
- package/docs/Std.Math/AbsComplex.md +1 -1
- package/docs/Std.Math/AbsComplexPolar.md +1 -1
- package/docs/Std.Math/AbsD.md +1 -1
- package/docs/Std.Math/AbsI.md +1 -1
- package/docs/Std.Math/AbsL.md +1 -1
- package/docs/Std.Math/AbsSquaredComplex.md +1 -1
- package/docs/Std.Math/AbsSquaredComplexPolar.md +1 -1
- package/docs/Std.Math/ApproximateFactorial.md +1 -1
- package/docs/Std.Math/ArcCos.md +1 -1
- package/docs/Std.Math/ArcCosh.md +1 -1
- package/docs/Std.Math/ArcSin.md +1 -1
- package/docs/Std.Math/ArcSinh.md +1 -1
- package/docs/Std.Math/ArcTan.md +1 -1
- package/docs/Std.Math/ArcTan2.md +1 -1
- package/docs/Std.Math/ArcTanh.md +1 -1
- package/docs/Std.Math/ArgComplex.md +1 -1
- package/docs/Std.Math/ArgComplexPolar.md +1 -1
- package/docs/Std.Math/Binom.md +1 -1
- package/docs/Std.Math/BitSizeI.md +1 -1
- package/docs/Std.Math/BitSizeL.md +1 -1
- package/docs/Std.Math/Ceiling.md +1 -1
- package/docs/Std.Math/Complex.md +1 -1
- package/docs/Std.Math/ComplexPolar.md +1 -1
- package/docs/Std.Math/ContinuedFractionConvergentI.md +1 -1
- package/docs/Std.Math/ContinuedFractionConvergentL.md +1 -1
- package/docs/Std.Math/Cos.md +1 -1
- package/docs/Std.Math/Cosh.md +1 -1
- package/docs/Std.Math/DivRemI.md +1 -1
- package/docs/Std.Math/DivRemL.md +1 -1
- package/docs/Std.Math/DividedByC.md +1 -1
- package/docs/Std.Math/DividedByCP.md +1 -1
- package/docs/Std.Math/E.md +1 -1
- package/docs/Std.Math/ExpModI.md +1 -1
- package/docs/Std.Math/ExpModL.md +1 -1
- package/docs/Std.Math/ExtendedGreatestCommonDivisorI.md +1 -1
- package/docs/Std.Math/ExtendedGreatestCommonDivisorL.md +1 -1
- package/docs/Std.Math/FactorialI.md +1 -1
- package/docs/Std.Math/FactorialL.md +1 -1
- package/docs/Std.Math/Floor.md +1 -1
- package/docs/Std.Math/GreatestCommonDivisorI.md +1 -1
- package/docs/Std.Math/GreatestCommonDivisorL.md +1 -1
- package/docs/Std.Math/HammingWeightI.md +1 -1
- package/docs/Std.Math/InverseModI.md +1 -1
- package/docs/Std.Math/InverseModL.md +1 -1
- package/docs/Std.Math/IsCoprimeI.md +1 -1
- package/docs/Std.Math/IsCoprimeL.md +1 -1
- package/docs/Std.Math/IsInfinite.md +1 -1
- package/docs/Std.Math/IsNaN.md +1 -1
- package/docs/Std.Math/LargestFixedPoint.md +1 -1
- package/docs/Std.Math/Lg.md +1 -1
- package/docs/Std.Math/Log.md +1 -1
- package/docs/Std.Math/Log10.md +1 -1
- package/docs/Std.Math/LogFactorialD.md +1 -1
- package/docs/Std.Math/LogGammaD.md +1 -1
- package/docs/Std.Math/LogOf2.md +1 -1
- package/docs/Std.Math/Max.md +1 -1
- package/docs/Std.Math/MaxD.md +1 -1
- package/docs/Std.Math/MaxI.md +1 -1
- package/docs/Std.Math/MaxL.md +1 -1
- package/docs/Std.Math/Min.md +1 -1
- package/docs/Std.Math/MinD.md +1 -1
- package/docs/Std.Math/MinI.md +1 -1
- package/docs/Std.Math/MinL.md +1 -1
- package/docs/Std.Math/MinusC.md +1 -1
- package/docs/Std.Math/MinusCP.md +1 -1
- package/docs/Std.Math/ModulusI.md +1 -1
- package/docs/Std.Math/ModulusL.md +1 -1
- package/docs/Std.Math/NegationC.md +1 -1
- package/docs/Std.Math/NegationCP.md +1 -1
- package/docs/Std.Math/PI.md +1 -1
- package/docs/Std.Math/PNorm.md +1 -1
- package/docs/Std.Math/PNormalized.md +1 -1
- package/docs/Std.Math/PlusC.md +1 -1
- package/docs/Std.Math/PlusCP.md +1 -1
- package/docs/Std.Math/PowC.md +1 -1
- package/docs/Std.Math/PowCP.md +1 -1
- package/docs/Std.Math/RealMod.md +1 -1
- package/docs/Std.Math/Round.md +1 -1
- package/docs/Std.Math/RoundHalfAwayFromZero.md +1 -1
- package/docs/Std.Math/SignD.md +1 -1
- package/docs/Std.Math/SignI.md +1 -1
- package/docs/Std.Math/SignL.md +1 -1
- package/docs/Std.Math/Sin.md +1 -1
- package/docs/Std.Math/Sinh.md +1 -1
- package/docs/Std.Math/SmallestFixedPoint.md +1 -1
- package/docs/Std.Math/Sqrt.md +1 -1
- package/docs/Std.Math/SquaredNorm.md +1 -1
- package/docs/Std.Math/Tan.md +1 -1
- package/docs/Std.Math/Tanh.md +1 -1
- package/docs/Std.Math/TimesC.md +1 -1
- package/docs/Std.Math/TimesCP.md +1 -1
- package/docs/Std.Math/TrailingZeroCountI.md +1 -1
- package/docs/Std.Math/TrailingZeroCountL.md +1 -1
- package/docs/Std.Math/Truncate.md +1 -1
- package/docs/Std.Math/index.md +1 -3
- package/docs/Std.Measurement/MResetEachZ.md +1 -1
- package/docs/Std.Measurement/MResetX.md +1 -1
- package/docs/Std.Measurement/MResetY.md +1 -1
- package/docs/Std.Measurement/MResetZ.md +1 -1
- package/docs/Std.Measurement/MeasureAllZ.md +1 -1
- package/docs/Std.Measurement/MeasureEachZ.md +1 -1
- package/docs/Std.Measurement/MeasureInteger.md +1 -1
- package/docs/Std.Measurement/index.md +1 -3
- package/docs/Std.Random/DrawRandomBool.md +1 -1
- package/docs/Std.Random/DrawRandomDouble.md +1 -1
- package/docs/Std.Random/DrawRandomInt.md +1 -1
- package/docs/Std.Random/index.md +1 -3
- package/docs/Std.Range/IsRangeEmpty.md +1 -1
- package/docs/Std.Range/RangeEnd.md +1 -1
- package/docs/Std.Range/RangeReverse.md +1 -1
- package/docs/Std.Range/RangeStart.md +1 -1
- package/docs/Std.Range/RangeStep.md +1 -1
- package/docs/Std.Range/index.md +1 -3
- package/docs/Std.ResourceEstimation/AccountForEstimates.md +1 -1
- package/docs/Std.ResourceEstimation/AuxQubitCount.md +1 -1
- package/docs/Std.ResourceEstimation/BeginEstimateCaching.md +1 -1
- package/docs/Std.ResourceEstimation/BeginRepeatEstimates.md +1 -1
- package/docs/Std.ResourceEstimation/CczCount.md +1 -1
- package/docs/Std.ResourceEstimation/EndEstimateCaching.md +1 -1
- package/docs/Std.ResourceEstimation/EndRepeatEstimates.md +1 -1
- package/docs/Std.ResourceEstimation/MeasurementCount.md +1 -1
- package/docs/Std.ResourceEstimation/PSSPCLayout.md +1 -1
- package/docs/Std.ResourceEstimation/RepeatEstimates.md +1 -1
- package/docs/Std.ResourceEstimation/RotationCount.md +1 -1
- package/docs/Std.ResourceEstimation/RotationDepth.md +1 -1
- package/docs/Std.ResourceEstimation/SingleVariant.md +1 -1
- package/docs/Std.ResourceEstimation/TCount.md +1 -1
- package/docs/Std.ResourceEstimation/index.md +1 -3
- package/docs/Std.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
- package/docs/Std.StatePreparation/PreparePureStateD.md +1 -1
- package/docs/Std.StatePreparation/PrepareUniformSuperposition.md +1 -1
- package/docs/Std.StatePreparation/index.md +1 -3
- package/docs/Std.TableLookup/Select.md +1 -1
- package/docs/Std.TableLookup/index.md +1 -3
- package/docs/index.md +19 -21
- package/docs/toc.yml +2 -0
- package/lib/node/qsc_wasm.cjs +9 -6
- package/lib/node/qsc_wasm.d.cts +2 -1
- package/lib/node/qsc_wasm_bg.wasm +0 -0
- package/lib/web/qsc_wasm.d.ts +3 -2
- package/lib/web/qsc_wasm.js +9 -6
- package/lib/web/qsc_wasm_bg.wasm +0 -0
- package/package.json +4 -3
- package/ux/circuit-vis/circuit.ts +3 -3
- package/ux/circuit-vis/draggable.ts +1 -1
- package/ux/circuit-vis/events.ts +2 -1
- package/ux/circuit-vis/index.ts +3 -1
- package/ux/circuit-vis/panel.ts +64 -1
- package/ux/circuit-vis/register.ts +1 -1
- package/ux/circuit-vis/sqore.ts +7 -1
- package/ux/circuit-vis/utils.ts +47 -0
- package/ux/circuit.tsx +66 -25
- package/ux/data.ts +1 -0
- package/ux/qsharp-circuit.css +31 -0
- package/dist/shared/circuit.js +0 -20
- package/dist/shared/legacyCircuitUpdate.d.ts +0 -9
- package/dist/shared/register.js +0 -10
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.BeginEstimateCaching
|
|
3
3
|
title: BeginEstimateCaching function
|
|
4
4
|
description: "Q# BeginEstimateCaching function: Informs the resource estimator of the start of the code fragment for which estimates caching can be done. This function is only available when using resource estimator execution target."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.BeginRepeatEstimates
|
|
3
3
|
title: BeginRepeatEstimates operation
|
|
4
4
|
description: "Q# BeginRepeatEstimates operation: Instructs the resource estimator to assume that the resources from the call of this operation until a call to `EndRepeatEstimates` are accounted for `count` times, without the need to execute the code that many times. Calls to `BeginRepeatEstimates` and `EndRepeatEstimates` can be nested. A helper operation `RepeatEstimates` allows to call the two functions in a `within` block."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.CczCount
|
|
3
3
|
title: CczCount function
|
|
4
4
|
description: "Q# CczCount function: Returns a tuple that can be passed to the `AccountForEstimates` operation to specify that the number of the CCZ gates is equal to the `amount`."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.EndEstimateCaching
|
|
3
3
|
title: EndEstimateCaching function
|
|
4
4
|
description: "Q# EndEstimateCaching function: Instructs the resource estimator to stop estimates caching because the code fragment in consideration is over. This function is only available when using resource estimator execution target."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.EndRepeatEstimates
|
|
3
3
|
title: EndRepeatEstimates operation
|
|
4
4
|
description: "Q# EndRepeatEstimates operation: Companion operation to `BeginRepeatEstimates`."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.MeasurementCount
|
|
3
3
|
title: MeasurementCount function
|
|
4
4
|
description: "Q# MeasurementCount function: Returns a tuple that can be passed to the `AccountForEstimates` operation to specify that the number Measurements is equal to the `amount`."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.PSSPCLayout
|
|
3
3
|
title: PSSPCLayout function
|
|
4
4
|
description: "Q# PSSPCLayout function: Pass the value returned by the function to the `AccountForEstimates` operation to indicate Parallel Synthesis Sequential Pauli Computation (PSSPC) layout. See https://arxiv.org/pdf/2211.07629.pdf for details."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.RepeatEstimates
|
|
3
3
|
title: RepeatEstimates operation
|
|
4
4
|
description: "Q# RepeatEstimates operation: Instructs the resource estimator to assume that the resources from the call of this operation until a call to `Adjoint RepeatEstimates` are accounted for `count` times, without the need to execute the code that many times."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.RotationCount
|
|
3
3
|
title: RotationCount function
|
|
4
4
|
description: "Q# RotationCount function: Returns a tuple that can be passed to the `AccountForEstimates` operation to specify that the number of rotations is equal to the `amount`."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.RotationDepth
|
|
3
3
|
title: RotationDepth function
|
|
4
4
|
description: "Q# RotationDepth function: Returns a tuple that can be passed to the `AccountForEstimates` operation to specify that the rotation depth is equal to the `amount`."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.SingleVariant
|
|
3
3
|
title: SingleVariant function
|
|
4
4
|
description: "Q# SingleVariant function: Used to specify that there's only one execution variant in `BeginEstimateCaching` function"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation.TCount
|
|
3
3
|
title: TCount function
|
|
4
4
|
description: "Q# TCount function: Returns a tuple that can be passed to the `AccountForEstimates` operation to specify that the number of the T gates is equal to the `amount`."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.ResourceEstimation
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.ResourceEstimation-toc
|
|
3
3
|
title: Std.ResourceEstimation namespace
|
|
4
4
|
description: Table of contents for the Q# ResourceEstimation namespace
|
|
5
|
-
|
|
6
|
-
ms.author: {MS_AUTHOR}
|
|
7
|
-
ms.date: 05/28/2025
|
|
5
|
+
ms.date: 06/18/2025
|
|
8
6
|
ms.topic: landing-page
|
|
9
7
|
---
|
|
10
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.StatePreparation.ApproximatelyPreparePureStateCP
|
|
3
3
|
title: ApproximatelyPreparePureStateCP operation
|
|
4
4
|
description: "Q# ApproximatelyPreparePureStateCP operation: Given a set of coefficients and a big-endian quantum register, prepares a state on that register described by the given coefficients, up to a given approximation tolerance."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.StatePreparation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.StatePreparation.PreparePureStateD
|
|
3
3
|
title: PreparePureStateD operation
|
|
4
4
|
description: "Q# PreparePureStateD operation: Given a set of coefficients and a big-endian quantum register, prepares a state on that register described by the given coefficients."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.StatePreparation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.StatePreparation.PrepareUniformSuperposition
|
|
3
3
|
title: PrepareUniformSuperposition operation
|
|
4
4
|
description: "Q# PrepareUniformSuperposition operation: Prepares a uniform superposition of states that represent integers 0 through `nStates - 1` in a little-endian `qubits` register."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.StatePreparation
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.StatePreparation-toc
|
|
3
3
|
title: Std.StatePreparation namespace
|
|
4
4
|
description: Table of contents for the Q# StatePreparation namespace
|
|
5
|
-
|
|
6
|
-
ms.author: {MS_AUTHOR}
|
|
7
|
-
ms.date: 05/28/2025
|
|
5
|
+
ms.date: 06/18/2025
|
|
8
6
|
ms.topic: landing-page
|
|
9
7
|
---
|
|
10
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.TableLookup.Select
|
|
3
3
|
title: Select operation
|
|
4
4
|
description: "Q# Select operation: Performs table lookup using a SELECT network"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.TableLookup
|
package/docs/index.md
CHANGED
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
uid: Microsoft.Quantum.apiref-toc
|
|
3
3
|
title: Q# standard libraries for the Azure Quantum Development Kit
|
|
4
4
|
description: Table of contents for the Q# standard libraries for Azure Quantum Development Kit
|
|
5
|
-
|
|
6
|
-
ms.author: {MS_AUTHOR}
|
|
7
|
-
ms.date: 05/28/2025
|
|
5
|
+
ms.date: 06/18/2025
|
|
8
6
|
ms.topic: landing-page
|
|
9
7
|
---
|
|
10
8
|
|
|
@@ -12,21 +10,21 @@ ms.topic: landing-page
|
|
|
12
10
|
|
|
13
11
|
The Q# standard library contains the following namespaces:
|
|
14
12
|
|
|
15
|
-
| Namespace
|
|
16
|
-
|
|
|
17
|
-
| [`Microsoft.Quantum.Core`](xref:Qdk.Microsoft.Quantum.Core-toc)
|
|
18
|
-
| [`Std.
|
|
19
|
-
| [`Std.
|
|
20
|
-
| [`Std.
|
|
21
|
-
| [`Std.
|
|
22
|
-
| [`Std.
|
|
23
|
-
| [`Std.
|
|
24
|
-
| [`Std.
|
|
25
|
-
| [`Std.
|
|
26
|
-
| [`Std.
|
|
27
|
-
| [`Std.
|
|
28
|
-
| [`Std.
|
|
29
|
-
| [`Std.
|
|
30
|
-
| [`
|
|
31
|
-
| [`
|
|
32
|
-
| [`
|
|
13
|
+
| Namespace | Description |
|
|
14
|
+
| --------------------------------------------------------------- | -------------------------------------------------------------------- |
|
|
15
|
+
| [`Microsoft.Quantum.Core`](xref:Qdk.Microsoft.Quantum.Core-toc) | Re-exported functions. |
|
|
16
|
+
| [`Std.Arithmetic`](xref:Qdk.Std.Arithmetic-toc) | Items for working with quantum arithmetic operations. |
|
|
17
|
+
| [`Std.Arrays`](xref:Qdk.Std.Arrays-toc) | Items for working with arrays. |
|
|
18
|
+
| [`Std.Canon`](xref:Qdk.Std.Canon-toc) | Canonical implementations of common classical and quantum utilities. |
|
|
19
|
+
| [`Std.Convert`](xref:Qdk.Std.Convert-toc) | Items for converting between different types. |
|
|
20
|
+
| [`Std.Core`](xref:Qdk.Std.Core-toc) | Items for language built-in operations. |
|
|
21
|
+
| [`Std.Diagnostics`](xref:Qdk.Std.Diagnostics-toc) | Items for debugging and testing quantum programs. |
|
|
22
|
+
| [`Std.Intrinsic`](xref:Qdk.Std.Intrinsic-toc) | Items that provide core quantum operations. |
|
|
23
|
+
| [`Std.Logical`](xref:Qdk.Std.Logical-toc) | Boolean Logic functions. |
|
|
24
|
+
| [`Std.Math`](xref:Qdk.Std.Math-toc) | Items for classical math operations. |
|
|
25
|
+
| [`Std.Measurement`](xref:Qdk.Std.Measurement-toc) | Items for measuring quantum results. |
|
|
26
|
+
| [`Std.Random`](xref:Qdk.Std.Random-toc) | Items for creating random values. |
|
|
27
|
+
| [`Std.Range`](xref:Qdk.Std.Range-toc) | Items for working with ranges. |
|
|
28
|
+
| [`Std.ResourceEstimation`](xref:Qdk.Std.ResourceEstimation-toc) | Items for working with the Azure Quantum Resource Estimator. |
|
|
29
|
+
| [`Std.StatePreparation`](xref:Qdk.Std.StatePreparation-toc) | Items for preparing a quantum state. |
|
|
30
|
+
| [`Std.TableLookup`](xref:Qdk.Std.TableLookup-toc) | Items for performing quantum table lookups. |
|
package/docs/toc.yml
CHANGED
|
@@ -93,11 +93,13 @@
|
|
|
93
93
|
- {name: ApplyControlledOnBitString, uid: Qdk.Std.Canon.ApplyControlledOnBitString}
|
|
94
94
|
- {name: ApplyControlledOnInt, uid: Qdk.Std.Canon.ApplyControlledOnInt}
|
|
95
95
|
- {name: ApplyOperationPowerA, uid: Qdk.Std.Canon.ApplyOperationPowerA}
|
|
96
|
+
- {name: ApplyOperationPowerCA, uid: Qdk.Std.Canon.ApplyOperationPowerCA}
|
|
96
97
|
- {name: ApplyP, uid: Qdk.Std.Canon.ApplyP}
|
|
97
98
|
- {name: ApplyPauli, uid: Qdk.Std.Canon.ApplyPauli}
|
|
98
99
|
- {name: ApplyPauliFromBitString, uid: Qdk.Std.Canon.ApplyPauliFromBitString}
|
|
99
100
|
- {name: ApplyPauliFromInt, uid: Qdk.Std.Canon.ApplyPauliFromInt}
|
|
100
101
|
- {name: ApplyQFT, uid: Qdk.Std.Canon.ApplyQFT}
|
|
102
|
+
- {name: ApplyQPE, uid: Qdk.Std.Canon.ApplyQPE}
|
|
101
103
|
- {name: ApplyToEach, uid: Qdk.Std.Canon.ApplyToEach}
|
|
102
104
|
- {name: ApplyToEachA, uid: Qdk.Std.Canon.ApplyToEachA}
|
|
103
105
|
- {name: ApplyToEachC, uid: Qdk.Std.Canon.ApplyToEachC}
|
package/lib/node/qsc_wasm.cjs
CHANGED
|
@@ -1102,12 +1102,15 @@ class ProjectLoader {
|
|
|
1102
1102
|
}
|
|
1103
1103
|
/**
|
|
1104
1104
|
* @param {string} file_path
|
|
1105
|
+
* @param {string | null} [source]
|
|
1105
1106
|
* @returns {Promise<IProjectConfig>}
|
|
1106
1107
|
*/
|
|
1107
|
-
load_openqasm_project(file_path) {
|
|
1108
|
+
load_openqasm_project(file_path, source) {
|
|
1108
1109
|
const ptr0 = passStringToWasm0(file_path, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
1109
1110
|
const len0 = WASM_VECTOR_LEN;
|
|
1110
|
-
|
|
1111
|
+
var ptr1 = isLikeNone(source) ? 0 : passStringToWasm0(source, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
1112
|
+
var len1 = WASM_VECTOR_LEN;
|
|
1113
|
+
const ret = wasm.projectloader_load_openqasm_project(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
1111
1114
|
return takeObject(ret);
|
|
1112
1115
|
}
|
|
1113
1116
|
}
|
|
@@ -1412,10 +1415,10 @@ module.exports.__wbg_require_79b1e9274cde3c87 = function() { return handleError(
|
|
|
1412
1415
|
return addHeapObject(ret);
|
|
1413
1416
|
}, arguments) };
|
|
1414
1417
|
|
|
1415
|
-
module.exports.
|
|
1418
|
+
module.exports.__wbg_resolvePath_b4556f7b4689ad4a = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
|
|
1416
1419
|
const ret = getObject(arg0).resolvePath(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
|
|
1417
1420
|
return addHeapObject(ret);
|
|
1418
|
-
};
|
|
1421
|
+
}, arguments) };
|
|
1419
1422
|
|
|
1420
1423
|
module.exports.__wbg_resolve_03bf127fbf612c20 = function(arg0) {
|
|
1421
1424
|
const ret = Promise.resolve(getObject(arg0));
|
|
@@ -1524,8 +1527,8 @@ module.exports.__wbindgen_cb_drop = function(arg0) {
|
|
|
1524
1527
|
return ret;
|
|
1525
1528
|
};
|
|
1526
1529
|
|
|
1527
|
-
module.exports.
|
|
1528
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
1530
|
+
module.exports.__wbindgen_closure_wrapper981 = function(arg0, arg1, arg2) {
|
|
1531
|
+
const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_52);
|
|
1529
1532
|
return addHeapObject(ret);
|
|
1530
1533
|
};
|
|
1531
1534
|
|
package/lib/node/qsc_wasm.d.cts
CHANGED
|
@@ -104,6 +104,7 @@ export interface IWorkspaceConfiguration {
|
|
|
104
104
|
packageType?: "exe" | "lib";
|
|
105
105
|
languageFeatures?: LanguageFeatures[];
|
|
106
106
|
lints?: ({ lint: string; level: string } | { group: string; level: string })[];
|
|
107
|
+
devDiagnostics?: boolean;
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
export interface ICodeAction {
|
|
@@ -318,5 +319,5 @@ export class ProjectLoader {
|
|
|
318
319
|
free(): void;
|
|
319
320
|
constructor(project_host: IProjectHost);
|
|
320
321
|
load_project_with_deps(directory: string): Promise<IProjectConfig>;
|
|
321
|
-
load_openqasm_project(file_path: string): Promise<IProjectConfig>;
|
|
322
|
+
load_openqasm_project(file_path: string, source?: string | null): Promise<IProjectConfig>;
|
|
322
323
|
}
|
|
Binary file
|
package/lib/web/qsc_wasm.d.ts
CHANGED
|
@@ -104,6 +104,7 @@ export interface IWorkspaceConfiguration {
|
|
|
104
104
|
packageType?: "exe" | "lib";
|
|
105
105
|
languageFeatures?: LanguageFeatures[];
|
|
106
106
|
lints?: ({ lint: string; level: string } | { group: string; level: string })[];
|
|
107
|
+
devDiagnostics?: boolean;
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
export interface ICodeAction {
|
|
@@ -318,7 +319,7 @@ export class ProjectLoader {
|
|
|
318
319
|
free(): void;
|
|
319
320
|
constructor(project_host: IProjectHost);
|
|
320
321
|
load_project_with_deps(directory: string): Promise<IProjectConfig>;
|
|
321
|
-
load_openqasm_project(file_path: string): Promise<IProjectConfig>;
|
|
322
|
+
load_openqasm_project(file_path: string, source?: string | null): Promise<IProjectConfig>;
|
|
322
323
|
}
|
|
323
324
|
|
|
324
325
|
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
@@ -361,7 +362,7 @@ export interface InitOutput {
|
|
|
361
362
|
readonly __wbg_projectloader_free: (a: number, b: number) => void;
|
|
362
363
|
readonly projectloader_new: (a: number) => number;
|
|
363
364
|
readonly projectloader_load_project_with_deps: (a: number, b: number, c: number) => number;
|
|
364
|
-
readonly projectloader_load_openqasm_project: (a: number, b: number, c: number) => number;
|
|
365
|
+
readonly projectloader_load_openqasm_project: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
365
366
|
readonly git_hash: (a: number) => void;
|
|
366
367
|
readonly get_qir: (a: number, b: number) => void;
|
|
367
368
|
readonly get_estimates: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
package/lib/web/qsc_wasm.js
CHANGED
|
@@ -1096,12 +1096,15 @@ export class ProjectLoader {
|
|
|
1096
1096
|
}
|
|
1097
1097
|
/**
|
|
1098
1098
|
* @param {string} file_path
|
|
1099
|
+
* @param {string | null} [source]
|
|
1099
1100
|
* @returns {Promise<IProjectConfig>}
|
|
1100
1101
|
*/
|
|
1101
|
-
load_openqasm_project(file_path) {
|
|
1102
|
+
load_openqasm_project(file_path, source) {
|
|
1102
1103
|
const ptr0 = passStringToWasm0(file_path, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
1103
1104
|
const len0 = WASM_VECTOR_LEN;
|
|
1104
|
-
|
|
1105
|
+
var ptr1 = isLikeNone(source) ? 0 : passStringToWasm0(source, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
1106
|
+
var len1 = WASM_VECTOR_LEN;
|
|
1107
|
+
const ret = wasm.projectloader_load_openqasm_project(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
1105
1108
|
return takeObject(ret);
|
|
1106
1109
|
}
|
|
1107
1110
|
}
|
|
@@ -1388,10 +1391,10 @@ function __wbg_get_imports() {
|
|
|
1388
1391
|
const ret = module.require;
|
|
1389
1392
|
return addHeapObject(ret);
|
|
1390
1393
|
}, arguments) };
|
|
1391
|
-
imports.wbg.
|
|
1394
|
+
imports.wbg.__wbg_resolvePath_b4556f7b4689ad4a = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
|
|
1392
1395
|
const ret = getObject(arg0).resolvePath(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
|
|
1393
1396
|
return addHeapObject(ret);
|
|
1394
|
-
};
|
|
1397
|
+
}, arguments) };
|
|
1395
1398
|
imports.wbg.__wbg_resolve_03bf127fbf612c20 = function(arg0) {
|
|
1396
1399
|
const ret = Promise.resolve(getObject(arg0));
|
|
1397
1400
|
return addHeapObject(ret);
|
|
@@ -1479,8 +1482,8 @@ function __wbg_get_imports() {
|
|
|
1479
1482
|
const ret = false;
|
|
1480
1483
|
return ret;
|
|
1481
1484
|
};
|
|
1482
|
-
imports.wbg.
|
|
1483
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
1485
|
+
imports.wbg.__wbindgen_closure_wrapper981 = function(arg0, arg1, arg2) {
|
|
1486
|
+
const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_52);
|
|
1484
1487
|
return addHeapObject(ret);
|
|
1485
1488
|
};
|
|
1486
1489
|
imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
|
package/lib/web/qsc_wasm_bg.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qsharp-lang",
|
|
3
3
|
"description": "qsharp language package for quantum development",
|
|
4
|
-
"version": "1.17.
|
|
4
|
+
"version": "1.17.2-dev",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": ">=16.17.0"
|
|
@@ -27,9 +27,10 @@
|
|
|
27
27
|
"scripts": {
|
|
28
28
|
"build": "npm run docs && npm run generate && npm run build:tsc",
|
|
29
29
|
"generate": "node generate_katas_content.js && node generate_samples_content.js",
|
|
30
|
+
"generate:force": "node generate_katas_content.js --force && node generate_samples_content.js",
|
|
30
31
|
"docs": "node generate_docs.js",
|
|
31
|
-
"build:tsc": "node
|
|
32
|
-
"tsc:watch": "node
|
|
32
|
+
"build:tsc": "node ../../../node_modules/typescript/bin/tsc -p ./src/tsconfig.json",
|
|
33
|
+
"tsc:watch": "node ../../../node_modules/typescript/bin/tsc -p ./src/tsconfig.json --watch --preserveWatchOutput",
|
|
33
34
|
"test": "node --test"
|
|
34
35
|
},
|
|
35
36
|
"type": "module",
|
|
@@ -15,7 +15,7 @@ export {
|
|
|
15
15
|
type Unitary,
|
|
16
16
|
type Parameter,
|
|
17
17
|
type Qubit,
|
|
18
|
-
} from "../../src/
|
|
18
|
+
} from "../../src/data-structures/circuit";
|
|
19
19
|
|
|
20
|
-
export { CURRENT_VERSION } from "../../src/
|
|
21
|
-
export { toCircuitGroup } from "../../src/
|
|
20
|
+
export { CURRENT_VERSION } from "../../src/data-structures/circuit";
|
|
21
|
+
export { toCircuitGroup } from "../../src/data-structures/legacyCircuitUpdate";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
|
|
4
|
-
import { getMinMaxRegIdx } from "../../src/utils";
|
|
5
4
|
import { ComponentGrid, Operation } from "./circuit";
|
|
6
5
|
import {
|
|
7
6
|
gatePadding,
|
|
@@ -18,6 +17,7 @@ import { Sqore } from "./sqore";
|
|
|
18
17
|
import {
|
|
19
18
|
findLocation,
|
|
20
19
|
getHostElems,
|
|
20
|
+
getMinMaxRegIdx,
|
|
21
21
|
getToolboxElems,
|
|
22
22
|
getWireData,
|
|
23
23
|
locationStringToIndexes,
|
package/ux/circuit-vis/events.ts
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
findParentArray,
|
|
16
16
|
deepEqual,
|
|
17
17
|
getQubitLabelElems,
|
|
18
|
+
getMinMaxRegIdx,
|
|
18
19
|
} from "./utils";
|
|
19
20
|
import { addContextMenuToHostElem, promptForArguments } from "./contextMenu";
|
|
20
21
|
import {
|
|
@@ -35,7 +36,7 @@ import {
|
|
|
35
36
|
makeDropzoneBox,
|
|
36
37
|
removeAllWireDropzones,
|
|
37
38
|
} from "./draggable";
|
|
38
|
-
import {
|
|
39
|
+
import { getOperationRegisters } from "../../src/utils";
|
|
39
40
|
|
|
40
41
|
let events: CircuitEvents | null = null;
|
|
41
42
|
|
package/ux/circuit-vis/index.ts
CHANGED
|
@@ -12,6 +12,7 @@ import { CircuitGroup } from "./circuit";
|
|
|
12
12
|
* @param renderDepth Initial layer depth at which to render gates.
|
|
13
13
|
* @param isEditable Whether the circuit is editable.
|
|
14
14
|
* @param editCallback Callback function to be called when the circuit is edited.
|
|
15
|
+
* @param runCallback Callback function to be called when the circuit is run.
|
|
15
16
|
*/
|
|
16
17
|
export const draw = (
|
|
17
18
|
circuitGroup: CircuitGroup,
|
|
@@ -19,8 +20,9 @@ export const draw = (
|
|
|
19
20
|
renderDepth = 0,
|
|
20
21
|
isEditable = false,
|
|
21
22
|
editCallback?: (circuitGroup: CircuitGroup) => void,
|
|
23
|
+
runCallback?: () => void,
|
|
22
24
|
): void => {
|
|
23
|
-
const sqore = new Sqore(circuitGroup, isEditable, editCallback);
|
|
25
|
+
const sqore = new Sqore(circuitGroup, isEditable, editCallback, runCallback);
|
|
24
26
|
sqore.draw(container, renderDepth);
|
|
25
27
|
};
|
|
26
28
|
|
package/ux/circuit-vis/panel.ts
CHANGED
|
@@ -63,6 +63,23 @@ const createPanel = (container: HTMLElement): void => {
|
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Enable the run button in the toolbox panel.
|
|
68
|
+
* This function makes the run button visible and adds a click event listener.
|
|
69
|
+
* @param container HTML element containing the toolbox panel
|
|
70
|
+
* @param callback Callback function to execute when the run button is clicked
|
|
71
|
+
*/
|
|
72
|
+
const enableRunButton = (
|
|
73
|
+
container: HTMLElement,
|
|
74
|
+
callback: () => void,
|
|
75
|
+
): void => {
|
|
76
|
+
const runButton = container.querySelector(".svg-run-button");
|
|
77
|
+
if (runButton && runButton.getAttribute("visibility") !== "visible") {
|
|
78
|
+
runButton.setAttribute("visibility", "visible");
|
|
79
|
+
runButton.addEventListener("click", callback);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
|
|
66
83
|
/**
|
|
67
84
|
* Function to produce panel element
|
|
68
85
|
* @param context Context object to manage extension state
|
|
@@ -108,6 +125,10 @@ const _createToolbox = (): HTMLElement => {
|
|
|
108
125
|
svgElem.classList.add("toolbox-panel-svg");
|
|
109
126
|
_childrenSvg(svgElem, gateElems);
|
|
110
127
|
|
|
128
|
+
// Append run button
|
|
129
|
+
const runButtonGroup = _createRunButton(prefixY + gateHeight + 20);
|
|
130
|
+
svgElem.appendChild(runButtonGroup);
|
|
131
|
+
|
|
111
132
|
// Generate toolbox panel
|
|
112
133
|
const toolboxElem = _elem("div", "toolbox-panel");
|
|
113
134
|
_children(toolboxElem, [_title("Toolbox")]);
|
|
@@ -116,6 +137,48 @@ const _createToolbox = (): HTMLElement => {
|
|
|
116
137
|
return toolboxElem;
|
|
117
138
|
};
|
|
118
139
|
|
|
140
|
+
/**
|
|
141
|
+
* Function to create the run button in the toolbox panel
|
|
142
|
+
* @param buttonY Y coordinate for the top of the button
|
|
143
|
+
* @returns SVG group element containing the run button
|
|
144
|
+
*/
|
|
145
|
+
const _createRunButton = (buttonY: number): SVGGElement => {
|
|
146
|
+
const buttonWidth = minGateWidth * 2 + horizontalGap;
|
|
147
|
+
const buttonHeight = gateHeight;
|
|
148
|
+
const buttonX = 1;
|
|
149
|
+
|
|
150
|
+
const runButtonGroup = document.createElementNS(
|
|
151
|
+
"http://www.w3.org/2000/svg",
|
|
152
|
+
"g",
|
|
153
|
+
);
|
|
154
|
+
runButtonGroup.setAttribute("class", "svg-run-button");
|
|
155
|
+
runButtonGroup.setAttribute("tabindex", "0");
|
|
156
|
+
runButtonGroup.setAttribute("role", "button");
|
|
157
|
+
|
|
158
|
+
// Rectangle background
|
|
159
|
+
const rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
|
160
|
+
rect.setAttribute("x", buttonX.toString());
|
|
161
|
+
rect.setAttribute("y", buttonY.toString());
|
|
162
|
+
rect.setAttribute("width", buttonWidth.toString());
|
|
163
|
+
rect.setAttribute("height", buttonHeight.toString());
|
|
164
|
+
rect.setAttribute("class", "svg-run-button-rect");
|
|
165
|
+
|
|
166
|
+
// Text label
|
|
167
|
+
const text = document.createElementNS("http://www.w3.org/2000/svg", "text");
|
|
168
|
+
text.setAttribute("x", (buttonX + buttonWidth / 2).toString());
|
|
169
|
+
text.setAttribute("y", (buttonY + buttonHeight / 2).toString());
|
|
170
|
+
text.setAttribute("class", "svg-run-button-text");
|
|
171
|
+
text.textContent = "Run";
|
|
172
|
+
|
|
173
|
+
// Add elements to group
|
|
174
|
+
runButtonGroup.appendChild(rect);
|
|
175
|
+
runButtonGroup.appendChild(text);
|
|
176
|
+
|
|
177
|
+
// The run button should be hidden by default
|
|
178
|
+
runButtonGroup.setAttribute("visibility", "hidden");
|
|
179
|
+
return runButtonGroup;
|
|
180
|
+
};
|
|
181
|
+
|
|
119
182
|
/**
|
|
120
183
|
* Factory function to produce HTML element
|
|
121
184
|
* @param tag Tag name
|
|
@@ -331,4 +394,4 @@ toolboxGateDictionary["RX"].params = [{ name: "theta", type: "Double" }];
|
|
|
331
394
|
toolboxGateDictionary["RY"].params = [{ name: "theta", type: "Double" }];
|
|
332
395
|
toolboxGateDictionary["RZ"].params = [{ name: "theta", type: "Double" }];
|
|
333
396
|
|
|
334
|
-
export { createPanel, toolboxGateDictionary, toRenderData };
|
|
397
|
+
export { createPanel, enableRunButton, toolboxGateDictionary, toRenderData };
|
package/ux/circuit-vis/sqore.ts
CHANGED
|
@@ -18,7 +18,7 @@ import { createUUID } from "./utils";
|
|
|
18
18
|
import { gateHeight, minGateWidth, minToolboxHeight, svgNS } from "./constants";
|
|
19
19
|
import { createDropzones } from "./draggable";
|
|
20
20
|
import { enableEvents } from "./events";
|
|
21
|
-
import { createPanel } from "./panel";
|
|
21
|
+
import { createPanel, enableRunButton } from "./panel";
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Contains render data for visualization.
|
|
@@ -54,11 +54,13 @@ export class Sqore {
|
|
|
54
54
|
* @param circuitGroup Group of circuits to be visualized.
|
|
55
55
|
* @param isEditable Whether the circuit is editable.
|
|
56
56
|
* @param editCallback Callback function to be called when the circuit is edited.
|
|
57
|
+
* @param runCallback Callback function to be called when the circuit is run.
|
|
57
58
|
*/
|
|
58
59
|
constructor(
|
|
59
60
|
public circuitGroup: CircuitGroup,
|
|
60
61
|
readonly isEditable = false,
|
|
61
62
|
private editCallback?: (circuitGroup: CircuitGroup) => void,
|
|
63
|
+
private runCallback?: () => void,
|
|
62
64
|
) {
|
|
63
65
|
if (
|
|
64
66
|
this.circuitGroup == null ||
|
|
@@ -147,6 +149,10 @@ export class Sqore {
|
|
|
147
149
|
if (this.isEditable) {
|
|
148
150
|
createDropzones(container, this);
|
|
149
151
|
createPanel(container);
|
|
152
|
+
if (this.runCallback != undefined) {
|
|
153
|
+
const callback = this.runCallback;
|
|
154
|
+
enableRunButton(container, callback);
|
|
155
|
+
}
|
|
150
156
|
enableEvents(container, this, () => this.renderCircuit(container));
|
|
151
157
|
if (this.editCallback != undefined) {
|
|
152
158
|
this.editCallback(this.minimizeCircuits(this.circuitGroup));
|