qsharp-lang 1.17.1-dev → 1.17.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 (350) hide show
  1. package/dist/browser.d.ts +10 -8
  2. package/dist/browser.js +5 -3
  3. package/dist/compiler/compiler.d.ts +1 -1
  4. package/dist/compiler/compiler.js +8 -7
  5. package/dist/{shared → data-structures}/circuit.d.ts +24 -0
  6. package/dist/data-structures/circuit.js +130 -0
  7. package/dist/data-structures/legacyCircuitUpdate.d.ts +16 -0
  8. package/dist/{shared → data-structures}/legacyCircuitUpdate.js +117 -61
  9. package/dist/{shared → data-structures}/register.d.ts +4 -0
  10. package/dist/data-structures/register.js +20 -0
  11. package/dist/debug-service/debug-service.d.ts +1 -1
  12. package/dist/debug-service/debug-service.js +1 -1
  13. package/dist/diagnostics.d.ts +21 -0
  14. package/dist/diagnostics.js +84 -0
  15. package/dist/katas-content.generated.js +7 -7
  16. package/dist/katas-content.generated.md.js +7 -7
  17. package/dist/main.d.ts +2 -2
  18. package/dist/main.js +2 -1
  19. package/dist/project.d.ts +10 -0
  20. package/dist/project.js +17 -0
  21. package/dist/samples.generated.js +1 -6
  22. package/dist/utils.d.ts +2 -10
  23. package/dist/utils.js +0 -39
  24. package/dist/workers/common.js +62 -17
  25. package/docs/Microsoft.Quantum.Core/Length.md +1 -1
  26. package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
  27. package/docs/Microsoft.Quantum.Core/index.md +1 -3
  28. package/docs/Std.Arithmetic/AddLE.md +1 -1
  29. package/docs/Std.Arithmetic/ApplyIfEqualL.md +1 -1
  30. package/docs/Std.Arithmetic/ApplyIfEqualLE.md +1 -1
  31. package/docs/Std.Arithmetic/ApplyIfGreaterL.md +1 -1
  32. package/docs/Std.Arithmetic/ApplyIfGreaterLE.md +1 -1
  33. package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
  34. package/docs/Std.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
  35. package/docs/Std.Arithmetic/ApplyIfLessL.md +1 -1
  36. package/docs/Std.Arithmetic/ApplyIfLessLE.md +1 -1
  37. package/docs/Std.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
  38. package/docs/Std.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
  39. package/docs/Std.Arithmetic/FourierTDIncByLE.md +1 -1
  40. package/docs/Std.Arithmetic/IncByI.md +1 -1
  41. package/docs/Std.Arithmetic/IncByIUsingIncByLE.md +1 -1
  42. package/docs/Std.Arithmetic/IncByL.md +1 -1
  43. package/docs/Std.Arithmetic/IncByLE.md +1 -1
  44. package/docs/Std.Arithmetic/IncByLEUsingAddLE.md +1 -1
  45. package/docs/Std.Arithmetic/IncByLUsingIncByLE.md +1 -1
  46. package/docs/Std.Arithmetic/LookAheadDKRSAddLE.md +1 -1
  47. package/docs/Std.Arithmetic/MAJ.md +1 -1
  48. package/docs/Std.Arithmetic/ReflectAboutInteger.md +1 -1
  49. package/docs/Std.Arithmetic/RippleCarryCGAddLE.md +1 -1
  50. package/docs/Std.Arithmetic/RippleCarryCGIncByLE.md +1 -1
  51. package/docs/Std.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
  52. package/docs/Std.Arithmetic/index.md +1 -3
  53. package/docs/Std.Arrays/All.md +1 -1
  54. package/docs/Std.Arrays/Any.md +1 -1
  55. package/docs/Std.Arrays/Chunks.md +1 -1
  56. package/docs/Std.Arrays/CircularlyShifted.md +1 -1
  57. package/docs/Std.Arrays/ColumnAt.md +1 -1
  58. package/docs/Std.Arrays/Count.md +1 -1
  59. package/docs/Std.Arrays/Diagonal.md +1 -1
  60. package/docs/Std.Arrays/DrawMany.md +1 -1
  61. package/docs/Std.Arrays/Enumerated.md +1 -1
  62. package/docs/Std.Arrays/Excluding.md +1 -1
  63. package/docs/Std.Arrays/Filtered.md +1 -1
  64. package/docs/Std.Arrays/FlatMapped.md +1 -1
  65. package/docs/Std.Arrays/Flattened.md +1 -1
  66. package/docs/Std.Arrays/Fold.md +1 -1
  67. package/docs/Std.Arrays/ForEach.md +1 -1
  68. package/docs/Std.Arrays/Head.md +1 -1
  69. package/docs/Std.Arrays/HeadAndRest.md +1 -1
  70. package/docs/Std.Arrays/IndexOf.md +1 -1
  71. package/docs/Std.Arrays/IndexRange.md +1 -1
  72. package/docs/Std.Arrays/Interleaved.md +1 -1
  73. package/docs/Std.Arrays/IsEmpty.md +1 -1
  74. package/docs/Std.Arrays/IsRectangularArray.md +1 -1
  75. package/docs/Std.Arrays/IsSorted.md +1 -1
  76. package/docs/Std.Arrays/IsSquareArray.md +1 -1
  77. package/docs/Std.Arrays/Mapped.md +1 -1
  78. package/docs/Std.Arrays/MappedByIndex.md +1 -1
  79. package/docs/Std.Arrays/MappedOverRange.md +1 -1
  80. package/docs/Std.Arrays/Most.md +1 -1
  81. package/docs/Std.Arrays/MostAndTail.md +1 -1
  82. package/docs/Std.Arrays/Padded.md +1 -1
  83. package/docs/Std.Arrays/Partitioned.md +1 -1
  84. package/docs/Std.Arrays/Rest.md +1 -1
  85. package/docs/Std.Arrays/Reversed.md +1 -1
  86. package/docs/Std.Arrays/SequenceI.md +1 -1
  87. package/docs/Std.Arrays/SequenceL.md +1 -1
  88. package/docs/Std.Arrays/Sorted.md +1 -1
  89. package/docs/Std.Arrays/Subarray.md +1 -1
  90. package/docs/Std.Arrays/Swapped.md +1 -1
  91. package/docs/Std.Arrays/Tail.md +1 -1
  92. package/docs/Std.Arrays/Transposed.md +1 -1
  93. package/docs/Std.Arrays/Unzipped.md +1 -1
  94. package/docs/Std.Arrays/Where.md +1 -1
  95. package/docs/Std.Arrays/Windows.md +1 -1
  96. package/docs/Std.Arrays/Zipped.md +1 -1
  97. package/docs/Std.Arrays/index.md +1 -3
  98. package/docs/Std.Canon/ApplyCNOTChain.md +1 -1
  99. package/docs/Std.Canon/ApplyControlledOnBitString.md +1 -1
  100. package/docs/Std.Canon/ApplyControlledOnInt.md +1 -1
  101. package/docs/Std.Canon/ApplyOperationPowerA.md +1 -1
  102. package/docs/Std.Canon/ApplyOperationPowerCA.md +24 -0
  103. package/docs/Std.Canon/ApplyP.md +1 -1
  104. package/docs/Std.Canon/ApplyPauli.md +1 -1
  105. package/docs/Std.Canon/ApplyPauliFromBitString.md +1 -1
  106. package/docs/Std.Canon/ApplyPauliFromInt.md +1 -1
  107. package/docs/Std.Canon/ApplyQFT.md +1 -1
  108. package/docs/Std.Canon/ApplyQPE.md +51 -0
  109. package/docs/Std.Canon/ApplyToEach.md +1 -1
  110. package/docs/Std.Canon/ApplyToEachA.md +1 -1
  111. package/docs/Std.Canon/ApplyToEachC.md +1 -1
  112. package/docs/Std.Canon/ApplyToEachCA.md +1 -1
  113. package/docs/Std.Canon/ApplyXorInPlace.md +1 -1
  114. package/docs/Std.Canon/ApplyXorInPlaceL.md +1 -1
  115. package/docs/Std.Canon/CX.md +1 -1
  116. package/docs/Std.Canon/CY.md +1 -1
  117. package/docs/Std.Canon/CZ.md +1 -1
  118. package/docs/Std.Canon/Fst.md +1 -1
  119. package/docs/Std.Canon/Relabel.md +1 -1
  120. package/docs/Std.Canon/Snd.md +1 -1
  121. package/docs/Std.Canon/SwapReverseRegister.md +1 -1
  122. package/docs/Std.Canon/index.md +3 -3
  123. package/docs/Std.Convert/BigIntAsBoolArray.md +1 -1
  124. package/docs/Std.Convert/BigIntAsInt.md +1 -1
  125. package/docs/Std.Convert/BoolArrayAsBigInt.md +1 -1
  126. package/docs/Std.Convert/BoolArrayAsInt.md +1 -1
  127. package/docs/Std.Convert/BoolArrayAsResultArray.md +1 -1
  128. package/docs/Std.Convert/BoolAsResult.md +1 -1
  129. package/docs/Std.Convert/ComplexAsComplexPolar.md +1 -1
  130. package/docs/Std.Convert/ComplexPolarAsComplex.md +1 -1
  131. package/docs/Std.Convert/DoubleAsStringWithPrecision.md +1 -1
  132. package/docs/Std.Convert/IntAsBigInt.md +1 -1
  133. package/docs/Std.Convert/IntAsBoolArray.md +1 -1
  134. package/docs/Std.Convert/IntAsDouble.md +1 -1
  135. package/docs/Std.Convert/ResultArrayAsBoolArray.md +1 -1
  136. package/docs/Std.Convert/ResultArrayAsInt.md +1 -1
  137. package/docs/Std.Convert/ResultAsBool.md +1 -1
  138. package/docs/Std.Convert/index.md +1 -3
  139. package/docs/Std.Core/Length.md +1 -1
  140. package/docs/Std.Core/Repeated.md +1 -1
  141. package/docs/Std.Core/index.md +1 -3
  142. package/docs/Std.Diagnostics/ApplyIdleNoise.md +1 -1
  143. package/docs/Std.Diagnostics/BitFlipNoise.md +1 -1
  144. package/docs/Std.Diagnostics/CheckAllZero.md +1 -1
  145. package/docs/Std.Diagnostics/CheckOperationsAreEqual.md +1 -1
  146. package/docs/Std.Diagnostics/CheckZero.md +1 -1
  147. package/docs/Std.Diagnostics/ConfigurePauliNoise.md +1 -1
  148. package/docs/Std.Diagnostics/DepolarizingNoise.md +1 -1
  149. package/docs/Std.Diagnostics/DumpMachine.md +1 -1
  150. package/docs/Std.Diagnostics/DumpOperation.md +1 -1
  151. package/docs/Std.Diagnostics/DumpRegister.md +1 -1
  152. package/docs/Std.Diagnostics/Fact.md +1 -1
  153. package/docs/Std.Diagnostics/NoNoise.md +1 -1
  154. package/docs/Std.Diagnostics/PhaseFlipNoise.md +1 -1
  155. package/docs/Std.Diagnostics/StartCountingFunction.md +1 -1
  156. package/docs/Std.Diagnostics/StartCountingOperation.md +1 -1
  157. package/docs/Std.Diagnostics/StartCountingQubits.md +1 -1
  158. package/docs/Std.Diagnostics/StopCountingFunction.md +1 -1
  159. package/docs/Std.Diagnostics/StopCountingOperation.md +1 -1
  160. package/docs/Std.Diagnostics/StopCountingQubits.md +1 -1
  161. package/docs/Std.Diagnostics/index.md +1 -3
  162. package/docs/Std.Intrinsic/AND.md +1 -1
  163. package/docs/Std.Intrinsic/ApplyUnitary.md +1 -1
  164. package/docs/Std.Intrinsic/CCNOT.md +1 -1
  165. package/docs/Std.Intrinsic/CNOT.md +1 -1
  166. package/docs/Std.Intrinsic/Exp.md +1 -1
  167. package/docs/Std.Intrinsic/H.md +1 -1
  168. package/docs/Std.Intrinsic/I.md +1 -1
  169. package/docs/Std.Intrinsic/M.md +1 -1
  170. package/docs/Std.Intrinsic/Measure.md +1 -1
  171. package/docs/Std.Intrinsic/Message.md +1 -1
  172. package/docs/Std.Intrinsic/R.md +1 -1
  173. package/docs/Std.Intrinsic/R1.md +1 -1
  174. package/docs/Std.Intrinsic/R1Frac.md +1 -1
  175. package/docs/Std.Intrinsic/RFrac.md +1 -1
  176. package/docs/Std.Intrinsic/Reset.md +1 -1
  177. package/docs/Std.Intrinsic/ResetAll.md +1 -1
  178. package/docs/Std.Intrinsic/Rx.md +1 -1
  179. package/docs/Std.Intrinsic/Rxx.md +1 -1
  180. package/docs/Std.Intrinsic/Ry.md +1 -1
  181. package/docs/Std.Intrinsic/Ryy.md +1 -1
  182. package/docs/Std.Intrinsic/Rz.md +1 -1
  183. package/docs/Std.Intrinsic/Rzz.md +1 -1
  184. package/docs/Std.Intrinsic/S.md +1 -1
  185. package/docs/Std.Intrinsic/SWAP.md +1 -1
  186. package/docs/Std.Intrinsic/SX.md +1 -1
  187. package/docs/Std.Intrinsic/T.md +1 -1
  188. package/docs/Std.Intrinsic/X.md +1 -1
  189. package/docs/Std.Intrinsic/Y.md +1 -1
  190. package/docs/Std.Intrinsic/Z.md +1 -1
  191. package/docs/Std.Intrinsic/index.md +1 -3
  192. package/docs/Std.Logical/Xor.md +1 -1
  193. package/docs/Std.Logical/index.md +1 -3
  194. package/docs/Std.Math/AbsComplex.md +1 -1
  195. package/docs/Std.Math/AbsComplexPolar.md +1 -1
  196. package/docs/Std.Math/AbsD.md +1 -1
  197. package/docs/Std.Math/AbsI.md +1 -1
  198. package/docs/Std.Math/AbsL.md +1 -1
  199. package/docs/Std.Math/AbsSquaredComplex.md +1 -1
  200. package/docs/Std.Math/AbsSquaredComplexPolar.md +1 -1
  201. package/docs/Std.Math/ApproximateFactorial.md +1 -1
  202. package/docs/Std.Math/ArcCos.md +1 -1
  203. package/docs/Std.Math/ArcCosh.md +1 -1
  204. package/docs/Std.Math/ArcSin.md +1 -1
  205. package/docs/Std.Math/ArcSinh.md +1 -1
  206. package/docs/Std.Math/ArcTan.md +1 -1
  207. package/docs/Std.Math/ArcTan2.md +1 -1
  208. package/docs/Std.Math/ArcTanh.md +1 -1
  209. package/docs/Std.Math/ArgComplex.md +1 -1
  210. package/docs/Std.Math/ArgComplexPolar.md +1 -1
  211. package/docs/Std.Math/Binom.md +1 -1
  212. package/docs/Std.Math/BitSizeI.md +1 -1
  213. package/docs/Std.Math/BitSizeL.md +1 -1
  214. package/docs/Std.Math/Ceiling.md +1 -1
  215. package/docs/Std.Math/Complex.md +1 -1
  216. package/docs/Std.Math/ComplexPolar.md +1 -1
  217. package/docs/Std.Math/ContinuedFractionConvergentI.md +1 -1
  218. package/docs/Std.Math/ContinuedFractionConvergentL.md +1 -1
  219. package/docs/Std.Math/Cos.md +1 -1
  220. package/docs/Std.Math/Cosh.md +1 -1
  221. package/docs/Std.Math/DivRemI.md +1 -1
  222. package/docs/Std.Math/DivRemL.md +1 -1
  223. package/docs/Std.Math/DividedByC.md +1 -1
  224. package/docs/Std.Math/DividedByCP.md +1 -1
  225. package/docs/Std.Math/E.md +1 -1
  226. package/docs/Std.Math/ExpModI.md +1 -1
  227. package/docs/Std.Math/ExpModL.md +1 -1
  228. package/docs/Std.Math/ExtendedGreatestCommonDivisorI.md +1 -1
  229. package/docs/Std.Math/ExtendedGreatestCommonDivisorL.md +1 -1
  230. package/docs/Std.Math/FactorialI.md +1 -1
  231. package/docs/Std.Math/FactorialL.md +1 -1
  232. package/docs/Std.Math/Floor.md +1 -1
  233. package/docs/Std.Math/GreatestCommonDivisorI.md +1 -1
  234. package/docs/Std.Math/GreatestCommonDivisorL.md +1 -1
  235. package/docs/Std.Math/HammingWeightI.md +1 -1
  236. package/docs/Std.Math/InverseModI.md +1 -1
  237. package/docs/Std.Math/InverseModL.md +1 -1
  238. package/docs/Std.Math/IsCoprimeI.md +1 -1
  239. package/docs/Std.Math/IsCoprimeL.md +1 -1
  240. package/docs/Std.Math/IsInfinite.md +1 -1
  241. package/docs/Std.Math/IsNaN.md +1 -1
  242. package/docs/Std.Math/LargestFixedPoint.md +1 -1
  243. package/docs/Std.Math/Lg.md +1 -1
  244. package/docs/Std.Math/Log.md +1 -1
  245. package/docs/Std.Math/Log10.md +1 -1
  246. package/docs/Std.Math/LogFactorialD.md +1 -1
  247. package/docs/Std.Math/LogGammaD.md +1 -1
  248. package/docs/Std.Math/LogOf2.md +1 -1
  249. package/docs/Std.Math/Max.md +1 -1
  250. package/docs/Std.Math/MaxD.md +1 -1
  251. package/docs/Std.Math/MaxI.md +1 -1
  252. package/docs/Std.Math/MaxL.md +1 -1
  253. package/docs/Std.Math/Min.md +1 -1
  254. package/docs/Std.Math/MinD.md +1 -1
  255. package/docs/Std.Math/MinI.md +1 -1
  256. package/docs/Std.Math/MinL.md +1 -1
  257. package/docs/Std.Math/MinusC.md +1 -1
  258. package/docs/Std.Math/MinusCP.md +1 -1
  259. package/docs/Std.Math/ModulusI.md +1 -1
  260. package/docs/Std.Math/ModulusL.md +1 -1
  261. package/docs/Std.Math/NegationC.md +1 -1
  262. package/docs/Std.Math/NegationCP.md +1 -1
  263. package/docs/Std.Math/PI.md +1 -1
  264. package/docs/Std.Math/PNorm.md +1 -1
  265. package/docs/Std.Math/PNormalized.md +1 -1
  266. package/docs/Std.Math/PlusC.md +1 -1
  267. package/docs/Std.Math/PlusCP.md +1 -1
  268. package/docs/Std.Math/PowC.md +1 -1
  269. package/docs/Std.Math/PowCP.md +1 -1
  270. package/docs/Std.Math/RealMod.md +1 -1
  271. package/docs/Std.Math/Round.md +1 -1
  272. package/docs/Std.Math/RoundHalfAwayFromZero.md +1 -1
  273. package/docs/Std.Math/SignD.md +1 -1
  274. package/docs/Std.Math/SignI.md +1 -1
  275. package/docs/Std.Math/SignL.md +1 -1
  276. package/docs/Std.Math/Sin.md +1 -1
  277. package/docs/Std.Math/Sinh.md +1 -1
  278. package/docs/Std.Math/SmallestFixedPoint.md +1 -1
  279. package/docs/Std.Math/Sqrt.md +1 -1
  280. package/docs/Std.Math/SquaredNorm.md +1 -1
  281. package/docs/Std.Math/Tan.md +1 -1
  282. package/docs/Std.Math/Tanh.md +1 -1
  283. package/docs/Std.Math/TimesC.md +1 -1
  284. package/docs/Std.Math/TimesCP.md +1 -1
  285. package/docs/Std.Math/TrailingZeroCountI.md +1 -1
  286. package/docs/Std.Math/TrailingZeroCountL.md +1 -1
  287. package/docs/Std.Math/Truncate.md +1 -1
  288. package/docs/Std.Math/index.md +1 -3
  289. package/docs/Std.Measurement/MResetEachZ.md +1 -1
  290. package/docs/Std.Measurement/MResetX.md +1 -1
  291. package/docs/Std.Measurement/MResetY.md +1 -1
  292. package/docs/Std.Measurement/MResetZ.md +1 -1
  293. package/docs/Std.Measurement/MeasureAllZ.md +1 -1
  294. package/docs/Std.Measurement/MeasureEachZ.md +1 -1
  295. package/docs/Std.Measurement/MeasureInteger.md +1 -1
  296. package/docs/Std.Measurement/index.md +1 -3
  297. package/docs/Std.Random/DrawRandomBool.md +1 -1
  298. package/docs/Std.Random/DrawRandomDouble.md +1 -1
  299. package/docs/Std.Random/DrawRandomInt.md +1 -1
  300. package/docs/Std.Random/index.md +1 -3
  301. package/docs/Std.Range/IsRangeEmpty.md +1 -1
  302. package/docs/Std.Range/RangeEnd.md +1 -1
  303. package/docs/Std.Range/RangeReverse.md +1 -1
  304. package/docs/Std.Range/RangeStart.md +1 -1
  305. package/docs/Std.Range/RangeStep.md +1 -1
  306. package/docs/Std.Range/index.md +1 -3
  307. package/docs/Std.ResourceEstimation/AccountForEstimates.md +1 -1
  308. package/docs/Std.ResourceEstimation/AuxQubitCount.md +1 -1
  309. package/docs/Std.ResourceEstimation/BeginEstimateCaching.md +1 -1
  310. package/docs/Std.ResourceEstimation/BeginRepeatEstimates.md +1 -1
  311. package/docs/Std.ResourceEstimation/CczCount.md +1 -1
  312. package/docs/Std.ResourceEstimation/EndEstimateCaching.md +1 -1
  313. package/docs/Std.ResourceEstimation/EndRepeatEstimates.md +1 -1
  314. package/docs/Std.ResourceEstimation/MeasurementCount.md +1 -1
  315. package/docs/Std.ResourceEstimation/PSSPCLayout.md +1 -1
  316. package/docs/Std.ResourceEstimation/RepeatEstimates.md +1 -1
  317. package/docs/Std.ResourceEstimation/RotationCount.md +1 -1
  318. package/docs/Std.ResourceEstimation/RotationDepth.md +1 -1
  319. package/docs/Std.ResourceEstimation/SingleVariant.md +1 -1
  320. package/docs/Std.ResourceEstimation/TCount.md +1 -1
  321. package/docs/Std.ResourceEstimation/index.md +1 -3
  322. package/docs/Std.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
  323. package/docs/Std.StatePreparation/PreparePureStateD.md +1 -1
  324. package/docs/Std.StatePreparation/PrepareUniformSuperposition.md +1 -1
  325. package/docs/Std.StatePreparation/index.md +1 -3
  326. package/docs/Std.TableLookup/Select.md +1 -1
  327. package/docs/Std.TableLookup/index.md +1 -3
  328. package/docs/index.md +19 -21
  329. package/docs/toc.yml +2 -0
  330. package/lib/node/qsc_wasm.cjs +9 -6
  331. package/lib/node/qsc_wasm.d.cts +2 -1
  332. package/lib/node/qsc_wasm_bg.wasm +0 -0
  333. package/lib/web/qsc_wasm.d.ts +3 -2
  334. package/lib/web/qsc_wasm.js +9 -6
  335. package/lib/web/qsc_wasm_bg.wasm +0 -0
  336. package/package.json +4 -3
  337. package/ux/circuit-vis/circuit.ts +3 -3
  338. package/ux/circuit-vis/draggable.ts +1 -1
  339. package/ux/circuit-vis/events.ts +2 -1
  340. package/ux/circuit-vis/index.ts +3 -1
  341. package/ux/circuit-vis/panel.ts +64 -1
  342. package/ux/circuit-vis/register.ts +1 -1
  343. package/ux/circuit-vis/sqore.ts +7 -1
  344. package/ux/circuit-vis/utils.ts +47 -0
  345. package/ux/circuit.tsx +66 -25
  346. package/ux/data.ts +1 -0
  347. package/ux/qsharp-circuit.css +31 -0
  348. package/dist/shared/circuit.js +0 -20
  349. package/dist/shared/legacyCircuitUpdate.d.ts +0 -9
  350. package/dist/shared/register.js +0 -10
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.BeginEstimateCaching
3
3
  title: BeginEstimateCaching function
