qsharp-lang 1.1.6-dev → 1.2.1-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/dist/compiler/common.d.ts +1 -0
  2. package/dist/compiler/compiler.d.ts +26 -12
  3. package/dist/compiler/compiler.js +31 -15
  4. package/dist/compiler/events.d.ts +4 -5
  5. package/dist/compiler/events.js +6 -2
  6. package/dist/debug-service/debug-service.js +4 -1
  7. package/dist/katas-content.generated.js +2102 -1155
  8. package/dist/language-service/language-service.d.ts +2 -0
  9. package/dist/language-service/language-service.js +4 -0
  10. package/dist/workers/common.d.ts +19 -1
  11. package/dist/workers/common.js +49 -11
  12. package/docs/Microsoft.Quantum.Arrays/All.md +1 -1
  13. package/docs/Microsoft.Quantum.Arrays/Any.md +1 -1
  14. package/docs/Microsoft.Quantum.Arrays/Chunks.md +1 -1
  15. package/docs/Microsoft.Quantum.Arrays/CircularlyShifted.md +1 -1
  16. package/docs/Microsoft.Quantum.Arrays/ColumnAt.md +1 -1
  17. package/docs/Microsoft.Quantum.Arrays/Count.md +1 -1
  18. package/docs/Microsoft.Quantum.Arrays/Diagonal.md +1 -1
  19. package/docs/Microsoft.Quantum.Arrays/DrawMany.md +1 -1
  20. package/docs/Microsoft.Quantum.Arrays/Enumerated.md +1 -1
  21. package/docs/Microsoft.Quantum.Arrays/Excluding.md +1 -1
  22. package/docs/Microsoft.Quantum.Arrays/Filtered.md +1 -1
  23. package/docs/Microsoft.Quantum.Arrays/FlatMapped.md +1 -1
  24. package/docs/Microsoft.Quantum.Arrays/Flattened.md +1 -1
  25. package/docs/Microsoft.Quantum.Arrays/Fold.md +1 -1
  26. package/docs/Microsoft.Quantum.Arrays/ForEach.md +1 -1
  27. package/docs/Microsoft.Quantum.Arrays/Head.md +1 -1
  28. package/docs/Microsoft.Quantum.Arrays/HeadAndRest.md +1 -1
  29. package/docs/Microsoft.Quantum.Arrays/IndexOf.md +1 -1
  30. package/docs/Microsoft.Quantum.Arrays/IndexRange.md +1 -1
  31. package/docs/Microsoft.Quantum.Arrays/Interleaved.md +1 -1
  32. package/docs/Microsoft.Quantum.Arrays/IsEmpty.md +1 -1
  33. package/docs/Microsoft.Quantum.Arrays/IsRectangularArray.md +1 -1
  34. package/docs/Microsoft.Quantum.Arrays/IsSorted.md +1 -1
  35. package/docs/Microsoft.Quantum.Arrays/IsSquareArray.md +1 -1
  36. package/docs/Microsoft.Quantum.Arrays/Mapped.md +1 -1
  37. package/docs/Microsoft.Quantum.Arrays/MappedByIndex.md +1 -1
  38. package/docs/Microsoft.Quantum.Arrays/MappedOverRange.md +1 -1
  39. package/docs/Microsoft.Quantum.Arrays/Most.md +1 -1
  40. package/docs/Microsoft.Quantum.Arrays/MostAndTail.md +1 -1
  41. package/docs/Microsoft.Quantum.Arrays/Padded.md +1 -1
  42. package/docs/Microsoft.Quantum.Arrays/Partitioned.md +1 -1
  43. package/docs/Microsoft.Quantum.Arrays/Rest.md +1 -1
  44. package/docs/Microsoft.Quantum.Arrays/Reversed.md +1 -1
  45. package/docs/Microsoft.Quantum.Arrays/SequenceI.md +1 -1
  46. package/docs/Microsoft.Quantum.Arrays/SequenceL.md +1 -1
  47. package/docs/Microsoft.Quantum.Arrays/Sorted.md +1 -1
  48. package/docs/Microsoft.Quantum.Arrays/Subarray.md +1 -1
  49. package/docs/Microsoft.Quantum.Arrays/Swapped.md +1 -1
  50. package/docs/Microsoft.Quantum.Arrays/Tail.md +1 -1
  51. package/docs/Microsoft.Quantum.Arrays/Transposed.md +1 -1
  52. package/docs/Microsoft.Quantum.Arrays/Unzipped.md +1 -1
  53. package/docs/Microsoft.Quantum.Arrays/Where.md +1 -1
  54. package/docs/Microsoft.Quantum.Arrays/Windows.md +1 -1
  55. package/docs/Microsoft.Quantum.Arrays/Zipped.md +1 -1
  56. package/docs/Microsoft.Quantum.Canon/ApplyCNOTChain.md +1 -1
  57. package/docs/Microsoft.Quantum.Canon/ApplyControlledOnBitString.md +1 -1
  58. package/docs/Microsoft.Quantum.Canon/ApplyControlledOnInt.md +1 -1
  59. package/docs/Microsoft.Quantum.Canon/ApplyP.md +1 -1
  60. package/docs/Microsoft.Quantum.Canon/ApplyPauli.md +1 -1
  61. package/docs/Microsoft.Quantum.Canon/ApplyPauliFromBitString.md +1 -1
  62. package/docs/Microsoft.Quantum.Canon/ApplyPauliFromInt.md +1 -1
  63. package/docs/Microsoft.Quantum.Canon/ApplyQFT.md +1 -1
  64. package/docs/Microsoft.Quantum.Canon/ApplyToEach.md +1 -1
  65. package/docs/Microsoft.Quantum.Canon/ApplyToEachA.md +1 -1
  66. package/docs/Microsoft.Quantum.Canon/ApplyToEachC.md +1 -1
  67. package/docs/Microsoft.Quantum.Canon/ApplyToEachCA.md +1 -1
  68. package/docs/Microsoft.Quantum.Canon/ApplyXorInPlace.md +1 -1
  69. package/docs/Microsoft.Quantum.Canon/ApplyXorInPlaceL.md +1 -1
  70. package/docs/Microsoft.Quantum.Canon/CX.md +1 -1
  71. package/docs/Microsoft.Quantum.Canon/CY.md +1 -1
  72. package/docs/Microsoft.Quantum.Canon/CZ.md +1 -1
  73. package/docs/Microsoft.Quantum.Canon/Fst.md +1 -1
  74. package/docs/Microsoft.Quantum.Canon/Snd.md +1 -1
  75. package/docs/Microsoft.Quantum.Canon/SwapReverseRegister.md +1 -1
  76. package/docs/Microsoft.Quantum.Convert/BigIntAsBoolArray.md +1 -1
  77. package/docs/Microsoft.Quantum.Convert/BoolArrayAsBigInt.md +1 -1
  78. package/docs/Microsoft.Quantum.Convert/BoolArrayAsInt.md +1 -1
  79. package/docs/Microsoft.Quantum.Convert/BoolArrayAsResultArray.md +1 -1
  80. package/docs/Microsoft.Quantum.Convert/BoolAsResult.md +1 -1
  81. package/docs/Microsoft.Quantum.Convert/ComplexAsComplexPolar.md +1 -1
  82. package/docs/Microsoft.Quantum.Convert/ComplexPolarAsComplex.md +1 -1
  83. package/docs/Microsoft.Quantum.Convert/IntAsBigInt.md +1 -1
  84. package/docs/Microsoft.Quantum.Convert/IntAsBoolArray.md +1 -1
  85. package/docs/Microsoft.Quantum.Convert/IntAsDouble.md +1 -1
  86. package/docs/Microsoft.Quantum.Convert/ResultArrayAsBoolArray.md +1 -1
  87. package/docs/Microsoft.Quantum.Convert/ResultArrayAsInt.md +1 -1
  88. package/docs/Microsoft.Quantum.Convert/ResultAsBool.md +1 -1
  89. package/docs/Microsoft.Quantum.Core/IsRangeEmpty.md +1 -1
  90. package/docs/Microsoft.Quantum.Core/Length.md +1 -1
  91. package/docs/Microsoft.Quantum.Core/RangeEnd.md +1 -1
  92. package/docs/Microsoft.Quantum.Core/RangeReverse.md +1 -1
  93. package/docs/Microsoft.Quantum.Core/RangeStart.md +1 -1
  94. package/docs/Microsoft.Quantum.Core/RangeStep.md +1 -1
  95. package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
  96. package/docs/Microsoft.Quantum.Diagnostics/CheckAllZero.md +1 -1
  97. package/docs/Microsoft.Quantum.Diagnostics/CheckOperationsAreEqual.md +1 -1
  98. package/docs/Microsoft.Quantum.Diagnostics/CheckZero.md +1 -1
  99. package/docs/Microsoft.Quantum.Diagnostics/DumpMachine.md +28 -2
  100. package/docs/Microsoft.Quantum.Diagnostics/DumpRegister.md +51 -0
  101. package/docs/Microsoft.Quantum.Diagnostics/Fact.md +1 -1
  102. package/docs/Microsoft.Quantum.Intrinsic/CCNOT.md +1 -1
  103. package/docs/Microsoft.Quantum.Intrinsic/CNOT.md +1 -1
  104. package/docs/Microsoft.Quantum.Intrinsic/Exp.md +1 -1
  105. package/docs/Microsoft.Quantum.Intrinsic/H.md +1 -1
  106. package/docs/Microsoft.Quantum.Intrinsic/I.md +1 -1
  107. package/docs/Microsoft.Quantum.Intrinsic/M.md +1 -1
  108. package/docs/Microsoft.Quantum.Intrinsic/Measure.md +1 -1
  109. package/docs/Microsoft.Quantum.Intrinsic/Message.md +1 -1
  110. package/docs/Microsoft.Quantum.Intrinsic/R.md +1 -1
  111. package/docs/Microsoft.Quantum.Intrinsic/R1.md +1 -1
  112. package/docs/Microsoft.Quantum.Intrinsic/R1Frac.md +1 -1
  113. package/docs/Microsoft.Quantum.Intrinsic/RFrac.md +1 -1
  114. package/docs/Microsoft.Quantum.Intrinsic/Reset.md +1 -1
  115. package/docs/Microsoft.Quantum.Intrinsic/ResetAll.md +1 -1
  116. package/docs/Microsoft.Quantum.Intrinsic/Rx.md +1 -1
  117. package/docs/Microsoft.Quantum.Intrinsic/Rxx.md +1 -1
  118. package/docs/Microsoft.Quantum.Intrinsic/Ry.md +1 -1
  119. package/docs/Microsoft.Quantum.Intrinsic/Ryy.md +1 -1
  120. package/docs/Microsoft.Quantum.Intrinsic/Rz.md +1 -1
  121. package/docs/Microsoft.Quantum.Intrinsic/Rzz.md +1 -1
  122. package/docs/Microsoft.Quantum.Intrinsic/S.md +1 -1
  123. package/docs/Microsoft.Quantum.Intrinsic/SWAP.md +1 -1
  124. package/docs/Microsoft.Quantum.Intrinsic/T.md +1 -1
  125. package/docs/Microsoft.Quantum.Intrinsic/X.md +1 -1
  126. package/docs/Microsoft.Quantum.Intrinsic/Y.md +1 -1
  127. package/docs/Microsoft.Quantum.Intrinsic/Z.md +1 -1
  128. package/docs/Microsoft.Quantum.Logical/Xor.md +1 -1
  129. package/docs/Microsoft.Quantum.Math/AbsComplex.md +1 -1
  130. package/docs/Microsoft.Quantum.Math/AbsComplexPolar.md +1 -1
  131. package/docs/Microsoft.Quantum.Math/AbsD.md +1 -1
  132. package/docs/Microsoft.Quantum.Math/AbsI.md +1 -1
  133. package/docs/Microsoft.Quantum.Math/AbsL.md +1 -1
  134. package/docs/Microsoft.Quantum.Math/AbsSquaredComplex.md +1 -1
  135. package/docs/Microsoft.Quantum.Math/AbsSquaredComplexPolar.md +1 -1
  136. package/docs/Microsoft.Quantum.Math/ApproximateFactorial.md +1 -1
  137. package/docs/Microsoft.Quantum.Math/ArcCos.md +1 -1
  138. package/docs/Microsoft.Quantum.Math/ArcCosh.md +1 -1
  139. package/docs/Microsoft.Quantum.Math/ArcSin.md +1 -1
  140. package/docs/Microsoft.Quantum.Math/ArcSinh.md +1 -1
  141. package/docs/Microsoft.Quantum.Math/ArcTan.md +1 -1
  142. package/docs/Microsoft.Quantum.Math/ArcTan2.md +1 -1
  143. package/docs/Microsoft.Quantum.Math/ArcTanh.md +1 -1
  144. package/docs/Microsoft.Quantum.Math/ArgComplex.md +1 -1
  145. package/docs/Microsoft.Quantum.Math/ArgComplexPolar.md +1 -1
  146. package/docs/Microsoft.Quantum.Math/Binom.md +1 -1
  147. package/docs/Microsoft.Quantum.Math/BitSizeI.md +1 -1
  148. package/docs/Microsoft.Quantum.Math/BitSizeL.md +1 -1
  149. package/docs/Microsoft.Quantum.Math/Ceiling.md +1 -1
  150. package/docs/Microsoft.Quantum.Math/Complex.md +1 -1
  151. package/docs/Microsoft.Quantum.Math/ComplexPolar.md +1 -1
  152. package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentI.md +1 -1
  153. package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentL.md +1 -1
  154. package/docs/Microsoft.Quantum.Math/Cos.md +1 -1
  155. package/docs/Microsoft.Quantum.Math/Cosh.md +1 -1
  156. package/docs/Microsoft.Quantum.Math/DivRemI.md +1 -1
  157. package/docs/Microsoft.Quantum.Math/DivRemL.md +1 -1
  158. package/docs/Microsoft.Quantum.Math/DividedByC.md +1 -1
  159. package/docs/Microsoft.Quantum.Math/DividedByCP.md +1 -1
  160. package/docs/Microsoft.Quantum.Math/E.md +1 -1
  161. package/docs/Microsoft.Quantum.Math/ExpModI.md +1 -1
  162. package/docs/Microsoft.Quantum.Math/ExpModL.md +1 -1
  163. package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorI.md +1 -1
  164. package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorL.md +1 -1
  165. package/docs/Microsoft.Quantum.Math/FactorialI.md +1 -1
  166. package/docs/Microsoft.Quantum.Math/FactorialL.md +1 -1
  167. package/docs/Microsoft.Quantum.Math/Floor.md +1 -1
  168. package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorI.md +1 -1
  169. package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorL.md +1 -1
  170. package/docs/Microsoft.Quantum.Math/HammingWeightI.md +1 -1
  171. package/docs/Microsoft.Quantum.Math/InverseModI.md +1 -1
  172. package/docs/Microsoft.Quantum.Math/InverseModL.md +1 -1
  173. package/docs/Microsoft.Quantum.Math/IsCoprimeI.md +1 -1
  174. package/docs/Microsoft.Quantum.Math/IsCoprimeL.md +1 -1
  175. package/docs/Microsoft.Quantum.Math/IsInfinite.md +1 -1
  176. package/docs/Microsoft.Quantum.Math/IsNaN.md +1 -1
  177. package/docs/Microsoft.Quantum.Math/LargestFixedPoint.md +1 -1
  178. package/docs/Microsoft.Quantum.Math/Lg.md +1 -1
  179. package/docs/Microsoft.Quantum.Math/Log.md +1 -1
  180. package/docs/Microsoft.Quantum.Math/Log10.md +1 -1
  181. package/docs/Microsoft.Quantum.Math/LogFactorialD.md +1 -1
  182. package/docs/Microsoft.Quantum.Math/LogGammaD.md +1 -1
  183. package/docs/Microsoft.Quantum.Math/LogOf2.md +1 -1
  184. package/docs/Microsoft.Quantum.Math/Max.md +1 -1
  185. package/docs/Microsoft.Quantum.Math/MaxD.md +1 -1
  186. package/docs/Microsoft.Quantum.Math/MaxI.md +1 -1
  187. package/docs/Microsoft.Quantum.Math/MaxL.md +1 -1
  188. package/docs/Microsoft.Quantum.Math/Min.md +1 -1
  189. package/docs/Microsoft.Quantum.Math/MinD.md +1 -1
  190. package/docs/Microsoft.Quantum.Math/MinI.md +1 -1
  191. package/docs/Microsoft.Quantum.Math/MinL.md +1 -1
  192. package/docs/Microsoft.Quantum.Math/MinusC.md +1 -1
  193. package/docs/Microsoft.Quantum.Math/MinusCP.md +1 -1
  194. package/docs/Microsoft.Quantum.Math/ModulusI.md +1 -1
  195. package/docs/Microsoft.Quantum.Math/ModulusL.md +1 -1
  196. package/docs/Microsoft.Quantum.Math/NegationC.md +1 -1
  197. package/docs/Microsoft.Quantum.Math/NegationCP.md +1 -1
  198. package/docs/Microsoft.Quantum.Math/PI.md +2 -2
  199. package/docs/Microsoft.Quantum.Math/PNorm.md +1 -1
  200. package/docs/Microsoft.Quantum.Math/PNormalized.md +1 -1
  201. package/docs/Microsoft.Quantum.Math/PlusC.md +1 -1
  202. package/docs/Microsoft.Quantum.Math/PlusCP.md +1 -1
  203. package/docs/Microsoft.Quantum.Math/PowC.md +1 -1
  204. package/docs/Microsoft.Quantum.Math/PowCP.md +1 -1
  205. package/docs/Microsoft.Quantum.Math/RealMod.md +1 -1
  206. package/docs/Microsoft.Quantum.Math/Round.md +1 -1
  207. package/docs/Microsoft.Quantum.Math/SignD.md +1 -1
  208. package/docs/Microsoft.Quantum.Math/SignI.md +1 -1
  209. package/docs/Microsoft.Quantum.Math/SignL.md +1 -1
  210. package/docs/Microsoft.Quantum.Math/Sin.md +1 -1
  211. package/docs/Microsoft.Quantum.Math/Sinh.md +1 -1
  212. package/docs/Microsoft.Quantum.Math/SmallestFixedPoint.md +1 -1
  213. package/docs/Microsoft.Quantum.Math/Sqrt.md +1 -1
  214. package/docs/Microsoft.Quantum.Math/SquaredNorm.md +1 -1
  215. package/docs/Microsoft.Quantum.Math/Tan.md +1 -1
  216. package/docs/Microsoft.Quantum.Math/Tanh.md +1 -1
  217. package/docs/Microsoft.Quantum.Math/TimesC.md +1 -1
  218. package/docs/Microsoft.Quantum.Math/TimesCP.md +1 -1
  219. package/docs/Microsoft.Quantum.Math/TrailingZeroCountI.md +1 -1
  220. package/docs/Microsoft.Quantum.Math/TrailingZeroCountL.md +1 -1
  221. package/docs/Microsoft.Quantum.Math/Truncate.md +1 -1
  222. package/docs/Microsoft.Quantum.Measurement/MResetEachZ.md +1 -1
  223. package/docs/Microsoft.Quantum.Measurement/MResetX.md +1 -1
  224. package/docs/Microsoft.Quantum.Measurement/MResetY.md +1 -1
  225. package/docs/Microsoft.Quantum.Measurement/MResetZ.md +1 -1
  226. package/docs/Microsoft.Quantum.Measurement/MeasureAllZ.md +1 -1
  227. package/docs/Microsoft.Quantum.Measurement/MeasureEachZ.md +1 -1
  228. package/docs/Microsoft.Quantum.Measurement/MeasureInteger.md +1 -1
  229. package/docs/Microsoft.Quantum.Random/DrawRandomDouble.md +1 -1
  230. package/docs/Microsoft.Quantum.Random/DrawRandomInt.md +1 -1
  231. package/docs/Microsoft.Quantum.ResourceEstimation/AccountForEstimates.md +1 -1
  232. package/docs/Microsoft.Quantum.ResourceEstimation/AuxQubitCount.md +1 -1
  233. package/docs/Microsoft.Quantum.ResourceEstimation/BeginEstimateCaching.md +1 -1
  234. package/docs/Microsoft.Quantum.ResourceEstimation/BeginRepeatEstimates.md +1 -1
  235. package/docs/Microsoft.Quantum.ResourceEstimation/CczCount.md +1 -1
  236. package/docs/Microsoft.Quantum.ResourceEstimation/EndEstimateCaching.md +1 -1
  237. package/docs/Microsoft.Quantum.ResourceEstimation/EndRepeatEstimates.md +1 -1
  238. package/docs/Microsoft.Quantum.ResourceEstimation/MeasurementCount.md +1 -1
  239. package/docs/Microsoft.Quantum.ResourceEstimation/PSSPCLayout.md +1 -1
  240. package/docs/Microsoft.Quantum.ResourceEstimation/RepeatEstimates.md +1 -1
  241. package/docs/Microsoft.Quantum.ResourceEstimation/RotationCount.md +1 -1
  242. package/docs/Microsoft.Quantum.ResourceEstimation/RotationDepth.md +1 -1
  243. package/docs/Microsoft.Quantum.ResourceEstimation/SingleVariant.md +1 -1
  244. package/docs/Microsoft.Quantum.ResourceEstimation/TCount.md +1 -1
  245. package/docs/Microsoft.Quantum.Unstable.Arithmetic/AddLE.md +1 -1
  246. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualL.md +1 -1
  247. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualLE.md +1 -1
  248. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterL.md +1 -1
  249. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterLE.md +1 -1
  250. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
  251. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
  252. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessL.md +1 -1
  253. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessLE.md +1 -1
  254. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
  255. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
  256. package/docs/Microsoft.Quantum.Unstable.Arithmetic/FourierTDIncByLE.md +1 -1
  257. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByI.md +1 -1
  258. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByIUsingIncByLE.md +1 -1
  259. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByL.md +1 -1
  260. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLE.md +1 -1
  261. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLEUsingAddLE.md +2 -2
  262. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLUsingIncByLE.md +1 -1
  263. package/docs/Microsoft.Quantum.Unstable.Arithmetic/LookAheadDKRSAddLE.md +1 -1
  264. package/docs/Microsoft.Quantum.Unstable.Arithmetic/MAJ.md +1 -1
  265. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ReflectAboutInteger.md +1 -1
  266. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGAddLE.md +1 -1
  267. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGIncByLE.md +1 -1
  268. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryTTKIncByLE.md +2 -2
  269. package/docs/Microsoft.Quantum.Unstable.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
  270. package/docs/Microsoft.Quantum.Unstable.StatePreparation/PreparePureStateD.md +1 -1
  271. package/docs/Microsoft.Quantum.Unstable.TableLookup/Select.md +1 -1
  272. package/docs/toc.yml +1 -0
  273. package/lib/node/qsc_wasm.cjs +173 -78
  274. package/lib/node/qsc_wasm.d.cts +6 -2
  275. package/lib/node/qsc_wasm_bg.wasm +0 -0
  276. package/lib/web/qsc_wasm.d.ts +7 -2
  277. package/lib/web/qsc_wasm.js +163 -75
  278. package/lib/web/qsc_wasm_bg.wasm +0 -0
  279. package/package.json +1 -1
  280. package/ux/output_data.md +1 -1
  281. package/ux/report.ts +1 -1
