qsharp-lang 1.3.0 → 1.3.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 (275) hide show
  1. package/dist/browser.d.ts +4 -6
  2. package/dist/browser.js +1 -1
  3. package/dist/compiler/compiler.d.ts +3 -1
  4. package/dist/compiler/compiler.js +4 -0
  5. package/dist/katas-content.generated.js +555 -3
  6. package/docs/Microsoft.Quantum.Arrays/All.md +1 -1
  7. package/docs/Microsoft.Quantum.Arrays/Any.md +1 -1
  8. package/docs/Microsoft.Quantum.Arrays/Chunks.md +1 -1
  9. package/docs/Microsoft.Quantum.Arrays/CircularlyShifted.md +1 -1
  10. package/docs/Microsoft.Quantum.Arrays/ColumnAt.md +1 -1
  11. package/docs/Microsoft.Quantum.Arrays/Count.md +1 -1
  12. package/docs/Microsoft.Quantum.Arrays/Diagonal.md +1 -1
  13. package/docs/Microsoft.Quantum.Arrays/DrawMany.md +1 -1
  14. package/docs/Microsoft.Quantum.Arrays/Enumerated.md +1 -1
  15. package/docs/Microsoft.Quantum.Arrays/Excluding.md +1 -1
  16. package/docs/Microsoft.Quantum.Arrays/Filtered.md +1 -1
  17. package/docs/Microsoft.Quantum.Arrays/FlatMapped.md +1 -1
  18. package/docs/Microsoft.Quantum.Arrays/Flattened.md +1 -1
  19. package/docs/Microsoft.Quantum.Arrays/Fold.md +1 -1
  20. package/docs/Microsoft.Quantum.Arrays/ForEach.md +1 -1
  21. package/docs/Microsoft.Quantum.Arrays/Head.md +1 -1
  22. package/docs/Microsoft.Quantum.Arrays/HeadAndRest.md +1 -1
  23. package/docs/Microsoft.Quantum.Arrays/IndexOf.md +1 -1
  24. package/docs/Microsoft.Quantum.Arrays/IndexRange.md +1 -1
  25. package/docs/Microsoft.Quantum.Arrays/Interleaved.md +1 -1
  26. package/docs/Microsoft.Quantum.Arrays/IsEmpty.md +1 -1
  27. package/docs/Microsoft.Quantum.Arrays/IsRectangularArray.md +1 -1
  28. package/docs/Microsoft.Quantum.Arrays/IsSorted.md +1 -1
  29. package/docs/Microsoft.Quantum.Arrays/IsSquareArray.md +1 -1
  30. package/docs/Microsoft.Quantum.Arrays/Mapped.md +1 -1
  31. package/docs/Microsoft.Quantum.Arrays/MappedByIndex.md +1 -1
  32. package/docs/Microsoft.Quantum.Arrays/MappedOverRange.md +1 -1
  33. package/docs/Microsoft.Quantum.Arrays/Most.md +1 -1
  34. package/docs/Microsoft.Quantum.Arrays/MostAndTail.md +1 -1
  35. package/docs/Microsoft.Quantum.Arrays/Padded.md +1 -1
  36. package/docs/Microsoft.Quantum.Arrays/Partitioned.md +1 -1
  37. package/docs/Microsoft.Quantum.Arrays/Rest.md +1 -1
  38. package/docs/Microsoft.Quantum.Arrays/Reversed.md +1 -1
  39. package/docs/Microsoft.Quantum.Arrays/SequenceI.md +1 -1
  40. package/docs/Microsoft.Quantum.Arrays/SequenceL.md +1 -1
  41. package/docs/Microsoft.Quantum.Arrays/Sorted.md +1 -1
  42. package/docs/Microsoft.Quantum.Arrays/Subarray.md +1 -1
  43. package/docs/Microsoft.Quantum.Arrays/Swapped.md +1 -1
  44. package/docs/Microsoft.Quantum.Arrays/Tail.md +1 -1
  45. package/docs/Microsoft.Quantum.Arrays/Transposed.md +1 -1
  46. package/docs/Microsoft.Quantum.Arrays/Unzipped.md +1 -1
  47. package/docs/Microsoft.Quantum.Arrays/Where.md +1 -1
  48. package/docs/Microsoft.Quantum.Arrays/Windows.md +1 -1
  49. package/docs/Microsoft.Quantum.Arrays/Zipped.md +1 -1
  50. package/docs/Microsoft.Quantum.Canon/ApplyCNOTChain.md +1 -1
  51. package/docs/Microsoft.Quantum.Canon/ApplyControlledOnBitString.md +1 -1
  52. package/docs/Microsoft.Quantum.Canon/ApplyControlledOnInt.md +1 -1
  53. package/docs/Microsoft.Quantum.Canon/ApplyP.md +1 -1
  54. package/docs/Microsoft.Quantum.Canon/ApplyPauli.md +1 -1
  55. package/docs/Microsoft.Quantum.Canon/ApplyPauliFromBitString.md +1 -1
  56. package/docs/Microsoft.Quantum.Canon/ApplyPauliFromInt.md +1 -1
  57. package/docs/Microsoft.Quantum.Canon/ApplyQFT.md +1 -1
  58. package/docs/Microsoft.Quantum.Canon/ApplyToEach.md +1 -1
  59. package/docs/Microsoft.Quantum.Canon/ApplyToEachA.md +1 -1
  60. package/docs/Microsoft.Quantum.Canon/ApplyToEachC.md +1 -1
  61. package/docs/Microsoft.Quantum.Canon/ApplyToEachCA.md +1 -1
  62. package/docs/Microsoft.Quantum.Canon/ApplyXorInPlace.md +1 -1
  63. package/docs/Microsoft.Quantum.Canon/ApplyXorInPlaceL.md +1 -1
  64. package/docs/Microsoft.Quantum.Canon/CX.md +1 -1
  65. package/docs/Microsoft.Quantum.Canon/CY.md +1 -1
  66. package/docs/Microsoft.Quantum.Canon/CZ.md +1 -1
  67. package/docs/Microsoft.Quantum.Canon/Fst.md +1 -1
  68. package/docs/Microsoft.Quantum.Canon/Snd.md +1 -1
  69. package/docs/Microsoft.Quantum.Canon/SwapReverseRegister.md +1 -1
  70. package/docs/Microsoft.Quantum.Convert/BigIntAsBoolArray.md +1 -1
  71. package/docs/Microsoft.Quantum.Convert/BoolArrayAsBigInt.md +1 -1
  72. package/docs/Microsoft.Quantum.Convert/BoolArrayAsInt.md +1 -1
  73. package/docs/Microsoft.Quantum.Convert/BoolArrayAsResultArray.md +1 -1
  74. package/docs/Microsoft.Quantum.Convert/BoolAsResult.md +1 -1
  75. package/docs/Microsoft.Quantum.Convert/ComplexAsComplexPolar.md +1 -1
  76. package/docs/Microsoft.Quantum.Convert/ComplexPolarAsComplex.md +1 -1
  77. package/docs/Microsoft.Quantum.Convert/IntAsBigInt.md +1 -1
  78. package/docs/Microsoft.Quantum.Convert/IntAsBoolArray.md +1 -1
  79. package/docs/Microsoft.Quantum.Convert/IntAsDouble.md +1 -1
  80. package/docs/Microsoft.Quantum.Convert/ResultArrayAsBoolArray.md +1 -1
  81. package/docs/Microsoft.Quantum.Convert/ResultArrayAsInt.md +1 -1
  82. package/docs/Microsoft.Quantum.Convert/ResultAsBool.md +1 -1
  83. package/docs/Microsoft.Quantum.Core/IsRangeEmpty.md +1 -1
  84. package/docs/Microsoft.Quantum.Core/Length.md +1 -1
  85. package/docs/Microsoft.Quantum.Core/RangeEnd.md +1 -1
  86. package/docs/Microsoft.Quantum.Core/RangeReverse.md +1 -1
  87. package/docs/Microsoft.Quantum.Core/RangeStart.md +1 -1
  88. package/docs/Microsoft.Quantum.Core/RangeStep.md +1 -1
  89. package/docs/Microsoft.Quantum.Core/Repeated.md +1 -1
  90. package/docs/Microsoft.Quantum.Diagnostics/CheckAllZero.md +1 -1
  91. package/docs/Microsoft.Quantum.Diagnostics/CheckOperationsAreEqual.md +1 -1
  92. package/docs/Microsoft.Quantum.Diagnostics/CheckZero.md +1 -1
  93. package/docs/Microsoft.Quantum.Diagnostics/DumpMachine.md +1 -1
  94. package/docs/Microsoft.Quantum.Diagnostics/DumpRegister.md +1 -1
  95. package/docs/Microsoft.Quantum.Diagnostics/Fact.md +1 -1
  96. package/docs/Microsoft.Quantum.Intrinsic/CCNOT.md +1 -1
  97. package/docs/Microsoft.Quantum.Intrinsic/CNOT.md +1 -1
  98. package/docs/Microsoft.Quantum.Intrinsic/Exp.md +1 -1
  99. package/docs/Microsoft.Quantum.Intrinsic/H.md +1 -1
  100. package/docs/Microsoft.Quantum.Intrinsic/I.md +1 -1
  101. package/docs/Microsoft.Quantum.Intrinsic/M.md +1 -1
  102. package/docs/Microsoft.Quantum.Intrinsic/Measure.md +1 -1
  103. package/docs/Microsoft.Quantum.Intrinsic/Message.md +1 -1
  104. package/docs/Microsoft.Quantum.Intrinsic/R.md +1 -1
  105. package/docs/Microsoft.Quantum.Intrinsic/R1.md +1 -1
  106. package/docs/Microsoft.Quantum.Intrinsic/R1Frac.md +1 -1
  107. package/docs/Microsoft.Quantum.Intrinsic/RFrac.md +1 -1
  108. package/docs/Microsoft.Quantum.Intrinsic/Reset.md +1 -1
  109. package/docs/Microsoft.Quantum.Intrinsic/ResetAll.md +1 -1
  110. package/docs/Microsoft.Quantum.Intrinsic/Rx.md +1 -1
  111. package/docs/Microsoft.Quantum.Intrinsic/Rxx.md +1 -1
  112. package/docs/Microsoft.Quantum.Intrinsic/Ry.md +1 -1
  113. package/docs/Microsoft.Quantum.Intrinsic/Ryy.md +1 -1
  114. package/docs/Microsoft.Quantum.Intrinsic/Rz.md +1 -1
  115. package/docs/Microsoft.Quantum.Intrinsic/Rzz.md +1 -1
  116. package/docs/Microsoft.Quantum.Intrinsic/S.md +1 -1
  117. package/docs/Microsoft.Quantum.Intrinsic/SWAP.md +1 -1
  118. package/docs/Microsoft.Quantum.Intrinsic/T.md +1 -1
  119. package/docs/Microsoft.Quantum.Intrinsic/X.md +1 -1
  120. package/docs/Microsoft.Quantum.Intrinsic/Y.md +1 -1
  121. package/docs/Microsoft.Quantum.Intrinsic/Z.md +1 -1
  122. package/docs/Microsoft.Quantum.Logical/Xor.md +1 -1
  123. package/docs/Microsoft.Quantum.Math/AbsComplex.md +1 -1
  124. package/docs/Microsoft.Quantum.Math/AbsComplexPolar.md +1 -1
  125. package/docs/Microsoft.Quantum.Math/AbsD.md +1 -1
  126. package/docs/Microsoft.Quantum.Math/AbsI.md +1 -1
  127. package/docs/Microsoft.Quantum.Math/AbsL.md +1 -1
  128. package/docs/Microsoft.Quantum.Math/AbsSquaredComplex.md +1 -1
  129. package/docs/Microsoft.Quantum.Math/AbsSquaredComplexPolar.md +1 -1
  130. package/docs/Microsoft.Quantum.Math/ApproximateFactorial.md +1 -1
  131. package/docs/Microsoft.Quantum.Math/ArcCos.md +1 -1
  132. package/docs/Microsoft.Quantum.Math/ArcCosh.md +1 -1
  133. package/docs/Microsoft.Quantum.Math/ArcSin.md +1 -1
  134. package/docs/Microsoft.Quantum.Math/ArcSinh.md +1 -1
  135. package/docs/Microsoft.Quantum.Math/ArcTan.md +1 -1
  136. package/docs/Microsoft.Quantum.Math/ArcTan2.md +1 -1
  137. package/docs/Microsoft.Quantum.Math/ArcTanh.md +1 -1
  138. package/docs/Microsoft.Quantum.Math/ArgComplex.md +1 -1
  139. package/docs/Microsoft.Quantum.Math/ArgComplexPolar.md +1 -1
  140. package/docs/Microsoft.Quantum.Math/Binom.md +1 -1
  141. package/docs/Microsoft.Quantum.Math/BitSizeI.md +1 -1
  142. package/docs/Microsoft.Quantum.Math/BitSizeL.md +1 -1
  143. package/docs/Microsoft.Quantum.Math/Ceiling.md +1 -1
  144. package/docs/Microsoft.Quantum.Math/Complex.md +1 -1
  145. package/docs/Microsoft.Quantum.Math/ComplexPolar.md +1 -1
  146. package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentI.md +1 -1
  147. package/docs/Microsoft.Quantum.Math/ContinuedFractionConvergentL.md +1 -1
  148. package/docs/Microsoft.Quantum.Math/Cos.md +1 -1
  149. package/docs/Microsoft.Quantum.Math/Cosh.md +1 -1
  150. package/docs/Microsoft.Quantum.Math/DivRemI.md +1 -1
  151. package/docs/Microsoft.Quantum.Math/DivRemL.md +1 -1
  152. package/docs/Microsoft.Quantum.Math/DividedByC.md +1 -1
  153. package/docs/Microsoft.Quantum.Math/DividedByCP.md +1 -1
  154. package/docs/Microsoft.Quantum.Math/E.md +1 -1
  155. package/docs/Microsoft.Quantum.Math/ExpModI.md +1 -1
  156. package/docs/Microsoft.Quantum.Math/ExpModL.md +1 -1
  157. package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorI.md +1 -1
  158. package/docs/Microsoft.Quantum.Math/ExtendedGreatestCommonDivisorL.md +1 -1
  159. package/docs/Microsoft.Quantum.Math/FactorialI.md +1 -1
  160. package/docs/Microsoft.Quantum.Math/FactorialL.md +1 -1
  161. package/docs/Microsoft.Quantum.Math/Floor.md +1 -1
  162. package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorI.md +1 -1
  163. package/docs/Microsoft.Quantum.Math/GreatestCommonDivisorL.md +1 -1
  164. package/docs/Microsoft.Quantum.Math/HammingWeightI.md +1 -1
  165. package/docs/Microsoft.Quantum.Math/InverseModI.md +1 -1
  166. package/docs/Microsoft.Quantum.Math/InverseModL.md +1 -1
  167. package/docs/Microsoft.Quantum.Math/IsCoprimeI.md +1 -1
  168. package/docs/Microsoft.Quantum.Math/IsCoprimeL.md +1 -1
  169. package/docs/Microsoft.Quantum.Math/IsInfinite.md +1 -1
  170. package/docs/Microsoft.Quantum.Math/IsNaN.md +1 -1
  171. package/docs/Microsoft.Quantum.Math/LargestFixedPoint.md +1 -1
  172. package/docs/Microsoft.Quantum.Math/Lg.md +1 -1
  173. package/docs/Microsoft.Quantum.Math/Log.md +1 -1
  174. package/docs/Microsoft.Quantum.Math/Log10.md +1 -1
  175. package/docs/Microsoft.Quantum.Math/LogFactorialD.md +1 -1
  176. package/docs/Microsoft.Quantum.Math/LogGammaD.md +1 -1
  177. package/docs/Microsoft.Quantum.Math/LogOf2.md +1 -1
  178. package/docs/Microsoft.Quantum.Math/Max.md +1 -1
  179. package/docs/Microsoft.Quantum.Math/MaxD.md +1 -1
  180. package/docs/Microsoft.Quantum.Math/MaxI.md +1 -1
  181. package/docs/Microsoft.Quantum.Math/MaxL.md +1 -1
  182. package/docs/Microsoft.Quantum.Math/Min.md +1 -1
  183. package/docs/Microsoft.Quantum.Math/MinD.md +1 -1
  184. package/docs/Microsoft.Quantum.Math/MinI.md +1 -1
  185. package/docs/Microsoft.Quantum.Math/MinL.md +1 -1
  186. package/docs/Microsoft.Quantum.Math/MinusC.md +1 -1
  187. package/docs/Microsoft.Quantum.Math/MinusCP.md +1 -1
  188. package/docs/Microsoft.Quantum.Math/ModulusI.md +1 -1
  189. package/docs/Microsoft.Quantum.Math/ModulusL.md +1 -1
  190. package/docs/Microsoft.Quantum.Math/NegationC.md +1 -1
  191. package/docs/Microsoft.Quantum.Math/NegationCP.md +1 -1
  192. package/docs/Microsoft.Quantum.Math/PI.md +1 -1
  193. package/docs/Microsoft.Quantum.Math/PNorm.md +1 -1
  194. package/docs/Microsoft.Quantum.Math/PNormalized.md +1 -1
  195. package/docs/Microsoft.Quantum.Math/PlusC.md +1 -1
  196. package/docs/Microsoft.Quantum.Math/PlusCP.md +1 -1
  197. package/docs/Microsoft.Quantum.Math/PowC.md +1 -1
  198. package/docs/Microsoft.Quantum.Math/PowCP.md +1 -1
  199. package/docs/Microsoft.Quantum.Math/RealMod.md +1 -1
  200. package/docs/Microsoft.Quantum.Math/Round.md +1 -1
  201. package/docs/Microsoft.Quantum.Math/SignD.md +1 -1
  202. package/docs/Microsoft.Quantum.Math/SignI.md +1 -1
  203. package/docs/Microsoft.Quantum.Math/SignL.md +1 -1
  204. package/docs/Microsoft.Quantum.Math/Sin.md +1 -1
  205. package/docs/Microsoft.Quantum.Math/Sinh.md +1 -1
  206. package/docs/Microsoft.Quantum.Math/SmallestFixedPoint.md +1 -1
  207. package/docs/Microsoft.Quantum.Math/Sqrt.md +1 -1
  208. package/docs/Microsoft.Quantum.Math/SquaredNorm.md +1 -1
  209. package/docs/Microsoft.Quantum.Math/Tan.md +1 -1
  210. package/docs/Microsoft.Quantum.Math/Tanh.md +1 -1
  211. package/docs/Microsoft.Quantum.Math/TimesC.md +1 -1
  212. package/docs/Microsoft.Quantum.Math/TimesCP.md +1 -1
  213. package/docs/Microsoft.Quantum.Math/TrailingZeroCountI.md +1 -1
  214. package/docs/Microsoft.Quantum.Math/TrailingZeroCountL.md +1 -1
  215. package/docs/Microsoft.Quantum.Math/Truncate.md +1 -1
  216. package/docs/Microsoft.Quantum.Measurement/MResetEachZ.md +1 -1
  217. package/docs/Microsoft.Quantum.Measurement/MResetX.md +1 -1
  218. package/docs/Microsoft.Quantum.Measurement/MResetY.md +1 -1
  219. package/docs/Microsoft.Quantum.Measurement/MResetZ.md +1 -1
  220. package/docs/Microsoft.Quantum.Measurement/MeasureAllZ.md +1 -1
  221. package/docs/Microsoft.Quantum.Measurement/MeasureEachZ.md +1 -1
  222. package/docs/Microsoft.Quantum.Measurement/MeasureInteger.md +1 -1
  223. package/docs/Microsoft.Quantum.Random/DrawRandomDouble.md +1 -1
  224. package/docs/Microsoft.Quantum.Random/DrawRandomInt.md +1 -1
  225. package/docs/Microsoft.Quantum.ResourceEstimation/AccountForEstimates.md +1 -1
  226. package/docs/Microsoft.Quantum.ResourceEstimation/AuxQubitCount.md +1 -1
  227. package/docs/Microsoft.Quantum.ResourceEstimation/BeginEstimateCaching.md +1 -1
  228. package/docs/Microsoft.Quantum.ResourceEstimation/BeginRepeatEstimates.md +1 -1
  229. package/docs/Microsoft.Quantum.ResourceEstimation/CczCount.md +1 -1
  230. package/docs/Microsoft.Quantum.ResourceEstimation/EndEstimateCaching.md +1 -1
  231. package/docs/Microsoft.Quantum.ResourceEstimation/EndRepeatEstimates.md +1 -1
  232. package/docs/Microsoft.Quantum.ResourceEstimation/MeasurementCount.md +1 -1
  233. package/docs/Microsoft.Quantum.ResourceEstimation/PSSPCLayout.md +1 -1
  234. package/docs/Microsoft.Quantum.ResourceEstimation/RepeatEstimates.md +1 -1
  235. package/docs/Microsoft.Quantum.ResourceEstimation/RotationCount.md +1 -1
  236. package/docs/Microsoft.Quantum.ResourceEstimation/RotationDepth.md +1 -1
  237. package/docs/Microsoft.Quantum.ResourceEstimation/SingleVariant.md +1 -1
  238. package/docs/Microsoft.Quantum.ResourceEstimation/TCount.md +1 -1
  239. package/docs/Microsoft.Quantum.Unstable.Arithmetic/AddLE.md +1 -1
  240. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualL.md +1 -1
  241. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfEqualLE.md +1 -1
  242. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterL.md +1 -1
  243. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterLE.md +1 -1
  244. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualL.md +1 -1
  245. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfGreaterOrEqualLE.md +1 -1
  246. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessL.md +1 -1
  247. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessLE.md +1 -1
  248. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualL.md +1 -1
  249. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ApplyIfLessOrEqualLE.md +1 -1
  250. package/docs/Microsoft.Quantum.Unstable.Arithmetic/FourierTDIncByLE.md +1 -1
  251. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByI.md +1 -1
  252. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByIUsingIncByLE.md +1 -1
  253. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByL.md +1 -1
  254. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLE.md +1 -1
  255. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLEUsingAddLE.md +1 -1
  256. package/docs/Microsoft.Quantum.Unstable.Arithmetic/IncByLUsingIncByLE.md +1 -1
  257. package/docs/Microsoft.Quantum.Unstable.Arithmetic/LookAheadDKRSAddLE.md +1 -1
  258. package/docs/Microsoft.Quantum.Unstable.Arithmetic/MAJ.md +1 -1
  259. package/docs/Microsoft.Quantum.Unstable.Arithmetic/ReflectAboutInteger.md +1 -1
  260. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGAddLE.md +1 -1
  261. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryCGIncByLE.md +1 -1
  262. package/docs/Microsoft.Quantum.Unstable.Arithmetic/RippleCarryTTKIncByLE.md +1 -1
  263. package/docs/Microsoft.Quantum.Unstable.StatePreparation/ApproximatelyPreparePureStateCP.md +1 -1
  264. package/docs/Microsoft.Quantum.Unstable.StatePreparation/PreparePureStateD.md +1 -1
  265. package/docs/Microsoft.Quantum.Unstable.TableLookup/Select.md +1 -1
  266. package/lib/node/qsc_wasm.cjs +41 -4
  267. package/lib/node/qsc_wasm.d.cts +18 -2
  268. package/lib/node/qsc_wasm_bg.wasm +0 -0
  269. package/lib/web/qsc_wasm.d.ts +19 -2
  270. package/lib/web/qsc_wasm.js +40 -4
  271. package/lib/web/qsc_wasm_bg.wasm +0 -0
  272. package/package.json +1 -1
  273. package/ux/circuit.tsx +48 -0
  274. package/ux/index.ts +2 -0
  275. package/ux/qsharp-circuit.css +185 -0
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.LookAheadDKRSAddLE
3
3
  title: LookAheadDKRSAddLE operation