4
4
  description: "Q# BeginEstimateCaching function: Informs the resource estimator of the start of the code fragment for which estimates caching can be done. This function is only available when using resource estimator execution target."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: function
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.BeginRepeatEstimates
3
3
  title: BeginRepeatEstimates operation
4
4
  description: "Q# BeginRepeatEstimates operation: Instructs the resource estimator to assume that the resources from the call of this operation until a call to `EndRepeatEstimates` are accounted for `count` times, without the need to execute the code that many times. Calls to `BeginRepeatEstimates` and `EndRepeatEstimates` can be nested. A helper operation `RepeatEstimates` allows to call the two functions in a `within` block."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: operation
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.CczCount
3
3
  title: CczCount function
4
4
  description: "Q# CczCount function: Returns a tuple that can be passed to the `AccountForEstimates` operation to specify that the number of the CCZ gates is equal to the `amount`."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: function
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.EndEstimateCaching
3
3
  title: EndEstimateCaching function
4
4
  description: "Q# EndEstimateCaching function: Instructs the resource estimator to stop estimates caching because the code fragment in consideration is over. This function is only available when using resource estimator execution target."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: function
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.EndRepeatEstimates
3
3
  title: EndRepeatEstimates operation
4
4
  description: "Q# EndRepeatEstimates operation: Companion operation to `BeginRepeatEstimates`."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: operation
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.MeasurementCount
3
3
  title: MeasurementCount function
