qsharp-lang 1.1.3 → 1.1.5-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 +3 -3
- package/dist/browser.js +12 -58
- package/dist/compiler/compiler.d.ts +4 -2
- package/dist/compiler/compiler.js +14 -1
- package/dist/compiler/events.d.ts +1 -1
- package/dist/compiler/worker-browser.d.ts +1 -1
- package/dist/compiler/worker-browser.js +3 -40
- package/dist/compiler/worker-node.js +3 -39
- package/dist/debug-service/debug-service.d.ts +5 -3
- package/dist/debug-service/debug-service.js +18 -1
- package/dist/debug-service/worker-browser.d.ts +1 -1
- package/dist/debug-service/worker-browser.js +3 -29
- package/dist/debug-service/worker-node.js +3 -28
- package/dist/katas-content.generated.js +419 -408
- package/dist/language-service/language-service.d.ts +10 -2
- package/dist/language-service/language-service.js +30 -0
- package/dist/language-service/worker-browser.d.ts +1 -1
- package/dist/language-service/worker-browser.js +3 -29
- package/dist/language-service/worker-node.js +3 -28
- package/dist/main.d.ts +2 -2
- package/dist/main.js +7 -42
- package/dist/samples.generated.js +1 -1
- package/dist/workers/browser.d.ts +21 -0
- package/dist/workers/browser.js +67 -0
- package/dist/{worker-proxy.d.ts → workers/common.d.ts} +26 -9
- package/dist/{worker-proxy.js → workers/common.js} +33 -4
- package/dist/workers/node.d.ts +20 -0
- package/dist/workers/node.js +55 -0
- package/docs/Microsoft.Quantum.Arrays/All.md +42 -0
- package/docs/Microsoft.Quantum.Arrays/Any.md +41 -0
- package/docs/Microsoft.Quantum.Arrays/Chunks.md +34 -0
- package/docs/Microsoft.Quantum.Arrays/CircularlyShifted.md +46 -0
- package/docs/Microsoft.Quantum.Arrays/ColumnAt.md +47 -0
- package/docs/Microsoft.Quantum.Arrays/Count.md +42 -0
- package/docs/Microsoft.Quantum.Arrays/Diagonal.md +43 -0
- package/docs/Microsoft.Quantum.Arrays/DrawMany.md +43 -0
- package/docs/Microsoft.Quantum.Arrays/Enumerated.md +44 -0
- package/docs/Microsoft.Quantum.Arrays/Excluding.md +46 -0
- package/docs/Microsoft.Quantum.Arrays/Filtered.md +42 -0
- package/docs/Microsoft.Quantum.Arrays/FlatMapped.md +45 -0
- package/docs/Microsoft.Quantum.Arrays/Flattened.md +38 -0
- package/docs/Microsoft.Quantum.Arrays/Fold.md +46 -0
- package/docs/Microsoft.Quantum.Arrays/ForEach.md +41 -0
- package/docs/Microsoft.Quantum.Arrays/Head.md +32 -0
- package/docs/Microsoft.Quantum.Arrays/HeadAndRest.md +32 -0
- package/docs/Microsoft.Quantum.Arrays/IndexOf.md +39 -0
- package/docs/Microsoft.Quantum.Arrays/IndexRange.md +40 -0
- package/docs/Microsoft.Quantum.Arrays/Interleaved.md +49 -0
- package/docs/Microsoft.Quantum.Arrays/IsEmpty.md +28 -0
- package/docs/Microsoft.Quantum.Arrays/IsRectangularArray.md +42 -0
- package/docs/Microsoft.Quantum.Arrays/IsSorted.md +42 -0
- package/docs/Microsoft.Quantum.Arrays/IsSquareArray.md +42 -0
- package/docs/Microsoft.Quantum.Arrays/Mapped.md +41 -0
- package/docs/Microsoft.Quantum.Arrays/MappedByIndex.md +52 -0
- package/docs/Microsoft.Quantum.Arrays/MappedOverRange.md +46 -0
- package/docs/Microsoft.Quantum.Arrays/Most.md +33 -0
- package/docs/Microsoft.Quantum.Arrays/MostAndTail.md +32 -0
- package/docs/Microsoft.Quantum.Arrays/Padded.md +49 -0
- package/docs/Microsoft.Quantum.Arrays/Partitioned.md +44 -0
- package/docs/Microsoft.Quantum.Arrays/Rest.md +33 -0
- package/docs/Microsoft.Quantum.Arrays/Reversed.md +33 -0
- package/docs/Microsoft.Quantum.Arrays/SequenceI.md +41 -0
- package/docs/Microsoft.Quantum.Arrays/SequenceL.md +41 -0
- package/docs/Microsoft.Quantum.Arrays/Sorted.md +51 -0
- package/docs/Microsoft.Quantum.Arrays/Subarray.md +49 -0
- package/docs/Microsoft.Quantum.Arrays/Swapped.md +40 -0
- package/docs/Microsoft.Quantum.Arrays/Tail.md +32 -0
- package/docs/Microsoft.Quantum.Arrays/Transposed.md +46 -0
- package/docs/Microsoft.Quantum.Arrays/Unzipped.md +45 -0
- package/docs/Microsoft.Quantum.Arrays/Where.md +35 -0
- package/docs/Microsoft.Quantum.Arrays/Windows.md +47 -0
- package/docs/Microsoft.Quantum.Arrays/Zipped.md +49 -0
- package/docs/Microsoft.Quantum.Canon/ApplyCNOTChain.md +35 -0
- package/docs/Microsoft.Quantum.Canon/ApplyControlledOnBitString.md +41 -0
- package/docs/Microsoft.Quantum.Canon/ApplyControlledOnInt.md +40 -0
- package/docs/Microsoft.Quantum.Canon/ApplyP.md +38 -0
- package/docs/Microsoft.Quantum.Canon/ApplyPauli.md +40 -0
- package/docs/Microsoft.Quantum.Canon/ApplyPauliFromBitString.md +46 -0
- package/docs/Microsoft.Quantum.Canon/ApplyPauliFromInt.md +44 -0
- package/docs/Microsoft.Quantum.Canon/ApplyQFT.md +34 -0
- package/docs/Microsoft.Quantum.Canon/ApplyToEach.md +38 -0
- package/docs/Microsoft.Quantum.Canon/ApplyToEachA.md +42 -0
- package/docs/Microsoft.Quantum.Canon/ApplyToEachC.md +42 -0
- package/docs/Microsoft.Quantum.Canon/ApplyToEachCA.md +42 -0
- package/docs/Microsoft.Quantum.Canon/ApplyXorInPlace.md +30 -0
- package/docs/Microsoft.Quantum.Canon/ApplyXorInPlaceL.md +30 -0
- package/docs/Microsoft.Quantum.Canon/CX.md +50 -0
- package/docs/Microsoft.Quantum.Canon/CY.md +44 -0
- package/docs/Microsoft.Quantum.Canon/CZ.md +44 -0
- package/docs/Microsoft.Quantum.Canon/Fst.md +20 -0
- package/docs/Microsoft.Quantum.Canon/Snd.md +20 -0
- package/docs/Microsoft.Quantum.Canon/SwapReverseRegister.md +25 -0
- package/docs/Microsoft.Quantum.Convert/BigIntAsBoolArray.md +35 -0
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsBigInt.md +34 -0
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsInt.md +25 -0
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsResultArray.md +29 -0
- package/docs/Microsoft.Quantum.Convert/BoolAsResult.md +29 -0
- package/docs/Microsoft.Quantum.Convert/ComplexAsComplexPolar.md +29 -0
- package/docs/Microsoft.Quantum.Convert/ComplexPolarAsComplex.md +29 -0
- package/docs/Microsoft.Quantum.Convert/IntAsBigInt.md +21 -0
- package/docs/Microsoft.Quantum.Convert/IntAsBoolArray.md +35 -0
- package/docs/Microsoft.Quantum.Convert/IntAsDouble.md +21 -0
- package/docs/Microsoft.Quantum.Convert/ResultArrayAsBoolArray.md +29 -0
- package/docs/Microsoft.Quantum.Convert/ResultArrayAsInt.md +34 -0
- package/docs/Microsoft.Quantum.Convert/ResultAsBool.md +29 -0
- package/docs/Microsoft.Quantum.Core/IsRangeEmpty.md +32 -0
- package/docs/Microsoft.Quantum.Core/Length.md +28 -0
- package/docs/Microsoft.Quantum.Core/RangeEnd.md +37 -0
- package/docs/Microsoft.Quantum.Core/RangeReverse.md +32 -0
- package/docs/Microsoft.Quantum.Core/RangeStart.md +36 -0
- package/docs/Microsoft.Quantum.Core/RangeStep.md +33 -0
- package/docs/Microsoft.Quantum.Core/Repeated.md +36 -0
- package/docs/Microsoft.Quantum.Diagnostics/CheckAllZero.md +18 -0
- package/docs/Microsoft.Quantum.Diagnostics/CheckOperationsAreEqual.md +47 -0
- package/docs/Microsoft.Quantum.Diagnostics/CheckZero.md +18 -0
- package/docs/Microsoft.Quantum.Diagnostics/DumpMachine.md +18 -0
- package/docs/Microsoft.Quantum.Diagnostics/Fact.md +20 -0
- package/docs/Microsoft.Quantum.Intrinsic/CCNOT.md +35 -0
- package/docs/Microsoft.Quantum.Intrinsic/CNOT.md +47 -0
- package/docs/Microsoft.Quantum.Intrinsic/Exp.md +40 -0
- package/docs/Microsoft.Quantum.Intrinsic/H.md +34 -0
- package/docs/Microsoft.Quantum.Intrinsic/I.md +25 -0
- package/docs/Microsoft.Quantum.Intrinsic/M.md +45 -0
- package/docs/Microsoft.Quantum.Intrinsic/Measure.md +55 -0
- package/docs/Microsoft.Quantum.Intrinsic/Message.md +30 -0
- package/docs/Microsoft.Quantum.Intrinsic/R.md +42 -0
- package/docs/Microsoft.Quantum.Intrinsic/R1.md +41 -0
- package/docs/Microsoft.Quantum.Intrinsic/R1Frac.md +51 -0
- package/docs/Microsoft.Quantum.Intrinsic/RFrac.md +53 -0
- package/docs/Microsoft.Quantum.Intrinsic/Reset.md +26 -0
- package/docs/Microsoft.Quantum.Intrinsic/ResetAll.md +26 -0
- package/docs/Microsoft.Quantum.Intrinsic/Rx.md +44 -0
- package/docs/Microsoft.Quantum.Intrinsic/Rxx.md +42 -0
- package/docs/Microsoft.Quantum.Intrinsic/Ry.md +44 -0
- package/docs/Microsoft.Quantum.Intrinsic/Ryy.md +42 -0
- package/docs/Microsoft.Quantum.Intrinsic/Rz.md +44 -0
- package/docs/Microsoft.Quantum.Intrinsic/Rzz.md +42 -0
- package/docs/Microsoft.Quantum.Intrinsic/S.md +36 -0
- package/docs/Microsoft.Quantum.Intrinsic/SWAP.md +49 -0
- package/docs/Microsoft.Quantum.Intrinsic/T.md +36 -0
- package/docs/Microsoft.Quantum.Intrinsic/X.md +36 -0
- package/docs/Microsoft.Quantum.Intrinsic/Y.md +36 -0
- package/docs/Microsoft.Quantum.Intrinsic/Z.md +36 -0
- package/docs/Microsoft.Quantum.Logical/Xor.md +38 -0
- package/docs/Microsoft.Quantum.Math/AbsComplex.md +29 -0
- package/docs/Microsoft.Quantum.Math/AbsComplexPolar.md +29 -0
- package/docs/Microsoft.Quantum.Math/AbsD.md +21 -0
- package/docs/Microsoft.Quantum.Math/AbsI.md +21 -0
- package/docs/Microsoft.Quantum.Math/AbsL.md +20 -0
- package/docs/Microsoft.Quantum.Math/AbsSquaredComplex.md +29 -0
- package/docs/Microsoft.Quantum.Math/AbsSquaredComplexPolar.md +29 -0
- package/docs/Microsoft.Quantum.Math/ApproximateFactorial.md +40 -0
- package/docs/Microsoft.Quantum.Math/ArcCos.md +21 -0
- package/docs/Microsoft.Quantum.Math/ArcCosh.md +21 -0
- package/docs/Microsoft.Quantum.Math/ArcSin.md +21 -0
- package/docs/Microsoft.Quantum.Math/ArcSinh.md +21 -0
- package/docs/Microsoft.Quantum.Math/ArcTan.md +21 -0
- package/docs/Microsoft.Quantum.Math/ArcTan2.md +21 -0
- package/docs/Microsoft.Quantum.Math/ArcTanh.md +21 -0
- package/docs/Microsoft.Quantum.Math/ArgComplex.md +29 -0
- package/docs/Microsoft.Quantum.Math/ArgComplexPolar.md +28 -0
- package/docs/Microsoft.Quantum.Math/Binom.md +34 -0
- package/docs/Microsoft.Quantum.Math/BitSizeI.md +22 -0
- package/docs/Microsoft.Quantum.Math/BitSizeL.md +22 -0
- package/docs/Microsoft.Quantum.Math/Ceiling.md +22 -0
- package/docs/Microsoft.Quantum.Math/Complex.md +29 -0
- package/docs/Microsoft.Quantum.Math/ComplexPolar.md +28 -0
- package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentI.md +23 -0
- package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentL.md +23 -0
- package/docs/Microsoft.Quantum.Math/Cos.md +21 -0
- package/docs/Microsoft.Quantum.Math/Cosh.md +21 -0
- package/docs/Microsoft.Quantum.Math/DivRemI.md +21 -0
- package/docs/Microsoft.Quantum.Math/DivRemL.md +21 -0
- package/docs/Microsoft.Quantum.Math/DividedByC.md +30 -0
- package/docs/Microsoft.Quantum.Math/DividedByCP.md +30 -0
- package/docs/Microsoft.Quantum.Math/E.md +28 -0
- package/docs/Microsoft.Quantum.Math/ExpModI.md +22 -0
- package/docs/Microsoft.Quantum.Math/ExpModL.md +22 -0
- package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorI.md +22 -0
- package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorL.md +22 -0
- package/docs/Microsoft.Quantum.Math/FactorialI.md +38 -0
- package/docs/Microsoft.Quantum.Math/FactorialL.md +32 -0
- package/docs/Microsoft.Quantum.Math/Floor.md +22 -0
- package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorI.md +22 -0
- package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorL.md +22 -0
- package/docs/Microsoft.Quantum.Math/HammingWeightI.md +21 -0
- package/docs/Microsoft.Quantum.Math/InverseModI.md +25 -0
- package/docs/Microsoft.Quantum.Math/InverseModL.md +25 -0
- package/docs/Microsoft.Quantum.Math/IsCoprimeI.md +34 -0
- package/docs/Microsoft.Quantum.Math/IsCoprimeL.md +34 -0
- package/docs/Microsoft.Quantum.Math/IsInfinite.md +48 -0
- package/docs/Microsoft.Quantum.Math/IsNaN.md +29 -0
- package/docs/Microsoft.Quantum.Math/LargestFixedPoint.md +31 -0
- package/docs/Microsoft.Quantum.Math/Lg.md +21 -0
- package/docs/Microsoft.Quantum.Math/Log.md +21 -0
- package/docs/Microsoft.Quantum.Math/Log10.md +21 -0
- package/docs/Microsoft.Quantum.Math/LogFactorialD.md +34 -0
- package/docs/Microsoft.Quantum.Math/LogGammaD.md +38 -0
- package/docs/Microsoft.Quantum.Math/LogOf2.md +24 -0
- package/docs/Microsoft.Quantum.Math/Max.md +28 -0
- package/docs/Microsoft.Quantum.Math/MaxD.md +21 -0
- package/docs/Microsoft.Quantum.Math/MaxI.md +21 -0
- package/docs/Microsoft.Quantum.Math/MaxL.md +21 -0
- package/docs/Microsoft.Quantum.Math/Min.md +28 -0
- package/docs/Microsoft.Quantum.Math/MinD.md +21 -0
- package/docs/Microsoft.Quantum.Math/MinI.md +21 -0
- package/docs/Microsoft.Quantum.Math/MinL.md +21 -0
- package/docs/Microsoft.Quantum.Math/MinusC.md +30 -0
- package/docs/Microsoft.Quantum.Math/MinusCP.md +30 -0
- package/docs/Microsoft.Quantum.Math/ModulusI.md +22 -0
- package/docs/Microsoft.Quantum.Math/ModulusL.md +22 -0
- package/docs/Microsoft.Quantum.Math/NegationC.md +28 -0
- package/docs/Microsoft.Quantum.Math/NegationCP.md +28 -0
- package/docs/Microsoft.Quantum.Math/PI.md +28 -0
- package/docs/Microsoft.Quantum.Math/PNorm.md +31 -0
- package/docs/Microsoft.Quantum.Math/PNormalized.md +35 -0
- package/docs/Microsoft.Quantum.Math/PlusC.md +30 -0
- package/docs/Microsoft.Quantum.Math/PlusCP.md +30 -0
- package/docs/Microsoft.Quantum.Math/PowC.md +31 -0
- package/docs/Microsoft.Quantum.Math/PowCP.md +31 -0
- package/docs/Microsoft.Quantum.Math/RealMod.md +38 -0
- package/docs/Microsoft.Quantum.Math/Round.md +22 -0
- package/docs/Microsoft.Quantum.Math/SignD.md +21 -0
- package/docs/Microsoft.Quantum.Math/SignI.md +21 -0
- package/docs/Microsoft.Quantum.Math/SignL.md +21 -0
- package/docs/Microsoft.Quantum.Math/Sin.md +21 -0
- package/docs/Microsoft.Quantum.Math/Sinh.md +21 -0
- package/docs/Microsoft.Quantum.Math/SmallestFixedPoint.md +30 -0
- package/docs/Microsoft.Quantum.Math/Sqrt.md +21 -0
- package/docs/Microsoft.Quantum.Math/SquaredNorm.md +32 -0
- package/docs/Microsoft.Quantum.Math/Tan.md +21 -0
- package/docs/Microsoft.Quantum.Math/Tanh.md +21 -0
- package/docs/Microsoft.Quantum.Math/TimesC.md +30 -0
- package/docs/Microsoft.Quantum.Math/TimesCP.md +30 -0
- package/docs/Microsoft.Quantum.Math/TrailingZeroCountI.md +22 -0
- package/docs/Microsoft.Quantum.Math/TrailingZeroCountL.md +22 -0
- package/docs/Microsoft.Quantum.Math/Truncate.md +22 -0
- package/docs/Microsoft.Quantum.Measurement/MResetEachZ.md +27 -0
- package/docs/Microsoft.Quantum.Measurement/MResetX.md +35 -0
- package/docs/Microsoft.Quantum.Measurement/MResetY.md +35 -0
- package/docs/Microsoft.Quantum.Measurement/MResetZ.md +35 -0
- package/docs/Microsoft.Quantum.Measurement/MeasureAllZ.md +36 -0
- package/docs/Microsoft.Quantum.Measurement/MeasureEachZ.md +30 -0
- package/docs/Microsoft.Quantum.Measurement/MeasureInteger.md +34 -0
- package/docs/Microsoft.Quantum.Random/DrawRandomDouble.md +40 -0
- package/docs/Microsoft.Quantum.Random/DrawRandomInt.md +40 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/AccountForEstimates.md +33 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/AuxQubitCount.md +22 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/BeginEstimateCaching.md +37 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/BeginRepeatEstimates.md +31 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/CczCount.md +22 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/EndEstimateCaching.md +23 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/EndRepeatEstimates.md +22 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/MeasurementCount.md +22 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/PSSPCLayout.md +23 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/RepeatEstimates.md +29 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/RotationCount.md +22 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/RotationDepth.md +22 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/SingleVariant.md +22 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/TCount.md +22 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/AddLE.md +28 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualL.md +22 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualLE.md +23 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterL.md +22 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterLE.md +23 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualL.md +22 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualLE.md +23 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessL.md +22 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessLE.md +23 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualL.md +22 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualLE.md +23 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/FourierTDIncByLE.md +31 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByI.md +27 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByIUsingIncByLE.md +26 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByL.md +27 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLE.md +27 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLEUsingAddLE.md +36 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLUsingIncByLE.md +26 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/LookAheadDKRSAddLE.md +35 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/MAJ.md +34 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ReflectAboutInteger.md +37 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGAddLE.md +33 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGIncByLE.md +33 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryTTKIncByLE.md +35 -0
- package/docs/Microsoft.Quantum.Unstable.StatePreparation/ApproximatelyPreparePureStateCP.md +66 -0
- package/docs/Microsoft.Quantum.Unstable.StatePreparation/PreparePureStateD.md +64 -0
- package/docs/Microsoft.Quantum.Unstable.TableLookup/Select.md +53 -0
- package/docs/toc.yml +307 -0
- package/lib/node/qsc_wasm.cjs +40 -13
- package/lib/node/qsc_wasm.d.cts +15 -0
- package/lib/node/qsc_wasm_bg.wasm +0 -0
- package/lib/web/qsc_wasm.d.ts +17 -0
- package/lib/web/qsc_wasm.js +38 -11
- package/lib/web/qsc_wasm_bg.wasm +0 -0
- package/package.json +4 -2
- package/dist/compiler/worker-proxy.d.ts +0 -7
- package/dist/compiler/worker-proxy.js +0 -18
- package/dist/debug-service/worker-proxy.d.ts +0 -7
- package/dist/debug-service/worker-proxy.js +0 -22
- package/dist/language-service/worker-proxy.d.ts +0 -6
- package/dist/language-service/worker-proxy.js +0 -27
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.ApplyPauliFromInt
|
|
3
|
+
title: ApplyPauliFromInt operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: ApplyPauliFromInt
|
|
9
|
+
qsharp.summary: Applies a Pauli operator on each qubit in an array if the corresponding bit of a Little-endian integer matches a given input.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ApplyPauliFromInt operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation ApplyPauliFromInt(pauli : Pauli, bitApply : Bool, numberState : Int, qubits : Qubit[]) : Unit is Adj + Ctl
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Applies a Pauli operator on each qubit in an array if the corresponding
|
|
22
|
+
bit of a Little-endian integer matches a given input.
|
|
23
|
+
|
|
24
|
+
## Input
|
|
25
|
+
### pauli
|
|
26
|
+
Pauli operator to apply to `qubits[idx]` when bit of numberState
|
|
27
|
+
in idx position is the same as bitApply.
|
|
28
|
+
### bitApply
|
|
29
|
+
apply Pauli if bit is this value
|
|
30
|
+
### numberState
|
|
31
|
+
Little-endian integer specifying which corresponding qubit in `qubits` should be operated on
|
|
32
|
+
### qubits
|
|
33
|
+
Quantum register on which to selectively apply the specified Pauli operator
|
|
34
|
+
|
|
35
|
+
## Example
|
|
36
|
+
The following applies an X operation on qubits 0 and 2, and a Z operation on qubits 1 and 3.
|
|
37
|
+
```qsharp
|
|
38
|
+
use qubits = Qubit[4];
|
|
39
|
+
let n = 5;
|
|
40
|
+
// Apply when index in `bits` is `true`.
|
|
41
|
+
ApplyPauliFromBitString(PauliX, true, n, qubits);
|
|
42
|
+
// Apply when index in `bits` is `false`.
|
|
43
|
+
ApplyPauliFromBitString(PauliZ, false, n, qubits);
|
|
44
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.ApplyQFT
|
|
3
|
+
title: ApplyQFT operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: ApplyQFT
|
|
9
|
+
qsharp.summary: Applies Quantum Fourier Transform (QFT) to a little-endian quantum register.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ApplyQFT operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation ApplyQFT(qs : Qubit[]) : Unit is Adj + Ctl
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Applies Quantum Fourier Transform (QFT) to a little-endian quantum register.
|
|
22
|
+
|
|
23
|
+
## Description
|
|
24
|
+
Applies QFT to a little-endian register `qs` of length n
|
|
25
|
+
containing |x₁⟩⊗|x₂⟩⊗…⊗|xₙ⟩. The qs[0] contains the
|
|
26
|
+
least significant bit xₙ. The state of qs[0] becomes
|
|
27
|
+
(|0⟩+𝑒^(2π𝑖[0.xₙ])|1⟩)/sqrt(2) after the operation.
|
|
28
|
+
|
|
29
|
+
## Input
|
|
30
|
+
### qs
|
|
31
|
+
Quantum register in a little-endian format to which the QFT is applied.
|
|
32
|
+
|
|
33
|
+
## Reference
|
|
34
|
+
- [Quantum Fourier transform](https://en.wikipedia.org/wiki/Quantum_Fourier_transform)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.ApplyToEach
|
|
3
|
+
title: ApplyToEach operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: ApplyToEach
|
|
9
|
+
qsharp.summary: Applies an operation to each element in a register.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ApplyToEach operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation ApplyToEach<'T>(singleElementOperation : ('T => Unit), register : 'T[]) : Unit
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Applies an operation to each element in a register.
|
|
22
|
+
|
|
23
|
+
## Input
|
|
24
|
+
### singleElementOperation
|
|
25
|
+
Operation to apply to each element.
|
|
26
|
+
### register
|
|
27
|
+
Array of elements on which to apply the given operation.
|
|
28
|
+
|
|
29
|
+
## Type Parameters
|
|
30
|
+
### 'T
|
|
31
|
+
The target on which the operation acts.
|
|
32
|
+
|
|
33
|
+
## Example
|
|
34
|
+
Prepare a three-qubit |+⟩ state:
|
|
35
|
+
```qsharp
|
|
36
|
+
use register = Qubit[3];
|
|
37
|
+
ApplyToEach(H, register);
|
|
38
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.ApplyToEachA
|
|
3
|
+
title: ApplyToEachA operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: ApplyToEachA
|
|
9
|
+
qsharp.summary: Applies an operation to each element in a register. The modifier `A` indicates that the single-element operation is adjointable.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ApplyToEachA operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation ApplyToEachA<'T>(singleElementOperation : ('T => Unit is Adj), register : 'T[]) : Unit is Adj
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Applies an operation to each element in a register.
|
|
22
|
+
The modifier `A` indicates that the single-element operation is adjointable.
|
|
23
|
+
|
|
24
|
+
## Input
|
|
25
|
+
### singleElementOperation
|
|
26
|
+
Operation to apply to each element.
|
|
27
|
+
### register
|
|
28
|
+
Array of elements on which to apply the given operation.
|
|
29
|
+
|
|
30
|
+
## Type Parameters
|
|
31
|
+
### 'T
|
|
32
|
+
The target on which the operation acts.
|
|
33
|
+
|
|
34
|
+
## Example
|
|
35
|
+
Prepare a three-qubit |+⟩ state:
|
|
36
|
+
```qsharp
|
|
37
|
+
use register = Qubit[3];
|
|
38
|
+
ApplyToEach(H, register);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## See Also
|
|
42
|
+
- Microsoft.Quantum.Canon.ApplyToEach
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.ApplyToEachC
|
|
3
|
+
title: ApplyToEachC operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: ApplyToEachC
|
|
9
|
+
qsharp.summary: Applies an operation to each element in a register. The modifier `C` indicates that the single-element operation is controllable.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ApplyToEachC operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation ApplyToEachC<'T>(singleElementOperation : ('T => Unit is Ctl), register : 'T[]) : Unit is Ctl
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Applies an operation to each element in a register.
|
|
22
|
+
The modifier `C` indicates that the single-element operation is controllable.
|
|
23
|
+
|
|
24
|
+
## Input
|
|
25
|
+
### singleElementOperation
|
|
26
|
+
Operation to apply to each element.
|
|
27
|
+
### register
|
|
28
|
+
Array of elements on which to apply the given operation.
|
|
29
|
+
|
|
30
|
+
## Type Parameters
|
|
31
|
+
### 'T
|
|
32
|
+
The target on which the operation acts.
|
|
33
|
+
|
|
34
|
+
## Example
|
|
35
|
+
Prepare a three-qubit |+⟩ state:
|
|
36
|
+
```qsharp
|
|
37
|
+
use register = Qubit[3];
|
|
38
|
+
ApplyToEach(H, register);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## See Also
|
|
42
|
+
- Microsoft.Quantum.Canon.ApplyToEach
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.ApplyToEachCA
|
|
3
|
+
title: ApplyToEachCA operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: ApplyToEachCA
|
|
9
|
+
qsharp.summary: Applies an operation to each element in a register. The modifier `CA` indicates that the single-element operation is controllable and adjointable.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ApplyToEachCA operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation ApplyToEachCA<'T>(singleElementOperation : ('T => Unit is Adj + Ctl), register : 'T[]) : Unit is Adj + Ctl
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Applies an operation to each element in a register.
|
|
22
|
+
The modifier `CA` indicates that the single-element operation is controllable and adjointable.
|
|
23
|
+
|
|
24
|
+
## Input
|
|
25
|
+
### singleElementOperation
|
|
26
|
+
Operation to apply to each element.
|
|
27
|
+
### register
|
|
28
|
+
Array of elements on which to apply the given operation.
|
|
29
|
+
|
|
30
|
+
## Type Parameters
|
|
31
|
+
### 'T
|
|
32
|
+
The target on which the operation acts.
|
|
33
|
+
|
|
34
|
+
## Example
|
|
35
|
+
Prepare a three-qubit |+⟩ state:
|
|
36
|
+
```qsharp
|
|
37
|
+
use register = Qubit[3];
|
|
38
|
+
ApplyToEach(H, register);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## See Also
|
|
42
|
+
- Microsoft.Quantum.Canon.ApplyToEach
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.ApplyXorInPlace
|
|
3
|
+
title: ApplyXorInPlace operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: ApplyXorInPlace
|
|
9
|
+
qsharp.summary: Applies a bitwise-XOR operation between a classical integer and an integer represented by a register of qubits.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ApplyXorInPlace operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation ApplyXorInPlace(value : Int, target : Qubit[]) : Unit is Adj + Ctl
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Applies a bitwise-XOR operation between a classical integer and an
|
|
22
|
+
integer represented by a register of qubits.
|
|
23
|
+
|
|
24
|
+
## Description
|
|
25
|
+
Applies `X` operations to qubits in a little-endian register based on
|
|
26
|
+
1 bits in an integer.
|
|
27
|
+
|
|
28
|
+
Let us denote `value` by a and let y be an unsigned integer encoded in `target`,
|
|
29
|
+
then `ApplyXorInPlace` performs an operation given by the following map:
|
|
30
|
+
|y⟩ ↦ |y ⊕ a⟩, where ⊕ is the bitwise exclusive OR operator.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.ApplyXorInPlaceL
|
|
3
|
+
title: ApplyXorInPlaceL operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: ApplyXorInPlaceL
|
|
9
|
+
qsharp.summary: Applies a bitwise-XOR operation between a classical integer and an integer represented by a register of qubits.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ApplyXorInPlaceL operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation ApplyXorInPlaceL(value : BigInt, target : Qubit[]) : Unit is Adj + Ctl
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Applies a bitwise-XOR operation between a classical integer and an
|
|
22
|
+
integer represented by a register of qubits.
|
|
23
|
+
|
|
24
|
+
## Description
|
|
25
|
+
Applies `X` operations to qubits in a little-endian register based on
|
|
26
|
+
1 bits in an integer.
|
|
27
|
+
|
|
28
|
+
Let us denote `value` by a and let y be an unsigned integer encoded in `target`,
|
|
29
|
+
then `ApplyXorInPlace` performs an operation given by the following map:
|
|
30
|
+
|y⟩ ↦ |y ⊕ a⟩, where ⊕ is the bitwise exclusive OR operator.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.CX
|
|
3
|
+
title: CX operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: CX
|
|
9
|
+
qsharp.summary: Applies the controlled-X (CX) gate to a pair of qubits.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# CX operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation CX(control : Qubit, target : Qubit) : Unit is Adj + Ctl
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Applies the controlled-X (CX) gate to a pair of qubits.
|
|
22
|
+
|
|
23
|
+
## Input
|
|
24
|
+
### control
|
|
25
|
+
Control qubit for the CX gate.
|
|
26
|
+
### target
|
|
27
|
+
Target qubit for the CX gate.
|
|
28
|
+
|
|
29
|
+
## Remarks
|
|
30
|
+
This operation can be simulated by the unitary matrix
|
|
31
|
+
$$
|
|
32
|
+
\begin{align}
|
|
33
|
+
\left(\begin{matrix}
|
|
34
|
+
1 & 0 & 0 & 0 \\\\
|
|
35
|
+
0 & 1 & 0 & 0 \\\\
|
|
36
|
+
0 & 0 & 0 & 1 \\\\
|
|
37
|
+
0 & 0 & 1 & 0
|
|
38
|
+
\end{matrix}\right)
|
|
39
|
+
\end{align},
|
|
40
|
+
$$
|
|
41
|
+
where rows and columns are organized as in the quantum concepts guide.
|
|
42
|
+
|
|
43
|
+
Equivalent to:
|
|
44
|
+
```qsharp
|
|
45
|
+
Controlled X([control], target);
|
|
46
|
+
```
|
|
47
|
+
and to:
|
|
48
|
+
```qsharp
|
|
49
|
+
CNOT(control, target);
|
|
50
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.CY
|
|
3
|
+
title: CY operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: CY
|
|
9
|
+
qsharp.summary: Applies the controlled-Y (CY) gate to a pair of qubits.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# CY operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation CY(control : Qubit, target : Qubit) : Unit is Adj + Ctl
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Applies the controlled-Y (CY) gate to a pair of qubits.
|
|
22
|
+
|
|
23
|
+
## Input
|
|
24
|
+
### control
|
|
25
|
+
Control qubit for the CY gate.
|
|
26
|
+
### target
|
|
27
|
+
Target qubit for the CY gate.
|
|
28
|
+
|
|
29
|
+
## Remarks
|
|
30
|
+
This operation can be simulated by the unitary matrix
|
|
31
|
+
$$
|
|
32
|
+
\begin{align}
|
|
33
|
+
1 & 0 & 0 & 0 \\\\
|
|
34
|
+
0 & 1 & 0 & 0 \\\\
|
|
35
|
+
0 & 0 & 0 & -i \\\\
|
|
36
|
+
0 & 0 & i & 0
|
|
37
|
+
\end{align},
|
|
38
|
+
$$
|
|
39
|
+
where rows and columns are organized as in the quantum concepts guide.
|
|
40
|
+
|
|
41
|
+
Equivalent to:
|
|
42
|
+
```qsharp
|
|
43
|
+
Controlled Y([control], target);
|
|
44
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.CZ
|
|
3
|
+
title: CZ operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: CZ
|
|
9
|
+
qsharp.summary: Applies the controlled-Z (CZ) gate to a pair of qubits.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# CZ operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation CZ(control : Qubit, target : Qubit) : Unit is Adj + Ctl
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Applies the controlled-Z (CZ) gate to a pair of qubits.
|
|
22
|
+
|
|
23
|
+
## Input
|
|
24
|
+
### control
|
|
25
|
+
Control qubit for the CZ gate.
|
|
26
|
+
### target
|
|
27
|
+
Target qubit for the CZ gate.
|
|
28
|
+
|
|
29
|
+
## Remarks
|
|
30
|
+
This operation can be simulated by the unitary matrix
|
|
31
|
+
$$
|
|
32
|
+
\begin{align}
|
|
33
|
+
1 & 0 & 0 & 0 \\\\
|
|
34
|
+
0 & 1 & 0 & 0 \\\\
|
|
35
|
+
0 & 0 & 1 & 0 \\\\
|
|
36
|
+
0 & 0 & 0 & -1
|
|
37
|
+
\end{align},
|
|
38
|
+
$$
|
|
39
|
+
where rows and columns are organized as in the quantum concepts guide.
|
|
40
|
+
|
|
41
|
+
Equivalent to:
|
|
42
|
+
```qsharp
|
|
43
|
+
Controlled Z([control], target);
|
|
44
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.Fst
|
|
3
|
+
title: Fst function
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: Fst
|
|
9
|
+
qsharp.summary: Given a pair, returns its first element.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Fst function
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
function Fst<'T, 'U>(pair : ('T, 'U)) : 'T
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Given a pair, returns its first element.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.Snd
|
|
3
|
+
title: Snd function
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: Snd
|
|
9
|
+
qsharp.summary: Given a pair, returns its second element.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Snd function
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
function Snd<'T, 'U>(pair : ('T, 'U)) : 'U
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Given a pair, returns its second element.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Canon.SwapReverseRegister
|
|
3
|
+
title: SwapReverseRegister operation
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: operation
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Canon
|
|
8
|
+
qsharp.name: SwapReverseRegister
|
|
9
|
+
qsharp.summary: Uses SWAP gates to reverse the order of the qubits in a register.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# SwapReverseRegister operation
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Canon
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation SwapReverseRegister(register : Qubit[]) : Unit is Adj + Ctl
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Uses SWAP gates to reverse the order of the qubits in a register.
|
|
22
|
+
|
|
23
|
+
## Input
|
|
24
|
+
### register
|
|
25
|
+
The qubits order of which should be reversed using SWAP gates
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Convert.BigIntAsBoolArray
|
|
3
|
+
title: BigIntAsBoolArray function
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Convert
|
|
8
|
+
qsharp.name: BigIntAsBoolArray
|
|
9
|
+
qsharp.summary: Produces a binary representation of a non-negative BigInt, using the little-endian representation for the returned array.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# BigIntAsBoolArray function
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Convert
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
function BigIntAsBoolArray(number : BigInt, bits : Int) : Bool[]
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Produces a binary representation of a non-negative BigInt, using the
|
|
22
|
+
little-endian representation for the returned array.
|
|
23
|
+
|
|
24
|
+
## Input
|
|
25
|
+
### number
|
|
26
|
+
A non-negative BigInt to be converted to an array of Boolean values.
|
|
27
|
+
### bits
|
|
28
|
+
The number of bits in the binary representation of `number`.
|
|
29
|
+
|
|
30
|
+
## Output
|
|
31
|
+
An array of Boolean values representing `number`.
|
|
32
|
+
|
|
33
|
+
## Remarks
|
|
34
|
+
The input `bits` must be non-negative.
|
|
35
|
+
The input `number` must be between 0 and 2^bits - 1.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Convert.BoolArrayAsBigInt
|
|
3
|
+
title: BoolArrayAsBigInt function
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Convert
|
|
8
|
+
qsharp.name: BoolArrayAsBigInt
|
|
9
|
+
qsharp.summary: Converts an array of Boolean values into a non-negative BigInt, interpreting the array as a binary representation in little-endian format.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# BoolArrayAsBigInt function
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Convert
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
function BoolArrayAsBigInt(boolArray : Bool[]) : BigInt
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Converts an array of Boolean values into a non-negative BigInt, interpreting the
|
|
22
|
+
array as a binary representation in little-endian format.
|
|
23
|
+
|
|
24
|
+
## Input
|
|
25
|
+
### boolArray
|
|
26
|
+
An array of Boolean values representing the binary digits of a BigInt.
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
A BigInt represented by `boolArray`.
|
|
30
|
+
|
|
31
|
+
## Remarks
|
|
32
|
+
The function interprets the array in little-endian format, where the first
|
|
33
|
+
element of the array represents the least significant bit.
|
|
34
|
+
The input `boolArray` should not be empty.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Convert.BoolArrayAsInt
|
|
3
|
+
title: BoolArrayAsInt function
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Convert
|
|
8
|
+
qsharp.name: BoolArrayAsInt
|
|
9
|
+
qsharp.summary: Produces a non-negative integer from a string of bits in little endian format.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# BoolArrayAsInt function
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Convert
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
function BoolArrayAsInt(bits : Bool[]) : Int
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Produces a non-negative integer from a string of bits in little endian format.
|
|
22
|
+
|
|
23
|
+
## Input
|
|
24
|
+
### bits
|
|
25
|
+
Bits in binary representation of number.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Convert.BoolArrayAsResultArray
|
|
3
|
+
title: BoolArrayAsResultArray function
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Convert
|
|
8
|
+
qsharp.name: BoolArrayAsResultArray
|
|
9
|
+
qsharp.summary: Converts a `Bool[]` type to a `Result[]` type, where `true` is mapped to `One` and `false` is mapped to `Zero`.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# BoolArrayAsResultArray function
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Convert
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
function BoolArrayAsResultArray(input : Bool[]) : Result[]
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Converts a `Bool[]` type to a `Result[]` type, where `true`
|
|
22
|
+
is mapped to `One` and `false` is mapped to `Zero`.
|
|
23
|
+
|
|
24
|
+
## Input
|
|
25
|
+
### input
|
|
26
|
+
`Bool[]` to be converted.
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
A `Result[]` representing the `input`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Qdk.Microsoft.Quantum.Convert.BoolAsResult
|
|
3
|
+
title: BoolAsResult function
|
|
4
|
+
ms.date: 02/23/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Convert
|
|
8
|
+
qsharp.name: BoolAsResult
|
|
9
|
+
qsharp.summary: Converts a `Bool` type to a `Result` type, where `true` is mapped to `One` and `false` is mapped to `Zero`.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# BoolAsResult function
|
|
13
|
+
|
|
14
|
+
Namespace: Microsoft.Quantum.Convert
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
function BoolAsResult(input : Bool) : Result
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Converts a `Bool` type to a `Result` type, where `true` is mapped to
|
|
22
|
+
`One` and `false` is mapped to `Zero`.
|
|
23
|
+
|
|
24
|
+
## Input
|
|
25
|
+
### input
|
|
26
|
+
`Bool` to be converted.
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
A `Result` representing the `input`.
|