qsharp-lang 1.3.2-dev → 1.3.4-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/compiler/compiler.d.ts +3 -2
- package/dist/debug-service/debug-service.d.ts +7 -4
- package/dist/debug-service/debug-service.js +20 -16
- package/dist/samples.generated.js +15 -15
- package/docs/Microsoft.Quantum.Arrays/All.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Any.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Chunks.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/CircularlyShifted.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/ColumnAt.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Count.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Diagonal.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/DrawMany.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Enumerated.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Excluding.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Filtered.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/FlatMapped.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Flattened.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Fold.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/ForEach.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Head.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/HeadAndRest.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IndexOf.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IndexRange.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Interleaved.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IsEmpty.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IsRectangularArray.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IsSorted.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/IsSquareArray.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Mapped.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/MappedByIndex.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/MappedOverRange.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Most.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/MostAndTail.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Padded.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Partitioned.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Rest.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Reversed.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/SequenceI.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/SequenceL.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Sorted.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Subarray.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Swapped.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Tail.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Transposed.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Unzipped.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Where.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Windows.md +1 -1
- package/docs/Microsoft.Quantum.Arrays/Zipped.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyCNOTChain.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyControlledOnBitString.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyControlledOnInt.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyP.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyPauli.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyPauliFromBitString.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyPauliFromInt.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyQFT.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyToEach.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyToEachA.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyToEachC.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyToEachCA.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyXorInPlace.md +1 -1
- package/docs/Microsoft.Quantum.Canon/ApplyXorInPlaceL.md +1 -1
- package/docs/Microsoft.Quantum.Canon/CX.md +1 -1
- package/docs/Microsoft.Quantum.Canon/CY.md +1 -1
- package/docs/Microsoft.Quantum.Canon/CZ.md +1 -1
- package/docs/Microsoft.Quantum.Canon/Fst.md +1 -1
- package/docs/Microsoft.Quantum.Canon/Snd.md +1 -1
- package/docs/Microsoft.Quantum.Canon/SwapReverseRegister.md +1 -1
- package/docs/Microsoft.Quantum.Convert/BigIntAsBoolArray.md +1 -1
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsBigInt.md +1 -1
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsInt.md +1 -1
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsResultArray.md +1 -1
- package/docs/Microsoft.Quantum.Convert/BoolAsResult.md +1 -1
- package/docs/Microsoft.Quantum.Convert/ComplexAsComplexPolar.md +1 -1
- package/docs/Microsoft.Quantum.Convert/ComplexPolarAsComplex.md +1 -1
- package/docs/Microsoft.Quantum.Convert/IntAsBigInt.md +1 -1
- package/docs/Microsoft.Quantum.Convert/IntAsBoolArray.md +1 -1
- package/docs/Microsoft.Quantum.Convert/IntAsDouble.md +1 -1
- package/docs/Microsoft.Quantum.Convert/ResultArrayAsBoolArray.md +1 -1
- package/docs/Microsoft.Quantum.Convert/ResultArrayAsInt.md +1 -1
- package/docs/Microsoft.Quantum.Convert/ResultAsBool.md +1 -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/RangeReverse.md +1 -1
- package/docs/Microsoft.Quantum.Core/RangeStart.md +1 -1
- package/docs/Microsoft.Quantum.Core/RangeStep.md +1 -1
- package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
- package/docs/Microsoft.Quantum.Diagnostics/CheckAllZero.md +1 -1
- package/docs/Microsoft.Quantum.Diagnostics/CheckOperationsAreEqual.md +1 -1
- package/docs/Microsoft.Quantum.Diagnostics/CheckZero.md +1 -1
- package/docs/Microsoft.Quantum.Diagnostics/DumpMachine.md +1 -1
- package/docs/Microsoft.Quantum.Diagnostics/DumpRegister.md +1 -1
- package/docs/Microsoft.Quantum.Diagnostics/Fact.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CCNOT.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/CNOT.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Exp.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/H.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/I.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/M.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Measure.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Message.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/R.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/R1.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/R1Frac.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/RFrac.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Reset.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/ResetAll.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Rx.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Rxx.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Ry.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Ryy.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Rz.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Rzz.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/S.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/SWAP.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/T.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/X.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Y.md +1 -1
- package/docs/Microsoft.Quantum.Intrinsic/Z.md +1 -1
- package/docs/Microsoft.Quantum.Logical/Xor.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsComplex.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsComplexPolar.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsD.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsI.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsL.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsSquaredComplex.md +1 -1
- package/docs/Microsoft.Quantum.Math/AbsSquaredComplexPolar.md +1 -1
- package/docs/Microsoft.Quantum.Math/ApproximateFactorial.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcCos.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcCosh.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcSin.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcSinh.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcTan.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcTan2.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArcTanh.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArgComplex.md +1 -1
- package/docs/Microsoft.Quantum.Math/ArgComplexPolar.md +1 -1
- package/docs/Microsoft.Quantum.Math/Binom.md +1 -1
- package/docs/Microsoft.Quantum.Math/BitSizeI.md +1 -1
- package/docs/Microsoft.Quantum.Math/BitSizeL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Ceiling.md +1 -1
- package/docs/Microsoft.Quantum.Math/Complex.md +1 -1
- package/docs/Microsoft.Quantum.Math/ComplexPolar.md +1 -1
- package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentI.md +1 -1
- package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Cos.md +1 -1
- package/docs/Microsoft.Quantum.Math/Cosh.md +1 -1
- package/docs/Microsoft.Quantum.Math/DivRemI.md +1 -1
- package/docs/Microsoft.Quantum.Math/DivRemL.md +1 -1
- package/docs/Microsoft.Quantum.Math/DividedByC.md +1 -1
- package/docs/Microsoft.Quantum.Math/DividedByCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/E.md +1 -1
- package/docs/Microsoft.Quantum.Math/ExpModI.md +1 -1
- package/docs/Microsoft.Quantum.Math/ExpModL.md +1 -1
- package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorI.md +1 -1
- package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorL.md +1 -1
- package/docs/Microsoft.Quantum.Math/FactorialI.md +1 -1
- package/docs/Microsoft.Quantum.Math/FactorialL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Floor.md +1 -1
- package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorI.md +1 -1
- package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorL.md +1 -1
- package/docs/Microsoft.Quantum.Math/HammingWeightI.md +1 -1
- package/docs/Microsoft.Quantum.Math/InverseModI.md +1 -1
- package/docs/Microsoft.Quantum.Math/InverseModL.md +1 -1
- package/docs/Microsoft.Quantum.Math/IsCoprimeI.md +1 -1
- package/docs/Microsoft.Quantum.Math/IsCoprimeL.md +1 -1
- package/docs/Microsoft.Quantum.Math/IsInfinite.md +1 -1
- package/docs/Microsoft.Quantum.Math/IsNaN.md +1 -1
- package/docs/Microsoft.Quantum.Math/LargestFixedPoint.md +1 -1
- package/docs/Microsoft.Quantum.Math/Lg.md +1 -1
- package/docs/Microsoft.Quantum.Math/Log.md +1 -1
- package/docs/Microsoft.Quantum.Math/Log10.md +1 -1
- package/docs/Microsoft.Quantum.Math/LogFactorialD.md +1 -1
- package/docs/Microsoft.Quantum.Math/LogGammaD.md +1 -1
- package/docs/Microsoft.Quantum.Math/LogOf2.md +1 -1
- package/docs/Microsoft.Quantum.Math/Max.md +1 -1
- package/docs/Microsoft.Quantum.Math/MaxD.md +1 -1
- package/docs/Microsoft.Quantum.Math/MaxI.md +1 -1
- package/docs/Microsoft.Quantum.Math/MaxL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Min.md +1 -1
- package/docs/Microsoft.Quantum.Math/MinD.md +1 -1
- package/docs/Microsoft.Quantum.Math/MinI.md +1 -1
- package/docs/Microsoft.Quantum.Math/MinL.md +1 -1
- package/docs/Microsoft.Quantum.Math/MinusC.md +1 -1
- package/docs/Microsoft.Quantum.Math/MinusCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/ModulusI.md +1 -1
- package/docs/Microsoft.Quantum.Math/ModulusL.md +1 -1
- package/docs/Microsoft.Quantum.Math/NegationC.md +1 -1
- package/docs/Microsoft.Quantum.Math/NegationCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/PI.md +1 -1
- package/docs/Microsoft.Quantum.Math/PNorm.md +1 -1
- package/docs/Microsoft.Quantum.Math/PNormalized.md +1 -1
- package/docs/Microsoft.Quantum.Math/PlusC.md +1 -1
- package/docs/Microsoft.Quantum.Math/PlusCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/PowC.md +1 -1
- package/docs/Microsoft.Quantum.Math/PowCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/RealMod.md +1 -1
- package/docs/Microsoft.Quantum.Math/Round.md +1 -1
- package/docs/Microsoft.Quantum.Math/SignD.md +1 -1
- package/docs/Microsoft.Quantum.Math/SignI.md +1 -1
- package/docs/Microsoft.Quantum.Math/SignL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Sin.md +1 -1
- package/docs/Microsoft.Quantum.Math/Sinh.md +1 -1
- package/docs/Microsoft.Quantum.Math/SmallestFixedPoint.md +1 -1
- package/docs/Microsoft.Quantum.Math/Sqrt.md +1 -1
- package/docs/Microsoft.Quantum.Math/SquaredNorm.md +1 -1
- package/docs/Microsoft.Quantum.Math/Tan.md +1 -1
- package/docs/Microsoft.Quantum.Math/Tanh.md +1 -1
- package/docs/Microsoft.Quantum.Math/TimesC.md +1 -1
- package/docs/Microsoft.Quantum.Math/TimesCP.md +1 -1
- package/docs/Microsoft.Quantum.Math/TrailingZeroCountI.md +1 -1
- package/docs/Microsoft.Quantum.Math/TrailingZeroCountL.md +1 -1
- package/docs/Microsoft.Quantum.Math/Truncate.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MResetEachZ.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MResetX.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MResetY.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MResetZ.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MeasureAllZ.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MeasureEachZ.md +1 -1
- package/docs/Microsoft.Quantum.Measurement/MeasureInteger.md +1 -1
- package/docs/Microsoft.Quantum.Random/DrawRandomDouble.md +1 -1
- package/docs/Microsoft.Quantum.Random/DrawRandomInt.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/AccountForEstimates.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/AuxQubitCount.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/BeginEstimateCaching.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/BeginRepeatEstimates.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/CczCount.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/EndEstimateCaching.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/EndRepeatEstimates.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/MeasurementCount.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/PSSPCLayout.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/RepeatEstimates.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/RotationCount.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/RotationDepth.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/SingleVariant.md +1 -1
- package/docs/Microsoft.Quantum.ResourceEstimation/TCount.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/AddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/FourierTDIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByI.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByIUsingIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByL.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLEUsingAddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLUsingIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/LookAheadDKRSAddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/MAJ.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ReflectAboutInteger.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGAddLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.StatePreparation/PreparePureStateD.md +1 -1
- package/docs/Microsoft.Quantum.Unstable.TableLookup/Select.md +1 -1
- package/lib/node/qsc_wasm.cjs +22 -4
- package/lib/node/qsc_wasm.d.cts +4 -0
- package/lib/node/qsc_wasm_bg.wasm +0 -0
- package/lib/web/qsc_wasm.d.ts +5 -0
- package/lib/web/qsc_wasm.js +22 -4
- package/lib/web/qsc_wasm_bg.wasm +0 -0
- package/package.json +1 -1
- package/ux/circuit.tsx +90 -20
- package/ux/data.ts +10 -0
- package/ux/index.ts +7 -2
- package/ux/qsharp-circuit.css +9 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.StatePreparation.PreparePureStateD
|
|
3
3
|
title: PreparePureStateD operation
|
|
4
|
-
ms.date: 03/
|
|
4
|
+
ms.date: 03/28/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.StatePreparation
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Unstable.TableLookup.Select
|
|
3
3
|
title: Select operation
|
|
4
|
-
ms.date: 03/
|
|
4
|
+
ms.date: 03/28/2024 12:00:00 AM
|
|
5
5
|
ms.topic: managed-reference
|
|
6
6
|
qsharp.kind: operation
|
|
7
7
|
qsharp.namespace: Microsoft.Quantum.Unstable.TableLookup
|
package/lib/node/qsc_wasm.cjs
CHANGED
|
@@ -545,7 +545,7 @@ function handleError(f, args) {
|
|
|
545
545
|
wasm.__wbindgen_export_5(addHeapObject(e));
|
|
546
546
|
}
|
|
547
547
|
}
|
|
548
|
-
function
|
|
548
|
+
function __wbg_adapter_174(arg0, arg1, arg2, arg3) {
|
|
549
549
|
wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
|
550
550
|
}
|
|
551
551
|
|
|
@@ -617,6 +617,24 @@ class DebugService {
|
|
|
617
617
|
return takeObject(ret);
|
|
618
618
|
}
|
|
619
619
|
/**
|
|
620
|
+
* @returns {any}
|
|
621
|
+
*/
|
|
622
|
+
get_circuit() {
|
|
623
|
+
try {
|
|
624
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
625
|
+
wasm.debugservice_get_circuit(retptr, this.__wbg_ptr);
|
|
626
|
+
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
|
627
|
+
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
|
628
|
+
var r2 = getInt32Memory0()[retptr / 4 + 2];
|
|
629
|
+
if (r2) {
|
|
630
|
+
throw takeObject(r1);
|
|
631
|
+
}
|
|
632
|
+
return takeObject(r0);
|
|
633
|
+
} finally {
|
|
634
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
620
638
|
* @returns {IStackFrameList}
|
|
621
639
|
*/
|
|
622
640
|
get_stack_frames() {
|
|
@@ -1331,7 +1349,7 @@ module.exports.__wbg_new_81740750da40724f = function(arg0, arg1) {
|
|
|
1331
1349
|
const a = state0.a;
|
|
1332
1350
|
state0.a = 0;
|
|
1333
1351
|
try {
|
|
1334
|
-
return
|
|
1352
|
+
return __wbg_adapter_174(a, state0.b, arg0, arg1);
|
|
1335
1353
|
} finally {
|
|
1336
1354
|
state0.a = a;
|
|
1337
1355
|
}
|
|
@@ -1442,8 +1460,8 @@ module.exports.__wbindgen_memory = function() {
|
|
|
1442
1460
|
return addHeapObject(ret);
|
|
1443
1461
|
};
|
|
1444
1462
|
|
|
1445
|
-
module.exports.
|
|
1446
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
1463
|
+
module.exports.__wbindgen_closure_wrapper701 = function(arg0, arg1, arg2) {
|
|
1464
|
+
const ret = makeMutClosure(arg0, arg1, 294, __wbg_adapter_54);
|
|
1447
1465
|
return addHeapObject(ret);
|
|
1448
1466
|
};
|
|
1449
1467
|
|
package/lib/node/qsc_wasm.d.cts
CHANGED
|
Binary file
|
package/lib/web/qsc_wasm.d.ts
CHANGED
|
@@ -255,6 +255,10 @@ export class DebugService {
|
|
|
255
255
|
*/
|
|
256
256
|
capture_quantum_state(): IQuantumStateList;
|
|
257
257
|
/**
|
|
258
|
+
* @returns {any}
|
|
259
|
+
*/
|
|
260
|
+
get_circuit(): any;
|
|
261
|
+
/**
|
|
258
262
|
* @returns {IStackFrameList}
|
|
259
263
|
*/
|
|
260
264
|
get_stack_frames(): IStackFrameList;
|
|
@@ -416,6 +420,7 @@ export interface InitOutput {
|
|
|
416
420
|
readonly debugservice_new: () => number;
|
|
417
421
|
readonly debugservice_load_source: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
418
422
|
readonly debugservice_capture_quantum_state: (a: number) => number;
|
|
423
|
+
readonly debugservice_get_circuit: (a: number, b: number) => void;
|
|
419
424
|
readonly debugservice_get_stack_frames: (a: number) => number;
|
|
420
425
|
readonly debugservice_eval_next: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
421
426
|
readonly debugservice_eval_continue: (a: number, b: number, c: number, d: number, e: number) => void;
|
package/lib/web/qsc_wasm.js
CHANGED
|
@@ -542,7 +542,7 @@ function handleError(f, args) {
|
|
|
542
542
|
wasm.__wbindgen_export_5(addHeapObject(e));
|
|
543
543
|
}
|
|
544
544
|
}
|
|
545
|
-
function
|
|
545
|
+
function __wbg_adapter_174(arg0, arg1, arg2, arg3) {
|
|
546
546
|
wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
|
547
547
|
}
|
|
548
548
|
|
|
@@ -614,6 +614,24 @@ export class DebugService {
|
|
|
614
614
|
return takeObject(ret);
|
|
615
615
|
}
|
|
616
616
|
/**
|
|
617
|
+
* @returns {any}
|
|
618
|
+
*/
|
|
619
|
+
get_circuit() {
|
|
620
|
+
try {
|
|
621
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
622
|
+
wasm.debugservice_get_circuit(retptr, this.__wbg_ptr);
|
|
623
|
+
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
|
624
|
+
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
|
625
|
+
var r2 = getInt32Memory0()[retptr / 4 + 2];
|
|
626
|
+
if (r2) {
|
|
627
|
+
throw takeObject(r1);
|
|
628
|
+
}
|
|
629
|
+
return takeObject(r0);
|
|
630
|
+
} finally {
|
|
631
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
617
635
|
* @returns {IStackFrameList}
|
|
618
636
|
*/
|
|
619
637
|
get_stack_frames() {
|
|
@@ -1298,7 +1316,7 @@ function __wbg_get_imports() {
|
|
|
1298
1316
|
const a = state0.a;
|
|
1299
1317
|
state0.a = 0;
|
|
1300
1318
|
try {
|
|
1301
|
-
return
|
|
1319
|
+
return __wbg_adapter_174(a, state0.b, arg0, arg1);
|
|
1302
1320
|
} finally {
|
|
1303
1321
|
state0.a = a;
|
|
1304
1322
|
}
|
|
@@ -1390,8 +1408,8 @@ function __wbg_get_imports() {
|
|
|
1390
1408
|
const ret = wasm.memory;
|
|
1391
1409
|
return addHeapObject(ret);
|
|
1392
1410
|
};
|
|
1393
|
-
imports.wbg.
|
|
1394
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
1411
|
+
imports.wbg.__wbindgen_closure_wrapper701 = function(arg0, arg1, arg2) {
|
|
1412
|
+
const ret = makeMutClosure(arg0, arg1, 294, __wbg_adapter_54);
|
|
1395
1413
|
return addHeapObject(ret);
|
|
1396
1414
|
};
|
|
1397
1415
|
|
package/lib/web/qsc_wasm_bg.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/ux/circuit.tsx
CHANGED
|
@@ -3,11 +3,48 @@
|
|
|
3
3
|
|
|
4
4
|
import * as qviz from "@microsoft/quantum-viz.js/lib";
|
|
5
5
|
import { useEffect, useRef } from "preact/hooks";
|
|
6
|
+
import { CircuitProps } from "./data.js";
|
|
6
7
|
|
|
8
|
+
// For perf reasons we set a limit on how many gates/qubits
|
|
9
|
+
// we attempt to render. This is still a lot higher than a human would
|
|
10
|
+
// reasonably want to look at, but it takes about a second to
|
|
11
|
+
// render a circuit this big on a mid-grade laptop so we allow it.
|
|
12
|
+
const MAX_OPERATIONS = 10000;
|
|
13
|
+
const MAX_QUBITS = 1000;
|
|
14
|
+
|
|
15
|
+
/* This component is shared by the Python widget and the VS Code panel */
|
|
7
16
|
export function Circuit(props: { circuit: qviz.Circuit }) {
|
|
8
17
|
const circuitDiv = useRef<HTMLDivElement>(null);
|
|
9
18
|
|
|
19
|
+
const errorDiv =
|
|
20
|
+
props.circuit.qubits.length === 0 ? (
|
|
21
|
+
<div>
|
|
22
|
+
<p>No circuit to display. No qubits have been allocated.</p>
|
|
23
|
+
</div>
|
|
24
|
+
) : props.circuit.operations.length > MAX_OPERATIONS ? (
|
|
25
|
+
<div>
|
|
26
|
+
<p>
|
|
27
|
+
This circuit has too many gates to display. It has{" "}
|
|
28
|
+
{props.circuit.operations.length} gates, but the maximum supported is{" "}
|
|
29
|
+
{MAX_OPERATIONS}.
|
|
30
|
+
</p>
|
|
31
|
+
</div>
|
|
32
|
+
) : props.circuit.qubits.length > MAX_QUBITS ? (
|
|
33
|
+
<div>
|
|
34
|
+
<p>
|
|
35
|
+
This circuit has too many qubits to display. It has{" "}
|
|
36
|
+
{props.circuit.qubits.length} qubits, but the maximum supported is{" "}
|
|
37
|
+
{MAX_QUBITS}.
|
|
38
|
+
</p>
|
|
39
|
+
</div>
|
|
40
|
+
) : undefined;
|
|
41
|
+
|
|
10
42
|
useEffect(() => {
|
|
43
|
+
if (errorDiv !== undefined) {
|
|
44
|
+
circuitDiv.current!.innerHTML = "";
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
|
|
11
48
|
qviz.draw(props.circuit, circuitDiv.current!);
|
|
12
49
|
|
|
13
50
|
// quantum-viz hardcodes the styles in the SVG.
|
|
@@ -16,33 +53,66 @@ export function Circuit(props: { circuit: qviz.Circuit }) {
|
|
|
16
53
|
styleElements?.forEach((tag) => tag.remove());
|
|
17
54
|
}, [props.circuit]);
|
|
18
55
|
|
|
19
|
-
return
|
|
56
|
+
return (
|
|
57
|
+
<div>
|
|
58
|
+
<div class="qs-circuit-error">{errorDiv}</div>
|
|
59
|
+
<div class="qs-circuit" ref={circuitDiv}></div>
|
|
60
|
+
</div>
|
|
61
|
+
);
|
|
20
62
|
}
|
|
21
63
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
circuit?: qviz.Circuit;
|
|
26
|
-
errorHtml?: string;
|
|
27
|
-
}) {
|
|
28
|
-
return (
|
|
64
|
+
/* This component is exclusive to the VS Code panel */
|
|
65
|
+
export function CircuitPanel(props: CircuitProps) {
|
|
66
|
+
const error = props.errorHtml ? (
|
|
29
67
|
<div>
|
|
68
|
+
<p>
|
|
69
|
+
{props.circuit
|
|
70
|
+
? "The program encountered a failure. See the error(s) below."
|
|
71
|
+
: "A circuit could not be generated for this program. See the error(s) below."}
|
|
72
|
+
<br />
|
|
73
|
+
</p>
|
|
74
|
+
<div dangerouslySetInnerHTML={{ __html: props.errorHtml }}></div>
|
|
75
|
+
</div>
|
|
76
|
+
) : null;
|
|
77
|
+
|
|
78
|
+
return (
|
|
79
|
+
<div class="qs-circuit-panel">
|
|
30
80
|
<div>
|
|
31
81
|
<h1>{props.title}</h1>
|
|
32
|
-
<h2>{props.subtitle}</h2>
|
|
33
82
|
</div>
|
|
34
83
|
{props.circuit ? <Circuit circuit={props.circuit}></Circuit> : null}
|
|
35
|
-
<div class="qs-circuit-error">
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
84
|
+
<div class="qs-circuit-error">{error}</div>
|
|
85
|
+
<p>{props.targetProfile}</p>
|
|
86
|
+
{props.simulating ? (
|
|
87
|
+
<p>
|
|
88
|
+
This circuit diagram was generated while running the program in the
|
|
89
|
+
simulator.
|
|
90
|
+
<br />
|
|
91
|
+
<br />
|
|
92
|
+
If your program contains behavior that is conditional on a qubit
|
|
93
|
+
measurement result, note that this circuit only shows the outcome that
|
|
94
|
+
was encountered during this simulation. Running the program again may
|
|
95
|
+
result in a different circuit being generated.
|
|
96
|
+
</p>
|
|
97
|
+
) : null}
|
|
98
|
+
{
|
|
99
|
+
// show tip when the circuit is empty and we didn't run under the simulator (i.e. debugging)
|
|
100
|
+
!props.simulating &&
|
|
101
|
+
!props.errorHtml &&
|
|
102
|
+
props.circuit?.qubits.length === 0 ? (
|
|
103
|
+
<p>
|
|
104
|
+
<em>
|
|
105
|
+
Tip: you can generate a circuit diagram for any operation that
|
|
106
|
+
takes qubits or arrays of qubits as input.
|
|
107
|
+
</em>
|
|
108
|
+
</p>
|
|
109
|
+
) : null
|
|
110
|
+
}
|
|
111
|
+
<p>
|
|
112
|
+
<a href="https://github.com/microsoft/qsharp/wiki/Circuit-Diagrams-from-Q%23-Code">
|
|
113
|
+
Learn more
|
|
114
|
+
</a>
|
|
115
|
+
</p>
|
|
44
116
|
</div>
|
|
45
117
|
);
|
|
46
118
|
}
|
|
47
|
-
|
|
48
|
-
export type CircuitData = qviz.Circuit;
|
package/ux/data.ts
CHANGED
|
@@ -63,3 +63,13 @@ export function CreateSingleEstimateResult(
|
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
+
|
|
67
|
+
export type CircuitProps = {
|
|
68
|
+
title: string;
|
|
69
|
+
circuit?: CircuitData;
|
|
70
|
+
errorHtml?: string;
|
|
71
|
+
targetProfile: string;
|
|
72
|
+
simulating: boolean;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export type CircuitData = import("@microsoft/quantum-viz.js/lib").Circuit;
|
package/ux/index.ts
CHANGED
|
@@ -6,11 +6,16 @@
|
|
|
6
6
|
import "./qsharp-ux.css";
|
|
7
7
|
import "./qsharp-circuit.css";
|
|
8
8
|
|
|
9
|
-
export {
|
|
9
|
+
export {
|
|
10
|
+
CreateSingleEstimateResult,
|
|
11
|
+
type ReData,
|
|
12
|
+
type CircuitData,
|
|
13
|
+
type CircuitProps,
|
|
14
|
+
} from "./data.js";
|
|
10
15
|
export { Histogram } from "./histogram.js";
|
|
11
16
|
export { ReTable } from "./reTable.js";
|
|
12
17
|
export { SpaceChart } from "./spaceChart.js";
|
|
13
18
|
export { ScatterChart } from "./scatterChart.js";
|
|
14
19
|
export { EstimatesOverview } from "./estimatesOverview.js";
|
|
15
20
|
export { EstimatesPanel } from "./estimatesPanel.js";
|
|
16
|
-
export { Circuit, CircuitPanel
|
|
21
|
+
export { Circuit, CircuitPanel } from "./circuit.js";
|
package/ux/qsharp-circuit.css
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
/* Copyright (c) Microsoft Corporation.
|
|
2
2
|
Licensed under the MIT License. */
|
|
3
3
|
|
|
4
|
+
/* Circuit panel */
|
|
5
|
+
.qs-circuit-panel p {
|
|
6
|
+
padding: 10px 0px;
|
|
7
|
+
}
|
|
8
|
+
|
|
4
9
|
/* Error div in circuit panel */
|
|
5
10
|
.qs-circuit-error {
|
|
6
11
|
padding: 10px 0px;
|
|
7
12
|
}
|
|
8
13
|
|
|
14
|
+
.qs-circuit-error p {
|
|
15
|
+
padding: 10px 0px;
|
|
16
|
+
}
|
|
17
|
+
|
|
9
18
|
/*
|
|
10
19
|
Styles for Q# circuits.
|
|
11
20
|
Copied and modified from the default CSS generated by
|