4
4
  description: "Q# MeasurementCount function: Returns a tuple that can be passed to the `AccountForEstimates` operation to specify that the number Measurements is equal to the `amount`."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: function
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.PSSPCLayout
3
3
  title: PSSPCLayout function
4
4
  description: "Q# PSSPCLayout function: Pass the value returned by the function to the `AccountForEstimates` operation to indicate Parallel Synthesis Sequential Pauli Computation (PSSPC) layout. See https://arxiv.org/pdf/2211.07629.pdf for details."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: function
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.RepeatEstimates
3
3
  title: RepeatEstimates operation
4
4
  description: "Q# RepeatEstimates operation: Instructs the resource estimator to assume that the resources from the call of this operation until a call to `Adjoint RepeatEstimates` are accounted for `count` times, without the need to execute the code that many times."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: operation
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.RotationCount
3
3
  title: RotationCount function
4
4
  description: "Q# RotationCount function: Returns a tuple that can be passed to the `AccountForEstimates` operation to specify that the number of rotations is equal to the `amount`."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: function
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.RotationDepth
3
3
  title: RotationDepth function
4
4
  description: "Q# RotationDepth function: Returns a tuple that can be passed to the `AccountForEstimates` operation to specify that the rotation depth is equal to the `amount`."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: function
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.SingleVariant
3
3
  title: SingleVariant function