4
- ms.date: 03/21/2024 12:00:00 AM
4
+ ms.date: 03/22/2024 12:00:00 AM
5
5
  ms.topic: managed-reference
6
6
  qsharp.kind: operation
7
7
  qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.MAJ
3
3
  title: MAJ operation
4
- ms.date: 03/21/2024 12:00:00 AM
4
+ ms.date: 03/22/2024 12:00:00 AM
5
5
  ms.topic: managed-reference
6
6
  qsharp.kind: operation
7
7
  qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.ReflectAboutInteger
3
3
  title: ReflectAboutInteger operation
4
- ms.date: 03/21/2024 12:00:00 AM
4
+ ms.date: 03/22/2024 12:00:00 AM
5
5
  ms.topic: managed-reference
6
6
  qsharp.kind: operation
7
7
  qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.RippleCarryCGAddLE
3
3
  title: RippleCarryCGAddLE operation
4
- ms.date: 03/21/2024 12:00:00 AM
4
+ ms.date: 03/22/2024 12:00:00 AM
5
5
  ms.topic: managed-reference
6
6
  qsharp.kind: operation
7
7
  qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.RippleCarryCGIncByLE
3
3
  title: RippleCarryCGIncByLE operation
4
- ms.date: 03/21/2024 12:00:00 AM
4
+ ms.date: 03/22/2024 12:00:00 AM
5
5
  ms.topic: managed-reference
