qsharp-lang 1.16.0 → 1.16.1-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 +2 -2
- package/dist/compiler/compiler.d.ts +3 -1
- package/dist/compiler/compiler.js +5 -1
- package/dist/samples.generated.js +1 -1
- package/dist/utils.d.ts +8 -0
- package/dist/utils.js +22 -8
- package/docs/Microsoft.Quantum.Core/Length.md +1 -1
- package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
- package/docs/Microsoft.Quantum.Core/index.md +1 -1
- package/docs/Std.Arithmetic/AddLE.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfEqualL.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfEqualLE.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfGreaterL.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfGreaterLE.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfLessL.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfLessLE.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
- package/docs/Std.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
- package/docs/Std.Arithmetic/FourierTDIncByLE.md +1 -1
- package/docs/Std.Arithmetic/IncByI.md +1 -1
- package/docs/Std.Arithmetic/IncByIUsingIncByLE.md +1 -1
- package/docs/Std.Arithmetic/IncByL.md +1 -1
- package/docs/Std.Arithmetic/IncByLE.md +1 -1
- package/docs/Std.Arithmetic/IncByLEUsingAddLE.md +1 -1
- package/docs/Std.Arithmetic/IncByLUsingIncByLE.md +1 -1
- package/docs/Std.Arithmetic/LookAheadDKRSAddLE.md +1 -1
- package/docs/Std.Arithmetic/MAJ.md +1 -1
- package/docs/Std.Arithmetic/ReflectAboutInteger.md +1 -1
- package/docs/Std.Arithmetic/RippleCarryCGAddLE.md +1 -1
- package/docs/Std.Arithmetic/RippleCarryCGIncByLE.md +1 -1
- package/docs/Std.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
- package/docs/Std.Arithmetic/index.md +1 -1
- package/docs/Std.Arrays/All.md +1 -1
- package/docs/Std.Arrays/Any.md +1 -1
- package/docs/Std.Arrays/Chunks.md +1 -1
- package/docs/Std.Arrays/CircularlyShifted.md +1 -1
- package/docs/Std.Arrays/ColumnAt.md +1 -1
- package/docs/Std.Arrays/Count.md +1 -1
- package/docs/Std.Arrays/Diagonal.md +1 -1
- package/docs/Std.Arrays/DrawMany.md +1 -1
- package/docs/Std.Arrays/Enumerated.md +1 -1
- package/docs/Std.Arrays/Excluding.md +1 -1
- package/docs/Std.Arrays/Filtered.md +1 -1
- package/docs/Std.Arrays/FlatMapped.md +1 -1
- package/docs/Std.Arrays/Flattened.md +1 -1
- package/docs/Std.Arrays/Fold.md +1 -1
- package/docs/Std.Arrays/ForEach.md +1 -1
- package/docs/Std.Arrays/Head.md +1 -1
- package/docs/Std.Arrays/HeadAndRest.md +1 -1
- package/docs/Std.Arrays/IndexOf.md +1 -1
- package/docs/Std.Arrays/IndexRange.md +1 -1
- package/docs/Std.Arrays/Interleaved.md +1 -1
- package/docs/Std.Arrays/IsEmpty.md +1 -1
- package/docs/Std.Arrays/IsRectangularArray.md +1 -1
- package/docs/Std.Arrays/IsSorted.md +1 -1
- package/docs/Std.Arrays/IsSquareArray.md +1 -1
- package/docs/Std.Arrays/Mapped.md +1 -1
- package/docs/Std.Arrays/MappedByIndex.md +1 -1
- package/docs/Std.Arrays/MappedOverRange.md +1 -1
- package/docs/Std.Arrays/Most.md +1 -1
- package/docs/Std.Arrays/MostAndTail.md +1 -1
- package/docs/Std.Arrays/Padded.md +1 -1
- package/docs/Std.Arrays/Partitioned.md +1 -1
- package/docs/Std.Arrays/Rest.md +1 -1
- package/docs/Std.Arrays/Reversed.md +1 -1
- package/docs/Std.Arrays/SequenceI.md +1 -1
- package/docs/Std.Arrays/SequenceL.md +1 -1
- package/docs/Std.Arrays/Sorted.md +1 -1
- package/docs/Std.Arrays/Subarray.md +1 -1
- package/docs/Std.Arrays/Swapped.md +1 -1
- package/docs/Std.Arrays/Tail.md +1 -1
- package/docs/Std.Arrays/Transposed.md +1 -1
- package/docs/Std.Arrays/Unzipped.md +1 -1
- package/docs/Std.Arrays/Where.md +1 -1
- package/docs/Std.Arrays/Windows.md +1 -1
- package/docs/Std.Arrays/Zipped.md +1 -1
- package/docs/Std.Arrays/index.md +1 -1
- package/docs/Std.Canon/ApplyCNOTChain.md +1 -1
- package/docs/Std.Canon/ApplyControlledOnBitString.md +1 -1
- package/docs/Std.Canon/ApplyControlledOnInt.md +1 -1
- package/docs/Std.Canon/ApplyOperationPowerA.md +1 -1
- package/docs/Std.Canon/ApplyP.md +1 -1
- package/docs/Std.Canon/ApplyPauli.md +1 -1
- package/docs/Std.Canon/ApplyPauliFromBitString.md +1 -1
- package/docs/Std.Canon/ApplyPauliFromInt.md +1 -1
- package/docs/Std.Canon/ApplyQFT.md +1 -1
- package/docs/Std.Canon/ApplyToEach.md +1 -1
- package/docs/Std.Canon/ApplyToEachA.md +1 -1
- package/docs/Std.Canon/ApplyToEachC.md +1 -1
- package/docs/Std.Canon/ApplyToEachCA.md +1 -1
- package/docs/Std.Canon/ApplyXorInPlace.md +1 -1
- package/docs/Std.Canon/ApplyXorInPlaceL.md +1 -1
- package/docs/Std.Canon/CX.md +1 -1
- package/docs/Std.Canon/CY.md +1 -1
- package/docs/Std.Canon/CZ.md +1 -1
- package/docs/Std.Canon/Fst.md +1 -1
- package/docs/Std.Canon/Relabel.md +1 -1
- package/docs/Std.Canon/Snd.md +1 -1
- package/docs/Std.Canon/SwapReverseRegister.md +1 -1
- package/docs/Std.Canon/index.md +1 -1
- package/docs/Std.Convert/BigIntAsBoolArray.md +1 -1
- package/docs/Std.Convert/BigIntAsInt.md +1 -1
- package/docs/Std.Convert/BoolArrayAsBigInt.md +1 -1
- package/docs/Std.Convert/BoolArrayAsInt.md +1 -1
- package/docs/Std.Convert/BoolArrayAsResultArray.md +1 -1
- package/docs/Std.Convert/BoolAsResult.md +1 -1
- package/docs/Std.Convert/ComplexAsComplexPolar.md +1 -1
- package/docs/Std.Convert/ComplexPolarAsComplex.md +1 -1
- package/docs/Std.Convert/DoubleAsStringWithPrecision.md +1 -1
- package/docs/Std.Convert/IntAsBigInt.md +1 -1
- package/docs/Std.Convert/IntAsBoolArray.md +1 -1
- package/docs/Std.Convert/IntAsDouble.md +1 -1
- package/docs/Std.Convert/ResultArrayAsBoolArray.md +1 -1
- package/docs/Std.Convert/ResultArrayAsInt.md +1 -1
- package/docs/Std.Convert/ResultAsBool.md +1 -1
- package/docs/Std.Convert/index.md +1 -1
- package/docs/Std.Core/Length.md +1 -1
- package/docs/Std.Core/Repeated.md +1 -1
- package/docs/Std.Core/index.md +1 -1
- package/docs/Std.Diagnostics/ApplyIdleNoise.md +1 -1
- package/docs/Std.Diagnostics/BitFlipNoise.md +1 -1
- package/docs/Std.Diagnostics/CheckAllZero.md +1 -1
- package/docs/Std.Diagnostics/CheckOperationsAreEqual.md +1 -1
- package/docs/Std.Diagnostics/CheckZero.md +1 -1
- package/docs/Std.Diagnostics/ConfigurePauliNoise.md +1 -1
- package/docs/Std.Diagnostics/DepolarizingNoise.md +1 -1
- package/docs/Std.Diagnostics/DumpMachine.md +1 -1
- package/docs/Std.Diagnostics/DumpOperation.md +1 -1
- package/docs/Std.Diagnostics/DumpRegister.md +1 -1
- package/docs/Std.Diagnostics/Fact.md +1 -1
- package/docs/Std.Diagnostics/NoNoise.md +1 -1
- package/docs/Std.Diagnostics/PhaseFlipNoise.md +1 -1
- package/docs/Std.Diagnostics/StartCountingFunction.md +1 -1
- package/docs/Std.Diagnostics/StartCountingOperation.md +1 -1
- package/docs/Std.Diagnostics/StartCountingQubits.md +1 -1
- package/docs/Std.Diagnostics/StopCountingFunction.md +1 -1
- package/docs/Std.Diagnostics/StopCountingOperation.md +1 -1
- package/docs/Std.Diagnostics/StopCountingQubits.md +1 -1
- package/docs/Std.Diagnostics/index.md +1 -1
- package/docs/Std.Intrinsic/AND.md +1 -1
- package/docs/Std.Intrinsic/ApplyUnitary.md +1 -1
- package/docs/Std.Intrinsic/CCNOT.md +1 -1
- package/docs/Std.Intrinsic/CNOT.md +1 -1
- package/docs/Std.Intrinsic/Exp.md +1 -1
- package/docs/Std.Intrinsic/H.md +1 -1
- package/docs/Std.Intrinsic/I.md +1 -1
- package/docs/Std.Intrinsic/M.md +1 -1
- package/docs/Std.Intrinsic/Measure.md +1 -1
- package/docs/Std.Intrinsic/Message.md +1 -1
- package/docs/Std.Intrinsic/R.md +1 -1
- package/docs/Std.Intrinsic/R1.md +1 -1
- package/docs/Std.Intrinsic/R1Frac.md +1 -1
- package/docs/Std.Intrinsic/RFrac.md +1 -1
- package/docs/Std.Intrinsic/Reset.md +1 -1
- package/docs/Std.Intrinsic/ResetAll.md +1 -1
- package/docs/Std.Intrinsic/Rx.md +1 -1
- package/docs/Std.Intrinsic/Rxx.md +1 -1
- package/docs/Std.Intrinsic/Ry.md +1 -1
- package/docs/Std.Intrinsic/Ryy.md +1 -1
- package/docs/Std.Intrinsic/Rz.md +1 -1
- package/docs/Std.Intrinsic/Rzz.md +1 -1
- package/docs/Std.Intrinsic/S.md +1 -1
- package/docs/Std.Intrinsic/SWAP.md +1 -1
- package/docs/Std.Intrinsic/SX.md +38 -0
- package/docs/Std.Intrinsic/T.md +1 -1
- package/docs/Std.Intrinsic/X.md +1 -1
- package/docs/Std.Intrinsic/Y.md +1 -1
- package/docs/Std.Intrinsic/Z.md +1 -1
- package/docs/Std.Intrinsic/index.md +2 -1
- package/docs/Std.Logical/Xor.md +1 -1
- package/docs/Std.Logical/index.md +1 -1
- package/docs/Std.Math/AbsComplex.md +1 -1
- package/docs/Std.Math/AbsComplexPolar.md +1 -1
- package/docs/Std.Math/AbsD.md +1 -1
- package/docs/Std.Math/AbsI.md +1 -1
- package/docs/Std.Math/AbsL.md +1 -1
- package/docs/Std.Math/AbsSquaredComplex.md +1 -1
- package/docs/Std.Math/AbsSquaredComplexPolar.md +1 -1
- package/docs/Std.Math/ApproximateFactorial.md +1 -1
- package/docs/Std.Math/ArcCos.md +1 -1
- package/docs/Std.Math/ArcCosh.md +1 -1
- package/docs/Std.Math/ArcSin.md +1 -1
- package/docs/Std.Math/ArcSinh.md +1 -1
- package/docs/Std.Math/ArcTan.md +1 -1
- package/docs/Std.Math/ArcTan2.md +1 -1
- package/docs/Std.Math/ArcTanh.md +1 -1
- package/docs/Std.Math/ArgComplex.md +1 -1
- package/docs/Std.Math/ArgComplexPolar.md +1 -1
- package/docs/Std.Math/Binom.md +1 -1
- package/docs/Std.Math/BitSizeI.md +1 -1
- package/docs/Std.Math/BitSizeL.md +1 -1
- package/docs/Std.Math/Ceiling.md +1 -1
- package/docs/Std.Math/Complex.md +1 -1
- package/docs/Std.Math/ComplexPolar.md +1 -1
- package/docs/Std.Math/ContinuedFractionConvergentI.md +1 -1
- package/docs/Std.Math/ContinuedFractionConvergentL.md +1 -1
- package/docs/Std.Math/Cos.md +1 -1
- package/docs/Std.Math/Cosh.md +1 -1
- package/docs/Std.Math/DivRemI.md +1 -1
- package/docs/Std.Math/DivRemL.md +1 -1
- package/docs/Std.Math/DividedByC.md +1 -1
- package/docs/Std.Math/DividedByCP.md +1 -1
- package/docs/Std.Math/E.md +1 -1
- package/docs/Std.Math/ExpModI.md +1 -1
- package/docs/Std.Math/ExpModL.md +1 -1
- package/docs/Std.Math/ExtendedGreatestCommonDivisorI.md +1 -1
- package/docs/Std.Math/ExtendedGreatestCommonDivisorL.md +1 -1
- package/docs/Std.Math/FactorialI.md +1 -1
- package/docs/Std.Math/FactorialL.md +1 -1
- package/docs/Std.Math/Floor.md +1 -1
- package/docs/Std.Math/GreatestCommonDivisorI.md +1 -1
- package/docs/Std.Math/GreatestCommonDivisorL.md +1 -1
- package/docs/Std.Math/HammingWeightI.md +1 -1
- package/docs/Std.Math/InverseModI.md +1 -1
- package/docs/Std.Math/InverseModL.md +1 -1
- package/docs/Std.Math/IsCoprimeI.md +1 -1
- package/docs/Std.Math/IsCoprimeL.md +1 -1
- package/docs/Std.Math/IsInfinite.md +1 -1
- package/docs/Std.Math/IsNaN.md +1 -1
- package/docs/Std.Math/LargestFixedPoint.md +1 -1
- package/docs/Std.Math/Lg.md +1 -1
- package/docs/Std.Math/Log.md +1 -1
- package/docs/Std.Math/Log10.md +1 -1
- package/docs/Std.Math/LogFactorialD.md +1 -1
- package/docs/Std.Math/LogGammaD.md +1 -1
- package/docs/Std.Math/LogOf2.md +1 -1
- package/docs/Std.Math/Max.md +1 -1
- package/docs/Std.Math/MaxD.md +1 -1
- package/docs/Std.Math/MaxI.md +1 -1
- package/docs/Std.Math/MaxL.md +1 -1
- package/docs/Std.Math/Min.md +1 -1
- package/docs/Std.Math/MinD.md +1 -1
- package/docs/Std.Math/MinI.md +1 -1
- package/docs/Std.Math/MinL.md +1 -1
- package/docs/Std.Math/MinusC.md +1 -1
- package/docs/Std.Math/MinusCP.md +1 -1
- package/docs/Std.Math/ModulusI.md +1 -1
- package/docs/Std.Math/ModulusL.md +1 -1
- package/docs/Std.Math/NegationC.md +1 -1
- package/docs/Std.Math/NegationCP.md +1 -1
- package/docs/Std.Math/PI.md +1 -1
- package/docs/Std.Math/PNorm.md +1 -1
- package/docs/Std.Math/PNormalized.md +1 -1
- package/docs/Std.Math/PlusC.md +1 -1
- package/docs/Std.Math/PlusCP.md +1 -1
- package/docs/Std.Math/PowC.md +1 -1
- package/docs/Std.Math/PowCP.md +1 -1
- package/docs/Std.Math/RealMod.md +1 -1
- package/docs/Std.Math/Round.md +1 -1
- package/docs/Std.Math/RoundHalfAwayFromZero.md +1 -1
- package/docs/Std.Math/SignD.md +1 -1
- package/docs/Std.Math/SignI.md +1 -1
- package/docs/Std.Math/SignL.md +1 -1
- package/docs/Std.Math/Sin.md +1 -1
- package/docs/Std.Math/Sinh.md +1 -1
- package/docs/Std.Math/SmallestFixedPoint.md +1 -1
- package/docs/Std.Math/Sqrt.md +1 -1
- package/docs/Std.Math/SquaredNorm.md +1 -1
- package/docs/Std.Math/Tan.md +1 -1
- package/docs/Std.Math/Tanh.md +1 -1
- package/docs/Std.Math/TimesC.md +1 -1
- package/docs/Std.Math/TimesCP.md +1 -1
- package/docs/Std.Math/TrailingZeroCountI.md +1 -1
- package/docs/Std.Math/TrailingZeroCountL.md +1 -1
- package/docs/Std.Math/Truncate.md +1 -1
- package/docs/Std.Math/index.md +1 -1
- package/docs/Std.Measurement/MResetEachZ.md +1 -1
- package/docs/Std.Measurement/MResetX.md +1 -1
- package/docs/Std.Measurement/MResetY.md +1 -1
- package/docs/Std.Measurement/MResetZ.md +1 -1
- package/docs/Std.Measurement/MeasureAllZ.md +1 -1
- package/docs/Std.Measurement/MeasureEachZ.md +1 -1
- package/docs/Std.Measurement/MeasureInteger.md +1 -1
- package/docs/Std.Measurement/index.md +1 -1
- package/docs/Std.Random/DrawRandomBool.md +1 -1
- package/docs/Std.Random/DrawRandomDouble.md +1 -1
- package/docs/Std.Random/DrawRandomInt.md +1 -1
- package/docs/Std.Random/index.md +1 -1
- package/docs/Std.Range/IsRangeEmpty.md +1 -1
- package/docs/Std.Range/RangeEnd.md +1 -1
- package/docs/Std.Range/RangeReverse.md +1 -1
- package/docs/Std.Range/RangeStart.md +1 -1
- package/docs/Std.Range/RangeStep.md +1 -1
- package/docs/Std.Range/index.md +1 -1
- package/docs/Std.ResourceEstimation/AccountForEstimates.md +1 -1
- package/docs/Std.ResourceEstimation/AuxQubitCount.md +1 -1
- package/docs/Std.ResourceEstimation/BeginEstimateCaching.md +1 -1
- package/docs/Std.ResourceEstimation/BeginRepeatEstimates.md +1 -1
- package/docs/Std.ResourceEstimation/CczCount.md +1 -1
- package/docs/Std.ResourceEstimation/EndEstimateCaching.md +1 -1
- package/docs/Std.ResourceEstimation/EndRepeatEstimates.md +1 -1
- package/docs/Std.ResourceEstimation/MeasurementCount.md +1 -1
- package/docs/Std.ResourceEstimation/PSSPCLayout.md +1 -1
- package/docs/Std.ResourceEstimation/RepeatEstimates.md +1 -1
- package/docs/Std.ResourceEstimation/RotationCount.md +1 -1
- package/docs/Std.ResourceEstimation/RotationDepth.md +1 -1
- package/docs/Std.ResourceEstimation/SingleVariant.md +1 -1
- package/docs/Std.ResourceEstimation/TCount.md +1 -1
- package/docs/Std.ResourceEstimation/index.md +1 -1
- package/docs/Std.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
- package/docs/Std.StatePreparation/PreparePureStateD.md +1 -1
- package/docs/Std.StatePreparation/PrepareUniformSuperposition.md +1 -1
- package/docs/Std.StatePreparation/index.md +1 -1
- package/docs/Std.TableLookup/Select.md +1 -1
- package/docs/Std.TableLookup/index.md +1 -1
- package/docs/index.md +1 -1
- package/docs/toc.yml +1 -0
- package/lib/node/qsc_wasm.cjs +22 -4
- package/lib/node/qsc_wasm.d.cts +10 -0
- package/lib/node/qsc_wasm_bg.wasm +0 -0
- package/lib/web/qsc_wasm.d.ts +11 -0
- package/lib/web/qsc_wasm.js +21 -4
- package/lib/web/qsc_wasm_bg.wasm +0 -0
- package/package.json +1 -1
- package/ux/circuit-vis/circuitManipulation.ts +145 -48
- package/ux/circuit-vis/contextMenu.ts +1 -1
- package/ux/circuit-vis/draggable.ts +288 -112
- package/ux/circuit-vis/events.ts +433 -199
- package/ux/circuit-vis/formatters/inputFormatter.ts +9 -4
- package/ux/circuit-vis/panel.ts +37 -34
- package/ux/circuit-vis/process.ts +1 -1
- package/ux/circuit-vis/sqore.ts +2 -2
- package/ux/circuit-vis/utils.ts +17 -1
- package/ux/qsharp-circuit.css +2 -35
package/dist/browser.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as wasm from "../lib/web/qsc_wasm.js";
|
|
2
|
-
import { IProjectHost, TargetProfile } from "../lib/web/qsc_wasm.js";
|
|
2
|
+
import { IProjectHost, TargetProfile, ProjectType } from "../lib/web/qsc_wasm.js";
|
|
3
3
|
import { ICompiler, ICompilerWorker } from "./compiler/compiler.js";
|
|
4
4
|
import { IDebugService, IDebugServiceWorker } from "./debug-service/debug-service.js";
|
|
5
5
|
import { ILanguageService, ILanguageServiceWorker, qsharpGithubUriScheme, qsharpLibraryUriScheme } from "./language-service/language-service.js";
|
|
@@ -21,7 +21,7 @@ export { type CompilerState, type ProgramConfig } from "./compiler/compiler.js";
|
|
|
21
21
|
export { QscEventTarget } from "./compiler/events.js";
|
|
22
22
|
export type { LanguageServiceDiagnosticEvent, LanguageServiceEvent, LanguageServiceTestCallablesEvent, } from "./language-service/language-service.js";
|
|
23
23
|
export { default as samples } from "./samples.generated.js";
|
|
24
|
-
export { log, type LogLevel, type TargetProfile };
|
|
24
|
+
export { log, type LogLevel, type TargetProfile, type ProjectType };
|
|
25
25
|
export type { ICompiler, ICompilerWorker, IDebugService, IDebugServiceWorker, ILanguageService, ILanguageServiceWorker, };
|
|
26
26
|
export * as utils from "./utils.js";
|
|
27
27
|
export type { CircuitGroup as CircuitData } from "./shared/circuit.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type CircuitGroup as CircuitData } from "../shared/circuit.js";
|
|
2
|
-
import { IDocFile, IOperationInfo, IPackageGraphSources, IProgramConfig as wasmIProgramConfig, TargetProfile, type VSDiagnostic } from "../../lib/web/qsc_wasm.js";
|
|
2
|
+
import { IDocFile, IOperationInfo, IPackageGraphSources, IProgramConfig as wasmIProgramConfig, TargetProfile, type VSDiagnostic, ProjectType } from "../../lib/web/qsc_wasm.js";
|
|
3
3
|
import { IServiceProxy, ServiceProtocol, ServiceState } from "../workers/common.js";
|
|
4
4
|
import { IQscEventTarget, QscEventData } from "./events.js";
|
|
5
5
|
type Wasm = typeof import("../../lib/web/qsc_wasm.js");
|
|
@@ -31,6 +31,8 @@ export type ProgramConfig = ({
|
|
|
31
31
|
}) & {
|
|
32
32
|
/** Target compilation profile. */
|
|
33
33
|
profile?: TargetProfile;
|
|
34
|
+
/** The type of project. This is used to determine how to load the project. */
|
|
35
|
+
projectType?: ProjectType;
|
|
34
36
|
};
|
|
35
37
|
export type ICompilerWorker = ICompiler & IServiceProxy;
|
|
36
38
|
export type CompilerState = ServiceState;
|
|
@@ -100,7 +100,11 @@ export function toWasmProgramConfig(program, defaultProfile) {
|
|
|
100
100
|
// A full package graph is passed in.
|
|
101
101
|
packageGraphSources = program.packageGraphSources;
|
|
102
102
|
}
|
|
103
|
-
return {
|
|
103
|
+
return {
|
|
104
|
+
packageGraphSources,
|
|
105
|
+
profile: program.profile || defaultProfile,
|
|
106
|
+
projectType: program.projectType || "qsharp",
|
|
107
|
+
};
|
|
104
108
|
}
|
|
105
109
|
export function onCompilerEvent(msg, eventTarget) {
|
|
106
110
|
const qscMsg = eventStringToMsg(msg);
|
|
@@ -57,7 +57,7 @@ export default [
|
|
|
57
57
|
{
|
|
58
58
|
"title": "Teleportation",
|
|
59
59
|
"shots": 1,
|
|
60
|
-
"code": "/// # Sample\n/// Quantum Teleportation\n///\n/// # Description\n/// Quantum teleportation provides a way of moving a quantum state from one\n/// location to another without having to move physical particle(s) along with\n/// it. This is done with the help of previously shared quantum entanglement\n/// between the sending and the receiving locations, and classical\n/// communication.\n///\n/// This Q# program implements quantum teleportation.\nimport Std.Diagnostics.*;\nimport Std.Intrinsic.*;\nimport Std.Measurement.*;\n\noperation Main() : Result[] {\n // Use the `Teleport` operation to send different quantum states.\n let stateInitializerBasisTuples = [\n (\"|0〉\", I, PauliZ),\n (\"|1〉\", X, PauliZ),\n (\"|+〉\", SetToPlus, PauliX),\n (\"|-〉\", SetToMinus, PauliX)\n ];\n\n mutable results = [];\n for (state, initializer, basis) in stateInitializerBasisTuples {\n // Allocate the message and target qubits.\n use (message, target) = (Qubit(), Qubit());\n\n // Initialize the message and show its state using the `DumpMachine`\n // function.\n initializer(message);\n Message($\"Teleporting state {state}\");\n DumpRegister([message]);\n\n // Teleport the message and show the quantum state after\n // teleportation.\n Teleport(message, target);\n Message($\"Received state {state}\");\n DumpRegister([target]);\n\n // Measure target in the corresponding basis and reset the qubits to\n // continue teleporting more messages.\n let result = Measure([basis], [target]);\n results += [result];\n ResetAll([message, target]);\n }\n\n return results;\n}\n\n/// # Summary\n/// Sends the state of one qubit to a target qubit by using teleportation.\n///\n/// Notice that after calling Teleport, the state of `message` is collapsed.\n///\n/// # Input\n/// ## message\n/// A qubit whose state we wish to send.\n/// ## target\n/// A qubit initially in the |0〉 state that we want to send\n/// the state of message to.\noperation Teleport(message : Qubit, target : Qubit) : Unit {\n // Allocate an auxiliary qubit.\n use auxiliary = Qubit();\n\n // Create some entanglement that we can use to send our message.\n H(auxiliary);\n CNOT(auxiliary, target);\n\n // Encode the message into the entangled pair.\n CNOT(message, auxiliary);\n H(message);\n\n // Measure the qubits to extract the classical data we need to decode\n // the message by applying the corrections on the target qubit\n // accordingly.\n if M(auxiliary) == One {\n X(target);\n }\n\n if M(message) == One {\n Z(target);\n }\n\n // Reset auxiliary qubit before releasing.\n Reset(auxiliary);\n}\n\n/// # Summary\n/// Sets a qubit in state |0⟩ to |+⟩.\noperation SetToPlus(q : Qubit) : Unit is Adj + Ctl {\n H(q);\n}\n\n/// # Summary\n/// Sets a qubit in state |0⟩ to |−⟩.\noperation SetToMinus(q : Qubit) : Unit is Adj + Ctl {\n X(q);\n H(q);\n}\n"
|
|
60
|
+
"code": "/// # Sample\n/// Quantum Teleportation\n///\n/// # Description\n/// Quantum teleportation provides a way of moving a quantum state from one\n/// location to another without having to move physical particle(s) along with\n/// it. This is done with the help of previously shared quantum entanglement\n/// between the sending and the receiving locations, and classical\n/// communication.\n///\n/// This Q# program implements quantum teleportation.\nimport Std.Diagnostics.*;\nimport Std.Intrinsic.*;\nimport Std.Measurement.*;\n\n\noperation Main() : Result[] {\n // Use the `Teleport` operation to send different quantum states.\n let stateInitializerBasisTuples = [\n (\"|0〉\", I, PauliZ),\n (\"|1〉\", X, PauliZ),\n (\"|+〉\", SetToPlus, PauliX),\n (\"|-〉\", SetToMinus, PauliX)\n ];\n\n mutable results = [];\n for (state, initializer, basis) in stateInitializerBasisTuples {\n // Allocate the message and target qubits.\n use (message, target) = (Qubit(), Qubit());\n\n // Initialize the message and show its state using the `DumpMachine`\n // function.\n initializer(message);\n Message($\"Teleporting state {state}\");\n DumpRegister([message]);\n\n // Teleport the message and show the quantum state after\n // teleportation.\n Teleport(message, target);\n Message($\"Received state {state}\");\n DumpRegister([target]);\n\n // Measure target in the corresponding basis and reset the qubits to\n // continue teleporting more messages.\n let result = Measure([basis], [target]);\n results += [result];\n ResetAll([message, target]);\n }\n\n return results;\n}\n\n/// # Summary\n/// Sends the state of one qubit to a target qubit by using teleportation.\n///\n/// Notice that after calling Teleport, the state of `message` is collapsed.\n///\n/// # Input\n/// ## message\n/// A qubit whose state we wish to send.\n/// ## target\n/// A qubit initially in the |0〉 state that we want to send\n/// the state of message to.\noperation Teleport(message : Qubit, target : Qubit) : Unit {\n // Allocate an auxiliary qubit.\n use auxiliary = Qubit();\n\n // Create some entanglement that we can use to send our message.\n H(auxiliary);\n CNOT(auxiliary, target);\n\n // Encode the message into the entangled pair.\n CNOT(message, auxiliary);\n H(message);\n\n // Measure the qubits to extract the classical data we need to decode\n // the message by applying the corrections on the target qubit\n // accordingly.\n if M(auxiliary) == One {\n X(target);\n }\n\n if M(message) == One {\n Z(target);\n }\n\n // Reset auxiliary qubit before releasing.\n Reset(auxiliary);\n}\n\n/// # Summary\n/// Sets a qubit in state |0⟩ to |+⟩.\noperation SetToPlus(q : Qubit) : Unit is Adj + Ctl {\n H(q);\n}\n\n/// # Summary\n/// Sets a qubit in state |0⟩ to |−⟩.\noperation SetToMinus(q : Qubit) : Unit is Adj + Ctl {\n X(q);\n H(q);\n}\n"
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
"title": "Random Number Generator",
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Operation } from "./shared/circuit.js";
|
|
2
|
+
import { Register } from "./shared/register.js";
|
|
2
3
|
export type Tick = {
|
|
3
4
|
value: number;
|
|
4
5
|
label: string;
|
|
@@ -22,6 +23,13 @@ export declare function getRanges(data: SeriesOfPoints, rangeCoefficient: number
|
|
|
22
23
|
max: number;
|
|
23
24
|
};
|
|
24
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* Returns all registers (targets and controls) involved in an operation.
|
|
28
|
+
*
|
|
29
|
+
* @param operation The operation for which to get the registers.
|
|
30
|
+
* @returns An array of Register objects involved in the operation.
|
|
31
|
+
*/
|
|
32
|
+
export declare function getOperationRegisters(operation: Operation): Register[];
|
|
25
33
|
/**
|
|
26
34
|
* Get the minimum and maximum register indices for a given operation.
|
|
27
35
|
*
|
package/dist/utils.js
CHANGED
|
@@ -146,6 +146,22 @@ export function getRanges(data, rangeCoefficient) {
|
|
|
146
146
|
};
|
|
147
147
|
return { rangeX, rangeY };
|
|
148
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Returns all registers (targets and controls) involved in an operation.
|
|
151
|
+
*
|
|
152
|
+
* @param operation The operation for which to get the registers.
|
|
153
|
+
* @returns An array of Register objects involved in the operation.
|
|
154
|
+
*/
|
|
155
|
+
export function getOperationRegisters(operation) {
|
|
156
|
+
switch (operation.kind) {
|
|
157
|
+
case "unitary":
|
|
158
|
+
return [...operation.targets, ...(operation.controls || [])];
|
|
159
|
+
case "ket":
|
|
160
|
+
return operation.targets;
|
|
161
|
+
case "measurement":
|
|
162
|
+
return [...operation.qubits, ...(operation.results || [])];
|
|
163
|
+
}
|
|
164
|
+
}
|
|
149
165
|
/**
|
|
150
166
|
* Get the minimum and maximum register indices for a given operation.
|
|
151
167
|
*
|
|
@@ -170,20 +186,18 @@ export function getMinMaxRegIdx(operation, numQubits) {
|
|
|
170
186
|
controls = [];
|
|
171
187
|
break;
|
|
172
188
|
}
|
|
173
|
-
const
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
const clsControls =
|
|
189
|
+
const qRegs = [...controls, ...targets]
|
|
190
|
+
.filter(({ result }) => result === undefined)
|
|
191
|
+
.map(({ qubit }) => qubit);
|
|
192
|
+
const clsControls = controls.filter(({ result }) => result !== undefined);
|
|
177
193
|
const isClassicallyControlled = clsControls.length > 0;
|
|
178
194
|
if (!isClassicallyControlled && qRegs.length === 0)
|
|
179
195
|
return [-1, -1];
|
|
180
196
|
// If operation is classically-controlled, pad all qubit registers. Otherwise, only pad
|
|
181
197
|
// the contiguous range of registers that it covers.
|
|
182
|
-
const minRegIdx = isClassicallyControlled
|
|
183
|
-
? 0
|
|
184
|
-
: Math.min(...qRegIdxList);
|
|
198
|
+
const minRegIdx = isClassicallyControlled ? 0 : Math.min(...qRegs);
|
|
185
199
|
const maxRegIdx = isClassicallyControlled
|
|
186
200
|
? numQubits - 1
|
|
187
|
-
: Math.max(...
|
|
201
|
+
: Math.max(...qRegs);
|
|
188
202
|
return [minRegIdx, maxRegIdx];
|
|
189
203
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Core.Length
|
|
3
3
|
title: Length exported item
|
|
4
4
|
description: "Q# Length exported item: This is an exported item. The actual definition is found here: [Std.Core.Length](xref:Qdk.Std.Core.Length)"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: export
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Microsoft.Quantum.Core.Repeated
|
|
3
3
|
title: Repeated exported item
|
|
4
4
|
description: "Q# Repeated exported item: This is an exported item. The actual definition is found here: [Std.Core.Repeated](xref:Qdk.Std.Core.Repeated)"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: export
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.AddLE
|
|
3
3
|
title: AddLE operation
|
|
4
4
|
description: "Q# AddLE operation: Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfEqualL
|
|
3
3
|
title: ApplyIfEqualL operation
|
|
4
4
|
description: "Q# ApplyIfEqualL operation: Computes `if (c == x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is equal to the little-endian qubit register `x`"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfEqualLE
|
|
3
3
|
title: ApplyIfEqualLE operation
|
|
4
4
|
description: "Q# ApplyIfEqualLE operation: Computes `if x == y { action(target) }`, that is, applies `action` to `target` if register `x` is equal to the register `y`. Both qubit registers should be in a little-endian format."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfGreaterL
|
|
3
3
|
title: ApplyIfGreaterL operation
|
|
4
4
|
description: "Q# ApplyIfGreaterL operation: Computes `if (c > x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is greater than the little-endian qubit register `x`"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfGreaterLE
|
|
3
3
|
title: ApplyIfGreaterLE operation
|
|
4
4
|
description: "Q# ApplyIfGreaterLE operation: Computes `if x > y { action(target) }`, that is, applies `action` to `target` if register `x` is greater than the register `y`. Both qubit registers should be in a little-endian format."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfGreaterOrEqualL
|
|
3
3
|
title: ApplyIfGreaterOrEqualL operation
|
|
4
4
|
description: "Q# ApplyIfGreaterOrEqualL operation: Computes `if (c >= x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is greater or equal to the little-endian qubit register `x`"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfGreaterOrEqualLE
|
|
3
3
|
title: ApplyIfGreaterOrEqualLE operation
|
|
4
4
|
description: "Q# ApplyIfGreaterOrEqualLE operation: Computes `if x >= y { action(target) }`, that is, applies `action` to `target` if register `x` is greater or equal to the register `y`. Both qubit registers should be in a little-endian format."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfLessL
|
|
3
3
|
title: ApplyIfLessL operation
|
|
4
4
|
description: "Q# ApplyIfLessL operation: Computes `if (c < x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is less than the little-endian qubit register `x`"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfLessLE
|
|
3
3
|
title: ApplyIfLessLE operation
|
|
4
4
|
description: "Q# ApplyIfLessLE operation: Computes `if x < y { action(target) }`, that is, applies `action` to `target` if register `x` is less than the register `y`. Both qubit registers should be in a little-endian format."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfLessOrEqualL
|
|
3
3
|
title: ApplyIfLessOrEqualL operation
|
|
4
4
|
description: "Q# ApplyIfLessOrEqualL operation: Computes `if (c <= x) { action(target) }`, that is, applies `action` to `target` if a BigInt value `c` is less or equal to the little-endian qubit register `x`"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ApplyIfLessOrEqualLE
|
|
3
3
|
title: ApplyIfLessOrEqualLE operation
|
|
4
4
|
description: "Q# ApplyIfLessOrEqualLE operation: Computes `if x <= y { action(target) }`, that is, applies `action` to `target` if register `x` is less or equal to the register `y`. Both qubit registers should be in a little-endian format."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.FourierTDIncByLE
|
|
3
3
|
title: FourierTDIncByLE operation
|
|
4
4
|
description: "Q# FourierTDIncByLE operation: Increments a little-endian register ys by a little-endian register xs using Quantum Fourier Transform."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByI
|
|
3
3
|
title: IncByI operation
|
|
4
4
|
description: "Q# IncByI operation: Increments a little-endian register ys by an integer number c"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByIUsingIncByLE
|
|
3
3
|
title: IncByIUsingIncByLE operation
|
|
4
4
|
description: "Q# IncByIUsingIncByLE operation: Increments a little-endian register ys by an Int number c using provided adder."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByL
|
|
3
3
|
title: IncByL operation
|
|
4
4
|
description: "Q# IncByL operation: Increments a little-endian register ys by a BigInt number c"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByLE
|
|
3
3
|
title: IncByLE operation
|
|
4
4
|
description: "Q# IncByLE operation: Increments a little-endian register ys by a little-endian register xs"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByLEUsingAddLE
|
|
3
3
|
title: IncByLEUsingAddLE operation
|
|
4
4
|
description: "Q# IncByLEUsingAddLE operation: Generic operation to turn two out-place adders into one in-place adder"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.IncByLUsingIncByLE
|
|
3
3
|
title: IncByLUsingIncByLE operation
|
|
4
4
|
description: "Q# IncByLUsingIncByLE operation: Increments a little-endian register ys by a BigInt number c using provided adder."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.LookAheadDKRSAddLE
|
|
3
3
|
title: LookAheadDKRSAddLE operation
|
|
4
4
|
description: "Q# LookAheadDKRSAddLE operation: Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys using the carry-lookahead algorithm."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.MAJ
|
|
3
3
|
title: MAJ operation
|
|
4
4
|
description: "Q# MAJ operation: This applies the in-place majority operation to 3 qubits."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.ReflectAboutInteger
|
|
3
3
|
title: ReflectAboutInteger operation
|
|
4
4
|
description: "Q# ReflectAboutInteger operation: Reflects a quantum register about a given classical integer."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.RippleCarryCGAddLE
|
|
3
3
|
title: RippleCarryCGAddLE operation
|
|
4
4
|
description: "Q# RippleCarryCGAddLE operation: Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys using the ripple-carry algorithm."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.RippleCarryCGIncByLE
|
|
3
3
|
title: RippleCarryCGIncByLE operation
|
|
4
4
|
description: "Q# RippleCarryCGIncByLE operation: Increments a little-endian register ys by a little-endian register xs using the ripple-carry algorithm."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arithmetic.RippleCarryTTKIncByLE
|
|
3
3
|
title: RippleCarryTTKIncByLE operation
|
|
4
4
|
description: "Q# RippleCarryTTKIncByLE operation: Reversible, in-place ripple-carry addition of two integers."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
package/docs/Std.Arrays/All.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.All
|
|
3
3
|
title: All function
|
|
4
4
|
description: "Q# All function: Given an array and a predicate that is defined for the elements of the array, and checks if all elements of the array satisfy the predicate."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
package/docs/Std.Arrays/Any.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Any
|
|
3
3
|
title: Any function
|
|
4
4
|
description: "Q# Any function: Given an array and a predicate that is defined for the elements of the array, checks if at least one element of the array satisfies the predicate."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.CircularlyShifted
|
|
3
3
|
title: CircularlyShifted function
|
|
4
4
|
description: "Q# CircularlyShifted function: Shift an array circularly left or right by a specific step size."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
package/docs/Std.Arrays/Count.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Count
|
|
3
3
|
title: Count function
|
|
4
4
|
description: "Q# Count function: Given an array and a predicate that is defined for the elements of the array, returns the number of elements an array that consists of those elements that satisfy the predicate."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Diagonal
|
|
3
3
|
title: Diagonal function
|
|
4
4
|
description: "Q# Diagonal function: Returns an array of diagonal elements of a 2-dimensional array"
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.DrawMany
|
|
3
3
|
title: DrawMany operation
|
|
4
4
|
description: "Q# DrawMany operation: Repeats an operation for a given number of samples, collecting its outputs in an array."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Enumerated
|
|
3
3
|
title: Enumerated function
|
|
4
4
|
description: "Q# Enumerated function: Given an array, returns a new array containing elements of the original array along with the indices of each element."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Excluding
|
|
3
3
|
title: Excluding function
|
|
4
4
|
description: "Q# Excluding function: Returns an array containing the elements of another array, excluding elements at a given list of indices."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Filtered
|
|
3
3
|
title: Filtered function
|
|
4
4
|
description: "Q# Filtered function: Given an array and a predicate that is defined for the elements of the array, returns an array that consists of those elements that satisfy the predicate."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.FlatMapped
|
|
3
3
|
title: FlatMapped function
|
|
4
4
|
description: "Q# FlatMapped function: Given an array and a function that maps an array element to some output array, returns the concatenated output arrays for each array element."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Flattened
|
|
3
3
|
title: Flattened function
|
|
4
4
|
description: "Q# Flattened function: Given an array of arrays, returns the concatenation of all arrays."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
package/docs/Std.Arrays/Fold.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.Fold
|
|
3
3
|
title: Fold function
|
|
4
4
|
description: "Q# Fold function: Iterates a function `f` through an array `array`, returning `f(...f(f(initialState, array[0]), array[1]), ...)`."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.ForEach
|
|
3
3
|
title: ForEach operation
|
|
4
4
|
description: "Q# ForEach operation: Given an array and an operation that is defined for the elements of the array, returns a new array that consists of the images of the original array under the operation."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: operation
|
|
8
8
|
qsharp.package: __Std__
|
package/docs/Std.Arrays/Head.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.HeadAndRest
|
|
3
3
|
title: HeadAndRest function
|
|
4
4
|
description: "Q# HeadAndRest function: Returns a tuple of first and all remaining elements of the array."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.IndexOf
|
|
3
3
|
title: IndexOf function
|
|
4
4
|
description: "Q# IndexOf function: Returns the first index of the first element in an array that satisfies a given predicate. If no such element exists, returns -1."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
uid: Qdk.Std.Arrays.IndexRange
|
|
3
3
|
title: IndexRange function
|
|
4
4
|
description: "Q# IndexRange function: Given an array, returns a range over the indices of that array, suitable for use in a for loop."
|
|
5
|
-
ms.date: 05/
|
|
5
|
+
ms.date: 05/12/2025
|
|
6
6
|
ms.topic: managed-reference
|
|
7
7
|
qsharp.kind: function
|
|
8
8
|
qsharp.package: __Std__
|