qsharp-lang 1.1.2-dev → 1.1.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/katas-content.generated.js +133 -122
- package/dist/language-service/language-service.d.ts +3 -1
- package/dist/language-service/language-service.js +3 -0
- package/dist/language-service/worker-proxy.js +1 -0
- package/docs/Microsoft.Quantum.Arrays/All.md +44 -0
- package/docs/Microsoft.Quantum.Arrays/Any.md +43 -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 +44 -0
- package/docs/Microsoft.Quantum.Arrays/Diagonal.md +43 -0
- package/docs/Microsoft.Quantum.Arrays/DrawMany.md +44 -0
- package/docs/Microsoft.Quantum.Arrays/Enumerated.md +45 -0
- package/docs/Microsoft.Quantum.Arrays/Excluding.md +47 -0
- package/docs/Microsoft.Quantum.Arrays/Filtered.md +44 -0
- package/docs/Microsoft.Quantum.Arrays/FlatMapped.md +46 -0
- package/docs/Microsoft.Quantum.Arrays/Flattened.md +38 -0
- package/docs/Microsoft.Quantum.Arrays/Fold.md +47 -0
- package/docs/Microsoft.Quantum.Arrays/ForEach.md +43 -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 +40 -0
- package/docs/Microsoft.Quantum.Arrays/IndexRange.md +41 -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 +43 -0
- package/docs/Microsoft.Quantum.Arrays/IsSquareArray.md +42 -0
- package/docs/Microsoft.Quantum.Arrays/Mapped.md +43 -0
- package/docs/Microsoft.Quantum.Arrays/MappedByIndex.md +54 -0
- package/docs/Microsoft.Quantum.Arrays/MappedOverRange.md +48 -0
- package/docs/Microsoft.Quantum.Arrays/Most.md +34 -0
- package/docs/Microsoft.Quantum.Arrays/MostAndTail.md +32 -0
- package/docs/Microsoft.Quantum.Arrays/Padded.md +50 -0
- package/docs/Microsoft.Quantum.Arrays/Partitioned.md +44 -0
- package/docs/Microsoft.Quantum.Arrays/Rest.md +34 -0
- package/docs/Microsoft.Quantum.Arrays/Reversed.md +34 -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 +52 -0
- package/docs/Microsoft.Quantum.Arrays/Subarray.md +51 -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 +47 -0
- package/docs/Microsoft.Quantum.Arrays/Unzipped.md +46 -0
- package/docs/Microsoft.Quantum.Arrays/Where.md +36 -0
- package/docs/Microsoft.Quantum.Arrays/Windows.md +47 -0
- package/docs/Microsoft.Quantum.Arrays/Zipped.md +50 -0
- package/docs/Microsoft.Quantum.Canon/ApplyCNOTChain.md +35 -0
- package/docs/Microsoft.Quantum.Canon/ApplyControlledOnBitString.md +42 -0
- package/docs/Microsoft.Quantum.Canon/ApplyControlledOnInt.md +41 -0
- package/docs/Microsoft.Quantum.Canon/ApplyP.md +39 -0
- package/docs/Microsoft.Quantum.Canon/ApplyPauli.md +41 -0
- package/docs/Microsoft.Quantum.Canon/ApplyPauliFromBitString.md +47 -0
- package/docs/Microsoft.Quantum.Canon/ApplyPauliFromInt.md +45 -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 +43 -0
- package/docs/Microsoft.Quantum.Canon/ApplyToEachC.md +43 -0
- package/docs/Microsoft.Quantum.Canon/ApplyToEachCA.md +43 -0
- package/docs/Microsoft.Quantum.Canon/ApplyXorInPlace.md +31 -0
- package/docs/Microsoft.Quantum.Canon/ApplyXorInPlaceL.md +31 -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 +36 -0
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsBigInt.md +35 -0
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsInt.md +25 -0
- package/docs/Microsoft.Quantum.Convert/BoolArrayAsResultArray.md +30 -0
- package/docs/Microsoft.Quantum.Convert/BoolAsResult.md +30 -0
- package/docs/Microsoft.Quantum.Convert/ComplexAsComplexPolar.md +30 -0
- package/docs/Microsoft.Quantum.Convert/ComplexPolarAsComplex.md +30 -0
- package/docs/Microsoft.Quantum.Convert/IntAsBigInt.md +21 -0
- package/docs/Microsoft.Quantum.Convert/IntAsBoolArray.md +36 -0
- package/docs/Microsoft.Quantum.Convert/IntAsDouble.md +21 -0
- package/docs/Microsoft.Quantum.Convert/ResultArrayAsBoolArray.md +30 -0
- package/docs/Microsoft.Quantum.Convert/ResultArrayAsInt.md +34 -0
- package/docs/Microsoft.Quantum.Convert/ResultAsBool.md +30 -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 +38 -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 +46 -0
- package/docs/Microsoft.Quantum.Intrinsic/Measure.md +56 -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 +57 -0
- package/docs/Microsoft.Quantum.Intrinsic/RFrac.md +58 -0
- package/docs/Microsoft.Quantum.Intrinsic/Reset.md +27 -0
- package/docs/Microsoft.Quantum.Intrinsic/ResetAll.md +27 -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 +30 -0
- package/docs/Microsoft.Quantum.Math/AbsComplexPolar.md +30 -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 +30 -0
- package/docs/Microsoft.Quantum.Math/AbsSquaredComplexPolar.md +30 -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 +30 -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 +23 -0
- package/docs/Microsoft.Quantum.Math/BitSizeL.md +23 -0
- package/docs/Microsoft.Quantum.Math/Ceiling.md +23 -0
- package/docs/Microsoft.Quantum.Math/Complex.md +31 -0
- package/docs/Microsoft.Quantum.Math/ComplexPolar.md +29 -0
- package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentI.md +25 -0
- package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentL.md +25 -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 +23 -0
- package/docs/Microsoft.Quantum.Math/ExpModL.md +23 -0
- package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorI.md +23 -0
- package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorL.md +23 -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 +23 -0
- package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorI.md +23 -0
- package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorL.md +23 -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 +49 -0
- package/docs/Microsoft.Quantum.Math/IsNaN.md +30 -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 +35 -0
- package/docs/Microsoft.Quantum.Math/LogGammaD.md +39 -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 +23 -0
- package/docs/Microsoft.Quantum.Math/ModulusL.md +23 -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 +34 -0
- package/docs/Microsoft.Quantum.Math/PNormalized.md +39 -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 +32 -0
- package/docs/Microsoft.Quantum.Math/PowCP.md +32 -0
- package/docs/Microsoft.Quantum.Math/RealMod.md +38 -0
- package/docs/Microsoft.Quantum.Math/Round.md +23 -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 +23 -0
- package/docs/Microsoft.Quantum.Math/TrailingZeroCountL.md +23 -0
- package/docs/Microsoft.Quantum.Math/Truncate.md +23 -0
- package/docs/Microsoft.Quantum.Measurement/MResetEachZ.md +28 -0
- package/docs/Microsoft.Quantum.Measurement/MResetX.md +37 -0
- package/docs/Microsoft.Quantum.Measurement/MResetY.md +37 -0
- package/docs/Microsoft.Quantum.Measurement/MResetZ.md +37 -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 +36 -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 +35 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/AuxQubitCount.md +23 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/BeginEstimateCaching.md +39 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/BeginRepeatEstimates.md +36 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/CczCount.md +23 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/EndEstimateCaching.md +25 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/EndRepeatEstimates.md +22 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/MeasurementCount.md +23 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/PSSPCLayout.md +25 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/RepeatEstimates.md +32 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/RotationCount.md +23 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/RotationDepth.md +23 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/SingleVariant.md +23 -0
- package/docs/Microsoft.Quantum.ResourceEstimation/TCount.md +23 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/AddLE.md +29 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualL.md +23 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualLE.md +25 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterL.md +23 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterLE.md +25 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualL.md +23 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualLE.md +25 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessL.md +23 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessLE.md +25 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualL.md +23 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualLE.md +25 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/FourierTDIncByLE.md +32 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByI.md +27 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByIUsingIncByLE.md +27 -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 +27 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/LookAheadDKRSAddLE.md +36 -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 +34 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGIncByLE.md +34 -0
- package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryTTKIncByLE.md +35 -0
- package/docs/Microsoft.Quantum.Unstable.StatePreparation/ApproximatelyPreparePureStateCP.md +68 -0
- package/docs/Microsoft.Quantum.Unstable.StatePreparation/PreparePureStateD.md +65 -0
- package/docs/Microsoft.Quantum.Unstable.TableLookup/Select.md +53 -0
- package/docs/toc.yml +305 -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
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.Random.DrawRandomInt
|
|
3
|
+
title: DrawRandomInt operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Random
|
|
8
|
+
qsharp.name: DrawRandomInt
|
|
9
|
+
qsharp.summary: Draws a random integer in a given inclusive range.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# DrawRandomInt operation
|
|
13
|
+
|
|
14
|
+
Namespace: [Microsoft.Quantum.Random](xref:Microsoft.Quantum.Random)
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation DrawRandomInt(min : Int, max : Int) : Int
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
Draws a random integer in a given inclusive range.
|
|
22
|
+
|
|
23
|
+
## Input
|
|
24
|
+
### min
|
|
25
|
+
The smallest integer to be drawn.
|
|
26
|
+
### max
|
|
27
|
+
The largest integer to be drawn.
|
|
28
|
+
|
|
29
|
+
## Output
|
|
30
|
+
An integer in the inclusive range from `min` to `max` with uniform
|
|
31
|
+
probability.
|
|
32
|
+
|
|
33
|
+
## Remarks
|
|
34
|
+
Fails if `max < min`.
|
|
35
|
+
|
|
36
|
+
## Example
|
|
37
|
+
The following Q# snippet randomly rolls a six-sided die:
|
|
38
|
+
```qsharp
|
|
39
|
+
let roll = DrawRandomInt(1, 6);
|
|
40
|
+
```
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.AccountForEstimates
|
|
3
|
+
title: AccountForEstimates operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: AccountForEstimates
|
|
9
|
+
qsharp.summary: Account for the resource estimates of an unimplemented operation,
|
|
10
|
+
which were obtained separately. This operation is only available
|
|
11
|
+
when using resource estimator execution target.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# AccountForEstimates operation
|
|
15
|
+
|
|
16
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation AccountForEstimates(estimates : (Int, Int)[], layout : Int, arguments : Qubit[]) : Unit is Adj
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Account for the resource estimates of an unimplemented operation,
|
|
24
|
+
which were obtained separately. This operation is only available
|
|
25
|
+
when using resource estimator execution target.
|
|
26
|
+
## Input
|
|
27
|
+
### cost
|
|
28
|
+
Array of tuples containing resource estimates of the operation. For example,
|
|
29
|
+
if the operation uses three T gates, pass the tuple returned by TCount(3)
|
|
30
|
+
as one of the array elements.
|
|
31
|
+
### layout
|
|
32
|
+
Provides the layout scheme that is used to convert logical resource estimates
|
|
33
|
+
to physical resource estimates. Only PSSPCLayout() is supported at this time.
|
|
34
|
+
### arguments
|
|
35
|
+
Operation takes these qubits as its arguments.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.AuxQubitCount
|
|
3
|
+
title: AuxQubitCount function
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: AuxQubitCount
|
|
9
|
+
qsharp.summary: Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
10
|
+
to specify that the number of auxiliary qubits is equal to the `amount`.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# AuxQubitCount function
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
function AuxQubitCount(amount : Int) : (Int, Int)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
23
|
+
to specify that the number of auxiliary qubits is equal to the `amount`.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.BeginEstimateCaching
|
|
3
|
+
title: BeginEstimateCaching function
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: BeginEstimateCaching
|
|
9
|
+
qsharp.summary: Informs the resource estimator of the start of the code fragment
|
|
10
|
+
for which estimates caching can be done. This function
|
|
11
|
+
is only available when using resource estimator execution target.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# BeginEstimateCaching function
|
|
15
|
+
|
|
16
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
function BeginEstimateCaching(name : String, variant : Int) : Bool
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Informs the resource estimator of the start of the code fragment
|
|
24
|
+
for which estimates caching can be done. This function
|
|
25
|
+
is only available when using resource estimator execution target.
|
|
26
|
+
|
|
27
|
+
## Input
|
|
28
|
+
### name
|
|
29
|
+
The name of the code fragment. Used to distinguish it from other code fragments.
|
|
30
|
+
Typically this is the name of the operation for which estimates can be cached.
|
|
31
|
+
### variant
|
|
32
|
+
Specific variant of the execution. Cached estimates can only be reused if the
|
|
33
|
+
variant for which they were collected and the current variant is the same.
|
|
34
|
+
|
|
35
|
+
## Output
|
|
36
|
+
`true` indicated that the cached estimates are not yet available and the code fragment
|
|
37
|
+
needs to be executed in order to collect and cache estimates.
|
|
38
|
+
`false` indicates if cached estimates have been incorporated into the overall costs
|
|
39
|
+
and the code fragment should be skipped.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.BeginRepeatEstimates
|
|
3
|
+
title: BeginRepeatEstimates operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: BeginRepeatEstimates
|
|
9
|
+
qsharp.summary: Instructs the resource estimator to assume that the resources from the
|
|
10
|
+
call of this operation until a call to `EndRepeatEstimates` are
|
|
11
|
+
accounted for `count` times, without the need to execute the code that many
|
|
12
|
+
times. Calls to `BeginRepeatEstimates` and `EndRepeatEstimates` can be nested.
|
|
13
|
+
A helper operation `RepeatEstimates` allows to call the two functions in a
|
|
14
|
+
`within` block.
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# BeginRepeatEstimates operation
|
|
18
|
+
|
|
19
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
20
|
+
|
|
21
|
+
```qsharp
|
|
22
|
+
operation BeginRepeatEstimates(count : Int) : Unit is Adj
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Summary
|
|
26
|
+
|
|
27
|
+
Instructs the resource estimator to assume that the resources from the
|
|
28
|
+
call of this operation until a call to `EndRepeatEstimates` are
|
|
29
|
+
accounted for `count` times, without the need to execute the code that many
|
|
30
|
+
times. Calls to `BeginRepeatEstimates` and `EndRepeatEstimates` can be nested.
|
|
31
|
+
A helper operation `RepeatEstimates` allows to call the two functions in a
|
|
32
|
+
`within` block.
|
|
33
|
+
|
|
34
|
+
## Input
|
|
35
|
+
### count
|
|
36
|
+
Assumed number of repetitions, factor to multiply the cost with
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.CczCount
|
|
3
|
+
title: CczCount function
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: CczCount
|
|
9
|
+
qsharp.summary: Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
10
|
+
to specify that the number of the CCZ gates is equal to the `amount`.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# CczCount function
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
function CczCount(amount : Int) : (Int, Int)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
23
|
+
to specify that the number of the CCZ gates is equal to the `amount`.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.EndEstimateCaching
|
|
3
|
+
title: EndEstimateCaching function
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: EndEstimateCaching
|
|
9
|
+
qsharp.summary: Instructs the resource estimator to stop estimates caching
|
|
10
|
+
because the code fragment in consideration is over. This function
|
|
11
|
+
is only available when using resource estimator execution target.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# EndEstimateCaching function
|
|
15
|
+
|
|
16
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
function EndEstimateCaching() : Unit
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Instructs the resource estimator to stop estimates caching
|
|
24
|
+
because the code fragment in consideration is over. This function
|
|
25
|
+
is only available when using resource estimator execution target.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.EndRepeatEstimates
|
|
3
|
+
title: EndRepeatEstimates operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: EndRepeatEstimates
|
|
9
|
+
qsharp.summary: Companion operation to `BeginRepeatEstimates`.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# EndRepeatEstimates operation
|
|
13
|
+
|
|
14
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
15
|
+
|
|
16
|
+
```qsharp
|
|
17
|
+
operation EndRepeatEstimates() : Unit is Adj
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Summary
|
|
21
|
+
|
|
22
|
+
Companion operation to `BeginRepeatEstimates`.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.MeasurementCount
|
|
3
|
+
title: MeasurementCount function
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: MeasurementCount
|
|
9
|
+
qsharp.summary: Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
10
|
+
to specify that the number Measurements is equal to the `amount`.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# MeasurementCount function
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
function MeasurementCount(amount : Int) : (Int, Int)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
23
|
+
to specify that the number Measurements is equal to the `amount`.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.PSSPCLayout
|
|
3
|
+
title: PSSPCLayout function
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: PSSPCLayout
|
|
9
|
+
qsharp.summary: Pass the value returned by the function to the `AccountForEstimates` operation
|
|
10
|
+
to indicate Parallel Synthesis Sequential Pauli Computation (PSSPC) layout.
|
|
11
|
+
See https://arxiv.org/pdf/2211.07629.pdf for details.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# PSSPCLayout function
|
|
15
|
+
|
|
16
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
function PSSPCLayout() : Int
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Pass the value returned by the function to the `AccountForEstimates` operation
|
|
24
|
+
to indicate Parallel Synthesis Sequential Pauli Computation (PSSPC) layout.
|
|
25
|
+
See https://arxiv.org/pdf/2211.07629.pdf for details.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.RepeatEstimates
|
|
3
|
+
title: RepeatEstimates operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: RepeatEstimates
|
|
9
|
+
qsharp.summary: Instructs the resource estimator to assume that the resources from the
|
|
10
|
+
call of this operation until a call to `Adjoint RepeatEstimates` are
|
|
11
|
+
accounted for `count` times, without the need to execute the code that many
|
|
12
|
+
times.
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# RepeatEstimates operation
|
|
16
|
+
|
|
17
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
18
|
+
|
|
19
|
+
```qsharp
|
|
20
|
+
operation RepeatEstimates(count : Int) : Unit is Adj
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Summary
|
|
24
|
+
|
|
25
|
+
Instructs the resource estimator to assume that the resources from the
|
|
26
|
+
call of this operation until a call to `Adjoint RepeatEstimates` are
|
|
27
|
+
accounted for `count` times, without the need to execute the code that many
|
|
28
|
+
times.
|
|
29
|
+
|
|
30
|
+
## Input
|
|
31
|
+
### count
|
|
32
|
+
Assumed number of repetitions, factor to multiply the cost with
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.RotationCount
|
|
3
|
+
title: RotationCount function
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: RotationCount
|
|
9
|
+
qsharp.summary: Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
10
|
+
to specify that the number of rotations is equal to the `amount`.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# RotationCount function
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
function RotationCount(amount : Int) : (Int, Int)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
23
|
+
to specify that the number of rotations is equal to the `amount`.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.RotationDepth
|
|
3
|
+
title: RotationDepth function
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: RotationDepth
|
|
9
|
+
qsharp.summary: Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
10
|
+
to specify that the rotation depth is equal to the `amount`.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# RotationDepth function
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
function RotationDepth(amount : Int) : (Int, Int)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
23
|
+
to specify that the rotation depth is equal to the `amount`.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.SingleVariant
|
|
3
|
+
title: SingleVariant function
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: SingleVariant
|
|
9
|
+
qsharp.summary: Used to specify that there's only one execution variant in `BeginEstimateCaching`
|
|
10
|
+
function
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# SingleVariant function
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
function SingleVariant() : Int
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Used to specify that there's only one execution variant in `BeginEstimateCaching`
|
|
23
|
+
function
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.ResourceEstimation.TCount
|
|
3
|
+
title: TCount function
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: function
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.ResourceEstimation
|
|
8
|
+
qsharp.name: TCount
|
|
9
|
+
qsharp.summary: Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
10
|
+
to specify that the number of the T gates is equal to the `amount`.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# TCount function
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.ResourceEstimation](xref:Microsoft.Quantum.ResourceEstimation)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
function TCount(amount : Int) : (Int, Int)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Returns a tuple that can be passed to the `AccountForEstimates` operation
|
|
23
|
+
to specify that the number of the T gates is equal to the `amount`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.Unstable.Arithmetic.AddLE
|
|
3
|
+
title: AddLE operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
8
|
+
qsharp.name: AddLE
|
|
9
|
+
qsharp.summary: Sets a zero-initialized little-endian register zs to the sum of
|
|
10
|
+
little-endian registers xs and ys
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# AddLE operation
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.Unstable.Arithmetic](xref:Microsoft.Quantum.Unstable.Arithmetic)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
operation AddLE(xs : Qubit[], ys : Qubit[], zs : Qubit[]) : Unit is Adj
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Sets a zero-initialized little-endian register zs to the sum of
|
|
23
|
+
little-endian registers xs and ys
|
|
24
|
+
|
|
25
|
+
## Description
|
|
26
|
+
Computes zs := xs + ys modulo 2ⁿ, where xs, ys, and zs are little-endian registers,
|
|
27
|
+
Length(xs) = Length(ys) ≤ Length(zs) = n, assuming zs is 0-initialized.
|
|
28
|
+
NOTE: Use operations like RippleCarryCGAddLE directly if
|
|
29
|
+
the choice of implementation is important.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.Unstable.Arithmetic.ApplyIfEqualL
|
|
3
|
+
title: ApplyIfEqualL operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
8
|
+
qsharp.name: ApplyIfEqualL
|
|
9
|
+
qsharp.summary: Computes `if (c == x) { action(target) }`, that is, applies `action` to `target`
|
|
10
|
+
if a BigInt value `c` is equal to the little-endian qubit register `x`
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ApplyIfEqualL operation
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.Unstable.Arithmetic](xref:Microsoft.Quantum.Unstable.Arithmetic)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
operation ApplyIfEqualL<'T>(action : ('T => Unit is Adj + Ctl), c : BigInt, xs : Qubit[], target : 'T) : Unit is Adj + Ctl
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Computes `if (c == x) { action(target) }`, that is, applies `action` to `target`
|
|
23
|
+
if a BigInt value `c` is equal to the little-endian qubit register `x`
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.Unstable.Arithmetic.ApplyIfEqualLE
|
|
3
|
+
title: ApplyIfEqualLE operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
8
|
+
qsharp.name: ApplyIfEqualLE
|
|
9
|
+
qsharp.summary: Computes `if x == y { action(target) }`, that is, applies `action` to `target`
|
|
10
|
+
if register `x` is equal to the register `y`.
|
|
11
|
+
Both qubit registers should be in a little-endian format.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# ApplyIfEqualLE operation
|
|
15
|
+
|
|
16
|
+
Namespace: [Microsoft.Quantum.Unstable.Arithmetic](xref:Microsoft.Quantum.Unstable.Arithmetic)
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation ApplyIfEqualLE<'T>(action : ('T => Unit is Adj + Ctl), x : Qubit[], y : Qubit[], target : 'T) : Unit is Adj + Ctl
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Computes `if x == y { action(target) }`, that is, applies `action` to `target`
|
|
24
|
+
if register `x` is equal to the register `y`.
|
|
25
|
+
Both qubit registers should be in a little-endian format.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.Unstable.Arithmetic.ApplyIfGreaterL
|
|
3
|
+
title: ApplyIfGreaterL operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
8
|
+
qsharp.name: ApplyIfGreaterL
|
|
9
|
+
qsharp.summary: Computes `if (c > x) { action(target) }`, that is, applies `action` to `target`
|
|
10
|
+
if a BigInt value `c` is greater than the little-endian qubit register `x`
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ApplyIfGreaterL operation
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.Unstable.Arithmetic](xref:Microsoft.Quantum.Unstable.Arithmetic)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
operation ApplyIfGreaterL<'T>(action : ('T => Unit is Adj + Ctl), c : BigInt, x : Qubit[], target : 'T) : Unit is Adj + Ctl
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Computes `if (c > x) { action(target) }`, that is, applies `action` to `target`
|
|
23
|
+
if a BigInt value `c` is greater than the little-endian qubit register `x`
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.Unstable.Arithmetic.ApplyIfGreaterLE
|
|
3
|
+
title: ApplyIfGreaterLE operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
8
|
+
qsharp.name: ApplyIfGreaterLE
|
|
9
|
+
qsharp.summary: Computes `if x > y { action(target) }`, that is, applies `action` to `target`
|
|
10
|
+
if register `x` is greater than the register `y`.
|
|
11
|
+
Both qubit registers should be in a little-endian format.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# ApplyIfGreaterLE operation
|
|
15
|
+
|
|
16
|
+
Namespace: [Microsoft.Quantum.Unstable.Arithmetic](xref:Microsoft.Quantum.Unstable.Arithmetic)
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation ApplyIfGreaterLE<'T>(action : ('T => Unit is Adj + Ctl), x : Qubit[], y : Qubit[], target : 'T) : Unit is Adj + Ctl
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Computes `if x > y { action(target) }`, that is, applies `action` to `target`
|
|
24
|
+
if register `x` is greater than the register `y`.
|
|
25
|
+
Both qubit registers should be in a little-endian format.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.Unstable.Arithmetic.ApplyIfGreaterOrEqualL
|
|
3
|
+
title: ApplyIfGreaterOrEqualL operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
8
|
+
qsharp.name: ApplyIfGreaterOrEqualL
|
|
9
|
+
qsharp.summary: Computes `if (c >= x) { action(target) }`, that is, applies `action` to `target`
|
|
10
|
+
if a BigInt value `c` is greater or equal to the little-endian qubit register `x`
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ApplyIfGreaterOrEqualL operation
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.Unstable.Arithmetic](xref:Microsoft.Quantum.Unstable.Arithmetic)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
operation ApplyIfGreaterOrEqualL<'T>(action : ('T => Unit is Adj + Ctl), c : BigInt, x : Qubit[], target : 'T) : Unit is Adj + Ctl
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Computes `if (c >= x) { action(target) }`, that is, applies `action` to `target`
|
|
23
|
+
if a BigInt value `c` is greater or equal to the little-endian qubit register `x`
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.Unstable.Arithmetic.ApplyIfGreaterOrEqualLE
|
|
3
|
+
title: ApplyIfGreaterOrEqualLE operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
8
|
+
qsharp.name: ApplyIfGreaterOrEqualLE
|
|
9
|
+
qsharp.summary: Computes `if x >= y { action(target) }`, that is, applies `action` to `target`
|
|
10
|
+
if register `x` is greater or equal to the register `y`.
|
|
11
|
+
Both qubit registers should be in a little-endian format.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# ApplyIfGreaterOrEqualLE operation
|
|
15
|
+
|
|
16
|
+
Namespace: [Microsoft.Quantum.Unstable.Arithmetic](xref:Microsoft.Quantum.Unstable.Arithmetic)
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation ApplyIfGreaterOrEqualLE<'T>(action : ('T => Unit is Adj + Ctl), x : Qubit[], y : Qubit[], target : 'T) : Unit is Adj + Ctl
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Computes `if x >= y { action(target) }`, that is, applies `action` to `target`
|
|
24
|
+
if register `x` is greater or equal to the register `y`.
|
|
25
|
+
Both qubit registers should be in a little-endian format.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.Unstable.Arithmetic.ApplyIfLessL
|
|
3
|
+
title: ApplyIfLessL operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
8
|
+
qsharp.name: ApplyIfLessL
|
|
9
|
+
qsharp.summary: Computes `if (c < x) { action(target) }`, that is, applies `action` to `target`
|
|
10
|
+
if a BigInt value `c` is less than the little-endian qubit register `x`
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ApplyIfLessL operation
|
|
14
|
+
|
|
15
|
+
Namespace: [Microsoft.Quantum.Unstable.Arithmetic](xref:Microsoft.Quantum.Unstable.Arithmetic)
|
|
16
|
+
|
|
17
|
+
```qsharp
|
|
18
|
+
operation ApplyIfLessL<'T>(action : ('T => Unit is Adj + Ctl), c : BigInt, x : Qubit[], target : 'T) : Unit is Adj + Ctl
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
Computes `if (c < x) { action(target) }`, that is, applies `action` to `target`
|
|
23
|
+
if a BigInt value `c` is less than the little-endian qubit register `x`
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
uid: Microsoft.Quantum.Unstable.Arithmetic.ApplyIfLessLE
|
|
3
|
+
title: ApplyIfLessLE operation
|
|
4
|
+
ms.date: 02/16/2024 12:00:00 AM
|
|
5
|
+
ms.topic: managed-reference
|
|
6
|
+
qsharp.kind: opeartion
|
|
7
|
+
qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
|
|
8
|
+
qsharp.name: ApplyIfLessLE
|
|
9
|
+
qsharp.summary: Computes `if x < y { action(target) }`, that is, applies `action` to `target`
|
|
10
|
+
if register `x` is less than the register `y`.
|
|
11
|
+
Both qubit registers should be in a little-endian format.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# ApplyIfLessLE operation
|
|
15
|
+
|
|
16
|
+
Namespace: [Microsoft.Quantum.Unstable.Arithmetic](xref:Microsoft.Quantum.Unstable.Arithmetic)
|
|
17
|
+
|
|
18
|
+
```qsharp
|
|
19
|
+
operation ApplyIfLessLE<'T>(action : ('T => Unit is Adj + Ctl), x : Qubit[], y : Qubit[], target : 'T) : Unit is Adj + Ctl
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
Computes `if x < y { action(target) }`, that is, applies `action` to `target`
|
|
24
|
+
if register `x` is less than the register `y`.
|
|
25
|
+
Both qubit registers should be in a little-endian format.
|