6
6
  qsharp.kind: operation
7
7
  qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  uid: Qdk.Microsoft.Quantum.Unstable.Arithmetic.RippleCarryTTKIncByLE
3
3
  title: RippleCarryTTKIncByLE operation
4
- ms.date: 03/21/2024 12:00:00 AM
4
+ ms.date: 03/22/2024 12:00:00 AM
5
5
  ms.topic: managed-reference
6
6
  qsharp.kind: operation
7
7
  qsharp.namespace: Microsoft.Quantum.Unstable.Arithmetic
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  uid: Qdk.Microsoft.Quantum.Unstable.StatePreparation.ApproximatelyPreparePureStateCP
3
3
  title: ApproximatelyPreparePureStateCP operation
4
- ms.date: 03/21/2024 12:00:00 AM
4
+ ms.date: 03/22/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.StatePreparation.PreparePureStateD
3
3
  title: PreparePureStateD operation
4
- ms.date: 03/21/2024 12:00:00 AM
4
+ ms.date: 03/22/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/21/2024 12:00:00 AM
4
+ ms.date: 03/22/2024 12:00:00 AM
5
5
  ms.topic: managed-reference
6
6
  qsharp.kind: operation
7
7
  qsharp.namespace: Microsoft.Quantum.Unstable.TableLookup