4
4
  description: "Q# SingleVariant function: Used to specify that there's only one execution variant in `BeginEstimateCaching` function"
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: function
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation.TCount
3
3
  title: TCount function
4
4
  description: "Q# TCount function: Returns a tuple that can be passed to the `AccountForEstimates` operation to specify that the number of the T gates is equal to the `amount`."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: function
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.ResourceEstimation
@@ -2,9 +2,7 @@
2
2
  uid: Qdk.Std.ResourceEstimation-toc
3
3
  title: Std.ResourceEstimation namespace
4
4
  description: Table of contents for the Q# ResourceEstimation namespace
5
- author: {AUTHOR}
6
- ms.author: {MS_AUTHOR}
7
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
8
6
  ms.topic: landing-page
9
7
  ---
10
8
 
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.StatePreparation.ApproximatelyPreparePureStateCP
3
3
  title: ApproximatelyPreparePureStateCP operation
4
4
  description: "Q# ApproximatelyPreparePureStateCP operation: Given a set of coefficients and a big-endian quantum register, prepares a state on that register described by the given coefficients, up to a given approximation tolerance."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: operation
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.StatePreparation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.StatePreparation.PreparePureStateD
3
3
  title: PreparePureStateD operation
4
4
  description: "Q# PreparePureStateD operation: Given a set of coefficients and a big-endian quantum register, prepares a state on that register described by the given coefficients."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: operation
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.StatePreparation
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.StatePreparation.PrepareUniformSuperposition
3
3
  title: PrepareUniformSuperposition operation
