qsharp-lang 1.3.2-dev → 1.3.4-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/dist/compiler/compiler.d.ts +3 -2
  2. package/dist/debug-service/debug-service.d.ts +7 -4
  3. package/dist/debug-service/debug-service.js +20 -16
  4. package/dist/samples.generated.js +15 -15
  5. package/docs/Microsoft.Quantum.Arrays/All.md +1 -1
  6. package/docs/Microsoft.Quantum.Arrays/Any.md +1 -1
  7. package/docs/Microsoft.Quantum.Arrays/Chunks.md +1 -1
  8. package/docs/Microsoft.Quantum.Arrays/CircularlyShifted.md +1 -1
  9. package/docs/Microsoft.Quantum.Arrays/ColumnAt.md +1 -1
  10. package/docs/Microsoft.Quantum.Arrays/Count.md +1 -1
  11. package/docs/Microsoft.Quantum.Arrays/Diagonal.md +1 -1
  12. package/docs/Microsoft.Quantum.Arrays/DrawMany.md +1 -1
  13. package/docs/Microsoft.Quantum.Arrays/Enumerated.md +1 -1
  14. package/docs/Microsoft.Quantum.Arrays/Excluding.md +1 -1
  15. package/docs/Microsoft.Quantum.Arrays/Filtered.md +1 -1
  16. package/docs/Microsoft.Quantum.Arrays/FlatMapped.md +1 -1
  17. package/docs/Microsoft.Quantum.Arrays/Flattened.md +1 -1
  18. package/docs/Microsoft.Quantum.Arrays/Fold.md +1 -1
  19. package/docs/Microsoft.Quantum.Arrays/ForEach.md +1 -1
  20. package/docs/Microsoft.Quantum.Arrays/Head.md +1 -1
  21. package/docs/Microsoft.Quantum.Arrays/HeadAndRest.md +1 -1
  22. package/docs/Microsoft.Quantum.Arrays/IndexOf.md +1 -1
  23. package/docs/Microsoft.Quantum.Arrays/IndexRange.md +1 -1
  24. package/docs/Microsoft.Quantum.Arrays/Interleaved.md +1 -1
  25. package/docs/Microsoft.Quantum.Arrays/IsEmpty.md +1 -1
  26. package/docs/Microsoft.Quantum.Arrays/IsRectangularArray.md +1 -1
  27. package/docs/Microsoft.Quantum.Arrays/IsSorted.md +1 -1
  28. package/docs/Microsoft.Quantum.Arrays/IsSquareArray.md +1 -1
  29. package/docs/Microsoft.Quantum.Arrays/Mapped.md +1 -1
  30. package/docs/Microsoft.Quantum.Arrays/MappedByIndex.md +1 -1
  31. package/docs/Microsoft.Quantum.Arrays/MappedOverRange.md +1 -1
  32. package/docs/Microsoft.Quantum.Arrays/Most.md +1 -1
  33. package/docs/Microsoft.Quantum.Arrays/MostAndTail.md +1 -1
  34. package/docs/Microsoft.Quantum.Arrays/Padded.md +1 -1
  35. package/docs/Microsoft.Quantum.Arrays/Partitioned.md +1 -1
  36. package/docs/Microsoft.Quantum.Arrays/Rest.md +1 -1
  37. package/docs/Microsoft.Quantum.Arrays/Reversed.md +1 -1
  38. package/docs/Microsoft.Quantum.Arrays/SequenceI.md +1 -1
  39. package/docs/Microsoft.Quantum.Arrays/SequenceL.md +1 -1
  40. package/docs/Microsoft.Quantum.Arrays/Sorted.md +1 -1
  41. package/docs/Microsoft.Quantum.Arrays/Subarray.md +1 -1
  42. package/docs/Microsoft.Quantum.Arrays/Swapped.md +1 -1
  43. package/docs/Microsoft.Quantum.Arrays/Tail.md +1 -1
  44. package/docs/Microsoft.Quantum.Arrays/Transposed.md +1 -1
  45. package/docs/Microsoft.Quantum.Arrays/Unzipped.md +1 -1
  46. package/docs/Microsoft.Quantum.Arrays/Where.md +1 -1
  47. package/docs/Microsoft.Quantum.Arrays/Windows.md +1 -1
  48. package/docs/Microsoft.Quantum.Arrays/Zipped.md +1 -1
  49. package/docs/Microsoft.Quantum.Canon/ApplyCNOTChain.md +1 -1
  50. package/docs/Microsoft.Quantum.Canon/ApplyControlledOnBitString.md +1 -1
  51. package/docs/Microsoft.Quantum.Canon/ApplyControlledOnInt.md +1 -1
  52. package/docs/Microsoft.Quantum.Canon/ApplyP.md +1 -1
  53. package/docs/Microsoft.Quantum.Canon/ApplyPauli.md +1 -1
  54. package/docs/Microsoft.Quantum.Canon/ApplyPauliFromBitString.md +1 -1
  55. package/docs/Microsoft.Quantum.Canon/ApplyPauliFromInt.md +1 -1
  56. package/docs/Microsoft.Quantum.Canon/ApplyQFT.md +1 -1
  57. package/docs/Microsoft.Quantum.Canon/ApplyToEach.md +1 -1
  58. package/docs/Microsoft.Quantum.Canon/ApplyToEachA.md +1 -1
  59. package/docs/Microsoft.Quantum.Canon/ApplyToEachC.md +1 -1
  60. package/docs/Microsoft.Quantum.Canon/ApplyToEachCA.md +1 -1
  61. package/docs/Microsoft.Quantum.Canon/ApplyXorInPlace.md +1 -1
  62. package/docs/Microsoft.Quantum.Canon/ApplyXorInPlaceL.md +1 -1
  63. package/docs/Microsoft.Quantum.Canon/CX.md +1 -1
  64. package/docs/Microsoft.Quantum.Canon/CY.md +1 -1
  65. package/docs/Microsoft.Quantum.Canon/CZ.md +1 -1
  66. package/docs/Microsoft.Quantum.Canon/Fst.md +1 -1
  67. package/docs/Microsoft.Quantum.Canon/Snd.md +1 -1
  68. package/docs/Microsoft.Quantum.Canon/SwapReverseRegister.md +1 -1
  69. package/docs/Microsoft.Quantum.Convert/BigIntAsBoolArray.md +1 -1
  70. package/docs/Microsoft.Quantum.Convert/BoolArrayAsBigInt.md +1 -1
  71. package/docs/Microsoft.Quantum.Convert/BoolArrayAsInt.md +1 -1
  72. package/docs/Microsoft.Quantum.Convert/BoolArrayAsResultArray.md +1 -1
  73. package/docs/Microsoft.Quantum.Convert/BoolAsResult.md +1 -1
  74. package/docs/Microsoft.Quantum.Convert/ComplexAsComplexPolar.md +1 -1
  75. package/docs/Microsoft.Quantum.Convert/ComplexPolarAsComplex.md +1 -1
  76. package/docs/Microsoft.Quantum.Convert/IntAsBigInt.md +1 -1
  77. package/docs/Microsoft.Quantum.Convert/IntAsBoolArray.md +1 -1
  78. package/docs/Microsoft.Quantum.Convert/IntAsDouble.md +1 -1
  79. package/docs/Microsoft.Quantum.Convert/ResultArrayAsBoolArray.md +1 -1
  80. package/docs/Microsoft.Quantum.Convert/ResultArrayAsInt.md +1 -1
  81. package/docs/Microsoft.Quantum.Convert/ResultAsBool.md +1 -1
  82. package/docs/Microsoft.Quantum.Core/IsRangeEmpty.md +1 -1
  83. package/docs/Microsoft.Quantum.Core/Length.md +1 -1
  84. package/docs/Microsoft.Quantum.Core/RangeEnd.md +1 -1
  85. package/docs/Microsoft.Quantum.Core/RangeReverse.md +1 -1
  86. package/docs/Microsoft.Quantum.Core/RangeStart.md +1 -1
  87. package/docs/Microsoft.Quantum.Core/RangeStep.md +1 -1
  88. package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
  89. package/docs/Microsoft.Quantum.Diagnostics/CheckAllZero.md +1 -1
  90. package/docs/Microsoft.Quantum.Diagnostics/CheckOperationsAreEqual.md +1 -1
  91. package/docs/Microsoft.Quantum.Diagnostics/CheckZero.md +1 -1
  92. package/docs/Microsoft.Quantum.Diagnostics/DumpMachine.md +1 -1
  93. package/docs/Microsoft.Quantum.Diagnostics/DumpRegister.md +1 -1
  94. package/docs/Microsoft.Quantum.Diagnostics/Fact.md +1 -1
  95. package/docs/Microsoft.Quantum.Intrinsic/CCNOT.md +1 -1
  96. package/docs/Microsoft.Quantum.Intrinsic/CNOT.md +1 -1
  97. package/docs/Microsoft.Quantum.Intrinsic/Exp.md +1 -1
  98. package/docs/Microsoft.Quantum.Intrinsic/H.md +1 -1
  99. package/docs/Microsoft.Quantum.Intrinsic/I.md +1 -1
  100. package/docs/Microsoft.Quantum.Intrinsic/M.md +1 -1
  101. package/docs/Microsoft.Quantum.Intrinsic/Measure.md +1 -1
  102. package/docs/Microsoft.Quantum.Intrinsic/Message.md +1 -1
  103. package/docs/Microsoft.Quantum.Intrinsic/R.md +1 -1
  104. package/docs/Microsoft.Quantum.Intrinsic/R1.md +1 -1
  105. package/docs/Microsoft.Quantum.Intrinsic/R1Frac.md +1 -1
  106. package/docs/Microsoft.Quantum.Intrinsic/RFrac.md +1 -1
  107. package/docs/Microsoft.Quantum.Intrinsic/Reset.md +1 -1
  108. package/docs/Microsoft.Quantum.Intrinsic/ResetAll.md +1 -1
  109. package/docs/Microsoft.Quantum.Intrinsic/Rx.md +1 -1
  110. package/docs/Microsoft.Quantum.Intrinsic/Rxx.md +1 -1
  111. package/docs/Microsoft.Quantum.Intrinsic/Ry.md +1 -1
  112. package/docs/Microsoft.Quantum.Intrinsic/Ryy.md +1 -1
  113. package/docs/Microsoft.Quantum.Intrinsic/Rz.md +1 -1
  114. package/docs/Microsoft.Quantum.Intrinsic/Rzz.md +1 -1
  115. package/docs/Microsoft.Quantum.Intrinsic/S.md +1 -1
  116. package/docs/Microsoft.Quantum.Intrinsic/SWAP.md +1 -1
  117. package/docs/Microsoft.Quantum.Intrinsic/T.md +1 -1
  118. package/docs/Microsoft.Quantum.Intrinsic/X.md +1 -1
  119. package/docs/Microsoft.Quantum.Intrinsic/Y.md +1 -1
  120. package/docs/Microsoft.Quantum.Intrinsic/Z.md +1 -1
  121. package/docs/Microsoft.Quantum.Logical/Xor.md +1 -1
  122. package/docs/Microsoft.Quantum.Math/AbsComplex.md +1 -1
  123. package/docs/Microsoft.Quantum.Math/AbsComplexPolar.md +1 -1
  124. package/docs/Microsoft.Quantum.Math/AbsD.md +1 -1
  125. package/docs/Microsoft.Quantum.Math/AbsI.md +1 -1
  126. package/docs/Microsoft.Quantum.Math/AbsL.md +1 -1
  127. package/docs/Microsoft.Quantum.Math/AbsSquaredComplex.md +1 -1
  128. package/docs/Microsoft.Quantum.Math/AbsSquaredComplexPolar.md +1 -1
  129. package/docs/Microsoft.Quantum.Math/ApproximateFactorial.md +1 -1
  130. package/docs/Microsoft.Quantum.Math/ArcCos.md +1 -1
  131. package/docs/Microsoft.Quantum.Math/ArcCosh.md +1 -1
  132. package/docs/Microsoft.Quantum.Math/ArcSin.md +1 -1
  133. package/docs/Microsoft.Quantum.Math/ArcSinh.md +1 -1
  134. package/docs/Microsoft.Quantum.Math/ArcTan.md +1 -1
  135. package/docs/Microsoft.Quantum.Math/ArcTan2.md +1 -1
  136. package/docs/Microsoft.Quantum.Math/ArcTanh.md +1 -1
  137. package/docs/Microsoft.Quantum.Math/ArgComplex.md +1 -1
  138. package/docs/Microsoft.Quantum.Math/ArgComplexPolar.md +1 -1
  139. package/docs/Microsoft.Quantum.Math/Binom.md +1 -1
  140. package/docs/Microsoft.Quantum.Math/BitSizeI.md +1 -1
  141. package/docs/Microsoft.Quantum.Math/BitSizeL.md +1 -1
  142. package/docs/Microsoft.Quantum.Math/Ceiling.md +1 -1
  143. package/docs/Microsoft.Quantum.Math/Complex.md +1 -1
  144. package/docs/Microsoft.Quantum.Math/ComplexPolar.md +1 -1
  145. package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentI.md +1 -1
  146. package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentL.md +1 -1
  147. package/docs/Microsoft.Quantum.Math/Cos.md +1 -1
  148. package/docs/Microsoft.Quantum.Math/Cosh.md +1 -1
  149. package/docs/Microsoft.Quantum.Math/DivRemI.md +1 -1
  150. package/docs/Microsoft.Quantum.Math/DivRemL.md +1 -1
  151. package/docs/Microsoft.Quantum.Math/DividedByC.md +1 -1
  152. package/docs/Microsoft.Quantum.Math/DividedByCP.md +1 -1
  153. package/docs/Microsoft.Quantum.Math/E.md +1 -1
  154. package/docs/Microsoft.Quantum.Math/ExpModI.md +1 -1
  155. package/docs/Microsoft.Quantum.Math/ExpModL.md +1 -1
  156. package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorI.md +1 -1
  157. package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorL.md +1 -1
  158. package/docs/Microsoft.Quantum.Math/FactorialI.md +1 -1
  159. package/docs/Microsoft.Quantum.Math/FactorialL.md +1 -1
  160. package/docs/Microsoft.Quantum.Math/Floor.md +1 -1
  161. package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorI.md +1 -1
  162. package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorL.md +1 -1
  163. package/docs/Microsoft.Quantum.Math/HammingWeightI.md +1 -1
  164. package/docs/Microsoft.Quantum.Math/InverseModI.md +1 -1
  165. package/docs/Microsoft.Quantum.Math/InverseModL.md +1 -1
  166. package/docs/Microsoft.Quantum.Math/IsCoprimeI.md +1 -1
  167. package/docs/Microsoft.Quantum.Math/IsCoprimeL.md +1 -1
  168. package/docs/Microsoft.Quantum.Math/IsInfinite.md +1 -1
  169. package/docs/Microsoft.Quantum.Math/IsNaN.md +1 -1
  170. package/docs/Microsoft.Quantum.Math/LargestFixedPoint.md +1 -1
  171. package/docs/Microsoft.Quantum.Math/Lg.md +1 -1
  172. package/docs/Microsoft.Quantum.Math/Log.md +1 -1
  173. package/docs/Microsoft.Quantum.Math/Log10.md +1 -1
  174. package/docs/Microsoft.Quantum.Math/LogFactorialD.md +1 -1
  175. package/docs/Microsoft.Quantum.Math/LogGammaD.md +1 -1
  176. package/docs/Microsoft.Quantum.Math/LogOf2.md +1 -1
  177. package/docs/Microsoft.Quantum.Math/Max.md +1 -1
  178. package/docs/Microsoft.Quantum.Math/MaxD.md +1 -1
  179. package/docs/Microsoft.Quantum.Math/MaxI.md +1 -1
  180. package/docs/Microsoft.Quantum.Math/MaxL.md +1 -1
  181. package/docs/Microsoft.Quantum.Math/Min.md +1 -1
  182. package/docs/Microsoft.Quantum.Math/MinD.md +1 -1
  183. package/docs/Microsoft.Quantum.Math/MinI.md +1 -1
  184. package/docs/Microsoft.Quantum.Math/MinL.md +1 -1
  185. package/docs/Microsoft.Quantum.Math/MinusC.md +1 -1
  186. package/docs/Microsoft.Quantum.Math/MinusCP.md +1 -1
  187. package/docs/Microsoft.Quantum.Math/ModulusI.md +1 -1
  188. package/docs/Microsoft.Quantum.Math/ModulusL.md +1 -1
  189. package/docs/Microsoft.Quantum.Math/NegationC.md +1 -1
  190. package/docs/Microsoft.Quantum.Math/NegationCP.md +1 -1
  191. package/docs/Microsoft.Quantum.Math/PI.md +1 -1
  192. package/docs/Microsoft.Quantum.Math/PNorm.md +1 -1
  193. package/docs/Microsoft.Quantum.Math/PNormalized.md +1 -1
  194. package/docs/Microsoft.Quantum.Math/PlusC.md +1 -1
  195. package/docs/Microsoft.Quantum.Math/PlusCP.md +1 -1
  196. package/docs/Microsoft.Quantum.Math/PowC.md +1 -1
  197. package/docs/Microsoft.Quantum.Math/PowCP.md +1 -1
  198. package/docs/Microsoft.Quantum.Math/RealMod.md +1 -1
  199. package/docs/Microsoft.Quantum.Math/Round.md +1 -1
  200. package/docs/Microsoft.Quantum.Math/SignD.md +1 -1
  201. package/docs/Microsoft.Quantum.Math/SignI.md +1 -1
  202. package/docs/Microsoft.Quantum.Math/SignL.md +1 -1
  203. package/docs/Microsoft.Quantum.Math/Sin.md +1 -1
  204. package/docs/Microsoft.Quantum.Math/Sinh.md +1 -1
  205. package/docs/Microsoft.Quantum.Math/SmallestFixedPoint.md +1 -1
  206. package/docs/Microsoft.Quantum.Math/Sqrt.md +1 -1
  207. package/docs/Microsoft.Quantum.Math/SquaredNorm.md +1 -1
  208. package/docs/Microsoft.Quantum.Math/Tan.md +1 -1
  209. package/docs/Microsoft.Quantum.Math/Tanh.md +1 -1
  210. package/docs/Microsoft.Quantum.Math/TimesC.md +1 -1
  211. package/docs/Microsoft.Quantum.Math/TimesCP.md +1 -1
  212. package/docs/Microsoft.Quantum.Math/TrailingZeroCountI.md +1 -1
  213. package/docs/Microsoft.Quantum.Math/TrailingZeroCountL.md +1 -1
  214. package/docs/Microsoft.Quantum.Math/Truncate.md +1 -1
  215. package/docs/Microsoft.Quantum.Measurement/MResetEachZ.md +1 -1
  216. package/docs/Microsoft.Quantum.Measurement/MResetX.md +1 -1
  217. package/docs/Microsoft.Quantum.Measurement/MResetY.md +1 -1
  218. package/docs/Microsoft.Quantum.Measurement/MResetZ.md +1 -1
  219. package/docs/Microsoft.Quantum.Measurement/MeasureAllZ.md +1 -1
  220. package/docs/Microsoft.Quantum.Measurement/MeasureEachZ.md +1 -1
  221. package/docs/Microsoft.Quantum.Measurement/MeasureInteger.md +1 -1
  222. package/docs/Microsoft.Quantum.Random/DrawRandomDouble.md +1 -1
  223. package/docs/Microsoft.Quantum.Random/DrawRandomInt.md +1 -1
  224. package/docs/Microsoft.Quantum.ResourceEstimation/AccountForEstimates.md +1 -1
  225. package/docs/Microsoft.Quantum.ResourceEstimation/AuxQubitCount.md +1 -1
  226. package/docs/Microsoft.Quantum.ResourceEstimation/BeginEstimateCaching.md +1 -1
  227. package/docs/Microsoft.Quantum.ResourceEstimation/BeginRepeatEstimates.md +1 -1
  228. package/docs/Microsoft.Quantum.ResourceEstimation/CczCount.md +1 -1
  229. package/docs/Microsoft.Quantum.ResourceEstimation/EndEstimateCaching.md +1 -1
  230. package/docs/Microsoft.Quantum.ResourceEstimation/EndRepeatEstimates.md +1 -1
  231. package/docs/Microsoft.Quantum.ResourceEstimation/MeasurementCount.md +1 -1
  232. package/docs/Microsoft.Quantum.ResourceEstimation/PSSPCLayout.md +1 -1
  233. package/docs/Microsoft.Quantum.ResourceEstimation/RepeatEstimates.md +1 -1
  234. package/docs/Microsoft.Quantum.ResourceEstimation/RotationCount.md +1 -1
  235. package/docs/Microsoft.Quantum.ResourceEstimation/RotationDepth.md +1 -1
  236. package/docs/Microsoft.Quantum.ResourceEstimation/SingleVariant.md +1 -1
  237. package/docs/Microsoft.Quantum.ResourceEstimation/TCount.md +1 -1
  238. package/docs/Microsoft.Quantum.Unstable.Arithmetic/AddLE.md +1 -1
  239. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualL.md +1 -1
  240. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualLE.md +1 -1
  241. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterL.md +1 -1
  242. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterLE.md +1 -1
  243. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
  244. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
  245. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessL.md +1 -1
  246. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessLE.md +1 -1
  247. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
  248. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
  249. package/docs/Microsoft.Quantum.Unstable.Arithmetic/FourierTDIncByLE.md +1 -1
  250. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByI.md +1 -1
  251. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByIUsingIncByLE.md +1 -1
  252. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByL.md +1 -1
  253. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLE.md +1 -1
  254. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLEUsingAddLE.md +1 -1
  255. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLUsingIncByLE.md +1 -1
  256. package/docs/Microsoft.Quantum.Unstable.Arithmetic/LookAheadDKRSAddLE.md +1 -1
  257. package/docs/Microsoft.Quantum.Unstable.Arithmetic/MAJ.md +1 -1
  258. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ReflectAboutInteger.md +1 -1
  259. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGAddLE.md +1 -1
  260. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGIncByLE.md +1 -1
  261. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
  262. package/docs/Microsoft.Quantum.Unstable.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
  263. package/docs/Microsoft.Quantum.Unstable.StatePreparation/PreparePureStateD.md +1 -1
  264. package/docs/Microsoft.Quantum.Unstable.TableLookup/Select.md +1 -1
  265. package/lib/node/qsc_wasm.cjs +22 -4
  266. package/lib/node/qsc_wasm.d.cts +4 -0
  267. package/lib/node/qsc_wasm_bg.wasm +0 -0
  268. package/lib/web/qsc_wasm.d.ts +5 -0
  269. package/lib/web/qsc_wasm.js +22 -4
  270. package/lib/web/qsc_wasm_bg.wasm +0 -0
  271. package/package.json +1 -1
  272. package/ux/circuit.tsx +90 -20
  273. package/ux/data.ts +10 -0
  274. package/ux/index.ts +7 -2
  275. package/ux/qsharp-circuit.css +9 -0
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  uid: Qdk.Microsoft.Quantum.Unstable.StatePreparation.PreparePureStateD
3
3
  title: PreparePureStateD operation
