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
package/dist/workers/common.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
|
+
import { QdkDiagnostics } from "../diagnostics.js";
|
|
3
4
|
import { log } from "../log.js";
|
|
4
5
|
/*
|
|
5
6
|
The WorkerProxy works by queuing up requests to send over to the Worker, only
|
|
@@ -64,7 +65,7 @@ export function createProxyInternal(postMessage, terminator, methods) {
|
|
|
64
65
|
}
|
|
65
66
|
if (!curr) {
|
|
66
67
|
// Nothing else queued, signal that we're now idle and exit.
|
|
67
|
-
log.
|
|
68
|
+
log.trace("Proxy: Worker queue is empty");
|
|
68
69
|
setState("idle");
|
|
69
70
|
return;
|
|
70
71
|
}
|
|
@@ -72,12 +73,12 @@ export function createProxyInternal(postMessage, terminator, methods) {
|
|
|
72
73
|
if (methods[curr.type] === "requestWithProgress") {
|
|
73
74
|
setState("busy");
|
|
74
75
|
}
|
|
75
|
-
log.
|
|
76
|
+
log.trace("Proxy: Posting message to worker: %o", msg);
|
|
76
77
|
postMessage(msg);
|
|
77
78
|
}
|
|
78
79
|
function onMsgFromWorker(msg) {
|
|
79
80
|
if (log.getLogLevel() >= 4)
|
|
80
|
-
log.
|
|
81
|
+
log.trace("Proxy: Received message from worker: %s", JSON.stringify(msg));
|
|
81
82
|
if (msg.messageType === "common-event") {
|
|
82
83
|
const commonEvent = msg; // assignment is necessary here for TypeScript to narrow the type
|
|
83
84
|
switch (commonEvent.type) {
|
|
@@ -98,7 +99,7 @@ export function createProxyInternal(postMessage, terminator, methods) {
|
|
|
98
99
|
else if (msg.messageType === "event") {
|
|
99
100
|
const event = new Event(msg.type);
|
|
100
101
|
event.detail = msg.detail;
|
|
101
|
-
log.
|
|
102
|
+
log.trace("Proxy: Posting event: %o", msg);
|
|
102
103
|
// Post to a currently attached event target if there's a "requestWithProgress"
|
|
103
104
|
// in progress
|
|
104
105
|
curr?.requestEventTarget?.dispatchEvent(event);
|
|
@@ -120,7 +121,10 @@ export function createProxyInternal(postMessage, terminator, methods) {
|
|
|
120
121
|
doNextRequest();
|
|
121
122
|
}
|
|
122
123
|
else {
|
|
123
|
-
|
|
124
|
+
let err = result.data;
|
|
125
|
+
// The error may be a serialized error object.
|
|
126
|
+
err = deserializeIfError(err);
|
|
127
|
+
curr.reject(err);
|
|
124
128
|
curr = undefined;
|
|
125
129
|
doNextRequest();
|
|
126
130
|
}
|
|
@@ -163,13 +167,13 @@ export function createProxyInternal(postMessage, terminator, methods) {
|
|
|
163
167
|
// Kill the worker without a chance to shutdown. May be needed if it is not responding.
|
|
164
168
|
log.info("Proxy: Terminating the worker");
|
|
165
169
|
if (curr) {
|
|
166
|
-
log.
|
|
170
|
+
log.trace("Proxy: Terminating running worker item of type: %s", curr.type);
|
|
167
171
|
curr.reject("terminated");
|
|
168
172
|
}
|
|
169
173
|
// Reject any outstanding items
|
|
170
174
|
while (queue.length) {
|
|
171
175
|
const item = queue.shift();
|
|
172
|
-
log.
|
|
176
|
+
log.trace("Proxy: Terminating outstanding work item of type: %s", item?.type);
|
|
173
177
|
item?.reject("terminated");
|
|
174
178
|
}
|
|
175
179
|
terminator();
|
|
@@ -188,9 +192,9 @@ export function createProxyInternal(postMessage, terminator, methods) {
|
|
|
188
192
|
* method on the service. The caller should then set this method as a message handler.
|
|
189
193
|
*/
|
|
190
194
|
function createDispatcher(postMessage, service, methods, eventNames) {
|
|
191
|
-
log.
|
|
195
|
+
log.trace("Worker: Constructing WorkerEventHandler");
|
|
192
196
|
function logAndPost(msg) {
|
|
193
|
-
log.
|
|
197
|
+
log.trace("Worker: Sending %s message from worker: %o", msg.messageType, msg);
|
|
194
198
|
postMessage(msg);
|
|
195
199
|
}
|
|
196
200
|
const eventTarget = new EventTarget();
|
|
@@ -223,14 +227,18 @@ function createDispatcher(postMessage, service, methods, eventNames) {
|
|
|
223
227
|
type: req.type,
|
|
224
228
|
result: { success: true, result },
|
|
225
229
|
}))
|
|
226
|
-
.catch((err) =>
|
|
227
|
-
//
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
230
|
+
.catch((err) => {
|
|
231
|
+
// Serialize the error if it's a known type.
|
|
232
|
+
err = serializeIfError(err);
|
|
233
|
+
logAndPost({
|
|
234
|
+
// If this happens then the wasm code likely threw an exception/panicked rather than
|
|
235
|
+
// completing gracefully and fullfilling the promise. Communicate to the client
|
|
236
|
+
// that there was an error and it should reject the current request
|
|
237
|
+
messageType: "response",
|
|
238
|
+
type: req.type,
|
|
239
|
+
result: { success: false, error: err },
|
|
240
|
+
});
|
|
241
|
+
});
|
|
234
242
|
};
|
|
235
243
|
}
|
|
236
244
|
/**
|
|
@@ -290,3 +298,40 @@ export function initService(postMessage, serviceProtocol, wasm, qscLogLevel) {
|
|
|
290
298
|
const service = new serviceProtocol.class(wasm);
|
|
291
299
|
return createDispatcher(postMessage, service, serviceProtocol.methods, serviceProtocol.eventNames);
|
|
292
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* Serializes an error, if it is a known type, so that it can be sent between threads.
|
|
303
|
+
*
|
|
304
|
+
* By default, browsers can only send certain types of errors between the main thread and a worker.
|
|
305
|
+
* See: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm#error_types
|
|
306
|
+
*
|
|
307
|
+
* Serializing our own custom errors allows us to send them between threads.
|
|
308
|
+
*/
|
|
309
|
+
function serializeIfError(err) {
|
|
310
|
+
// Currently `QdkDiagnostics` is the only custom error type,
|
|
311
|
+
// but this could be extended to handle others.
|
|
312
|
+
if (err instanceof QdkDiagnostics) {
|
|
313
|
+
err = { name: err.name, data: err.diagnostics };
|
|
314
|
+
}
|
|
315
|
+
return err;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Deserializes an error if it is a known type.
|
|
319
|
+
*
|
|
320
|
+
* By default, browsers can only send certain types of errors between the main thread and a worker.
|
|
321
|
+
* See: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm#error_types
|
|
322
|
+
*
|
|
323
|
+
* Serializing our own custom errors allows us to send them between threads.
|
|
324
|
+
*/
|
|
325
|
+
function deserializeIfError(err) {
|
|
326
|
+
// Currently `QdkDiagnostics` is the only custom error type,
|
|
327
|
+
// but this could be extended to handle others.
|
|
328
|
+
if (err !== null &&
|
|
329
|
+
typeof err === "object" &&
|
|
330
|
+
"name" in err &&
|
|
331
|
+
err.name === "QdkDiagnostics" &&
|
|
332
|
+
"data" in err) {
|
|
333
|
+
// If it is, deserialize it
|
|
334
|
+
err = new QdkDiagnostics(err.data);
|
|
335
|
+
}
|
|
336
|
+
return err;
|
|
337
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Core.Length
|
|
3
3
|
title: Length exported item
|
|
4
4
|
description: "Q# Length exported item: This is an exported item. The actual definition is found here: [Std.Core.Length](xref:Qdk.Std.Core.Length)"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: export
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Microsoft.Quantum.Core
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Core.Repeated
|
|
3
3
|
title: Repeated exported item
|
|
4
4
|
description: "Q# Repeated exported item: This is an exported item. The actual definition is found here: [Std.Core.Repeated](xref:Qdk.Std.Core.Repeated)"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: export
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Microsoft.Quantum.Core
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Core-toc
|
|
3
3
|
title: Microsoft.Quantum.Core namespace
|
|
4
4
|
description: Table of contents for the Q# Microsoft.Quantum.Core 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.Arithmetic.AddLE
|
|
3
3
|
title: AddLE operation
|
|
4
4
|
description: "Q# AddLE operation: Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfEqualL
|
|
3
3
|
title: ApplyIfEqualL operation
|
|
4
4
|
description: "Q# ApplyIfEqualL operation: Computes `if (c == x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is equal to the little-endian qubit register `x`"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfEqualLE
|
|
3
3
|
title: ApplyIfEqualLE operation
|
|
4
4
|
description: "Q# ApplyIfEqualLE operation: Computes `if x == y { action(target) }`, that is, applies `action` to `target` if register `x` is equal to the register `y`. Both qubit registers should be in a little-endian format."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfGreaterL
|
|
3
3
|
title: ApplyIfGreaterL operation
|
|
4
4
|
description: "Q# ApplyIfGreaterL operation: Computes `if (c > x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is greater than the little-endian qubit register `x`"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfGreaterLE
|
|
3
3
|
title: ApplyIfGreaterLE operation
|
|
4
4
|
description: "Q# ApplyIfGreaterLE operation: Computes `if x > y { action(target) }`, that is, applies `action` to `target` if register `x` is greater than the register `y`. Both qubit registers should be in a little-endian format."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfGreaterOrEqualL
|
|
3
3
|
title: ApplyIfGreaterOrEqualL operation
|
|
4
4
|
description: "Q# ApplyIfGreaterOrEqualL operation: Computes `if (c >= x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is greater or equal to the little-endian qubit register `x`"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfGreaterOrEqualLE
|
|
3
3
|
title: ApplyIfGreaterOrEqualLE operation
|
|
4
4
|
description: "Q# ApplyIfGreaterOrEqualLE operation: Computes `if x >= y { action(target) }`, that is, applies `action` to `target` if register `x` is greater or equal to the register `y`. Both qubit registers should be in a little-endian format."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfLessL
|
|
3
3
|
title: ApplyIfLessL operation
|
|
4
4
|
description: "Q# ApplyIfLessL operation: Computes `if (c < x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is less than the little-endian qubit register `x`"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfLessLE
|
|
3
3
|
title: ApplyIfLessLE operation
|
|
4
4
|
description: "Q# ApplyIfLessLE operation: Computes `if x < y { action(target) }`, that is, applies `action` to `target` if register `x` is less than the register `y`. Both qubit registers should be in a little-endian format."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfLessOrEqualL
|
|
3
3
|
title: ApplyIfLessOrEqualL operation
|
|
4
4
|
description: "Q# ApplyIfLessOrEqualL operation: Computes `if (c <= x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is less or equal to the little-endian qubit register `x`"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfLessOrEqualLE
|
|
3
3
|
title: ApplyIfLessOrEqualLE operation
|
|
4
4
|
description: "Q# ApplyIfLessOrEqualLE operation: Computes `if x <= y { action(target) }`, that is, applies `action` to `target` if register `x` is less or equal to the register `y`. Both qubit registers should be in a little-endian format."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.FourierTDIncByLE
|
|
3
3
|
title: FourierTDIncByLE operation
|
|
4
4
|
description: "Q# FourierTDIncByLE operation: Increments a little-endian register ys by a little-endian register xs using Quantum Fourier Transform."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByI
|
|
3
3
|
title: IncByI operation
|
|
4
4
|
description: "Q# IncByI operation: Increments a little-endian register ys by an integer number c"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByIUsingIncByLE
|
|
3
3
|
title: IncByIUsingIncByLE operation
|
|
4
4
|
description: "Q# IncByIUsingIncByLE operation: Increments a little-endian register ys by an Int number c using provided adder."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByL
|
|
3
3
|
title: IncByL operation
|
|
4
4
|
description: "Q# IncByL operation: Increments a little-endian register ys by a BigInt number c"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByLE
|
|
3
3
|
title: IncByLE operation
|
|
4
4
|
description: "Q# IncByLE operation: Increments a little-endian register ys by a little-endian register xs"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByLEUsingAddLE
|
|
3
3
|
title: IncByLEUsingAddLE operation
|
|
4
4
|
description: "Q# IncByLEUsingAddLE operation: Generic operation to turn two out-place adders into one in-place adder"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByLUsingIncByLE
|
|
3
3
|
title: IncByLUsingIncByLE operation
|
|
4
4
|
description: "Q# IncByLUsingIncByLE operation: Increments a little-endian register ys by a BigInt number c using provided adder."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.LookAheadDKRSAddLE
|
|
3
3
|
title: LookAheadDKRSAddLE operation
|
|
4
4
|
description: "Q# LookAheadDKRSAddLE operation: Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys using the carry-lookahead algorithm."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.MAJ
|
|
3
3
|
title: MAJ operation
|
|
4
4
|
description: "Q# MAJ operation: This applies the in-place majority operation to 3 qubits."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ReflectAboutInteger
|
|
3
3
|
title: ReflectAboutInteger operation
|
|
4
4
|
description: "Q# ReflectAboutInteger operation: Reflects a quantum register about a given classical integer."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.RippleCarryCGAddLE
|
|
3
3
|
title: RippleCarryCGAddLE operation
|
|
4
4
|
description: "Q# RippleCarryCGAddLE operation: Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys using the ripple-carry algorithm."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.RippleCarryCGIncByLE
|
|
3
3
|
title: RippleCarryCGIncByLE operation
|
|
4
4
|
description: "Q# RippleCarryCGIncByLE operation: Increments a little-endian register ys by a little-endian register xs using the ripple-carry algorithm."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.RippleCarryTTKIncByLE
|
|
3
3
|
title: RippleCarryTTKIncByLE operation
|
|
4
4
|
description: "Q# RippleCarryTTKIncByLE operation: Reversible, in-place ripple-carry addition of two integers."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arithmetic
|
package/docs/Std.Arrays/All.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.All
|
|
3
3
|
title: All function
|
|
4
4
|
description: "Q# All function: Given an array and a predicate that is defined for the elements of the array, and checks if all elements of the array satisfy the predicate."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
package/docs/Std.Arrays/Any.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Any
|
|
3
3
|
title: Any function
|
|
4
4
|
description: "Q# Any function: Given an array and a predicate that is defined for the elements of the array, checks if at least one element of the array satisfies the predicate."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Chunks
|
|
3
3
|
title: Chunks function
|
|
4
4
|
description: "Q# Chunks function: Splits an array into multiple parts of equal length."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.CircularlyShifted
|
|
3
3
|
title: CircularlyShifted function
|
|
4
4
|
description: "Q# CircularlyShifted function: Shift an array circularly left or right by a specific step size."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
package/docs/Std.Arrays/Count.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Count
|
|
3
3
|
title: Count function
|
|
4
4
|
description: "Q# Count function: Given an array and a predicate that is defined for the elements of the array, returns the number of elements an array that consists of those elements that satisfy the predicate."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Diagonal
|
|
3
3
|
title: Diagonal function
|
|
4
4
|
description: "Q# Diagonal function: Returns an array of diagonal elements of a 2-dimensional array"
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.DrawMany
|
|
3
3
|
title: DrawMany operation
|
|
4
4
|
description: "Q# DrawMany operation: Repeats an operation for a given number of samples, collecting its outputs in an array."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Enumerated
|
|
3
3
|
title: Enumerated function
|
|
4
4
|
description: "Q# Enumerated function: Given an array, returns a new array containing elements of the original array along with the indices of each element."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Excluding
|
|
3
3
|
title: Excluding function
|
|
4
4
|
description: "Q# Excluding function: Returns an array containing the elements of another array, excluding elements at a given list of indices."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Filtered
|
|
3
3
|
title: Filtered function
|
|
4
4
|
description: "Q# Filtered function: Given an array and a predicate that is defined for the elements of the array, returns an array that consists of those elements that satisfy the predicate."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.FlatMapped
|
|
3
3
|
title: FlatMapped function
|
|
4
4
|
description: "Q# FlatMapped function: Given an array and a function that maps an array element to some output array, returns the concatenated output arrays for each array element."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Flattened
|
|
3
3
|
title: Flattened function
|
|
4
4
|
description: "Q# Flattened function: Given an array of arrays, returns the concatenation of all arrays."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
package/docs/Std.Arrays/Fold.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Fold
|
|
3
3
|
title: Fold function
|
|
4
4
|
description: "Q# Fold function: Iterates a function `f` through an array `array`, returning `f(...f(f(initialState, array[0]), array[1]), ...)`."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.ForEach
|
|
3
3
|
title: ForEach operation
|
|
4
4
|
description: "Q# ForEach operation: Given an array and an operation that is defined for the elements of the array, returns a new array that consists of the images of the original array under the operation."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
package/docs/Std.Arrays/Head.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.HeadAndRest
|
|
3
3
|
title: HeadAndRest function
|
|
4
4
|
description: "Q# HeadAndRest function: Returns a tuple of first and all remaining elements of the array."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.IndexOf
|
|
3
3
|
title: IndexOf function
|
|
4
4
|
description: "Q# IndexOf function: Returns the first index of the first element in an array that satisfies a given predicate. If no such element exists, returns -1."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.IndexRange
|
|
3
3
|
title: IndexRange function
|
|
4
4
|
description: "Q# IndexRange function: Given an array, returns a range over the indices of that array, suitable for use in a for loop."
|
|
5
|
-
ms.date:
|
|
5
|
+
ms.date: 06/18/2025
|
|
6
6
|
qsharp.kind: function
|
|
7
7
|
qsharp.package: __Std__
|
|
8
8
|
qsharp.namespace: Std.Arrays
|