4
4
  description: "Q# PrepareUniformSuperposition operation: Prepares a uniform superposition of states that represent integers 0 through `nStates - 1` in a little-endian `qubits` register."
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: operation
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.StatePreparation
@@ -2,9 +2,7 @@
2
2
  uid: Qdk.Std.StatePreparation-toc
3
3
  title: Std.StatePreparation namespace
4
4
  description: Table of contents for the Q# StatePreparation namespace
5
- author: {AUTHOR}
6
- ms.author: {MS_AUTHOR}
7
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
8
6
  ms.topic: landing-page
9
7
  ---
10
8
 
@@ -2,7 +2,7 @@
2
2
  uid: Qdk.Std.TableLookup.Select
3
3
  title: Select operation
4
4
  description: "Q# Select operation: Performs table lookup using a SELECT network"
5
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
6
6
  qsharp.kind: operation
7
7
  qsharp.package: __Std__
8
8
  qsharp.namespace: Std.TableLookup
@@ -2,9 +2,7 @@
2
2
  uid: Qdk.Std.TableLookup-toc
3
3
  title: Std.TableLookup namespace
4
4
  description: Table of contents for the Q# TableLookup namespace
5
- author: {AUTHOR}
6
- ms.author: {MS_AUTHOR}
7
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
8
6
  ms.topic: landing-page
9
7
  ---
10
8
 
package/docs/index.md CHANGED
@@ -2,9 +2,7 @@
2
2
  uid: Microsoft.Quantum.apiref-toc
3
3
  title: Q# standard libraries for the Azure Quantum Development Kit
4
4
  description: Table of contents for the Q# standard libraries for Azure Quantum Development Kit
5
- author: {AUTHOR}
6
- ms.author: {MS_AUTHOR}
7
- ms.date: 05/28/2025
5
+ ms.date: 06/18/2025
8
6
  ms.topic: landing-page
9
7
  ---
10
8
 
@@ -12,21 +10,21 @@ ms.topic: landing-page
12
10
 
13
11
  The Q# standard library contains the following namespaces:
14
12
 
15
- | Namespace | Description |
16
- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
17
- | [`Microsoft.Quantum.Core`](xref:Qdk.Microsoft.Quantum.Core-toc) | Re-exported functions. |
18
- | [`Std.Arrays`](xref:Qdk.Std.Arrays-toc) | Items for working with arrays. |
19
- | [`Std.Canon`](xref:Qdk.Std.Canon-toc) | Canonical implementations of common classical and quantum utilities.|
20
- | [`Std.Convert`](xref:Qdk.Std.Convert-toc) | Items for converting between different types. |
21
- | [`Std.Core`](xref:Qdk.Std.Core-toc) | Items for language built-in operations. |
22
- | [`Std.Diagnostics`](xref:Qdk.Std.Diagnostics-toc) | Items for debugging and testing quantum programs. |
23
- | [`Std.Intrinsic`](xref:Qdk.Std.Intrinsic-toc) | Items that provide core quantum operations. |
24
- | [`Std.Logical`](xref:Qdk.Std.Logical-toc) | Boolean Logic functions. |
25
- | [`Std.Math`](xref:Qdk.Std.Math-toc) | Items for classical math operations. |
26
- | [`Std.Measurement`](xref:Qdk.Std.Measurement-toc) | Items for measuring quantum results. |
27
- | [`Std.Random`](xref:Qdk.Std.Random-toc) | Items for creating random values. |
28
- | [`Std.Range`](xref:Qdk.Std.Range-toc) | Items for working with ranges. |
29
- | [`Std.ResourceEstimation`](xref:Qdk.Std.ResourceEstimation-toc) | Items for working with the Azure Quantum Resource Estimator. |
30
- | [`Microsoft.Quantum.Unstable.Arithmetic`](xref:Qdk.Microsoft.Quantum.Unstable.Arithmetic-toc) | Items for working with quantum arithmetic operations. |
31
- | [`Microsoft.Quantum.Unstable.StatePreparation`](xref:Qdk.Microsoft.Quantum.Unstable.StatePreparation-toc) | Items for preparing a quantum state. |
32
- | [`Microsoft.Quantum.Unstable.TableLookup`](xref:Qdk.Microsoft.Quantum.Unstable.TableLookup-toc) | Items for performing quantum table lookups. |
13
+ | Namespace | Description |
14
+ | --------------------------------------------------------------- | -------------------------------------------------------------------- |
15
+ | [`Microsoft.Quantum.Core`](xref:Qdk.Microsoft.Quantum.Core-toc) | Re-exported functions. |
16
+ | [`Std.Arithmetic`](xref:Qdk.Std.Arithmetic-toc) | Items for working with quantum arithmetic operations. |
17
+ | [`Std.Arrays`](xref:Qdk.Std.Arrays-toc) | Items for working with arrays. |
18
+ | [`Std.Canon`](xref:Qdk.Std.Canon-toc) | Canonical implementations of common classical and quantum utilities. |
19
+ | [`Std.Convert`](xref:Qdk.Std.Convert-toc) | Items for converting between different types. |
20
+ | [`Std.Core`](xref:Qdk.Std.Core-toc) | Items for language built-in operations. |
21
+ | [`Std.Diagnostics`](xref:Qdk.Std.Diagnostics-toc) | Items for debugging and testing quantum programs. |
22
+ | [`Std.Intrinsic`](xref:Qdk.Std.Intrinsic-toc) | Items that provide core quantum operations. |
23
+ | [`Std.Logical`](xref:Qdk.Std.Logical-toc) | Boolean Logic functions. |
24
+ | [`Std.Math`](xref:Qdk.Std.Math-toc) | Items for classical math operations. |
25
+ | [`Std.Measurement`](xref:Qdk.Std.Measurement-toc) | Items for measuring quantum results. |
26
+ | [`Std.Random`](xref:Qdk.Std.Random-toc) | Items for creating random values. |
27
+ | [`Std.Range`](xref:Qdk.Std.Range-toc) | Items for working with ranges. |
28
+ | [`Std.ResourceEstimation`](xref:Qdk.Std.ResourceEstimation-toc) | Items for working with the Azure Quantum Resource Estimator. |
29
+ | [`Std.StatePreparation`](xref:Qdk.Std.StatePreparation-toc) | Items for preparing a quantum state. |
30
+ | [`Std.TableLookup`](xref:Qdk.Std.TableLookup-toc) | Items for performing quantum table lookups. |
package/docs/toc.yml CHANGED
@@ -93,11 +93,13 @@
93
93
  - {name: ApplyControlledOnBitString, uid: Qdk.Std.Canon.ApplyControlledOnBitString}