@@ -12,6 +12,7 @@ export type Result = {
12
12
  interface DumpMsg {
13
13
  type: "DumpMachine";
14
14
  state: Dump;
15
+ stateLatex: string;
15
16
  }
16
17
  interface MessageMsg {
17
18
  type: "Message";
@@ -6,25 +6,35 @@ export interface ICompiler {
6
6
  checkCode(code: string): Promise<VSDiagnostic[]>;
7
7
  getHir(code: string, languageFeatures?: string[]): Promise<string>;
8
8
  /** @deprecated -- switch to using `ProgramConfig`-based overload. Instead of passing
9
- * all arguments separately, pass an object with named properties. This change was made
9
+ * sources and language features separately, pass an object with named properties. This change was made
10
10
  * for the sake of extensibility and future-compatibility. Note that only the new API
11
- * supports passing guage features. If you need to pass language features, you must use
11
+ * supports passing language features. If you need to pass language features, you must use
12
12
  * the new API.
13
13
  **/
14
14
  run(sources: [string, string][], expr: string, shots: number, eventHandler: IQscEventTarget): Promise<void>;
15
- run(config: ProgramConfig, eventHandler: IQscEventTarget): Promise<void>;
15
+ run(config: ProgramConfig, expr: string, shots: number, eventHandler: IQscEventTarget): Promise<void>;
16
+ /** @deprecated -- switch to using `ProgramConfig`-based overload. Instead of passing
17
+ * sources and language features separately, pass an object with named properties. This change was made
18
+ * for the sake of extensibility and future-compatibility. Note that only the new API
19
+ * supports passing language features. If you need to pass language features, you must use
20
+ * the new API.
21
+ **/
16
22
  getQir(sources: [string, string][], languageFeatures?: string[]): Promise<string>;
23
+ getQir(config: ProgramConfig): Promise<string>;
24
+ /** @deprecated -- switch to using `ProgramConfig`-based overload. Instead of passing
25
+ * sources and language features separately, pass an object with named properties. This change was made
26
+ * for the sake of extensibility and future-compatibility. Note that only the new API
27
+ * supports passing language features. If you need to pass language features, you must use
28
+ * the new API.
29
+ **/
17
30
  getEstimates(sources: [string, string][], params: string, languageFeatures?: string[]): Promise<string>;
18
- checkExerciseSolution(user_code: string, exercise_sources: string[], eventHandler: IQscEventTarget): Promise<boolean>;
31
+ getEstimates(config: ProgramConfig, params: string): Promise<string>;
32
+ checkExerciseSolution(userCode: string, exerciseSources: string[], eventHandler: IQscEventTarget): Promise<boolean>;
19
33
  }
20
34
  /** Type definition for the configuration of a program. */
21
35
  export type ProgramConfig = {
22
36
  /** An array of source objects, each containing a name and contents. */
23
37
  sources: [string, string][];
24
- /** The entry expression to be evaluated. */
25
- expr: string;
26
- /** The number of shots to be performed in the quantum simulation. */
27
- shots: number;
28
38
  /** An array of language features to be opted in to in this compilation. */
29
39
  languageFeatures?: string[];
30
40
  };
@@ -34,11 +44,15 @@ export declare class Compiler implements ICompiler {
34
44
  private wasm;
35
45
  constructor(wasm: Wasm);
36
46
  checkCode(code: string): Promise<VSDiagnostic[]>;
37
- getQir(sources: [string, string][], languageFeatures: string[]): Promise<string>;
38
- getEstimates(sources: [string, string][], params: string, languageFeatures: string[]): Promise<string>;
47
+ getQir(sourcesOrConfig: [string, string][] | ProgramConfig, languageFeatures?: string[]): Promise<string>;
48
+ newGetQir({ sources, languageFeatures, }: ProgramConfig): Promise<string>;
49
+ deprecatedGetQir(sources: [string, string][], languageFeatures: string[]): Promise<string>;
50
+ getEstimates(sourcesOrConfig: [string, string][] | ProgramConfig, params: string, languageFeatures?: string[]): Promise<string>;
51
+ newGetEstimates({ sources, languageFeatures }: ProgramConfig, params: string): Promise<string>;
52
+ deprecatedGetEstimates(sources: [string, string][], params: string, languageFeatures: string[]): Promise<string>;
39
53
  getHir(code: string, languageFeatures: string[]): Promise<string>;
40
- run(sourcesOrConfig: [string, string][] | ProgramConfig, exprOrEventHandler: string | IQscEventTarget, maybeShots?: number, maybeEventHandler?: IQscEventTarget): Promise<void>;
41
- checkExerciseSolution(user_code: string, exercise_sources: string[], eventHandler: IQscEventTarget): Promise<boolean>;
54
+ run(sourcesOrConfig: [string, string][] | ProgramConfig, expr: string, shots: number, eventHandler: IQscEventTarget): Promise<void>;
55
+ checkExerciseSolution(userCode: string, exerciseSources: string[], eventHandler: IQscEventTarget): Promise<boolean>;
42
56
  }
43
57
  export declare function onCompilerEvent(msg: string, eventTarget: IQscEventTarget): void;
44
58
  /** The protocol definition to allow running the compiler in a worker. */
@@ -25,34 +25,47 @@ export class Compiler {
25
25
  languageService.free();
26
26
  return diags;
27
27
  }
28
- async getQir(sources, languageFeatures) {
28
+ async getQir(sourcesOrConfig, languageFeatures) {
29
+ if (Array.isArray(sourcesOrConfig)) {
30
+ return this.deprecatedGetQir(sourcesOrConfig, languageFeatures || []);
31
+ }
32
+ else {
33
+ return this.newGetQir(sourcesOrConfig);
34
+ }
35
+ }
36
+ async newGetQir({ sources, languageFeatures = [], }) {
37
+ return this.wasm.get_qir(sources, languageFeatures);
38
+ }
39
+ async deprecatedGetQir(sources, languageFeatures) {
29
40
  return this.wasm.get_qir(sources, languageFeatures);
30
41
  }
31
- async getEstimates(sources, params, languageFeatures) {
42
+ async getEstimates(sourcesOrConfig, params, languageFeatures = []) {
43
+ if (Array.isArray(sourcesOrConfig)) {
44
+ return this.deprecatedGetEstimates(sourcesOrConfig, params, languageFeatures);
45
+ }
46
+ else {
47
+ return this.newGetEstimates(sourcesOrConfig, params);
48
+ }
49
+ }
50
+ async newGetEstimates({ sources, languageFeatures }, params) {
51
+ return this.wasm.get_estimates(sources, params, languageFeatures || []);
52
+ }
53
+ async deprecatedGetEstimates(sources, params, languageFeatures) {
32
54
  return this.wasm.get_estimates(sources, params, languageFeatures);
33
55
  }
34
56
  async getHir(code, languageFeatures) {
35
57
  return this.wasm.get_hir(code, languageFeatures);
36
58
  }
37
- async run(sourcesOrConfig, exprOrEventHandler, maybeShots, maybeEventHandler) {
59
+ async run(sourcesOrConfig, expr, shots, eventHandler) {
38
60
  let sources;
39
- let expr;
40
- let shots;
41
- let eventHandler;
42
61
  let languageFeatures = [];
43
62
  if (Array.isArray(sourcesOrConfig)) {
44
63
  // this is the deprecated API
45
64
  sources = sourcesOrConfig;
46
- expr = exprOrEventHandler;
47
- shots = maybeShots;
48
- eventHandler = maybeEventHandler;
49
65
  }
50
66
  else {
51
67
  // this is the new API
52
68
  sources = sourcesOrConfig.sources;
53
- expr = sourcesOrConfig.expr;
54
- shots = sourcesOrConfig.shots;
55
- eventHandler = exprOrEventHandler;
56
69
  languageFeatures = sourcesOrConfig.languageFeatures || [];
57
70
  }
58
71
  // All results are communicated as events, but if there is a compiler error (e.g. an invalid
@@ -60,8 +73,8 @@ export class Compiler {
60
73
  // may reject without all shots running or events firing.
61
74
  this.wasm.run(sources, expr, (msg) => onCompilerEvent(msg, eventHandler), shots, languageFeatures);
62
75
  }
63
- async checkExerciseSolution(user_code, exercise_sources, eventHandler) {
64
- const success = this.wasm.check_exercise_solution(user_code, exercise_sources, (msg) => onCompilerEvent(msg, eventHandler));
76
+ async checkExerciseSolution(userCode, exerciseSources, eventHandler) {
77
+ const success = this.wasm.check_exercise_solution(userCode, exerciseSources, (msg) => onCompilerEvent(msg, eventHandler));
65
78
  return success;
66
79
  }
67
80
  }
@@ -78,7 +91,10 @@ export function onCompilerEvent(msg, eventTarget) {
78
91
  qscEvent = makeEvent("Message", qscMsg.message);
79
92
  break;
80
93
  case "DumpMachine":
81
- qscEvent = makeEvent("DumpMachine", qscMsg.state);
94
+ qscEvent = makeEvent("DumpMachine", {
95
+ state: qscMsg.state,
96
+ stateLatex: qscMsg.stateLatex,
97
+ });
82
98
  break;
83
99
  case "Result":
84
100
  qscEvent = makeEvent("Result", qscMsg.result);
@@ -1,18 +1,17 @@
1
1
  import { ShotResult, Dump, Result } from "./common.js";
2
- import { TelemetryEvent } from "../log.js";
3
2
  import { IServiceEventTarget } from "../workers/common.js";
4
3
  export type QscEventData = {
5
4
  type: "Message";
6
5
  detail: string;
7
6
  } | {
8
7
  type: "DumpMachine";
9
- detail: Dump;
8
+ detail: {
9
+ state: Dump;
10
+ stateLatex: string;
11
+ };
10
12
  } | {
11
13
  type: "Result";
12
14
  detail: Result;
13
- } | {
14
- type: "telemetry-event";
15
- detail: TelemetryEvent;
16
15
  };
17
16
  export type QscEvents = Event & QscEventData;
18
17
  export type QscEvent<T extends QscEvents["type"]> = Extract<QscEvents, {
@@ -43,10 +43,14 @@ export class QscEventTarget {
43
43
  this.results[shotIdx].events.push({ type: "Message", message: msg });
44
44
  this.queueUiRefresh();
45
45
  }
46
- onDumpMachine(dump) {
46
+ onDumpMachine(detail) {
47
47
  this.ensureActiveShot();
48
48
  const shotIdx = this.results.length - 1;
49
- this.results[shotIdx].events.push({ type: "DumpMachine", state: dump });
49
+ this.results[shotIdx].events.push({
50
+ type: "DumpMachine",
51
+ state: detail.state,
52
+ stateLatex: detail.stateLatex,
53
+ });
50
54
  this.queueUiRefresh();
51
55
  }
52
56
  onResult(result) {
@@ -63,7 +63,10 @@ export function onCompilerEvent(msg, eventTarget) {
63
63
  qscEvent = makeEvent("Message", qscMsg.message);
64
64
  break;
65
65
  case "DumpMachine":
66
- qscEvent = makeEvent("DumpMachine", qscMsg.state);
66
+ qscEvent = makeEvent("DumpMachine", {
67
+ state: qscMsg.state,
68
+ stateLatex: qscMsg.stateLatex,
69
+ });
67
70
  break;
68
71
  case "Result":
69
72
  qscEvent = makeEvent("Result", qscMsg.result);