@@ -396,6 +396,35 @@ module.exports.get_estimates = function(sources, params, language_features) {
396
396
  }
397
397
  };
398
398
 
399
+ /**
400
+ * @param {(Array<any>)[]} sources
401
+ * @param {string} targetProfile
402
+ * @param {IOperationInfo | undefined} operation
403
+ * @param {(string)[]} language_features
404
+ * @returns {any}
405
+ */
406
+ module.exports.get_circuit = function(sources, targetProfile, operation, language_features) {
407
+ try {
408
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
409
+ const ptr0 = passArrayJsValueToWasm0(sources, wasm.__wbindgen_export_0);
410
+ const len0 = WASM_VECTOR_LEN;
411
+ const ptr1 = passStringToWasm0(targetProfile, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
412
+ const len1 = WASM_VECTOR_LEN;
413
+ const ptr2 = passArrayJsValueToWasm0(language_features, wasm.__wbindgen_export_0);
414
+ const len2 = WASM_VECTOR_LEN;
415
+ wasm.get_circuit(retptr, ptr0, len0, ptr1, len1, isLikeNone(operation) ? 0 : addHeapObject(operation), ptr2, len2);
416
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
417
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
418
+ var r2 = getInt32Memory0()[retptr / 4 + 2];
419
+ if (r2) {
420
+ throw takeObject(r1);
421
+ }
422
+ return takeObject(r0);
423
+ } finally {
424
+ wasm.__wbindgen_add_to_stack_pointer(16);
425
+ }
426
+ };
427
+
399
428
  /**
400
429
  * @param {string} name
401
430
  * @returns {string | undefined}
@@ -516,7 +545,7 @@ function handleError(f, args) {
516
545
  wasm.__wbindgen_export_5(addHeapObject(e));
517
546
  }
518
547
  }
519
- function __wbg_adapter_170(arg0, arg1, arg2, arg3) {
548
+ function __wbg_adapter_173(arg0, arg1, arg2, arg3) {
520
549
  wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
521
550
  }
522
551
 
@@ -1110,6 +1139,14 @@ module.exports.__wbindgen_as_number = function(arg0) {
1110
1139
  return ret;
1111
1140
  };
1112
1141
 
1142
+ module.exports.__wbg_String_b9412f8799faab3e = function(arg0, arg1) {
1143
+ const ret = String(getObject(arg1));
1144
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
1145
+ const len1 = WASM_VECTOR_LEN;
1146
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
1147
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
1148
+ };
1149
+
1113
1150
  module.exports.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) {
1114
1151
  const ret = getObject(arg0)[getObject(arg1)];
1115
1152
  return addHeapObject(ret);
@@ -1294,7 +1331,7 @@ module.exports.__wbg_new_81740750da40724f = function(arg0, arg1) {
1294
1331
  const a = state0.a;
1295
1332
  state0.a = 0;
1296
1333
  try {
1297
- return __wbg_adapter_170(a, state0.b, arg0, arg1);
1334
+ return __wbg_adapter_173(a, state0.b, arg0, arg1);
1298
1335
  } finally {
1299
1336
  state0.a = a;
1300
1337
  }
@@ -1405,8 +1442,8 @@ module.exports.__wbindgen_memory = function() {
1405
1442
  return addHeapObject(ret);
1406
1443
  };
1407
1444
 
1408
- module.exports.__wbindgen_closure_wrapper656 = function(arg0, arg1, arg2) {
1409
- const ret = makeMutClosure(arg0, arg1, 233, __wbg_adapter_54);
1445
+ module.exports.__wbindgen_closure_wrapper696 = function(arg0, arg1, arg2) {
1446
+ const ret = makeMutClosure(arg0, arg1, 292, __wbg_adapter_54);
1410
1447
  return addHeapObject(ret);
1411
1448
  };
1412
1449
 
@@ -27,6 +27,14 @@ export function get_qir(sources: (Array<any>)[], language_features: (string)[]):
27
27
  */
28
28
  export function get_estimates(sources: (Array<any>)[], params: string, language_features: (string)[]): string;
29
29
  /**
30
+ * @param {(Array<any>)[]} sources
31
+ * @param {string} targetProfile
32
+ * @param {IOperationInfo | undefined} operation
33
+ * @param {(string)[]} language_features
34
+ * @returns {any}
35
+ */
36
+ export function get_circuit(sources: (Array<any>)[], targetProfile: string, operation: IOperationInfo | undefined, language_features: (string)[]): any;
37
+ /**
30
38
  * @param {string} name
31
39
  * @returns {string | undefined}
32
40
  */
@@ -179,10 +187,18 @@ export interface IParameterInformation {
179
187
  documentation: string;
180
188
  }
181
189
 
182
- export interface ICodeLens {
190
+ export type ICodeLens = {
183
191
  range: IRange;
184
192
  command: "histogram" | "estimate" | "debug" | "run";
185
- args?: [string, string, string];
193
+ } | {
194
+ range: IRange;
195
+ command: "circuit";
196
+ args?: IOperationInfo
197
+ }
198
+
199
+ export interface IOperationInfo {
200
+ operation: string;
201
+ totalNumQubits: number;
186
202
  }
187
203
 
188
204
  export interface IWorkspaceEdit {
Binary file
@@ -27,6 +27,14 @@ export function get_qir(sources: (Array<any>)[], language_features: (string)[]):
27
27
  */
28
28
  export function get_estimates(sources: (Array<any>)[], params: string, language_features: (string)[]): string;
29
29
  /**
30
+ * @param {(Array<any>)[]} sources
31
+ * @param {string} targetProfile
32
+ * @param {IOperationInfo | undefined} operation
33
+ * @param {(string)[]} language_features
34
+ * @returns {any}
35
+ */
36
+ export function get_circuit(sources: (Array<any>)[], targetProfile: string, operation: IOperationInfo | undefined, language_features: (string)[]): any;
37
+ /**
30
38
  * @param {string} name
31
39
  * @returns {string | undefined}
32
40
  */
@@ -179,10 +187,18 @@ export interface IParameterInformation {
179
187
  documentation: string;
180
188
  }
181
189
 
182
- export interface ICodeLens {
190
+ export type ICodeLens = {
183
191
  range: IRange;
184
192
  command: "histogram" | "estimate" | "debug" | "run";
185
- args?: [string, string, string];
193
+ } | {
194
+ range: IRange;
195
+ command: "circuit";
196
+ args?: IOperationInfo
197
+ }
198
+
199
+ export interface IOperationInfo {
200
+ operation: string;
201
+ totalNumQubits: number;
186
202
  }
187
203
 
188
204
  export interface IWorkspaceEdit {
@@ -433,6 +449,7 @@ export interface InitOutput {
433
449
  readonly git_hash: (a: number) => void;
434
450
  readonly get_qir: (a: number, b: number, c: number, d: number, e: number) => void;
435
451
  readonly get_estimates: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
452
+ readonly get_circuit: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
436
453
  readonly get_library_source_content: (a: number, b: number, c: number) => void;
437
454
  readonly get_hir: (a: number, b: number, c: number, d: number, e: number) => void;
438
455
  readonly run: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
@@ -393,6 +393,35 @@ export function get_estimates(sources, params, language_features) {
393
393
  }
394
394
  }
395
395
 
396
+ /**
397
+ * @param {(Array<any>)[]} sources
398
+ * @param {string} targetProfile
399
+ * @param {IOperationInfo | undefined} operation
400
+ * @param {(string)[]} language_features
401
+ * @returns {any}
402
+ */
403
+ export function get_circuit(sources, targetProfile, operation, language_features) {
404
+ try {
405
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
406
+ const ptr0 = passArrayJsValueToWasm0(sources, wasm.__wbindgen_export_0);
407
+ const len0 = WASM_VECTOR_LEN;
408
+ const ptr1 = passStringToWasm0(targetProfile, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
409
+ const len1 = WASM_VECTOR_LEN;
410
+ const ptr2 = passArrayJsValueToWasm0(language_features, wasm.__wbindgen_export_0);
411
+ const len2 = WASM_VECTOR_LEN;
412
+ wasm.get_circuit(retptr, ptr0, len0, ptr1, len1, isLikeNone(operation) ? 0 : addHeapObject(operation), ptr2, len2);
413
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
414
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
415
+ var r2 = getInt32Memory0()[retptr / 4 + 2];
416
+ if (r2) {
417
+ throw takeObject(r1);
418
+ }
419
+ return takeObject(r0);
420
+ } finally {
421
+ wasm.__wbindgen_add_to_stack_pointer(16);
422
+ }
423
+ }
424
+
396
425
  /**
397
426
  * @param {string} name
398
427
  * @returns {string | undefined}
@@ -513,7 +542,7 @@ function handleError(f, args) {
513
542
  wasm.__wbindgen_export_5(addHeapObject(e));
514
543
  }
515
544
  }
516
- function __wbg_adapter_170(arg0, arg1, arg2, arg3) {
545
+ function __wbg_adapter_173(arg0, arg1, arg2, arg3) {
517
546
  wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
518
547
  }
519
548
 
@@ -1112,6 +1141,13 @@ function __wbg_get_imports() {
1112
1141
  const ret = +getObject(arg0);
1113
1142
  return ret;
1114
1143
  };
1144
+ imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) {
1145
+ const ret = String(getObject(arg1));
1146
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
1147
+ const len1 = WASM_VECTOR_LEN;
1148
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
1149
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
1150
+ };
1115
1151
  imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) {
1116
1152
  const ret = getObject(arg0)[getObject(arg1)];
1117
1153
  return addHeapObject(ret);
@@ -1262,7 +1298,7 @@ function __wbg_get_imports() {
1262
1298
  const a = state0.a;
1263
1299
  state0.a = 0;
1264
1300
  try {
1265
- return __wbg_adapter_170(a, state0.b, arg0, arg1);
1301
+ return __wbg_adapter_173(a, state0.b, arg0, arg1);
1266
1302
  } finally {
1267
1303
  state0.a = a;
1268
1304
  }
@@ -1354,8 +1390,8 @@ function __wbg_get_imports() {
1354
1390
  const ret = wasm.memory;
1355
1391
  return addHeapObject(ret);
1356
1392
  };
1357
- imports.wbg.__wbindgen_closure_wrapper656 = function(arg0, arg1, arg2) {
1358
- const ret = makeMutClosure(arg0, arg1, 233, __wbg_adapter_54);
1393
+ imports.wbg.__wbindgen_closure_wrapper696 = function(arg0, arg1, arg2) {
1394
+ const ret = makeMutClosure(arg0, arg1, 292, __wbg_adapter_54);
1359
1395
  return addHeapObject(ret);
1360
1396
  };
1361
1397
 
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.0",
4
+ "version": "1.3.2-dev",
5
5
  "license": "MIT",
6
6
  "engines": {
7
7
  "node": ">=16.17.0"
package/ux/circuit.tsx ADDED
@@ -0,0 +1,48 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+
4
+ import * as qviz from "@microsoft/quantum-viz.js/lib";
5
+ import { useEffect, useRef } from "preact/hooks";
6
+
7
+ export function Circuit(props: { circuit: qviz.Circuit }) {
8
+ const circuitDiv = useRef<HTMLDivElement>(null);
9
+
10
+ useEffect(() => {
11
+ qviz.draw(props.circuit, circuitDiv.current!);
12
+
13
+ // quantum-viz hardcodes the styles in the SVG.
14
+ // Remove the style elements -- we'll define the styles in our own CSS.
15
+ const styleElements = circuitDiv.current?.querySelectorAll("style");
16
+ styleElements?.forEach((tag) => tag.remove());
17
+ }, [props.circuit]);
18
+
19
+ return <div class="qs-circuit" ref={circuitDiv}></div>;
20
+ }
21
+
22
+ export function CircuitPanel(props: {
23
+ title: string;
24
+ subtitle: string;
25
+ circuit?: qviz.Circuit;
26
+ errorHtml?: string;
27
+ }) {
28
+ return (
29
+ <div>
30
+ <div>
31
+ <h1>{props.title}</h1>
32
+ <h2>{props.subtitle}</h2>
33
+ </div>
34
+ {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>
44
+ </div>
45
+ );
46
+ }
47
+
48
+ export type CircuitData = qviz.Circuit;
package/ux/index.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  // By importing the CSS here, esbuild will by default bundle it up and copy it
5
5
  // to a CSS file adjacent to the JS bundle and with the same name.
6
6
  import "./qsharp-ux.css";
7
+ import "./qsharp-circuit.css";
7
8
 
8
9
  export { CreateSingleEstimateResult, type ReData } from "./data.js";
9
10
  export { Histogram } from "./histogram.js";
@@ -12,3 +13,4 @@ export { SpaceChart } from "./spaceChart.js";
12
13
  export { ScatterChart } from "./scatterChart.js";
13
14
  export { EstimatesOverview } from "./estimatesOverview.js";
14
15
  export { EstimatesPanel } from "./estimatesPanel.js";
16
+ export { Circuit, CircuitPanel, type CircuitData } from "./circuit.js";
@@ -0,0 +1,185 @@
1
+ /* Copyright (c) Microsoft Corporation.
2
+ Licensed under the MIT License. */
3
+
4
+ /* Error div in circuit panel */
5
+ .qs-circuit-error {
6
+ padding: 10px 0px;
7
+ }
8
+
9
+ /*
10
+ Styles for Q# circuits.
11
+ Copied and modified from the default CSS generated by
12
+ https://github.com/microsoft/quantum-viz.js/blob/288e0cb506ee866ecca1b414c522e2d634f7b36d/src/styles.ts
13
+ */
14
+
15
+ /* Background color for the circuit diagram */
16
+ .qs-circuit {
17
+ background: var(--main-background);
18
+ }
19
+
20
+ /* Wires and gate outlines */
21
+ .qs-circuit line,
22
+ .qs-circuit circle,
23
+ .qs-circuit rect {
24
+ stroke: var(--main-color);
25
+ stroke-width: 1;
26
+ }
27
+
28
+ /* Text for qubit labels */
29
+ .qs-circuit text {
30
+ fill: var(--main-color);
31
+ dominant-baseline: middle;
32
+ text-anchor: middle;
33
+ font-family: Arial;
34
+ }
35
+
36
+ /* Background for gates */
37
+ .qs-circuit .gate-unitary {
38
+ fill: var(--vscode-button-secondaryBackground, #d9f1fa);
39
+ }
40
+
41
+ /* Text for gates */
42
+ .qs-circuit .gate text {
43
+ fill: var(--vscode-button-secondaryForeground, #000000);
44
+ }
45
+
46
+ /* Dot and line for controlled gates */
47
+ .qs-circuit .gate > line,
48
+ .qs-circuit .control-dot {
49
+ fill: var(--main-color);
50
+ }
51
+
52
+ /* X gate */
53
+ .qs-circuit .gate > .oplus > line,
54
+ .qs-circuit .gate > .oplus > circle {
55
+ fill: var(--main-background);
56
+ stroke: var(--main-color);
57
+ stroke-width: 2;
58
+ }
59
+
60
+ /* Measurement gate */
61
+ .qs-circuit .gate-measure {
62
+ fill: var(--vscode-button-background, #ffde86);
63
+ }
64
+
65
+ /* Measurement gate icon */
66
+ .qs-circuit .gate > g > line,
67
+ .qs-circuit .arc-measure {
68
+ stroke: var(--vscode-button-foreground, #000000);
69
+ fill: none;
70
+ stroke-width: 1;
71
+ }
72
+
73
+ /* SWAP gate */
74
+ .qs-circuit rect.gate-swap {
75
+ fill: transparent;
76
+ stroke: transparent;
77
+ }
78
+
79
+ /* Classical wire */
80
+ .qs-circuit .register-classical {
81
+ stroke-width: 0.5;
82
+ }
83
+
84
+ /*
85
+ The following styles are unused so they are unthemed.
86
+ They relate to conditional circuits which are not currently supported.
87
+ */
88
+
89
+ .qs-circuit .hidden {
90
+ display: none;
91
+ }
92
+
93
+ .qs-circuit .classically-controlled-unknown {
94
+ opacity: 0.25;
95
+ }
96
+
97
+ .qs-circuit .classically-controlled-one .classical-container,
98
+ .qs-circuit .classically-controlled-one .classical-line {
99
+ stroke: #4059bd;
100
+ stroke-width: 1.3;
101
+ fill: #4059bd;
102
+ fill-opacity: 0.1;
103
+ }
104
+
105
+ .qs-circuit .classically-controlled-zero .classical-container,
106
+ .qs-circuit .classically-controlled-zero .classical-line {
107
+ stroke: #c40000;
108
+ stroke-width: 1.3;
109
+ fill: #c40000;
110
+ fill-opacity: 0.1;
111
+ }
112
+
113
+ .qs-circuit .classically-controlled-btn {
114
+ cursor: pointer;
115
+ }
116
+
117
+ .qs-circuit .classically-controlled-unknown .classically-controlled-btn {
118
+ fill: #e5e5e5;
119
+ }
120
+
121
+ .qs-circuit .classically-controlled-one .classically-controlled-btn {
122
+ fill: #4059bd;
123
+ }
124
+
125
+ .qs-circuit .classically-controlled-zero .classically-controlled-btn {
126
+ fill: #c40000;
127
+ }
128
+
129
+ .qs-circuit .classically-controlled-btn text {
130
+ dominant-baseline: middle;
131
+ text-anchor: middle;
132
+ stroke: none;
133
+ font-family: Arial;
134
+ }
135
+
136
+ .qs-circuit .classically-controlled-unknown .classically-controlled-btn text {
137
+ fill: #000000;
138
+ }
139
+
140
+ .qs-circuit .classically-controlled-one .classically-controlled-btn text {
141
+ fill: #ffffff;
142
+ }
143
+
144
+ .qs-circuit .classically-controlled-zero .classically-controlled-btn text {
145
+ fill: #ffffff;
146
+ }
147
+
148
+ .qs-circuit .qviz .gate-collapse,
149
+ .qs-circuit .qviz .gate-expand {
150
+ opacity: 0;
151
+ transition: opacity 1s;
152
+ }
153
+
154
+ .qs-circuit .qviz:hover .gate-collapse,
155
+ .qs-circuit .qviz:hover .gate-expand {
156
+ visibility: visible;
157
+ opacity: 0.2;
158
+ transition: visibility 1s;
159
+ transition: opacity 1s;
160
+ }
161
+
162
+ .qs-circuit .gate-expand,
163
+ .gate-collapse {
164
+ cursor: pointer;
165
+ }
166
+
167
+ .qs-circuit .gate-collapse circle,
168
+ .qs-circuit .gate-expand circle {
169
+ fill: white;
170
+ stroke-width: 2px;
171
+ stroke: black;
172
+ }
173
+
174
+ .qs-circuit .gate-collapse path,
175
+ .qs-circuit .gate-expand path {
176
+ stroke-width: 4px;
177
+ stroke: black;
178
+ }
179
+
180
+ .qs-circuit .gate:hover > .gate-collapse,
181
+ .qs-circuit .gate:hover > .gate-expand {
182
+ visibility: visible;
183
+ opacity: 1;
184
+ transition: opacity 1s;
185
+ }