qsharp-lang 1.16.0 → 1.16.2-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/dist/browser.d.ts +2 -2
  2. package/dist/compiler/compiler.d.ts +3 -1
  3. package/dist/compiler/compiler.js +6 -2
  4. package/dist/language-service/language-service.d.ts +4 -4
  5. package/dist/language-service/language-service.js +4 -4
  6. package/dist/samples.generated.js +1 -1
  7. package/dist/utils.d.ts +8 -0
  8. package/dist/utils.js +22 -8
  9. package/docs/Microsoft.Quantum.Core/Length.md +1 -1
  10. package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
  11. package/docs/Microsoft.Quantum.Core/index.md +1 -1
  12. package/docs/Std.Arithmetic/AddLE.md +1 -1
  13. package/docs/Std.Arithmetic/ApplyIfEqualL.md +1 -1
  14. package/docs/Std.Arithmetic/ApplyIfEqualLE.md +1 -1
  15. package/docs/Std.Arithmetic/ApplyIfGreaterL.md +1 -1
  16. package/docs/Std.Arithmetic/ApplyIfGreaterLE.md +1 -1
  17. package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
  18. package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
  19. package/docs/Std.Arithmetic/ApplyIfLessL.md +1 -1
  20. package/docs/Std.Arithmetic/ApplyIfLessLE.md +1 -1
  21. package/docs/Std.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
  22. package/docs/Std.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
  23. package/docs/Std.Arithmetic/FourierTDIncByLE.md +1 -1
  24. package/docs/Std.Arithmetic/IncByI.md +1 -1
  25. package/docs/Std.Arithmetic/IncByIUsingIncByLE.md +1 -1
  26. package/docs/Std.Arithmetic/IncByL.md +1 -1
  27. package/docs/Std.Arithmetic/IncByLE.md +1 -1
  28. package/docs/Std.Arithmetic/IncByLEUsingAddLE.md +1 -1
  29. package/docs/Std.Arithmetic/IncByLUsingIncByLE.md +1 -1
  30. package/docs/Std.Arithmetic/LookAheadDKRSAddLE.md +1 -1
  31. package/docs/Std.Arithmetic/MAJ.md +1 -1
  32. package/docs/Std.Arithmetic/ReflectAboutInteger.md +1 -1
  33. package/docs/Std.Arithmetic/RippleCarryCGAddLE.md +1 -1
  34. package/docs/Std.Arithmetic/RippleCarryCGIncByLE.md +1 -1
  35. package/docs/Std.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
  36. package/docs/Std.Arithmetic/index.md +1 -1
  37. package/docs/Std.Arrays/All.md +1 -1
  38. package/docs/Std.Arrays/Any.md +1 -1
  39. package/docs/Std.Arrays/Chunks.md +1 -1
  40. package/docs/Std.Arrays/CircularlyShifted.md +1 -1
  41. package/docs/Std.Arrays/ColumnAt.md +1 -1
  42. package/docs/Std.Arrays/Count.md +1 -1
  43. package/docs/Std.Arrays/Diagonal.md +1 -1
  44. package/docs/Std.Arrays/DrawMany.md +1 -1
  45. package/docs/Std.Arrays/Enumerated.md +1 -1
  46. package/docs/Std.Arrays/Excluding.md +1 -1
  47. package/docs/Std.Arrays/Filtered.md +1 -1
  48. package/docs/Std.Arrays/FlatMapped.md +1 -1
  49. package/docs/Std.Arrays/Flattened.md +1 -1
  50. package/docs/Std.Arrays/Fold.md +1 -1
  51. package/docs/Std.Arrays/ForEach.md +1 -1
  52. package/docs/Std.Arrays/Head.md +1 -1
  53. package/docs/Std.Arrays/HeadAndRest.md +1 -1
  54. package/docs/Std.Arrays/IndexOf.md +1 -1
  55. package/docs/Std.Arrays/IndexRange.md +1 -1
  56. package/docs/Std.Arrays/Interleaved.md +1 -1
  57. package/docs/Std.Arrays/IsEmpty.md +1 -1
  58. package/docs/Std.Arrays/IsRectangularArray.md +1 -1
  59. package/docs/Std.Arrays/IsSorted.md +1 -1
  60. package/docs/Std.Arrays/IsSquareArray.md +1 -1
  61. package/docs/Std.Arrays/Mapped.md +1 -1
  62. package/docs/Std.Arrays/MappedByIndex.md +1 -1
  63. package/docs/Std.Arrays/MappedOverRange.md +1 -1
  64. package/docs/Std.Arrays/Most.md +1 -1
  65. package/docs/Std.Arrays/MostAndTail.md +1 -1
  66. package/docs/Std.Arrays/Padded.md +1 -1
  67. package/docs/Std.Arrays/Partitioned.md +1 -1
  68. package/docs/Std.Arrays/Rest.md +1 -1
  69. package/docs/Std.Arrays/Reversed.md +1 -1
  70. package/docs/Std.Arrays/SequenceI.md +1 -1
  71. package/docs/Std.Arrays/SequenceL.md +1 -1
  72. package/docs/Std.Arrays/Sorted.md +1 -1
  73. package/docs/Std.Arrays/Subarray.md +1 -1
  74. package/docs/Std.Arrays/Swapped.md +1 -1
  75. package/docs/Std.Arrays/Tail.md +1 -1
  76. package/docs/Std.Arrays/Transposed.md +1 -1
  77. package/docs/Std.Arrays/Unzipped.md +1 -1
  78. package/docs/Std.Arrays/Where.md +1 -1
  79. package/docs/Std.Arrays/Windows.md +1 -1
  80. package/docs/Std.Arrays/Zipped.md +1 -1
  81. package/docs/Std.Arrays/index.md +1 -1
  82. package/docs/Std.Canon/ApplyCNOTChain.md +1 -1
  83. package/docs/Std.Canon/ApplyControlledOnBitString.md +1 -1
  84. package/docs/Std.Canon/ApplyControlledOnInt.md +1 -1
  85. package/docs/Std.Canon/ApplyOperationPowerA.md +1 -1
  86. package/docs/Std.Canon/ApplyP.md +1 -1
  87. package/docs/Std.Canon/ApplyPauli.md +1 -1
  88. package/docs/Std.Canon/ApplyPauliFromBitString.md +1 -1
  89. package/docs/Std.Canon/ApplyPauliFromInt.md +1 -1
  90. package/docs/Std.Canon/ApplyQFT.md +1 -1
  91. package/docs/Std.Canon/ApplyToEach.md +1 -1
  92. package/docs/Std.Canon/ApplyToEachA.md +1 -1
  93. package/docs/Std.Canon/ApplyToEachC.md +1 -1
  94. package/docs/Std.Canon/ApplyToEachCA.md +1 -1
  95. package/docs/Std.Canon/ApplyXorInPlace.md +1 -1
  96. package/docs/Std.Canon/ApplyXorInPlaceL.md +1 -1
  97. package/docs/Std.Canon/CX.md +1 -1
  98. package/docs/Std.Canon/CY.md +1 -1
  99. package/docs/Std.Canon/CZ.md +1 -1
  100. package/docs/Std.Canon/Fst.md +1 -1
  101. package/docs/Std.Canon/Relabel.md +1 -1
  102. package/docs/Std.Canon/Snd.md +1 -1
  103. package/docs/Std.Canon/SwapReverseRegister.md +1 -1
  104. package/docs/Std.Canon/index.md +1 -1
  105. package/docs/Std.Convert/BigIntAsBoolArray.md +1 -1
  106. package/docs/Std.Convert/BigIntAsInt.md +1 -1
  107. package/docs/Std.Convert/BoolArrayAsBigInt.md +1 -1
  108. package/docs/Std.Convert/BoolArrayAsInt.md +1 -1
  109. package/docs/Std.Convert/BoolArrayAsResultArray.md +1 -1
  110. package/docs/Std.Convert/BoolAsResult.md +1 -1
  111. package/docs/Std.Convert/ComplexAsComplexPolar.md +1 -1
  112. package/docs/Std.Convert/ComplexPolarAsComplex.md +1 -1
  113. package/docs/Std.Convert/DoubleAsStringWithPrecision.md +1 -1
  114. package/docs/Std.Convert/IntAsBigInt.md +1 -1
  115. package/docs/Std.Convert/IntAsBoolArray.md +1 -1
  116. package/docs/Std.Convert/IntAsDouble.md +1 -1
  117. package/docs/Std.Convert/ResultArrayAsBoolArray.md +1 -1
  118. package/docs/Std.Convert/ResultArrayAsInt.md +1 -1
  119. package/docs/Std.Convert/ResultAsBool.md +1 -1
  120. package/docs/Std.Convert/index.md +1 -1
  121. package/docs/Std.Core/Length.md +1 -1
  122. package/docs/Std.Core/Repeated.md +1 -1
  123. package/docs/Std.Core/index.md +1 -1
  124. package/docs/Std.Diagnostics/ApplyIdleNoise.md +1 -1
  125. package/docs/Std.Diagnostics/BitFlipNoise.md +1 -1
  126. package/docs/Std.Diagnostics/CheckAllZero.md +1 -1
  127. package/docs/Std.Diagnostics/CheckOperationsAreEqual.md +1 -1
  128. package/docs/Std.Diagnostics/CheckZero.md +1 -1
  129. package/docs/Std.Diagnostics/ConfigurePauliNoise.md +1 -1
  130. package/docs/Std.Diagnostics/DepolarizingNoise.md +1 -1
  131. package/docs/Std.Diagnostics/DumpMachine.md +1 -1
  132. package/docs/Std.Diagnostics/DumpOperation.md +1 -1
  133. package/docs/Std.Diagnostics/DumpRegister.md +1 -1
  134. package/docs/Std.Diagnostics/Fact.md +1 -1
  135. package/docs/Std.Diagnostics/NoNoise.md +1 -1
  136. package/docs/Std.Diagnostics/PhaseFlipNoise.md +1 -1
  137. package/docs/Std.Diagnostics/StartCountingFunction.md +1 -1
  138. package/docs/Std.Diagnostics/StartCountingOperation.md +1 -1
  139. package/docs/Std.Diagnostics/StartCountingQubits.md +1 -1
  140. package/docs/Std.Diagnostics/StopCountingFunction.md +1 -1
  141. package/docs/Std.Diagnostics/StopCountingOperation.md +1 -1
  142. package/docs/Std.Diagnostics/StopCountingQubits.md +1 -1
  143. package/docs/Std.Diagnostics/index.md +1 -1
  144. package/docs/Std.Intrinsic/AND.md +1 -1
  145. package/docs/Std.Intrinsic/ApplyUnitary.md +1 -1
  146. package/docs/Std.Intrinsic/CCNOT.md +1 -1
  147. package/docs/Std.Intrinsic/CNOT.md +1 -1
  148. package/docs/Std.Intrinsic/Exp.md +1 -1
  149. package/docs/Std.Intrinsic/H.md +1 -1
  150. package/docs/Std.Intrinsic/I.md +1 -1
  151. package/docs/Std.Intrinsic/M.md +1 -1
  152. package/docs/Std.Intrinsic/Measure.md +1 -1
  153. package/docs/Std.Intrinsic/Message.md +1 -1
  154. package/docs/Std.Intrinsic/R.md +1 -1
  155. package/docs/Std.Intrinsic/R1.md +1 -1
  156. package/docs/Std.Intrinsic/R1Frac.md +1 -1
  157. package/docs/Std.Intrinsic/RFrac.md +1 -1
  158. package/docs/Std.Intrinsic/Reset.md +1 -1
  159. package/docs/Std.Intrinsic/ResetAll.md +1 -1
  160. package/docs/Std.Intrinsic/Rx.md +1 -1
  161. package/docs/Std.Intrinsic/Rxx.md +1 -1
  162. package/docs/Std.Intrinsic/Ry.md +1 -1
  163. package/docs/Std.Intrinsic/Ryy.md +1 -1
  164. package/docs/Std.Intrinsic/Rz.md +1 -1
  165. package/docs/Std.Intrinsic/Rzz.md +1 -1
  166. package/docs/Std.Intrinsic/S.md +1 -1
  167. package/docs/Std.Intrinsic/SWAP.md +1 -1
  168. package/docs/Std.Intrinsic/SX.md +38 -0
  169. package/docs/Std.Intrinsic/T.md +1 -1
  170. package/docs/Std.Intrinsic/X.md +1 -1
  171. package/docs/Std.Intrinsic/Y.md +1 -1
  172. package/docs/Std.Intrinsic/Z.md +1 -1
  173. package/docs/Std.Intrinsic/index.md +2 -1
  174. package/docs/Std.Logical/Xor.md +1 -1
  175. package/docs/Std.Logical/index.md +1 -1
  176. package/docs/Std.Math/AbsComplex.md +1 -1
  177. package/docs/Std.Math/AbsComplexPolar.md +1 -1
  178. package/docs/Std.Math/AbsD.md +1 -1
  179. package/docs/Std.Math/AbsI.md +1 -1
  180. package/docs/Std.Math/AbsL.md +1 -1
  181. package/docs/Std.Math/AbsSquaredComplex.md +1 -1
  182. package/docs/Std.Math/AbsSquaredComplexPolar.md +1 -1
  183. package/docs/Std.Math/ApproximateFactorial.md +1 -1
  184. package/docs/Std.Math/ArcCos.md +1 -1
  185. package/docs/Std.Math/ArcCosh.md +1 -1
  186. package/docs/Std.Math/ArcSin.md +1 -1
  187. package/docs/Std.Math/ArcSinh.md +1 -1
  188. package/docs/Std.Math/ArcTan.md +1 -1
  189. package/docs/Std.Math/ArcTan2.md +1 -1
  190. package/docs/Std.Math/ArcTanh.md +1 -1
  191. package/docs/Std.Math/ArgComplex.md +1 -1
  192. package/docs/Std.Math/ArgComplexPolar.md +1 -1
  193. package/docs/Std.Math/Binom.md +1 -1
  194. package/docs/Std.Math/BitSizeI.md +1 -1
  195. package/docs/Std.Math/BitSizeL.md +1 -1
  196. package/docs/Std.Math/Ceiling.md +1 -1
  197. package/docs/Std.Math/Complex.md +1 -1
  198. package/docs/Std.Math/ComplexPolar.md +1 -1
  199. package/docs/Std.Math/ContinuedFractionConvergentI.md +1 -1
  200. package/docs/Std.Math/ContinuedFractionConvergentL.md +1 -1
  201. package/docs/Std.Math/Cos.md +1 -1
  202. package/docs/Std.Math/Cosh.md +1 -1
  203. package/docs/Std.Math/DivRemI.md +1 -1
  204. package/docs/Std.Math/DivRemL.md +1 -1
  205. package/docs/Std.Math/DividedByC.md +1 -1
  206. package/docs/Std.Math/DividedByCP.md +1 -1
  207. package/docs/Std.Math/E.md +1 -1
  208. package/docs/Std.Math/ExpModI.md +1 -1
  209. package/docs/Std.Math/ExpModL.md +1 -1
  210. package/docs/Std.Math/ExtendedGreatestCommonDivisorI.md +1 -1
  211. package/docs/Std.Math/ExtendedGreatestCommonDivisorL.md +1 -1
  212. package/docs/Std.Math/FactorialI.md +1 -1
  213. package/docs/Std.Math/FactorialL.md +1 -1
  214. package/docs/Std.Math/Floor.md +1 -1
  215. package/docs/Std.Math/GreatestCommonDivisorI.md +1 -1
  216. package/docs/Std.Math/GreatestCommonDivisorL.md +1 -1
  217. package/docs/Std.Math/HammingWeightI.md +1 -1
  218. package/docs/Std.Math/InverseModI.md +1 -1
  219. package/docs/Std.Math/InverseModL.md +1 -1
  220. package/docs/Std.Math/IsCoprimeI.md +1 -1
  221. package/docs/Std.Math/IsCoprimeL.md +1 -1
  222. package/docs/Std.Math/IsInfinite.md +1 -1
  223. package/docs/Std.Math/IsNaN.md +1 -1
  224. package/docs/Std.Math/LargestFixedPoint.md +1 -1
  225. package/docs/Std.Math/Lg.md +1 -1
  226. package/docs/Std.Math/Log.md +1 -1
  227. package/docs/Std.Math/Log10.md +1 -1
  228. package/docs/Std.Math/LogFactorialD.md +1 -1
  229. package/docs/Std.Math/LogGammaD.md +1 -1
  230. package/docs/Std.Math/LogOf2.md +1 -1
  231. package/docs/Std.Math/Max.md +1 -1
  232. package/docs/Std.Math/MaxD.md +1 -1
  233. package/docs/Std.Math/MaxI.md +1 -1
  234. package/docs/Std.Math/MaxL.md +1 -1
  235. package/docs/Std.Math/Min.md +1 -1
  236. package/docs/Std.Math/MinD.md +1 -1
  237. package/docs/Std.Math/MinI.md +1 -1
  238. package/docs/Std.Math/MinL.md +1 -1
  239. package/docs/Std.Math/MinusC.md +1 -1
  240. package/docs/Std.Math/MinusCP.md +1 -1
  241. package/docs/Std.Math/ModulusI.md +1 -1
  242. package/docs/Std.Math/ModulusL.md +1 -1
  243. package/docs/Std.Math/NegationC.md +1 -1
  244. package/docs/Std.Math/NegationCP.md +1 -1
  245. package/docs/Std.Math/PI.md +1 -1
  246. package/docs/Std.Math/PNorm.md +1 -1
  247. package/docs/Std.Math/PNormalized.md +1 -1
  248. package/docs/Std.Math/PlusC.md +1 -1
  249. package/docs/Std.Math/PlusCP.md +1 -1
  250. package/docs/Std.Math/PowC.md +1 -1
  251. package/docs/Std.Math/PowCP.md +1 -1
  252. package/docs/Std.Math/RealMod.md +1 -1
  253. package/docs/Std.Math/Round.md +1 -1
  254. package/docs/Std.Math/RoundHalfAwayFromZero.md +1 -1
  255. package/docs/Std.Math/SignD.md +1 -1
  256. package/docs/Std.Math/SignI.md +1 -1
  257. package/docs/Std.Math/SignL.md +1 -1
  258. package/docs/Std.Math/Sin.md +1 -1
  259. package/docs/Std.Math/Sinh.md +1 -1
  260. package/docs/Std.Math/SmallestFixedPoint.md +1 -1
  261. package/docs/Std.Math/Sqrt.md +1 -1
  262. package/docs/Std.Math/SquaredNorm.md +1 -1
  263. package/docs/Std.Math/Tan.md +1 -1
  264. package/docs/Std.Math/Tanh.md +1 -1
  265. package/docs/Std.Math/TimesC.md +1 -1
  266. package/docs/Std.Math/TimesCP.md +1 -1
  267. package/docs/Std.Math/TrailingZeroCountI.md +1 -1
  268. package/docs/Std.Math/TrailingZeroCountL.md +1 -1
  269. package/docs/Std.Math/Truncate.md +1 -1
  270. package/docs/Std.Math/index.md +1 -1
  271. package/docs/Std.Measurement/MResetEachZ.md +1 -1
  272. package/docs/Std.Measurement/MResetX.md +1 -1
  273. package/docs/Std.Measurement/MResetY.md +1 -1
  274. package/docs/Std.Measurement/MResetZ.md +1 -1
  275. package/docs/Std.Measurement/MeasureAllZ.md +1 -1
  276. package/docs/Std.Measurement/MeasureEachZ.md +1 -1
  277. package/docs/Std.Measurement/MeasureInteger.md +1 -1
  278. package/docs/Std.Measurement/index.md +1 -1
  279. package/docs/Std.Random/DrawRandomBool.md +1 -1
  280. package/docs/Std.Random/DrawRandomDouble.md +1 -1
  281. package/docs/Std.Random/DrawRandomInt.md +1 -1
  282. package/docs/Std.Random/index.md +1 -1
  283. package/docs/Std.Range/IsRangeEmpty.md +1 -1
  284. package/docs/Std.Range/RangeEnd.md +1 -1
  285. package/docs/Std.Range/RangeReverse.md +1 -1
  286. package/docs/Std.Range/RangeStart.md +1 -1
  287. package/docs/Std.Range/RangeStep.md +1 -1
  288. package/docs/Std.Range/index.md +1 -1
  289. package/docs/Std.ResourceEstimation/AccountForEstimates.md +1 -1
  290. package/docs/Std.ResourceEstimation/AuxQubitCount.md +1 -1
  291. package/docs/Std.ResourceEstimation/BeginEstimateCaching.md +1 -1
  292. package/docs/Std.ResourceEstimation/BeginRepeatEstimates.md +1 -1
  293. package/docs/Std.ResourceEstimation/CczCount.md +1 -1
  294. package/docs/Std.ResourceEstimation/EndEstimateCaching.md +1 -1
  295. package/docs/Std.ResourceEstimation/EndRepeatEstimates.md +1 -1
  296. package/docs/Std.ResourceEstimation/MeasurementCount.md +1 -1
  297. package/docs/Std.ResourceEstimation/PSSPCLayout.md +1 -1
  298. package/docs/Std.ResourceEstimation/RepeatEstimates.md +1 -1
  299. package/docs/Std.ResourceEstimation/RotationCount.md +1 -1
  300. package/docs/Std.ResourceEstimation/RotationDepth.md +1 -1
  301. package/docs/Std.ResourceEstimation/SingleVariant.md +1 -1
  302. package/docs/Std.ResourceEstimation/TCount.md +1 -1
  303. package/docs/Std.ResourceEstimation/index.md +1 -1
  304. package/docs/Std.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
  305. package/docs/Std.StatePreparation/PreparePureStateD.md +1 -1
  306. package/docs/Std.StatePreparation/PrepareUniformSuperposition.md +1 -1
  307. package/docs/Std.StatePreparation/index.md +1 -1
  308. package/docs/Std.TableLookup/Select.md +1 -1
  309. package/docs/Std.TableLookup/index.md +1 -1
  310. package/docs/index.md +1 -1
  311. package/docs/toc.yml +1 -0
  312. package/lib/node/qsc_wasm.cjs +32 -8
  313. package/lib/node/qsc_wasm.d.cts +12 -2
  314. package/lib/node/qsc_wasm_bg.wasm +0 -0
  315. package/lib/web/qsc_wasm.d.ts +15 -4
  316. package/lib/web/qsc_wasm.js +31 -8
  317. package/lib/web/qsc_wasm_bg.wasm +0 -0
  318. package/package.json +1 -1
  319. package/ux/circuit-vis/circuitManipulation.ts +145 -48
  320. package/ux/circuit-vis/contextMenu.ts +1 -1
  321. package/ux/circuit-vis/draggable.ts +288 -112
  322. package/ux/circuit-vis/events.ts +433 -199
  323. package/ux/circuit-vis/formatters/inputFormatter.ts +9 -4
  324. package/ux/circuit-vis/panel.ts +37 -34
  325. package/ux/circuit-vis/process.ts +1 -1
  326. package/ux/circuit-vis/sqore.ts +2 -2
  327. package/ux/circuit-vis/utils.ts +17 -1
  328. package/ux/qsharp-circuit.css +55 -89
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;
@@ -26,7 +26,7 @@ export class Compiler {
26
26
  fetchGithub: async () => "",
27
27
  findManifestDirectory: async () => null,
28
28
  });