94
94
  - {name: ApplyControlledOnInt, uid: Qdk.Std.Canon.ApplyControlledOnInt}
95
95
  - {name: ApplyOperationPowerA, uid: Qdk.Std.Canon.ApplyOperationPowerA}
96
+ - {name: ApplyOperationPowerCA, uid: Qdk.Std.Canon.ApplyOperationPowerCA}
96
97
  - {name: ApplyP, uid: Qdk.Std.Canon.ApplyP}
97
98
  - {name: ApplyPauli, uid: Qdk.Std.Canon.ApplyPauli}
98
99
  - {name: ApplyPauliFromBitString, uid: Qdk.Std.Canon.ApplyPauliFromBitString}
99
100
  - {name: ApplyPauliFromInt, uid: Qdk.Std.Canon.ApplyPauliFromInt}
100
101
  - {name: ApplyQFT, uid: Qdk.Std.Canon.ApplyQFT}
102
+ - {name: ApplyQPE, uid: Qdk.Std.Canon.ApplyQPE}
101
103
  - {name: ApplyToEach, uid: Qdk.Std.Canon.ApplyToEach}
102
104
  - {name: ApplyToEachA, uid: Qdk.Std.Canon.ApplyToEachA}
103
105
  - {name: ApplyToEachC, uid: Qdk.Std.Canon.ApplyToEachC}
@@ -1102,12 +1102,15 @@ class ProjectLoader {
1102
1102
  }
1103
1103
  /**
1104
1104
  * @param {string} file_path
1105
+ * @param {string | null} [source]
1105
1106
  * @returns {Promise<IProjectConfig>}
1106
1107
  */
1107
- load_openqasm_project(file_path) {
1108
+ load_openqasm_project(file_path, source) {
1108
1109
  const ptr0 = passStringToWasm0(file_path, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
1109
1110
  const len0 = WASM_VECTOR_LEN;
1110
- const ret = wasm.projectloader_load_openqasm_project(this.__wbg_ptr, ptr0, len0);
1111
+ var ptr1 = isLikeNone(source) ? 0 : passStringToWasm0(source, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
1112
+ var len1 = WASM_VECTOR_LEN;
1113
+ const ret = wasm.projectloader_load_openqasm_project(this.__wbg_ptr, ptr0, len0, ptr1, len1);
1111
1114
  return takeObject(ret);
1112
1115
  }
1113
1116
  }
@@ -1412,10 +1415,10 @@ module.exports.__wbg_require_79b1e9274cde3c87 = function() { return handleError(
1412
1415
  return addHeapObject(ret);
1413
1416
  }, arguments) };
1414
1417
 
1415
- module.exports.__wbg_resolvePath_589375b90e08e655 = function(arg0, arg1, arg2, arg3, arg4) {
1418
+ module.exports.__wbg_resolvePath_b4556f7b4689ad4a = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
1416
1419
  const ret = getObject(arg0).resolvePath(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
1417
1420
  return addHeapObject(ret);
1418
- };
1421
+ }, arguments) };
1419
1422
 
