qsharp-lang 1.22.4-dev → 1.23.0
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/data-structures/circuit.d.ts +6 -1
- package/docs/Microsoft.Quantum.Core/IsRangeEmpty.md +1 -1
- package/docs/Microsoft.Quantum.Core/Length.md +1 -1
- package/docs/Microsoft.Quantum.Core/RangeEnd.md +1 -1
- package/docs/Microsoft.Quantum.Core/RangeStart.md +1 -1
- package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
- package/docs/Microsoft.Quantum.Core/index.md +1 -1
- 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 -1
- 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 -1
- 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 +1 -1
- 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 +1 -1
- 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/MapPauliAxis.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 +1 -1
- 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 -1
- package/docs/Std.Core/Complex.md +1 -1
- package/docs/Std.Core/Length.md +1 -1
- package/docs/Std.Core/Repeated.md +1 -1
- package/docs/Std.Core/index.md +1 -1
- 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/ConfigureQubitLoss.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 -1
- 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 -1
- package/docs/Std.Logical/Xor.md +1 -1
- package/docs/Std.Logical/index.md +1 -1
- 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 -1
- package/docs/Std.Measurement/IsLossResult.md +1 -1
- 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/MResetZChecked.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 -1
- 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 -1
- 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 -1
- 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/EnableMemoryComputeArchitecture.md +1 -1
- package/docs/Std.ResourceEstimation/EndEstimateCaching.md +1 -1
- package/docs/Std.ResourceEstimation/EndRepeatEstimates.md +1 -1
- package/docs/Std.ResourceEstimation/LeastFrequentlyUsed.md +1 -1
- package/docs/Std.ResourceEstimation/LeastRecentlyUsed.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 -1
- 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 -1
- package/docs/Std.TableLookup/Select.md +1 -1
- package/docs/Std.TableLookup/index.md +1 -1
- package/docs/index.md +1 -1
- package/lib/nodejs/qsc_wasm.cjs +1 -1
- package/lib/nodejs/qsc_wasm.d.cts +2 -1
- package/lib/nodejs/qsc_wasm_bg.wasm +0 -0
- package/lib/web/qsc_wasm.d.ts +2 -1
- package/lib/web/qsc_wasm.js +1 -1
- package/lib/web/qsc_wasm_bg.wasm +0 -0
- package/package.json +1 -1
- package/ux/circuit-vis/events.ts +1 -5
- package/ux/circuit-vis/formatters/gateFormatter.ts +1 -1
- package/ux/circuit-vis/formatters/registerFormatter.ts +61 -33
- package/ux/circuit-vis/process.ts +27 -13
- package/ux/circuit-vis/sqore.ts +14 -13
|
@@ -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: 12/09/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: 12/09/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.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: 12/09/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: 12/09/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: 12/09/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.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: 12/09/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.TableLookup
|
package/docs/index.md
CHANGED
|
@@ -2,7 +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
|
-
ms.date:
|
|
5
|
+
ms.date: 12/09/2025
|
|
6
6
|
ms.topic: landing-page
|
|
7
7
|
---
|
|
8
8
|
|
package/lib/nodejs/qsc_wasm.cjs
CHANGED
|
@@ -1570,7 +1570,7 @@ module.exports.__wbindgen_cb_drop = function(arg0) {
|
|
|
1570
1570
|
return ret;
|
|
1571
1571
|
};
|
|
1572
1572
|
|
|
1573
|
-
module.exports.
|
|
1573
|
+
module.exports.__wbindgen_closure_wrapper988 = function(arg0, arg1, arg2) {
|
|
1574
1574
|
const ret = makeMutClosure(arg0, arg1, 333, __wbg_adapter_52);
|
|
1575
1575
|
return addHeapObject(ret);
|
|
1576
1576
|
};
|
|
@@ -267,9 +267,10 @@ export interface ITestDescriptor {
|
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
export interface ICircuitConfig {
|
|
270
|
+
generationMethod: "simulate" | "classicalEval";
|
|
270
271
|
maxOperations: number;
|
|
271
|
-
generationMethod: "simulate" | "classicalEval" ;
|
|
272
272
|
sourceLocations: boolean;
|
|
273
|
+
groupByScope: boolean;
|
|
273
274
|
}
|
|
274
275
|
|
|
275
276
|
export interface IDocFile {
|
|
Binary file
|
package/lib/web/qsc_wasm.d.ts
CHANGED
|
@@ -267,9 +267,10 @@ export interface ITestDescriptor {
|
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
export interface ICircuitConfig {
|
|
270
|
+
generationMethod: "simulate" | "classicalEval";
|
|
270
271
|
maxOperations: number;
|
|
271
|
-
generationMethod: "simulate" | "classicalEval" ;
|
|
272
272
|
sourceLocations: boolean;
|
|
273
|
+
groupByScope: boolean;
|
|
273
274
|
}
|
|
274
275
|
|
|
275
276
|
export interface IDocFile {
|
package/lib/web/qsc_wasm.js
CHANGED
|
@@ -1525,7 +1525,7 @@ function __wbg_get_imports() {
|
|
|
1525
1525
|
const ret = false;
|
|
1526
1526
|
return ret;
|
|
1527
1527
|
};
|
|
1528
|
-
imports.wbg.
|
|
1528
|
+
imports.wbg.__wbindgen_closure_wrapper988 = function(arg0, arg1, arg2) {
|
|
1529
1529
|
const ret = makeMutClosure(arg0, arg1, 333, __wbg_adapter_52);
|
|
1530
1530
|
return addHeapObject(ret);
|
|
1531
1531
|
};
|
package/lib/web/qsc_wasm_bg.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/ux/circuit-vis/events.ts
CHANGED
|
@@ -170,11 +170,7 @@ class CircuitEvents {
|
|
|
170
170
|
this.selectedOperation.controls != null &&
|
|
171
171
|
this.selectedWire != null
|
|
172
172
|
) {
|
|
173
|
-
|
|
174
|
-
(control) => control.qubit === this.selectedWire,
|
|
175
|
-
);
|
|
176
|
-
if (controlIndex !== -1)
|
|
177
|
-
this.selectedOperation.controls.splice(controlIndex, 1);
|
|
173
|
+
removeControl(this, this.selectedOperation, this.selectedWire);
|
|
178
174
|
} else {
|
|
179
175
|
// Otherwise, remove the selectedOperation
|
|
180
176
|
removeOperation(this, selectedLocation);
|
|
@@ -164,7 +164,7 @@ const _zoomButton = (
|
|
|
164
164
|
let { dataAttributes } = renderData;
|
|
165
165
|
dataAttributes = dataAttributes || {};
|
|
166
166
|
|
|
167
|
-
const expanded = "expanded"
|
|
167
|
+
const expanded = dataAttributes["expanded"] == "true";
|
|
168
168
|
|
|
169
169
|
const x = gateBoundingBoxX + 2;
|
|
170
170
|
const y = gateBoundingBoxY + 2;
|
|
@@ -11,20 +11,22 @@ import { group, line } from "./formatUtils.js";
|
|
|
11
11
|
* stemming from each measurement gate.
|
|
12
12
|
*
|
|
13
13
|
* @param registers Map from register IDs to register render data.
|
|
14
|
-
* @param
|
|
15
|
-
* @param endX End x
|
|
14
|
+
* @param allGates All the gates in the circuit.
|
|
15
|
+
* @param endX End x-coordinate for the whole circuit.
|
|
16
|
+
* All wires will stretch to this x-coordinate.
|
|
16
17
|
*
|
|
17
18
|
* @returns SVG representation of register wires.
|
|
18
19
|
*/
|
|
19
20
|
const formatRegisters = (
|
|
20
21
|
registers: RegisterMap,
|
|
21
|
-
|
|
22
|
+
allGates: GateRenderData[],
|
|
22
23
|
endX: number,
|
|
23
24
|
): SVGElement => {
|
|
24
|
-
const
|
|
25
|
-
|
|
25
|
+
const qubitRegs: SVGElement[] = [];
|
|
26
|
+
const classicalRegs: SVGElement[] = [];
|
|
26
27
|
for (const qId in registers) {
|
|
27
|
-
|
|
28
|
+
// Render qubit wire
|
|
29
|
+
qubitRegs.push(
|
|
28
30
|
line(
|
|
29
31
|
regLineStart,
|
|
30
32
|
registers[qId].y,
|
|
@@ -33,50 +35,74 @@ const formatRegisters = (
|
|
|
33
35
|
"qubit-wire",
|
|
34
36
|
),
|
|
35
37
|
);
|
|
38
|
+
|
|
39
|
+
// Render classical wires
|
|
40
|
+
for (const classical of registers[qId].children || []) {
|
|
41
|
+
for (const gate of allGates.flat()) {
|
|
42
|
+
if (
|
|
43
|
+
gate.type === GateType.Group &&
|
|
44
|
+
gate.dataAttributes?.["expanded"] === "true"
|
|
45
|
+
) {
|
|
46
|
+
// Don't render classical wires for a group that is expanded - the wires
|
|
47
|
+
// will be coming out of the measurement operations *inside* the group.
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
for (const y of gate.targetsY.flat().filter((y) => y === classical.y)) {
|
|
52
|
+
// Found the gate that this classical wire originates from. Draw
|
|
53
|
+
// it starting at this gates x-coordinate.
|
|
54
|
+
|
|
55
|
+
// If this is a measurement gate, there is a vertical line
|
|
56
|
+
// going down from the gate to the wire
|
|
57
|
+
const verticalY =
|
|
58
|
+
gate.type === GateType.Measure ? gate.controlsY[0] : undefined;
|
|
59
|
+
|
|
60
|
+
classicalRegs.push(_classicalRegister(gate.x, endX, y, verticalY));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
36
64
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (type !== GateType.Measure) return;
|
|
40
|
-
const gateY: number = controlsY[0];
|
|
41
|
-
(targetsY as number[]).forEach((y) => {
|
|
42
|
-
formattedRegs.push(_classicalRegister(x, gateY, endX, y));
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
return group(formattedRegs, { class: "wires" });
|
|
65
|
+
|
|
66
|
+
return group(qubitRegs.concat(classicalRegs), { class: "wires" });
|
|
46
67
|
};
|
|
47
68
|
|
|
48
69
|
/**
|
|
49
70
|
* Generates the SVG representation of a classical register.
|
|
50
71
|
*
|
|
51
72
|
* @param startX Start x coord.
|
|
52
|
-
* @param gateY y coord of measurement gate.
|
|
53
73
|
* @param endX End x coord.
|
|
54
74
|
* @param wireY y coord of wire.
|
|
75
|
+
* @param gateY y coord of the measurement gate that this wire originates from.
|
|
76
|
+
* If undefined, no vertical line is drawn.
|
|
55
77
|
*
|
|
56
78
|
* @returns SVG representation of the given classical register.
|
|
57
79
|
*/
|
|
58
80
|
const _classicalRegister = (
|
|
59
81
|
startX: number,
|
|
60
|
-
gateY: number,
|
|
61
82
|
endX: number,
|
|
62
83
|
wireY: number,
|
|
84
|
+
gateY?: number,
|
|
63
85
|
): SVGElement => {
|
|
64
86
|
const wirePadding = 1;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
87
|
+
const g = [];
|
|
88
|
+
if (gateY != null) {
|
|
89
|
+
// Draw vertical lines
|
|
90
|
+
const vLine1: SVGElement = line(
|
|
91
|
+
startX + wirePadding,
|
|
92
|
+
gateY,
|
|
93
|
+
startX + wirePadding,
|
|
94
|
+
wireY - wirePadding,
|
|
95
|
+
"register-classical",
|
|
96
|
+
);
|
|
97
|
+
const vLine2: SVGElement = line(
|
|
98
|
+
startX - wirePadding,
|
|
99
|
+
gateY,
|
|
100
|
+
startX - wirePadding,
|
|
101
|
+
wireY + wirePadding,
|
|
102
|
+
"register-classical",
|
|
103
|
+
);
|
|
104
|
+
g.push(vLine1, vLine2);
|
|
105
|
+
}
|
|
80
106
|
|
|
81
107
|
// Draw horizontal lines
|
|
82
108
|
const hLine1: SVGElement = line(
|
|
@@ -94,7 +120,9 @@ const _classicalRegister = (
|
|
|
94
120
|
"register-classical",
|
|
95
121
|
);
|
|
96
122
|
|
|
97
|
-
|
|
123
|
+
g.push(hLine1, hLine2);
|
|
124
|
+
|
|
125
|
+
return group(g);
|
|
98
126
|
};
|
|
99
127
|
|
|
100
128
|
export { formatRegisters };
|
|
@@ -40,7 +40,7 @@ const processOperations = (
|
|
|
40
40
|
|
|
41
41
|
// Get classical registers and their starting column index
|
|
42
42
|
const classicalRegs: [number, Register][] =
|
|
43
|
-
|
|
43
|
+
_getClassicalRegStarts(componentGrid);
|
|
44
44
|
|
|
45
45
|
// Map operation index to gate render data for formatting later
|
|
46
46
|
const renderDataArray: GateRenderData[][] = componentGrid.map(
|
|
@@ -75,21 +75,21 @@ const processOperations = (
|
|
|
75
75
|
return children[reg.result].y;
|
|
76
76
|
});
|
|
77
77
|
|
|
78
|
-
let
|
|
78
|
+
let targets: Register[];
|
|
79
79
|
switch (op.kind) {
|
|
80
80
|
case "unitary":
|
|
81
|
-
|
|
81
|
+
targets = op.targets;
|
|
82
82
|
break;
|
|
83
83
|
case "measurement":
|
|
84
|
-
|
|
84
|
+
targets = op.qubits;
|
|
85
85
|
break;
|
|
86
86
|
case "ket":
|
|
87
|
-
|
|
87
|
+
targets = op.targets;
|
|
88
88
|
break;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
renderData.targetsY = _splitTargetsY(
|
|
92
|
-
|
|
92
|
+
targets,
|
|
93
93
|
classicalRegY,
|
|
94
94
|
registers,
|
|
95
95
|
);
|
|
@@ -122,7 +122,7 @@ const processOperations = (
|
|
|
122
122
|
*
|
|
123
123
|
* @returns Array of classical register and their starting column indices in the form [[column, register]].
|
|
124
124
|
*/
|
|
125
|
-
const
|
|
125
|
+
const _getClassicalRegStarts = (
|
|
126
126
|
componentGrid: ComponentGrid,
|
|
127
127
|
): [number, Register][] => {
|
|
128
128
|
const clsRegs: [number, Register][] = [];
|
|
@@ -133,6 +133,12 @@ const _getClassicalRegStart = (
|
|
|
133
133
|
({ result }) => result !== undefined,
|
|
134
134
|
);
|
|
135
135
|
resultRegs.forEach((reg) => clsRegs.push([colIndex, reg]));
|
|
136
|
+
} else if (op.children != null) {
|
|
137
|
+
const componentGrid = op.children;
|
|
138
|
+
const childClsRegs = _getClassicalRegStarts(componentGrid);
|
|
139
|
+
childClsRegs.forEach(([, reg]) => {
|
|
140
|
+
clsRegs.push([colIndex, reg]);
|
|
141
|
+
});
|
|
136
142
|
}
|
|
137
143
|
});
|
|
138
144
|
});
|
|
@@ -213,7 +219,11 @@ const _opToRenderData = (
|
|
|
213
219
|
),
|
|
214
220
|
}))
|
|
215
221
|
.filter((col) => col.components.length > 0);
|
|
216
|
-
let childrenInstrs = processOperations(
|
|
222
|
+
let childrenInstrs = processOperations(
|
|
223
|
+
onZeroOps,
|
|
224
|
+
registers,
|
|
225
|
+
renderLocations,
|
|
226
|
+
);
|
|
217
227
|
const zeroGates: GateRenderData[][] = childrenInstrs.renderDataArray;
|
|
218
228
|
const zeroChildWidth: number = childrenInstrs.svgWidth;
|
|
219
229
|
|
|
@@ -225,7 +235,7 @@ const _opToRenderData = (
|
|
|
225
235
|
),
|
|
226
236
|
}))
|
|
227
237
|
.filter((col) => col.components.length > 0);
|
|
228
|
-
childrenInstrs = processOperations(onOneOps, registers);
|
|
238
|
+
childrenInstrs = processOperations(onOneOps, registers, renderLocations);
|
|
229
239
|
const oneGates: GateRenderData[][] = childrenInstrs.renderDataArray;
|
|
230
240
|
const oneChildWidth: number = childrenInstrs.svgWidth;
|
|
231
241
|
|
|
@@ -247,7 +257,11 @@ const _opToRenderData = (
|
|
|
247
257
|
conditionalRender == ConditionalRender.AsGroup &&
|
|
248
258
|
(children?.length || 0) > 0
|
|
249
259
|
) {
|
|
250
|
-
const childrenInstrs = processOperations(
|
|
260
|
+
const childrenInstrs = processOperations(
|
|
261
|
+
children!,
|
|
262
|
+
registers,
|
|
263
|
+
renderLocations,
|
|
264
|
+
);
|
|
251
265
|
renderData.type = GateType.Group;
|
|
252
266
|
renderData.children = childrenInstrs.renderDataArray;
|
|
253
267
|
// _zoomButton function in gateFormatter.ts relies on
|
|
@@ -285,8 +299,8 @@ const _opToRenderData = (
|
|
|
285
299
|
// Set gate width
|
|
286
300
|
renderData.width = getGateWidth(renderData);
|
|
287
301
|
|
|
288
|
-
if (op.source && renderLocations) {
|
|
289
|
-
renderData.link = renderLocations([op.source]);
|
|
302
|
+
if (op.metadata?.source && renderLocations) {
|
|
303
|
+
renderData.link = renderLocations([op.metadata.source]);
|
|
290
304
|
}
|
|
291
305
|
|
|
292
306
|
// Extend existing data attributes with user-provided data attributes
|
|
@@ -330,7 +344,7 @@ const _getRegY = (reg: Register, registers: RegisterMap): number => {
|
|
|
330
344
|
/**
|
|
331
345
|
* Splits `targets` if non-adjacent or intersected by classical registers.
|
|
332
346
|
*
|
|
333
|
-
* @param targets Target qubit
|
|
347
|
+
* @param targets Target registers (can be qubit or classical).
|
|
334
348
|
* @param classicalRegY y coords of classical registers overlapping current column.
|
|
335
349
|
* @param registers Mapping from register qubit IDs to register render data.
|
|
336
350
|
*
|
package/ux/circuit-vis/sqore.ts
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
Column,
|
|
15
15
|
SourceLocation,
|
|
16
16
|
} from "./circuit.js";
|
|
17
|
-
import { GateRenderData
|
|
17
|
+
import { GateRenderData } from "./gateRenderData.js";
|
|
18
18
|
import {
|
|
19
19
|
gateHeight,
|
|
20
20
|
minGateWidth,
|
|
@@ -59,6 +59,7 @@ export type DrawOptions = {
|
|
|
59
59
|
export class Sqore {
|
|
60
60
|
circuit: Circuit;
|
|
61
61
|
gateRegistry: GateRegistry = {};
|
|
62
|
+
renderDepth: number = this.options.renderDepth ?? 0;
|
|
62
63
|
/**
|
|
63
64
|
* Initializes Sqore object.
|
|
64
65
|
*
|
|
@@ -106,7 +107,6 @@ export class Sqore {
|
|
|
106
107
|
// Create copy of circuit to prevent mutation
|
|
107
108
|
const _circuit: Circuit =
|
|
108
109
|
circuit ?? JSON.parse(JSON.stringify(this.circuit));
|
|
109
|
-
const renderDepth = this.options.renderDepth || 0;
|
|
110
110
|
|
|
111
111
|
// Assign unique locations to each operation
|
|
112
112
|
_circuit.componentGrid.forEach((col, colIndex) =>
|
|
@@ -118,7 +118,7 @@ export class Sqore {
|
|
|
118
118
|
// Render operations starting at given depth
|
|
119
119
|
_circuit.componentGrid = this.selectOpsAtDepth(
|
|
120
120
|
_circuit.componentGrid,
|
|
121
|
-
renderDepth,
|
|
121
|
+
this.renderDepth,
|
|
122
122
|
);
|
|
123
123
|
|
|
124
124
|
// If only one top-level operation, expand automatically:
|
|
@@ -129,7 +129,9 @@ export class Sqore {
|
|
|
129
129
|
Object.prototype.hasOwnProperty.call(
|
|
130
130
|
_circuit.componentGrid[0].components[0].dataAttributes,
|
|
131
131
|
"location",
|
|
132
|
-
)
|
|
132
|
+
) &&
|
|
133
|
+
_circuit.componentGrid[0].components[0].dataAttributes["expanded"] !==
|
|
134
|
+
"false"
|
|
133
135
|
) {
|
|
134
136
|
const location: string =
|
|
135
137
|
_circuit.componentGrid[0].components[0].dataAttributes["location"];
|
|
@@ -216,12 +218,11 @@ export class Sqore {
|
|
|
216
218
|
this.options.isEditable ? undefined : this.options.renderLocations,
|
|
217
219
|
);
|
|
218
220
|
const formattedGates: SVGElement = formatGates(renderDataArray);
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
);
|
|
221
|
+
|
|
222
|
+
// Draw the lines that represent qubit and classical wires.
|
|
222
223
|
const formattedRegs: SVGElement = formatRegisters(
|
|
223
224
|
registers,
|
|
224
|
-
|
|
225
|
+
flatten(renderDataArray),
|
|
225
226
|
svgWidth,
|
|
226
227
|
);
|
|
227
228
|
|
|
@@ -337,11 +338,11 @@ export class Sqore {
|
|
|
337
338
|
} else {
|
|
338
339
|
selectedCol.push(op);
|
|
339
340
|
}
|
|
340
|
-
selectedOps.push({ components: selectedCol });
|
|
341
|
-
if (extraCols.length > 0) {
|
|
342
|
-
selectedOps.push(...extraCols);
|
|
343
|
-
}
|
|
344
341
|
});
|
|
342
|
+
selectedOps.push({ components: selectedCol });
|
|
343
|
+
if (extraCols.length > 0) {
|
|
344
|
+
selectedOps.push(...extraCols);
|
|
345
|
+
}
|
|
345
346
|
});
|
|
346
347
|
return selectedOps;
|
|
347
348
|
}
|
|
@@ -478,7 +479,7 @@ export class Sqore {
|
|
|
478
479
|
// Collapse parent gate and its children
|
|
479
480
|
if (opId.startsWith(parentLoc)) {
|
|
480
481
|
op.conditionalRender = ConditionalRender.Always;
|
|
481
|
-
|
|
482
|
+
op.dataAttributes["expanded"] = "false";
|
|
482
483
|
}
|
|
483
484
|
}),
|
|
484
485
|
);
|