29
- languageService.update_document("code", 1, code);
29
+ languageService.update_document("code", 1, code, "qsharp");
30
30
  // Yield to let the language service background worker handle the update
31
31
  await Promise.resolve();
32
32
  languageService.stop_background_work();
@@ -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 { packageGraphSources, profile: program.profile || defaultProfile };
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);
@@ -19,13 +19,13 @@ export type LanguageServiceTestCallablesEvent = {
19
19
  export type LanguageServiceEvent = LanguageServiceDiagnosticEvent | LanguageServiceTestCallablesEvent;
20
20
  export interface ILanguageService {
21
21
  updateConfiguration(config: IWorkspaceConfiguration): Promise<void>;
22
- updateDocument(uri: string, version: number, code: string): Promise<void>;
22
+ updateDocument(uri: string, version: number, code: string, languageId?: string): Promise<void>;
23
23
  updateNotebookDocument(notebookUri: string, version: number, metadata: INotebookMetadata, cells: {
24
24
  uri: string;
25
25
  version: number;
26
26
  code: string;
27
27
  }[]): Promise<void>;
28
- closeDocument(uri: string): Promise<void>;
28
+ closeDocument(uri: string, languageId?: string): Promise<void>;
29
29
  closeNotebookDocument(notebookUri: string): Promise<void>;
30
30
  getCodeActions(documentUri: string, range: IRange): Promise<ICodeAction[]>;
31
31
  getCompletions(documentUri: string, position: IPosition): Promise<ICompletionList>;
@@ -55,13 +55,13 @@ export declare class QSharpLanguageService implements ILanguageService {
55
55
  private backgroundWork;
56
56
  constructor(wasm: QscWasm, host?: IProjectHost);
57
57
  updateConfiguration(config: IWorkspaceConfiguration): Promise<void>;
58
- updateDocument(documentUri: string, version: number, code: string): Promise<void>;
58
+ updateDocument(documentUri: string, version: number, code: string, languageId?: string): Promise<void>;
59
59
  updateNotebookDocument(notebookUri: string, version: number, metadata: INotebookMetadata, cells: {
60
60
  uri: string;
61
61
  version: number;
62
62
  code: string;
63
63
  }[]): Promise<void>;
64
- closeDocument(documentUri: string): Promise<void>;
64
+ closeDocument(documentUri: string, languageId?: string): Promise<void>;
65
65
  closeNotebookDocument(documentUri: string): Promise<void>;
66
66
  getCodeActions(documentUri: string, range: IRange): Promise<ICodeAction[]>;
67
67
  getCompletions(documentUri: string, position: IPosition): Promise<ICompletionList>;
@@ -20,14 +20,14 @@ export class QSharpLanguageService {
20
20
  async updateConfiguration(config) {
21
21
  this.languageService.update_configuration(config);
22
22
  }
23
- async updateDocument(documentUri, version, code) {
24
- this.languageService.update_document(documentUri, version, code);
23
+ async updateDocument(documentUri, version, code, languageId) {
24
+ this.languageService.update_document(documentUri, version, code, languageId || "qsharp");
25
25
  }
26
26
  async updateNotebookDocument(notebookUri, version, metadata, cells) {
27
27
  this.languageService.update_notebook_document(notebookUri, metadata, cells);
28
28
  }
29
- async closeDocument(documentUri) {
30
- this.languageService.close_document(documentUri);
29
+ async closeDocument(documentUri, languageId) {
30
+ this.languageService.close_document(documentUri, languageId || "qsharp");
31
31
  }
32
32
  async closeNotebookDocument(documentUri) {
33
33
  this.languageService.close_notebook_document(documentUri);
@@ -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 ctrls = controls || [];
174
- const qRegs = [...ctrls, ...targets].filter(({ result }) => result === undefined);
175
- const qRegIdxList = qRegs.map(({ qubit }) => qubit);
176
- const clsControls = ctrls.filter(({ result }) => result !== undefined);
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(...qRegIdxList);
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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: export
8
8
  qsharp.package: __Std__
@@ -4,7 +4,7 @@ title: Microsoft.Quantum.Core namespace
4
4
  description: Table of contents for the Q# Microsoft.Quantum.Core namespace
5
5
  author: {AUTHOR}
6
6
  ms.author: {MS_AUTHOR}
7
- ms.date: 05/01/2025
7
+ ms.date: 05/14/2025
8
8
  ms.topic: landing-page
9
9
  ---
10
10
 
@@ -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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: operation
8
8
  qsharp.package: __Std__
@@ -4,7 +4,7 @@ title: Std.Arithmetic namespace
4
4
  description: Table of contents for the Q# Arithmetic namespace
5
5
  author: {AUTHOR}
6
6
  ms.author: {MS_AUTHOR}
7
- ms.date: 05/01/2025
7
+ ms.date: 05/14/2025
8
8
  ms.topic: landing-page
9
9
  ---
10
10
 
@@ -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/01/2025
5
+ ms.date: 05/14/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.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/01/2025
5
+ ms.date: 05/14/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.Chunks
3
3
  title: Chunks function
4
4
  description: "Q# Chunks function: Splits an array into multiple parts of equal length."
5
- ms.date: 05/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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.ColumnAt
3
3
  title: ColumnAt function
4
4
  description: "Q# ColumnAt function: Extracts a column from a matrix."
5
- ms.date: 05/01/2025
5
+ ms.date: 05/14/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.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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/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/01/2025
5
+ ms.date: 05/14/2025
6
6
  ms.topic: managed-reference
7
7
  qsharp.kind: function
8
8
  qsharp.package: __Std__