1420
1423
  module.exports.__wbg_resolve_03bf127fbf612c20 = function(arg0) {
1421
1424
  const ret = Promise.resolve(getObject(arg0));
@@ -1524,8 +1527,8 @@ module.exports.__wbindgen_cb_drop = function(arg0) {
1524
1527
  return ret;
1525
1528
  };
1526
1529
 
1527
- module.exports.__wbindgen_closure_wrapper1005 = function(arg0, arg1, arg2) {
1528
- const ret = makeMutClosure(arg0, arg1, 392, __wbg_adapter_52);
1530
+ module.exports.__wbindgen_closure_wrapper981 = function(arg0, arg1, arg2) {
1531
+ const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_52);
1529
1532
  return addHeapObject(ret);
1530
1533
  };
1531
1534
 
@@ -104,6 +104,7 @@ export interface IWorkspaceConfiguration {
104
104
  packageType?: "exe" | "lib";
105
105
  languageFeatures?: LanguageFeatures[];
106
106
  lints?: ({ lint: string; level: string } | { group: string; level: string })[];
107
+ devDiagnostics?: boolean;
107
108
  }
108
109
 
109
110
  export interface ICodeAction {
@@ -318,5 +319,5 @@ export class ProjectLoader {
318
319
  free(): void;
319
320
  constructor(project_host: IProjectHost);
320
321
  load_project_with_deps(directory: string): Promise<IProjectConfig>;
321
- load_openqasm_project(file_path: string): Promise<IProjectConfig>;
322
+ load_openqasm_project(file_path: string, source?: string | null): Promise<IProjectConfig>;
322
323
  }
Binary file
@@ -104,6 +104,7 @@ export interface IWorkspaceConfiguration {
104
104
  packageType?: "exe" | "lib";
105
105
  languageFeatures?: LanguageFeatures[];
106
106
  lints?: ({ lint: string; level: string } | { group: string; level: string })[];
107
+ devDiagnostics?: boolean;
107
108
  }
108
109
 
109
110
  export interface ICodeAction {
@@ -318,7 +319,7 @@ export class ProjectLoader {
318
319
  free(): void;
319
320
  constructor(project_host: IProjectHost);
320
321
  load_project_with_deps(directory: string): Promise<IProjectConfig>;
321
- load_openqasm_project(file_path: string): Promise<IProjectConfig>;
322
+ load_openqasm_project(file_path: string, source?: string | null): Promise<IProjectConfig>;
322
323
  }
323
324
 
324
325
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
@@ -361,7 +362,7 @@ export interface InitOutput {
361
362
  readonly __wbg_projectloader_free: (a: number, b: number) => void;
362
363
  readonly projectloader_new: (a: number) => number;
363
364
  readonly projectloader_load_project_with_deps: (a: number, b: number, c: number) => number;
364
- readonly projectloader_load_openqasm_project: (a: number, b: number, c: number) => number;
365
+ readonly projectloader_load_openqasm_project: (a: number, b: number, c: number, d: number, e: number) => number;
365
366
  readonly git_hash: (a: number) => void;
366
367
  readonly get_qir: (a: number, b: number) => void;
367
368
  readonly get_estimates: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
@@ -1096,12 +1096,15 @@ export class ProjectLoader {
1096
1096
  }
1097
1097
  /**
1098
1098
  * @param {string} file_path
1099
+ * @param {string | null} [source]
1099
1100
  * @returns {Promise<IProjectConfig>}
1100
1101
  */
1101
- load_openqasm_project(file_path) {
1102
+ load_openqasm_project(file_path, source) {
1102
1103
  const ptr0 = passStringToWasm0(file_path, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
1103
1104
  const len0 = WASM_VECTOR_LEN;
1104
- const ret = wasm.projectloader_load_openqasm_project(this.__wbg_ptr, ptr0, len0);
1105
+ var ptr1 = isLikeNone(source) ? 0 : passStringToWasm0(source, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
1106
+ var len1 = WASM_VECTOR_LEN;
1107
+ const ret = wasm.projectloader_load_openqasm_project(this.__wbg_ptr, ptr0, len0, ptr1, len1);
1105
1108
  return takeObject(ret);
1106
1109
  }
1107
1110
  }
@@ -1388,10 +1391,10 @@ function __wbg_get_imports() {
1388
1391
  const ret = module.require;
1389
1392
  return addHeapObject(ret);
1390
1393
  }, arguments) };
1391
- imports.wbg.__wbg_resolvePath_589375b90e08e655 = function(arg0, arg1, arg2, arg3, arg4) {
1394
+ imports.wbg.__wbg_resolvePath_b4556f7b4689ad4a = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
1392
1395
  const ret = getObject(arg0).resolvePath(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
1393
1396
  return addHeapObject(ret);
1394
- };
1397
+ }, arguments) };
1395
1398
  imports.wbg.__wbg_resolve_03bf127fbf612c20 = function(arg0) {
1396
1399
  const ret = Promise.resolve(getObject(arg0));
1397
1400
  return addHeapObject(ret);
@@ -1479,8 +1482,8 @@ function __wbg_get_imports() {
1479
1482
  const ret = false;
1480
1483
  return ret;
1481
1484
  };
1482
- imports.wbg.__wbindgen_closure_wrapper1005 = function(arg0, arg1, arg2) {
1483
- const ret = makeMutClosure(arg0, arg1, 392, __wbg_adapter_52);
1485
+ imports.wbg.__wbindgen_closure_wrapper981 = function(arg0, arg1, arg2) {
1486
+ const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_52);
1484
1487
  return addHeapObject(ret);
1485
1488
  };
1486
1489
  imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "qsharp-lang",
3
3
  "description": "qsharp language package for quantum development",
4
- "version": "1.17.1-dev",
4
+ "version": "1.17.2-dev",
5
5
  "license": "MIT",
6
6
  "engines": {
7
7
  "node": ">=16.17.0"
@@ -27,9 +27,10 @@
27
27
  "scripts": {
28
28
  "build": "npm run docs && npm run generate && npm run build:tsc",
29
29
  "generate": "node generate_katas_content.js && node generate_samples_content.js",
30
+ "generate:force": "node generate_katas_content.js --force && node generate_samples_content.js",
30
31
  "docs": "node generate_docs.js",
31
- "build:tsc": "node ../../node_modules/typescript/bin/tsc -p ./src/tsconfig.json",
32
- "tsc:watch": "node ../../node_modules/typescript/bin/tsc -p ./src/tsconfig.json --watch --preserveWatchOutput",
32
+ "build:tsc": "node ../../../node_modules/typescript/bin/tsc -p ./src/tsconfig.json",
33
+ "tsc:watch": "node ../../../node_modules/typescript/bin/tsc -p ./src/tsconfig.json --watch --preserveWatchOutput",
33
34
  "test": "node --test"
34
35
  },
35
36
  "type": "module",
@@ -15,7 +15,7 @@ export {
15
15
  type Unitary,
16
16
  type Parameter,
17
17
  type Qubit,
18
- } from "../../src/shared/circuit";
18
+ } from "../../src/data-structures/circuit";
19
19
 
20
- export { CURRENT_VERSION } from "../../src/shared/circuit";
21
- export { toCircuitGroup } from "../../src/shared/legacyCircuitUpdate";
20
+ export { CURRENT_VERSION } from "../../src/data-structures/circuit";
21
+ export { toCircuitGroup } from "../../src/data-structures/legacyCircuitUpdate";
@@ -1,7 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
 
4
- import { getMinMaxRegIdx } from "../../src/utils";
5
4
  import { ComponentGrid, Operation } from "./circuit";
6
5
  import {
7
6
  gatePadding,
@@ -18,6 +17,7 @@ import { Sqore } from "./sqore";
18
17
  import {
19
18
  findLocation,
20
19
  getHostElems,
20
+ getMinMaxRegIdx,
21
21
  getToolboxElems,
22
22
  getWireData,
23
23
  locationStringToIndexes,
@@ -15,6 +15,7 @@ import {
15
15
  findParentArray,
16
16
  deepEqual,
17
17
  getQubitLabelElems,
18
+ getMinMaxRegIdx,
18
19
  } from "./utils";
19
20
  import { addContextMenuToHostElem, promptForArguments } from "./contextMenu";
20
21
  import {
@@ -35,7 +36,7 @@ import {
35
36
  makeDropzoneBox,
36
37
  removeAllWireDropzones,
37
38
  } from "./draggable";
38
- import { getMinMaxRegIdx, getOperationRegisters } from "../../src/utils";
39
+ import { getOperationRegisters } from "../../src/utils";
39
40
 
40
41
  let events: CircuitEvents | null = null;
41
42
 
@@ -12,6 +12,7 @@ import { CircuitGroup } from "./circuit";
12
12
  * @param renderDepth Initial layer depth at which to render gates.
13
13
  * @param isEditable Whether the circuit is editable.
14
14
  * @param editCallback Callback function to be called when the circuit is edited.
15
+ * @param runCallback Callback function to be called when the circuit is run.
15
16
  */
16
17
  export const draw = (
17
18
  circuitGroup: CircuitGroup,
@@ -19,8 +20,9 @@ export const draw = (
19
20
  renderDepth = 0,
20
21
  isEditable = false,
21
22
  editCallback?: (circuitGroup: CircuitGroup) => void,
23
+ runCallback?: () => void,
22
24
  ): void => {
23
- const sqore = new Sqore(circuitGroup, isEditable, editCallback);
25
+ const sqore = new Sqore(circuitGroup, isEditable, editCallback, runCallback);
24
26
  sqore.draw(container, renderDepth);
25
27
  };
26
28
 
@@ -63,6 +63,23 @@ const createPanel = (container: HTMLElement): void => {
63
63
  }
64
64
  };
65
65
 
66
+ /**
67
+ * Enable the run button in the toolbox panel.
68
+ * This function makes the run button visible and adds a click event listener.
69
+ * @param container HTML element containing the toolbox panel
70
+ * @param callback Callback function to execute when the run button is clicked
71
+ */
72
+ const enableRunButton = (
73
+ container: HTMLElement,
74
+ callback: () => void,
75
+ ): void => {
76
+ const runButton = container.querySelector(".svg-run-button");
77
+ if (runButton && runButton.getAttribute("visibility") !== "visible") {
78
+ runButton.setAttribute("visibility", "visible");
79
+ runButton.addEventListener("click", callback);
80
+ }
81
+ };
82
+
66
83
  /**
67
84
  * Function to produce panel element
68
85
  * @param context Context object to manage extension state
@@ -108,6 +125,10 @@ const _createToolbox = (): HTMLElement => {
108
125
  svgElem.classList.add("toolbox-panel-svg");
109
126
  _childrenSvg(svgElem, gateElems);
110
127
 
128
+ // Append run button
129
+ const runButtonGroup = _createRunButton(prefixY + gateHeight + 20);
130
+ svgElem.appendChild(runButtonGroup);
131
+
111
132
  // Generate toolbox panel
112
133
  const toolboxElem = _elem("div", "toolbox-panel");
113
134
  _children(toolboxElem, [_title("Toolbox")]);
@@ -116,6 +137,48 @@ const _createToolbox = (): HTMLElement => {
116
137
  return toolboxElem;
117
138
  };
118
139
 
140
+ /**
141
+ * Function to create the run button in the toolbox panel
142
+ * @param buttonY Y coordinate for the top of the button
143
+ * @returns SVG group element containing the run button
144
+ */
145
+ const _createRunButton = (buttonY: number): SVGGElement => {
146
+ const buttonWidth = minGateWidth * 2 + horizontalGap;
147
+ const buttonHeight = gateHeight;
148
+ const buttonX = 1;
149
+
150
+ const runButtonGroup = document.createElementNS(
151
+ "http://www.w3.org/2000/svg",
152
+ "g",
153
+ );
154
+ runButtonGroup.setAttribute("class", "svg-run-button");
155
+ runButtonGroup.setAttribute("tabindex", "0");
156
+ runButtonGroup.setAttribute("role", "button");
157
+
158
+ // Rectangle background
159
+ const rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
160
+ rect.setAttribute("x", buttonX.toString());
161
+ rect.setAttribute("y", buttonY.toString());
162
+ rect.setAttribute("width", buttonWidth.toString());
163
+ rect.setAttribute("height", buttonHeight.toString());
164
+ rect.setAttribute("class", "svg-run-button-rect");
165
+
166
+ // Text label
167
+ const text = document.createElementNS("http://www.w3.org/2000/svg", "text");
168
+ text.setAttribute("x", (buttonX + buttonWidth / 2).toString());
169
+ text.setAttribute("y", (buttonY + buttonHeight / 2).toString());
170
+ text.setAttribute("class", "svg-run-button-text");
171
+ text.textContent = "Run";
172
+
173
+ // Add elements to group
174
+ runButtonGroup.appendChild(rect);
175
+ runButtonGroup.appendChild(text);
176
+
177
+ // The run button should be hidden by default
178
+ runButtonGroup.setAttribute("visibility", "hidden");
179
+ return runButtonGroup;
180
+ };
181
+
119
182
  /**
120
183
  * Factory function to produce HTML element
121
184
  * @param tag Tag name
@@ -331,4 +394,4 @@ toolboxGateDictionary["RX"].params = [{ name: "theta", type: "Double" }];
331
394
  toolboxGateDictionary["RY"].params = [{ name: "theta", type: "Double" }];
332
395
  toolboxGateDictionary["RZ"].params = [{ name: "theta", type: "Double" }];
333
396
 
334
- export { createPanel, toolboxGateDictionary, toRenderData };
397
+ export { createPanel, enableRunButton, toolboxGateDictionary, toRenderData };
@@ -6,4 +6,4 @@ export {
6
6
  type Register,
7
7
  type RegisterMap,
8
8
  type RegisterRenderData,
9
- } from "../../src/shared/register";
9
+ } from "../../src/data-structures/register";
@@ -18,7 +18,7 @@ import { createUUID } from "./utils";
18
18
  import { gateHeight, minGateWidth, minToolboxHeight, svgNS } from "./constants";
19
19
  import { createDropzones } from "./draggable";
20
20
  import { enableEvents } from "./events";
21
- import { createPanel } from "./panel";
21
+ import { createPanel, enableRunButton } from "./panel";
22
22
 
23
23
  /**
24
24
  * Contains render data for visualization.
@@ -54,11 +54,13 @@ export class Sqore {
54
54
  * @param circuitGroup Group of circuits to be visualized.
55
55
  * @param isEditable Whether the circuit is editable.
56
56
  * @param editCallback Callback function to be called when the circuit is edited.
57
+ * @param runCallback Callback function to be called when the circuit is run.
57
58
  */
58
59
  constructor(
59
60
  public circuitGroup: CircuitGroup,
60
61
  readonly isEditable = false,
61
62
  private editCallback?: (circuitGroup: CircuitGroup) => void,
63
+ private runCallback?: () => void,
62
64
  ) {
63
65
  if (
64
66
  this.circuitGroup == null ||
@@ -147,6 +149,10 @@ export class Sqore {
147
149
  if (this.isEditable) {
148
150
  createDropzones(container, this);
149
151
  createPanel(container);
152
+ if (this.runCallback != undefined) {
153
+ const callback = this.runCallback;
154
+ enableRunButton(container, callback);
155
+ }
150
156
  enableEvents(container, this, () => this.renderCircuit(container));
151
157
  if (this.editCallback != undefined) {
152
158
  this.editCallback(this.minimizeCircuits(this.circuitGroup));