4
- ms.date: 03/22/2024 12:00:00 AM
4
+ ms.date: 03/28/2024 12:00:00 AM
5
5
  ms.topic: managed-reference
6
6
  qsharp.kind: operation
7
7
  qsharp.namespace: Microsoft.Quantum.Unstable.StatePreparation
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  uid: Qdk.Microsoft.Quantum.Unstable.TableLookup.Select
3
3
  title: Select operation
4
- ms.date: 03/22/2024 12:00:00 AM
4
+ ms.date: 03/28/2024 12:00:00 AM
5
5
  ms.topic: managed-reference
6
6
  qsharp.kind: operation
7
7
  qsharp.namespace: Microsoft.Quantum.Unstable.TableLookup
@@ -545,7 +545,7 @@ function handleError(f, args) {
545
545
  wasm.__wbindgen_export_5(addHeapObject(e));
546
546
  }
547
547
  }
548
- function __wbg_adapter_173(arg0, arg1, arg2, arg3) {
548
+ function __wbg_adapter_174(arg0, arg1, arg2, arg3) {
549
549
  wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
550
550
  }
551
551
 
@@ -617,6 +617,24 @@ class DebugService {
617
617
  return takeObject(ret);
618
618
  }
619
619
  /**
620
+ * @returns {any}
621
+ */
622
+ get_circuit() {
623
+ try {
624
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
625
+ wasm.debugservice_get_circuit(retptr, this.__wbg_ptr);
626
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
627
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
628
+ var r2 = getInt32Memory0()[retptr / 4 + 2];
629
+ if (r2) {
630
+ throw takeObject(r1);
631
+ }
632
+ return takeObject(r0);
633
+ } finally {
634
+ wasm.__wbindgen_add_to_stack_pointer(16);
635
+ }
636
+ }
637
+ /**
620
638
  * @returns {IStackFrameList}
621
639
  */
622
640
  get_stack_frames() {
@@ -1331,7 +1349,7 @@ module.exports.__wbg_new_81740750da40724f = function(arg0, arg1) {
1331
1349
  const a = state0.a;
1332
1350
  state0.a = 0;
1333
1351
  try {
1334
- return __wbg_adapter_173(a, state0.b, arg0, arg1);
1352
+ return __wbg_adapter_174(a, state0.b, arg0, arg1);
1335
1353
  } finally {
1336
1354
  state0.a = a;
1337
1355
  }
@@ -1442,8 +1460,8 @@ module.exports.__wbindgen_memory = function() {
1442
1460
  return addHeapObject(ret);
1443
1461
  };
1444
1462
 
1445
- module.exports.__wbindgen_closure_wrapper696 = function(arg0, arg1, arg2) {
1446
- const ret = makeMutClosure(arg0, arg1, 292, __wbg_adapter_54);
1463
+ module.exports.__wbindgen_closure_wrapper701 = function(arg0, arg1, arg2) {
1464
+ const ret = makeMutClosure(arg0, arg1, 294, __wbg_adapter_54);
1447
1465
  return addHeapObject(ret);
1448
1466
  };
1449
1467
 
@@ -255,6 +255,10 @@ export class DebugService {
255
255
  */
256
256
  capture_quantum_state(): IQuantumStateList;
257
257
  /**
258
+ * @returns {any}
259
+ */
260
+ get_circuit(): any;
261
+ /**
258
262
  * @returns {IStackFrameList}
259
263
  */
260
264
  get_stack_frames(): IStackFrameList;
Binary file
@@ -255,6 +255,10 @@ export class DebugService {
255
255
  */
256
256
  capture_quantum_state(): IQuantumStateList;
257
257
  /**
258
+ * @returns {any}
259
+ */
260
+ get_circuit(): any;
261
+ /**
258
262
  * @returns {IStackFrameList}
259
263
  */
260
264
  get_stack_frames(): IStackFrameList;
@@ -416,6 +420,7 @@ export interface InitOutput {
416
420
  readonly debugservice_new: () => number;
417
421
  readonly debugservice_load_source: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
418
422
  readonly debugservice_capture_quantum_state: (a: number) => number;
423
+ readonly debugservice_get_circuit: (a: number, b: number) => void;
419
424
  readonly debugservice_get_stack_frames: (a: number) => number;
420
425
  readonly debugservice_eval_next: (a: number, b: number, c: number, d: number, e: number) => void;
421
426
  readonly debugservice_eval_continue: (a: number, b: number, c: number, d: number, e: number) => void;
@@ -542,7 +542,7 @@ function handleError(f, args) {
542
542
  wasm.__wbindgen_export_5(addHeapObject(e));
543
543
  }
544
544
  }
545
- function __wbg_adapter_173(arg0, arg1, arg2, arg3) {
545
+ function __wbg_adapter_174(arg0, arg1, arg2, arg3) {
546
546
  wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
547
547
  }
548
548
 
@@ -614,6 +614,24 @@ export class DebugService {
614
614
  return takeObject(ret);
615
615
  }
616
616
  /**
617
+ * @returns {any}
618
+ */
619
+ get_circuit() {
620
+ try {
621
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
622
+ wasm.debugservice_get_circuit(retptr, this.__wbg_ptr);
623
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
624
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
625
+ var r2 = getInt32Memory0()[retptr / 4 + 2];
626
+ if (r2) {
627
+ throw takeObject(r1);
628
+ }
629
+ return takeObject(r0);
630
+ } finally {
631
+ wasm.__wbindgen_add_to_stack_pointer(16);
632
+ }
633
+ }
634
+ /**
617
635
  * @returns {IStackFrameList}
618
636
  */
619
637
  get_stack_frames() {
@@ -1298,7 +1316,7 @@ function __wbg_get_imports() {
1298
1316
  const a = state0.a;
1299
1317
  state0.a = 0;
1300
1318
  try {
1301
- return __wbg_adapter_173(a, state0.b, arg0, arg1);
1319
+ return __wbg_adapter_174(a, state0.b, arg0, arg1);
1302
1320
  } finally {
1303
1321
  state0.a = a;
1304
1322
  }
@@ -1390,8 +1408,8 @@ function __wbg_get_imports() {
1390
1408
  const ret = wasm.memory;
1391
1409
  return addHeapObject(ret);
1392
1410
  };
1393
- imports.wbg.__wbindgen_closure_wrapper696 = function(arg0, arg1, arg2) {
1394
- const ret = makeMutClosure(arg0, arg1, 292, __wbg_adapter_54);
1411
+ imports.wbg.__wbindgen_closure_wrapper701 = function(arg0, arg1, arg2) {
1412
+ const ret = makeMutClosure(arg0, arg1, 294, __wbg_adapter_54);
1395
1413
  return addHeapObject(ret);
1396
1414
  };
1397
1415
 
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.3.2-dev",
4
+ "version": "1.3.4-dev",
5
5
  "license": "MIT",
6
6
  "engines": {
7
7
  "node": ">=16.17.0"
package/ux/circuit.tsx CHANGED
@@ -3,11 +3,48 @@
3
3
 
4
4
  import * as qviz from "@microsoft/quantum-viz.js/lib";
5
5
  import { useEffect, useRef } from "preact/hooks";
6
+ import { CircuitProps } from "./data.js";
6
7
 
8
+ // For perf reasons we set a limit on how many gates/qubits
9
+ // we attempt to render. This is still a lot higher than a human would
10
+ // reasonably want to look at, but it takes about a second to
11
+ // render a circuit this big on a mid-grade laptop so we allow it.
12
+ const MAX_OPERATIONS = 10000;
13
+ const MAX_QUBITS = 1000;
14
+
15
+ /* This component is shared by the Python widget and the VS Code panel */
7
16
  export function Circuit(props: { circuit: qviz.Circuit }) {
8
17
  const circuitDiv = useRef<HTMLDivElement>(null);
9
18
 
19
+ const errorDiv =
20
+ props.circuit.qubits.length === 0 ? (
21
+ <div>
22
+ <p>No circuit to display. No qubits have been allocated.</p>
23
+ </div>
24
+ ) : props.circuit.operations.length > MAX_OPERATIONS ? (
25
+ <div>
26
+ <p>
27
+ This circuit has too many gates to display. It has{" "}
28
+ {props.circuit.operations.length} gates, but the maximum supported is{" "}
29
+ {MAX_OPERATIONS}.
30
+ </p>
31
+ </div>
32
+ ) : props.circuit.qubits.length > MAX_QUBITS ? (
33
+ <div>
34
+ <p>
35
+ This circuit has too many qubits to display. It has{" "}
36
+ {props.circuit.qubits.length} qubits, but the maximum supported is{" "}
37
+ {MAX_QUBITS}.
38
+ </p>
39
+ </div>
40
+ ) : undefined;
41
+
10
42
  useEffect(() => {
43
+ if (errorDiv !== undefined) {
44
+ circuitDiv.current!.innerHTML = "";
45
+ return;
46
+ }
47
+
11
48
  qviz.draw(props.circuit, circuitDiv.current!);
12
49
 
13
50
  // quantum-viz hardcodes the styles in the SVG.
@@ -16,33 +53,66 @@ export function Circuit(props: { circuit: qviz.Circuit }) {
16
53
  styleElements?.forEach((tag) => tag.remove());
17
54
  }, [props.circuit]);
18
55
 
19
- return <div class="qs-circuit" ref={circuitDiv}></div>;
56
+ return (
57
+ <div>
58
+ <div class="qs-circuit-error">{errorDiv}</div>
59
+ <div class="qs-circuit" ref={circuitDiv}></div>
60
+ </div>
61
+ );
20
62
  }
21
63
 
22
- export function CircuitPanel(props: {
23
- title: string;
24
- subtitle: string;
25
- circuit?: qviz.Circuit;
26
- errorHtml?: string;
27
- }) {
28
- return (
64
+ /* This component is exclusive to the VS Code panel */
65
+ export function CircuitPanel(props: CircuitProps) {
66
+ const error = props.errorHtml ? (
29
67
  <div>
68
+ <p>
69
+ {props.circuit
70
+ ? "The program encountered a failure. See the error(s) below."
71
+ : "A circuit could not be generated for this program. See the error(s) below."}
72
+ <br />
73
+ </p>
74
+ <div dangerouslySetInnerHTML={{ __html: props.errorHtml }}></div>
75
+ </div>
76
+ ) : null;
77
+
78
+ return (
79
+ <div class="qs-circuit-panel">
30
80
  <div>
31
81
  <h1>{props.title}</h1>
32
- <h2>{props.subtitle}</h2>
33
82
  </div>
34
83
  {props.circuit ? <Circuit circuit={props.circuit}></Circuit> : null}
35
- <div class="qs-circuit-error">
36
- {props.errorHtml ? (
37
- <div dangerouslySetInnerHTML={{ __html: props.errorHtml }}></div>
38
- ) : null}
39
- </div>
40
- <div>
41
- Tip: you can generate a circuit diagram for any operation that takes
42
- qubits or arrays of qubits as input.
43
- </div>
84
+ <div class="qs-circuit-error">{error}</div>
85
+ <p>{props.targetProfile}</p>
86
+ {props.simulating ? (
87
+ <p>
88
+ This circuit diagram was generated while running the program in the
89
+ simulator.
90
+ <br />
91
+ <br />
92
+ If your program contains behavior that is conditional on a qubit
93
+ measurement result, note that this circuit only shows the outcome that
94
+ was encountered during this simulation. Running the program again may
95
+ result in a different circuit being generated.
96
+ </p>
97
+ ) : null}
98
+ {
99
+ // show tip when the circuit is empty and we didn't run under the simulator (i.e. debugging)
100
+ !props.simulating &&
101
+ !props.errorHtml &&
102
+ props.circuit?.qubits.length === 0 ? (
103
+ <p>
104
+ <em>
105
+ Tip: you can generate a circuit diagram for any operation that
106
+ takes qubits or arrays of qubits as input.
107
+ </em>
108
+ </p>
109
+ ) : null
110
+ }
111
+ <p>
112
+ <a href="https://github.com/microsoft/qsharp/wiki/Circuit-Diagrams-from-Q%23-Code">
113
+ Learn more
114
+ </a>
115
+ </p>
44
116
  </div>
45
117
  );
46
118
  }
47
-
48
- export type CircuitData = qviz.Circuit;
package/ux/data.ts CHANGED
@@ -63,3 +63,13 @@ export function CreateSingleEstimateResult(
63
63
  };
64
64
  }
65
65
  }
66
+
67
+ export type CircuitProps = {
68
+ title: string;
69
+ circuit?: CircuitData;
70
+ errorHtml?: string;
71
+ targetProfile: string;
72
+ simulating: boolean;
73
+ };
74
+
75
+ export type CircuitData = import("@microsoft/quantum-viz.js/lib").Circuit;
package/ux/index.ts CHANGED
@@ -6,11 +6,16 @@
6
6
  import "./qsharp-ux.css";
7
7
  import "./qsharp-circuit.css";
8
8
 
9
- export { CreateSingleEstimateResult, type ReData } from "./data.js";
9
+ export {
10
+ CreateSingleEstimateResult,
11
+ type ReData,
12
+ type CircuitData,
13
+ type CircuitProps,
14
+ } from "./data.js";
10
15
  export { Histogram } from "./histogram.js";
11
16
  export { ReTable } from "./reTable.js";
12
17
  export { SpaceChart } from "./spaceChart.js";
13
18
  export { ScatterChart } from "./scatterChart.js";
14
19
  export { EstimatesOverview } from "./estimatesOverview.js";
15
20
  export { EstimatesPanel } from "./estimatesPanel.js";
16
- export { Circuit, CircuitPanel, type CircuitData } from "./circuit.js";
21
+ export { Circuit, CircuitPanel } from "./circuit.js";
@@ -1,11 +1,20 @@
1
1
  /* Copyright (c) Microsoft Corporation.
2
2
  Licensed under the MIT License. */
3
3
 
4
+ /* Circuit panel */
5
+ .qs-circuit-panel p {
6
+ padding: 10px 0px;
7
+ }
8
+
4
9
  /* Error div in circuit panel */
5
10
  .qs-circuit-error {
6
11
  padding: 10px 0px;
7
12
  }
8
13
 
14
+ .qs-circuit-error p {
15
+ padding: 10px 0px;
16
+ }
17
+
9
18
  /*
10
19
  Styles for Q# circuits.
11
20
  Copied and modified from the default CSS generated by