goscript 0.0.33 → 0.0.35

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 (347) hide show
  1. package/compiler/analysis.go +30 -22
  2. package/compiler/analysis_test.go +14 -0
  3. package/compiler/assignment.go +45 -7
  4. package/compiler/builtin_test.go +2 -0
  5. package/compiler/compiler.go +15 -89
  6. package/compiler/compiler_test.go +0 -53
  7. package/compiler/composite-lit.go +60 -17
  8. package/compiler/decl.go +1 -1
  9. package/compiler/expr-call.go +347 -30
  10. package/compiler/expr-selector.go +28 -2
  11. package/compiler/expr.go +79 -38
  12. package/compiler/lit.go +112 -3
  13. package/compiler/primitive.go +6 -6
  14. package/compiler/protobuf.go +0 -5
  15. package/compiler/sanitize.go +101 -0
  16. package/compiler/spec-value.go +25 -18
  17. package/compiler/stmt-assign.go +128 -91
  18. package/compiler/stmt-for.go +78 -1
  19. package/compiler/stmt-range.go +333 -461
  20. package/compiler/stmt.go +46 -9
  21. package/compiler/type.go +14 -11
  22. package/dist/gs/builtin/builtin.d.ts +8 -0
  23. package/dist/gs/builtin/builtin.js +31 -0
  24. package/dist/gs/builtin/builtin.js.map +1 -1
  25. package/dist/gs/builtin/map.d.ts +4 -4
  26. package/dist/gs/builtin/map.js +12 -6
  27. package/dist/gs/builtin/map.js.map +1 -1
  28. package/dist/gs/builtin/slice.d.ts +14 -8
  29. package/dist/gs/builtin/slice.js +131 -31
  30. package/dist/gs/builtin/slice.js.map +1 -1
  31. package/dist/gs/github.com/pkg/errors/errors.d.ts +13 -0
  32. package/dist/gs/github.com/pkg/errors/errors.js +232 -0
  33. package/dist/gs/github.com/pkg/errors/errors.js.map +1 -0
  34. package/dist/gs/github.com/pkg/errors/go113.d.ts +4 -0
  35. package/dist/gs/github.com/pkg/errors/go113.js +34 -0
  36. package/dist/gs/github.com/pkg/errors/go113.js.map +1 -0
  37. package/dist/gs/github.com/pkg/errors/index.d.ts +3 -0
  38. package/dist/gs/github.com/pkg/errors/index.js +4 -0
  39. package/dist/gs/github.com/pkg/errors/index.js.map +1 -0
  40. package/dist/gs/github.com/pkg/errors/stack.d.ts +32 -0
  41. package/dist/gs/github.com/pkg/errors/stack.js +111 -0
  42. package/dist/gs/github.com/pkg/errors/stack.js.map +1 -0
  43. package/dist/gs/maps/index.d.ts +2 -0
  44. package/dist/gs/maps/index.js +3 -0
  45. package/dist/gs/maps/index.js.map +1 -0
  46. package/dist/gs/maps/iter.d.ts +7 -0
  47. package/dist/gs/maps/iter.gs.d.ts +7 -0
  48. package/dist/gs/maps/iter.gs.js +65 -0
  49. package/dist/gs/maps/iter.gs.js.map +1 -0
  50. package/dist/gs/maps/iter.js +57 -0
  51. package/dist/gs/maps/iter.js.map +1 -0
  52. package/dist/gs/maps/maps.d.ts +7 -0
  53. package/dist/gs/maps/maps.gs.d.ts +7 -0
  54. package/dist/gs/maps/maps.gs.js +79 -0
  55. package/dist/gs/maps/maps.gs.js.map +1 -0
  56. package/dist/gs/maps/maps.js +67 -0
  57. package/dist/gs/maps/maps.js.map +1 -0
  58. package/dist/gs/math/abs.gs.d.ts +1 -0
  59. package/dist/gs/math/abs.gs.js +10 -0
  60. package/dist/gs/math/abs.gs.js.map +1 -0
  61. package/dist/gs/math/acosh.gs.d.ts +2 -0
  62. package/dist/gs/math/acosh.gs.js +14 -0
  63. package/dist/gs/math/acosh.gs.js.map +1 -0
  64. package/dist/gs/math/asin.gs.d.ts +4 -0
  65. package/dist/gs/math/asin.gs.js +24 -0
  66. package/dist/gs/math/asin.gs.js.map +1 -0
  67. package/dist/gs/math/asinh.gs.d.ts +2 -0
  68. package/dist/gs/math/asinh.gs.js +14 -0
  69. package/dist/gs/math/asinh.gs.js.map +1 -0
  70. package/dist/gs/math/atan.gs.d.ts +4 -0
  71. package/dist/gs/math/atan.gs.js +22 -0
  72. package/dist/gs/math/atan.gs.js.map +1 -0
  73. package/dist/gs/math/atan2.gs.d.ts +2 -0
  74. package/dist/gs/math/atan2.gs.js +30 -0
  75. package/dist/gs/math/atan2.gs.js.map +1 -0
  76. package/dist/gs/math/atanh.gs.d.ts +2 -0
  77. package/dist/gs/math/atanh.gs.js +16 -0
  78. package/dist/gs/math/atanh.gs.js.map +1 -0
  79. package/dist/gs/math/bits.gs.d.ts +5 -0
  80. package/dist/gs/math/bits.gs.js +46 -0
  81. package/dist/gs/math/bits.gs.js.map +1 -0
  82. package/dist/gs/math/cbrt.gs.d.ts +2 -0
  83. package/dist/gs/math/cbrt.gs.js +14 -0
  84. package/dist/gs/math/cbrt.gs.js.map +1 -0
  85. package/dist/gs/math/const.gs.d.ts +30 -0
  86. package/dist/gs/math/const.gs.js +61 -0
  87. package/dist/gs/math/const.gs.js.map +1 -0
  88. package/dist/gs/math/copysign.gs.d.ts +1 -0
  89. package/dist/gs/math/copysign.gs.js +20 -0
  90. package/dist/gs/math/copysign.gs.js.map +1 -0
  91. package/dist/gs/math/dim.gs.d.ts +5 -0
  92. package/dist/gs/math/dim.gs.js +69 -0
  93. package/dist/gs/math/dim.gs.js.map +1 -0
  94. package/dist/gs/math/erf.gs.d.ts +4 -0
  95. package/dist/gs/math/erf.gs.js +336 -0
  96. package/dist/gs/math/erf.gs.js.map +1 -0
  97. package/dist/gs/math/erfinv.gs.d.ts +2 -0
  98. package/dist/gs/math/erfinv.gs.js +118 -0
  99. package/dist/gs/math/erfinv.gs.js.map +1 -0
  100. package/dist/gs/math/exp.gs.d.ts +5 -0
  101. package/dist/gs/math/exp.gs.js +30 -0
  102. package/dist/gs/math/exp.gs.js.map +1 -0
  103. package/dist/gs/math/expm1.gs.d.ts +2 -0
  104. package/dist/gs/math/expm1.gs.js +17 -0
  105. package/dist/gs/math/expm1.gs.js.map +1 -0
  106. package/dist/gs/math/floor.gs.d.ts +8 -0
  107. package/dist/gs/math/floor.gs.js +75 -0
  108. package/dist/gs/math/floor.gs.js.map +1 -0
  109. package/dist/gs/math/fma.gs.d.ts +1 -0
  110. package/dist/gs/math/fma.gs.js +8 -0
  111. package/dist/gs/math/fma.gs.js.map +1 -0
  112. package/dist/gs/math/frexp.gs.d.ts +2 -0
  113. package/dist/gs/math/frexp.gs.js +28 -0
  114. package/dist/gs/math/frexp.gs.js.map +1 -0
  115. package/dist/gs/math/gamma.gs.d.ts +3 -0
  116. package/dist/gs/math/gamma.gs.js +149 -0
  117. package/dist/gs/math/gamma.gs.js.map +1 -0
  118. package/dist/gs/math/hypot.gs.d.ts +2 -0
  119. package/dist/gs/math/hypot.gs.js +16 -0
  120. package/dist/gs/math/hypot.gs.js.map +1 -0
  121. package/dist/gs/math/index.d.ts +44 -0
  122. package/dist/gs/math/index.js +45 -0
  123. package/dist/gs/math/index.js.map +1 -0
  124. package/dist/gs/math/j0.gs.d.ts +4 -0
  125. package/dist/gs/math/j0.gs.js +228 -0
  126. package/dist/gs/math/j0.gs.js.map +1 -0
  127. package/dist/gs/math/j1.gs.d.ts +4 -0
  128. package/dist/gs/math/j1.gs.js +211 -0
  129. package/dist/gs/math/j1.gs.js.map +1 -0
  130. package/dist/gs/math/jn.gs.d.ts +2 -0
  131. package/dist/gs/math/jn.gs.js +412 -0
  132. package/dist/gs/math/jn.gs.js.map +1 -0
  133. package/dist/gs/math/ldexp.gs.d.ts +2 -0
  134. package/dist/gs/math/ldexp.gs.js +20 -0
  135. package/dist/gs/math/ldexp.gs.js.map +1 -0
  136. package/dist/gs/math/lgamma.gs.d.ts +2 -0
  137. package/dist/gs/math/lgamma.gs.js +243 -0
  138. package/dist/gs/math/lgamma.gs.js.map +1 -0
  139. package/dist/gs/math/log.gs.d.ts +2 -0
  140. package/dist/gs/math/log.gs.js +16 -0
  141. package/dist/gs/math/log.gs.js.map +1 -0
  142. package/dist/gs/math/log10.gs.d.ts +4 -0
  143. package/dist/gs/math/log10.gs.js +17 -0
  144. package/dist/gs/math/log10.gs.js.map +1 -0
  145. package/dist/gs/math/log1p.gs.d.ts +2 -0
  146. package/dist/gs/math/log1p.gs.js +17 -0
  147. package/dist/gs/math/log1p.gs.js.map +1 -0
  148. package/dist/gs/math/logb.gs.d.ts +3 -0
  149. package/dist/gs/math/logb.gs.js +43 -0
  150. package/dist/gs/math/logb.gs.js.map +1 -0
  151. package/dist/gs/math/mod.gs.d.ts +2 -0
  152. package/dist/gs/math/mod.gs.js +26 -0
  153. package/dist/gs/math/mod.gs.js.map +1 -0
  154. package/dist/gs/math/modf.gs.d.ts +2 -0
  155. package/dist/gs/math/modf.gs.js +24 -0
  156. package/dist/gs/math/modf.gs.js.map +1 -0
  157. package/dist/gs/math/nextafter.gs.d.ts +2 -0
  158. package/dist/gs/math/nextafter.gs.js +66 -0
  159. package/dist/gs/math/nextafter.gs.js.map +1 -0
  160. package/dist/gs/math/pow.gs.d.ts +3 -0
  161. package/dist/gs/math/pow.gs.js +40 -0
  162. package/dist/gs/math/pow.gs.js.map +1 -0
  163. package/dist/gs/math/pow10.gs.d.ts +1 -0
  164. package/dist/gs/math/pow10.gs.js +14 -0
  165. package/dist/gs/math/pow10.gs.js.map +1 -0
  166. package/dist/gs/math/remainder.gs.d.ts +2 -0
  167. package/dist/gs/math/remainder.gs.js +25 -0
  168. package/dist/gs/math/remainder.gs.js.map +1 -0
  169. package/dist/gs/math/signbit.gs.d.ts +1 -0
  170. package/dist/gs/math/signbit.gs.js +5 -0
  171. package/dist/gs/math/signbit.gs.js.map +1 -0
  172. package/dist/gs/math/sin.gs.d.ts +4 -0
  173. package/dist/gs/math/sin.gs.js +29 -0
  174. package/dist/gs/math/sin.gs.js.map +1 -0
  175. package/dist/gs/math/sincos.gs.d.ts +1 -0
  176. package/dist/gs/math/sincos.gs.js +11 -0
  177. package/dist/gs/math/sincos.gs.js.map +1 -0
  178. package/dist/gs/math/sinh.gs.d.ts +4 -0
  179. package/dist/gs/math/sinh.gs.js +27 -0
  180. package/dist/gs/math/sinh.gs.js.map +1 -0
  181. package/dist/gs/math/sqrt.gs.d.ts +2 -0
  182. package/dist/gs/math/sqrt.gs.js +15 -0
  183. package/dist/gs/math/sqrt.gs.js.map +1 -0
  184. package/dist/gs/math/tan.gs.d.ts +2 -0
  185. package/dist/gs/math/tan.gs.js +17 -0
  186. package/dist/gs/math/tan.gs.js.map +1 -0
  187. package/dist/gs/math/tanh.gs.d.ts +2 -0
  188. package/dist/gs/math/tanh.gs.js +17 -0
  189. package/dist/gs/math/tanh.gs.js.map +1 -0
  190. package/dist/gs/math/trig_reduce.gs.d.ts +1 -0
  191. package/dist/gs/math/trig_reduce.gs.js +62 -0
  192. package/dist/gs/math/trig_reduce.gs.js.map +1 -0
  193. package/dist/gs/math/unsafe.gs.d.ts +4 -0
  194. package/dist/gs/math/unsafe.gs.js +47 -0
  195. package/dist/gs/math/unsafe.gs.js.map +1 -0
  196. package/dist/gs/slices/slices.d.ts +6 -0
  197. package/dist/gs/slices/slices.js +8 -0
  198. package/dist/gs/slices/slices.js.map +1 -1
  199. package/dist/gs/strconv/atob.gs.d.ts +4 -0
  200. package/dist/gs/strconv/atob.gs.js +42 -0
  201. package/dist/gs/strconv/atob.gs.js.map +1 -0
  202. package/dist/gs/strconv/atof.gs.d.ts +2 -0
  203. package/dist/gs/strconv/atof.gs.js +51 -0
  204. package/dist/gs/strconv/atof.gs.js.map +1 -0
  205. package/dist/gs/strconv/atoi.gs.d.ts +33 -0
  206. package/dist/gs/strconv/atoi.gs.js +200 -0
  207. package/dist/gs/strconv/atoi.gs.js.map +1 -0
  208. package/dist/gs/strconv/doc.gs.d.ts +1 -0
  209. package/dist/gs/strconv/doc.gs.js +2 -0
  210. package/dist/gs/strconv/doc.gs.js.map +1 -0
  211. package/dist/gs/strconv/ftoa.gs.d.ts +3 -0
  212. package/dist/gs/strconv/ftoa.gs.js +58 -0
  213. package/dist/gs/strconv/ftoa.gs.js.map +1 -0
  214. package/dist/gs/strconv/index.d.ts +6 -0
  215. package/dist/gs/strconv/index.js +7 -0
  216. package/dist/gs/strconv/index.js.map +1 -0
  217. package/dist/gs/strconv/itoa.gs.d.ts +6 -0
  218. package/dist/gs/strconv/itoa.gs.js +37 -0
  219. package/dist/gs/strconv/itoa.gs.js.map +1 -0
  220. package/dist/gs/strconv/quote.gs.d.ts +19 -0
  221. package/dist/gs/strconv/quote.gs.js +217 -0
  222. package/dist/gs/strconv/quote.gs.js.map +1 -0
  223. package/dist/gs/strings/index.d.ts +3 -0
  224. package/dist/gs/strings/index.js +4 -0
  225. package/dist/gs/strings/index.js.map +1 -1
  226. package/dist/gs/strings/replace.d.ts +0 -74
  227. package/dist/gs/strings/replace.js +6 -204
  228. package/dist/gs/strings/replace.js.map +1 -1
  229. package/dist/gs/strings/search.d.ts +0 -1
  230. package/dist/gs/strings/search.js +0 -21
  231. package/dist/gs/strings/search.js.map +1 -1
  232. package/gs/builtin/builtin.ts +40 -0
  233. package/gs/builtin/map.ts +12 -7
  234. package/gs/builtin/slice.ts +174 -34
  235. package/gs/github.com/pkg/errors/errors.ts +307 -0
  236. package/gs/github.com/pkg/errors/go113.ts +39 -0
  237. package/gs/github.com/pkg/errors/index.ts +3 -0
  238. package/gs/github.com/pkg/errors/stack.ts +127 -0
  239. package/gs/maps/index.ts +2 -0
  240. package/gs/maps/iter.ts +67 -0
  241. package/gs/maps/maps.ts +89 -0
  242. package/gs/math/TODO.md +156 -0
  243. package/gs/math/abs.gs.test.ts +29 -0
  244. package/gs/math/abs.gs.ts +13 -0
  245. package/gs/math/acosh.gs.test.ts +39 -0
  246. package/gs/math/acosh.gs.ts +21 -0
  247. package/gs/math/asin.gs.test.ts +66 -0
  248. package/gs/math/asin.gs.ts +27 -0
  249. package/gs/math/asinh.gs.test.ts +37 -0
  250. package/gs/math/asinh.gs.ts +21 -0
  251. package/gs/math/atan.gs.test.ts +49 -0
  252. package/gs/math/atan.gs.ts +27 -0
  253. package/gs/math/atan2.gs.test.ts +55 -0
  254. package/gs/math/atan2.gs.ts +37 -0
  255. package/gs/math/atanh.gs.test.ts +47 -0
  256. package/gs/math/atanh.gs.ts +21 -0
  257. package/gs/math/bits.gs.test.ts +88 -0
  258. package/gs/math/bits.gs.ts +61 -0
  259. package/gs/math/cbrt.gs.test.ts +57 -0
  260. package/gs/math/cbrt.gs.ts +20 -0
  261. package/gs/math/const.gs.test.ts +54 -0
  262. package/gs/math/const.gs.ts +93 -0
  263. package/gs/math/copysign.gs.test.ts +44 -0
  264. package/gs/math/copysign.gs.ts +27 -0
  265. package/gs/math/dim.gs.test.ts +102 -0
  266. package/gs/math/dim.gs.ts +84 -0
  267. package/gs/math/erf.gs.test.ts +92 -0
  268. package/gs/math/erf.gs.ts +409 -0
  269. package/gs/math/erfinv.gs.test.ts +104 -0
  270. package/gs/math/erfinv.gs.ts +169 -0
  271. package/gs/math/exp.gs.test.ts +82 -0
  272. package/gs/math/exp.gs.ts +39 -0
  273. package/gs/math/expm1.gs.test.ts +48 -0
  274. package/gs/math/expm1.gs.ts +23 -0
  275. package/gs/math/floor.gs.test.ts +146 -0
  276. package/gs/math/floor.gs.ts +88 -0
  277. package/gs/math/fma.gs.test.ts +83 -0
  278. package/gs/math/fma.gs.ts +7 -0
  279. package/gs/math/frexp.gs.test.ts +146 -0
  280. package/gs/math/frexp.gs.ts +37 -0
  281. package/gs/math/gamma.gs.test.ts +66 -0
  282. package/gs/math/gamma.gs.ts +158 -0
  283. package/gs/math/hypot.gs.test.ts +73 -0
  284. package/gs/math/hypot.gs.ts +23 -0
  285. package/gs/math/index.ts +44 -0
  286. package/gs/math/j0.gs.test.ts +74 -0
  287. package/gs/math/j0.gs.ts +257 -0
  288. package/gs/math/j1.gs.test.ts +81 -0
  289. package/gs/math/j1.gs.ts +231 -0
  290. package/gs/math/jn.gs.test.ts +133 -0
  291. package/gs/math/jn.gs.ts +447 -0
  292. package/gs/math/ldexp.gs.test.ts +128 -0
  293. package/gs/math/ldexp.gs.ts +28 -0
  294. package/gs/math/lgamma.gs.test.ts +102 -0
  295. package/gs/math/lgamma.gs.ts +251 -0
  296. package/gs/math/log.gs.test.ts +40 -0
  297. package/gs/math/log.gs.ts +21 -0
  298. package/gs/math/log10.gs.test.ts +80 -0
  299. package/gs/math/log10.gs.ts +25 -0
  300. package/gs/math/log1p.gs.test.ts +55 -0
  301. package/gs/math/log1p.gs.ts +24 -0
  302. package/gs/math/logb.gs.test.ts +87 -0
  303. package/gs/math/logb.gs.ts +54 -0
  304. package/gs/math/mod.gs.test.ts +64 -0
  305. package/gs/math/mod.gs.ts +36 -0
  306. package/gs/math/modf.gs.test.ts +80 -0
  307. package/gs/math/modf.gs.ts +32 -0
  308. package/gs/math/nextafter.gs.test.ts +107 -0
  309. package/gs/math/nextafter.gs.ts +71 -0
  310. package/gs/math/pow.gs.test.ts +103 -0
  311. package/gs/math/pow.gs.ts +55 -0
  312. package/gs/math/pow10.gs.test.ts +58 -0
  313. package/gs/math/pow10.gs.ts +19 -0
  314. package/gs/math/remainder.gs.test.ts +70 -0
  315. package/gs/math/remainder.gs.ts +33 -0
  316. package/gs/math/signbit.gs.test.ts +33 -0
  317. package/gs/math/signbit.gs.ts +8 -0
  318. package/gs/math/sin.gs.test.ts +83 -0
  319. package/gs/math/sin.gs.ts +38 -0
  320. package/gs/math/sincos.gs.test.ts +91 -0
  321. package/gs/math/sincos.gs.ts +15 -0
  322. package/gs/math/sinh.gs.test.ts +66 -0
  323. package/gs/math/sinh.gs.ts +34 -0
  324. package/gs/math/sqrt.gs.test.ts +49 -0
  325. package/gs/math/sqrt.gs.ts +20 -0
  326. package/gs/math/tan.gs.test.ts +50 -0
  327. package/gs/math/tan.gs.ts +23 -0
  328. package/gs/math/tanh.gs.test.ts +52 -0
  329. package/gs/math/tanh.gs.ts +23 -0
  330. package/gs/math/trig_reduce.gs.ts +66 -0
  331. package/gs/math/unsafe.gs.ts +52 -0
  332. package/gs/slices/slices.ts +9 -0
  333. package/gs/strconv/atob.gs.ts +45 -0
  334. package/gs/strconv/atof.gs.ts +60 -0
  335. package/gs/strconv/atoi.gs.ts +243 -0
  336. package/gs/strconv/doc.gs.ts +2 -0
  337. package/gs/strconv/ftoa.gs.ts +66 -0
  338. package/gs/strconv/index.ts +6 -0
  339. package/gs/strconv/itoa.gs.ts +41 -0
  340. package/gs/strconv/quote.gs.ts +245 -0
  341. package/gs/strings/index.ts +4 -0
  342. package/gs/strings/replace.ts +9 -237
  343. package/gs/strings/search.ts +0 -28
  344. package/package.json +1 -1
  345. package/gs/stringslite/godoc.txt +0 -17
  346. package/gs/stringslite/index.ts +0 -1
  347. package/gs/stringslite/strings.ts +0 -82
@@ -0,0 +1,65 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ // All returns an iterator over key-value pairs from m.
3
+ // The iteration order is not specified and is not guaranteed
4
+ // to be the same from one call to the next.
5
+ export function All(m) {
6
+ return (_yield) => {
7
+ for (const [k, v] of m.entries()) {
8
+ {
9
+ if (!_yield(k, v)) {
10
+ return;
11
+ }
12
+ }
13
+ }
14
+ };
15
+ }
16
+ // Keys returns an iterator over keys in m.
17
+ // The iteration order is not specified and is not guaranteed
18
+ // to be the same from one call to the next.
19
+ export function Keys(m) {
20
+ return (_yield) => {
21
+ for (const [k, _v] of m.entries()) {
22
+ {
23
+ if (!_yield(k)) {
24
+ return;
25
+ }
26
+ }
27
+ }
28
+ };
29
+ }
30
+ // Values returns an iterator over values in m.
31
+ // The iteration order is not specified and is not guaranteed
32
+ // to be the same from one call to the next.
33
+ export function Values(m) {
34
+ return (_yield) => {
35
+ for (const [_k, v] of m.entries()) {
36
+ {
37
+ if (!_yield(v)) {
38
+ return;
39
+ }
40
+ }
41
+ }
42
+ };
43
+ }
44
+ // Insert adds the key-value pairs from seq to m.
45
+ // If a key in seq already exists in m, its value will be overwritten.
46
+ export function Insert(m, seq) {
47
+ ;
48
+ (() => {
49
+ let shouldContinue = true;
50
+ seq((k, v) => {
51
+ {
52
+ $.mapSet(m, k, v);
53
+ }
54
+ return shouldContinue;
55
+ });
56
+ })();
57
+ }
58
+ // Collect collects key-value pairs from seq into a new map
59
+ // and returns it.
60
+ export function Collect(seq) {
61
+ let m = $.makeMap();
62
+ Insert(m, seq);
63
+ return m;
64
+ }
65
+ //# sourceMappingURL=iter.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iter.gs.js","sourceRoot":"","sources":["../../../gs/maps/iter.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAC;AAIlD,uDAAuD;AACvD,6DAA6D;AAC7D,4CAA4C;AAC5C,MAAM,UAAU,GAAG,CAA4B,CAAY;IAC1D,OAAO,CAAC,MAA0C,EAAQ,EAAE;QAC3D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAClC,CAAC;gBACA,IAAI,CAAC,MAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACpB,OAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC,CAAA;AACF,CAAC;AAED,2CAA2C;AAC3C,6DAA6D;AAC7D,4CAA4C;AAC5C,MAAM,UAAU,IAAI,CAA4B,CAAY;IAC3D,OAAO,CAAC,MAAmC,EAAQ,EAAE;QACpD,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,CAAC;gBACA,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjB,OAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC,CAAA;AACF,CAAC;AAED,+CAA+C;AAC/C,6DAA6D;AAC7D,4CAA4C;AAC5C,MAAM,UAAU,MAAM,CAA4B,CAAY;IAC7D,OAAO,CAAC,MAAmC,EAAQ,EAAE;QACpD,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,CAAC;gBACA,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjB,OAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC,CAAA;AACF,CAAC;AAED,iDAAiD;AACjD,sEAAsE;AACtE,MAAM,UAAU,MAAM,CAA4B,CAAY,EAAE,GAAoB;IACnF,CAAC;IAAA,CAAC,GAAG,EAAE;QACN,IAAI,cAAc,GAAG,IAAI,CAAA;QACzB,GAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,CAAC;gBACA,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAClB,CAAC;YACD,OAAO,cAAc,CAAA;QACtB,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,EAAE,CAAA;AACL,CAAC;AAED,2DAA2D;AAC3D,kBAAkB;AAClB,MAAM,UAAU,OAAO,CAAwC,GAAoB;IAClF,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAQ,CAAA;IACzB,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACd,OAAO,CAAC,CAAA;AACT,CAAC"}
@@ -0,0 +1,57 @@
1
+ import * as $ from '@goscript/builtin/builtin.js';
2
+ // All returns an iterator over key-value pairs from m.
3
+ // The iteration order is not specified and is not guaranteed
4
+ // to be the same from one call to the next.
5
+ export function All(m) {
6
+ return (_yield) => {
7
+ for (const [k, v] of m.entries()) {
8
+ if (!_yield(k, v)) {
9
+ return;
10
+ }
11
+ }
12
+ };
13
+ }
14
+ // Keys returns an iterator over keys in m.
15
+ // The iteration order is not specified and is not guaranteed
16
+ // to be the same from one call to the next.
17
+ export function Keys(m) {
18
+ return (_yield) => {
19
+ for (const [k, _v] of m.entries()) {
20
+ if (!_yield(k)) {
21
+ return;
22
+ }
23
+ }
24
+ };
25
+ }
26
+ // Values returns an iterator over values in m.
27
+ // The iteration order is not specified and is not guaranteed
28
+ // to be the same from one call to the next.
29
+ export function Values(m) {
30
+ return (_yield) => {
31
+ for (const [_k, v] of m.entries()) {
32
+ if (!_yield(v)) {
33
+ return;
34
+ }
35
+ }
36
+ };
37
+ }
38
+ // Insert adds the key-value pairs from seq to m.
39
+ // If a key in seq already exists in m, its value will be overwritten.
40
+ export function Insert(m, seq) {
41
+ ;
42
+ (() => {
43
+ let shouldContinue = true;
44
+ seq((k, v) => {
45
+ $.mapSet(m, k, v);
46
+ return shouldContinue;
47
+ });
48
+ })();
49
+ }
50
+ // Collect collects key-value pairs from seq into a new map
51
+ // and returns it.
52
+ export function Collect(seq) {
53
+ let m = $.makeMap();
54
+ Insert(m, seq);
55
+ return m;
56
+ }
57
+ //# sourceMappingURL=iter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iter.js","sourceRoot":"","sources":["../../../gs/maps/iter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAA;AAIjD,uDAAuD;AACvD,6DAA6D;AAC7D,4CAA4C;AAC5C,MAAM,UAAU,GAAG,CAA4B,CAAY;IACzD,OAAO,CAAC,MAA0C,EAAQ,EAAE;QAC1D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACjC,IAAI,CAAC,MAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACnB,OAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,2CAA2C;AAC3C,6DAA6D;AAC7D,4CAA4C;AAC5C,MAAM,UAAU,IAAI,CAA4B,CAAY;IAC1D,OAAO,CAAC,MAAmC,EAAQ,EAAE;QACnD,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChB,OAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,+CAA+C;AAC/C,6DAA6D;AAC7D,4CAA4C;AAC5C,MAAM,UAAU,MAAM,CAA4B,CAAY;IAC5D,OAAO,CAAC,MAAmC,EAAQ,EAAE;QACnD,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChB,OAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,iDAAiD;AACjD,sEAAsE;AACtE,MAAM,UAAU,MAAM,CACpB,CAAY,EACZ,GAAoB;IAEpB,CAAC;IAAA,CAAC,GAAG,EAAE;QACL,IAAI,cAAc,GAAG,IAAI,CAAA;QACzB,GAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACZ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACjB,OAAO,cAAc,CAAA;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,EAAE,CAAA;AACN,CAAC;AAED,2DAA2D;AAC3D,kBAAkB;AAClB,MAAM,UAAU,OAAO,CACrB,GAAoB;IAEpB,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAQ,CAAA;IACzB,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACd,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as $ from '@goscript/builtin/builtin.js';
2
+ export declare function Equal<K extends $.Comparable, V extends $.Comparable>(m1: Map<K, V>, m2: Map<K, V>): boolean;
3
+ export declare function EqualFunc<K extends $.Comparable, V1, V2>(m1: Map<K, V1>, m2: Map<K, V2>, eq: ((p0: V1, p1: V2) => boolean) | null): boolean;
4
+ export declare function clone<K extends $.Comparable, V>(m: Map<K, V> | null): Map<K, V> | null;
5
+ export declare function Clone<K extends $.Comparable, V>(m: Map<K, V>): Map<K, V>;
6
+ export declare function Copy<K extends $.Comparable, V>(dst: Map<K, V>, src: Map<K, V>): void;
7
+ export declare function DeleteFunc<K extends $.Comparable, V>(m: Map<K, V>, del: ((p0: K, p1: V) => boolean) | null): void;
@@ -0,0 +1,7 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ export declare function Equal<K extends $.Comparable, V extends $.Comparable>(m1: Map<K, V>, m2: Map<K, V>): boolean;
3
+ export declare function EqualFunc<K extends $.Comparable, V1, V2>(m1: Map<K, V1>, m2: Map<K, V2>, eq: ((p0: V1, p1: V2) => boolean) | null): boolean;
4
+ export declare function clone<K extends $.Comparable, V>(m: Map<K, V> | null): Map<K, V> | null;
5
+ export declare function Clone<K extends $.Comparable, V>(m: Map<K, V>): Map<K, V>;
6
+ export declare function Copy<K extends $.Comparable, V>(dst: Map<K, V>, src: Map<K, V>): void;
7
+ export declare function DeleteFunc<K extends $.Comparable, V>(m: Map<K, V>, del: ((p0: K, p1: V) => boolean) | null): void;
@@ -0,0 +1,79 @@
1
+ import * as $ from "@goscript/builtin/builtin.js";
2
+ // Equal reports whether two maps contain the same key/value pairs.
3
+ // Values are compared using ==.
4
+ export function Equal(m1, m2) {
5
+ if ($.len(m1) != $.len(m2)) {
6
+ return false;
7
+ }
8
+ for (const [k, v1] of m1.entries()) {
9
+ {
10
+ {
11
+ let [v2, ok] = $.mapGet(m2, k, null);
12
+ if (!ok || v1 != v2) {
13
+ return false;
14
+ }
15
+ }
16
+ }
17
+ }
18
+ return true;
19
+ }
20
+ // EqualFunc is like Equal, but compares values using eq.
21
+ // Keys are still compared with ==.
22
+ export function EqualFunc(m1, m2, eq) {
23
+ if ($.len(m1) != $.len(m2)) {
24
+ return false;
25
+ }
26
+ for (const [k, v1] of m1.entries()) {
27
+ {
28
+ {
29
+ let [v2, ok] = $.mapGet(m2, k, null);
30
+ if (!ok || !eq(v1, v2)) {
31
+ return false;
32
+ }
33
+ }
34
+ }
35
+ }
36
+ return true;
37
+ }
38
+ // clone returns a shallow copy of the map.
39
+ export function clone(m) {
40
+ if (m == null) {
41
+ return null;
42
+ }
43
+ const result = $.makeMap();
44
+ for (const [k, v] of m.entries()) {
45
+ $.mapSet(result, k, v);
46
+ }
47
+ return result;
48
+ }
49
+ // Clone returns a copy of m. This is a shallow clone:
50
+ // the new keys and values are set using ordinary assignment.
51
+ export function Clone(m) {
52
+ // Preserve nil in case it matters.
53
+ if (m == null) {
54
+ return null;
55
+ }
56
+ return clone(m);
57
+ }
58
+ // Copy copies all key/value pairs in src adding them to dst.
59
+ // When a key in src is already present in dst,
60
+ // the value in dst will be overwritten by the value associated
61
+ // with the key in src.
62
+ export function Copy(dst, src) {
63
+ for (const [k, v] of src.entries()) {
64
+ {
65
+ $.mapSet(dst, k, v);
66
+ }
67
+ }
68
+ }
69
+ // DeleteFunc deletes any key/value pairs from m for which del returns true.
70
+ export function DeleteFunc(m, del) {
71
+ for (const [k, v] of m.entries()) {
72
+ {
73
+ if (del(k, v)) {
74
+ $.deleteMapEntry(m, k);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ //# sourceMappingURL=maps.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maps.gs.js","sourceRoot":"","sources":["../../../gs/maps/maps.gs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import * as $ from '@goscript/builtin/builtin.js';
2
+ // Equal reports whether two maps contain the same key/value pairs.
3
+ // Values are compared using ==.
4
+ export function Equal(m1, m2) {
5
+ if ($.len(m1) != $.len(m2)) {
6
+ return false;
7
+ }
8
+ for (const [k, v1] of m1.entries()) {
9
+ let [v2, ok] = $.mapGet(m2, k, null);
10
+ if (!ok || v1 != v2) {
11
+ return false;
12
+ }
13
+ }
14
+ return true;
15
+ }
16
+ // EqualFunc is like Equal, but compares values using eq.
17
+ // Keys are still compared with ==.
18
+ export function EqualFunc(m1, m2, eq) {
19
+ if ($.len(m1) != $.len(m2)) {
20
+ return false;
21
+ }
22
+ for (const [k, v1] of m1.entries()) {
23
+ let [v2, ok] = $.mapGet(m2, k, null);
24
+ if (!ok || !eq(v1, v2)) {
25
+ return false;
26
+ }
27
+ }
28
+ return true;
29
+ }
30
+ // clone returns a shallow copy of the map.
31
+ export function clone(m) {
32
+ if (m == null) {
33
+ return null;
34
+ }
35
+ const result = $.makeMap();
36
+ for (const [k, v] of m.entries()) {
37
+ $.mapSet(result, k, v);
38
+ }
39
+ return result;
40
+ }
41
+ // Clone returns a copy of m. This is a shallow clone:
42
+ // the new keys and values are set using ordinary assignment.
43
+ export function Clone(m) {
44
+ // Preserve nil in case it matters.
45
+ if (m == null) {
46
+ return null;
47
+ }
48
+ return clone(m);
49
+ }
50
+ // Copy copies all key/value pairs in src adding them to dst.
51
+ // When a key in src is already present in dst,
52
+ // the value in dst will be overwritten by the value associated
53
+ // with the key in src.
54
+ export function Copy(dst, src) {
55
+ for (const [k, v] of src.entries()) {
56
+ $.mapSet(dst, k, v);
57
+ }
58
+ }
59
+ // DeleteFunc deletes any key/value pairs from m for which del returns true.
60
+ export function DeleteFunc(m, del) {
61
+ for (const [k, v] of m.entries()) {
62
+ if (del(k, v)) {
63
+ $.deleteMapEntry(m, k);
64
+ }
65
+ }
66
+ }
67
+ //# sourceMappingURL=maps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maps.js","sourceRoot":"","sources":["../../../gs/maps/maps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function Abs(x: number): number;
@@ -0,0 +1,10 @@
1
+ // Abs returns the absolute value of x.
2
+ //
3
+ // Special cases are:
4
+ //
5
+ // Abs(±Inf) = +Inf
6
+ // Abs(NaN) = NaN
7
+ export function Abs(x) {
8
+ return Math.abs(x);
9
+ }
10
+ //# sourceMappingURL=abs.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abs.gs.js","sourceRoot":"","sources":["../../../gs/math/abs.gs.ts"],"names":[],"mappings":"AAGA,uCAAuC;AACvC,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,mBAAmB;AACnB,iBAAiB;AACjB,MAAM,UAAU,GAAG,CAAC,CAAS;IAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function Acosh(x: number): number;
2
+ export declare function acosh(x: number): number;
@@ -0,0 +1,14 @@
1
+ // Acosh returns the inverse hyperbolic cosine of x.
2
+ //
3
+ // Special cases are:
4
+ //
5
+ // Acosh(+Inf) = +Inf
6
+ // Acosh(x) = NaN if x < 1
7
+ // Acosh(NaN) = NaN
8
+ export function Acosh(x) {
9
+ return Math.acosh(x);
10
+ }
11
+ export function acosh(x) {
12
+ return Math.acosh(x);
13
+ }
14
+ //# sourceMappingURL=acosh.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acosh.gs.js","sourceRoot":"","sources":["../../../gs/math/acosh.gs.ts"],"names":[],"mappings":"AAMA,oDAAoD;AACpD,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,qBAAqB;AACrB,0BAA0B;AAC1B,mBAAmB;AACnB,MAAM,UAAU,KAAK,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACrB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function Asin(x: number): number;
2
+ export declare function asin(x: number): number;
3
+ export declare function Acos(x: number): number;
4
+ export declare function acos(x: number): number;
@@ -0,0 +1,24 @@
1
+ // Asin returns the arcsine, in radians, of x.
2
+ //
3
+ // Special cases are:
4
+ //
5
+ // Asin(±0) = ±0
6
+ // Asin(x) = NaN if x < -1 or x > 1
7
+ export function Asin(x) {
8
+ return Math.asin(x);
9
+ }
10
+ export function asin(x) {
11
+ return Math.asin(x);
12
+ }
13
+ // Acos returns the arccosine, in radians, of x.
14
+ //
15
+ // Special case is:
16
+ //
17
+ // Acos(x) = NaN if x < -1 or x > 1
18
+ export function Acos(x) {
19
+ return Math.acos(x);
20
+ }
21
+ export function acos(x) {
22
+ return Math.acos(x);
23
+ }
24
+ //# sourceMappingURL=asin.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asin.gs.js","sourceRoot":"","sources":["../../../gs/math/asin.gs.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,gBAAgB;AAChB,mCAAmC;AACnC,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,gDAAgD;AAChD,EAAE;AACF,mBAAmB;AACnB,EAAE;AACF,mCAAmC;AACnC,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function Asinh(x: number): number;
2
+ export declare function asinh(x: number): number;
@@ -0,0 +1,14 @@
1
+ // Asinh returns the inverse hyperbolic sine of x.
2
+ //
3
+ // Special cases are:
4
+ //
5
+ // Asinh(±0) = ±0
6
+ // Asinh(±Inf) = ±Inf
7
+ // Asinh(NaN) = NaN
8
+ export function Asinh(x) {
9
+ return Math.asinh(x);
10
+ }
11
+ export function asinh(x) {
12
+ return Math.asinh(x);
13
+ }
14
+ //# sourceMappingURL=asinh.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asinh.gs.js","sourceRoot":"","sources":["../../../gs/math/asinh.gs.ts"],"names":[],"mappings":"AAMA,kDAAkD;AAClD,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,iBAAiB;AACjB,qBAAqB;AACrB,mBAAmB;AACnB,MAAM,UAAU,KAAK,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACrB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function xatan(x: number): number;
2
+ export declare function satan(x: number): number;
3
+ export declare function Atan(x: number): number;
4
+ export declare function atan(x: number): number;
@@ -0,0 +1,22 @@
1
+ // xatan evaluates a series valid in the range [0, 0.66].
2
+ export function xatan(x) {
3
+ return Math.atan(x);
4
+ }
5
+ // satan reduces its argument (known to be positive)
6
+ // to the range [0, 0.66] and calls xatan.
7
+ export function satan(x) {
8
+ return Math.atan(x);
9
+ }
10
+ // Atan returns the arctangent, in radians, of x.
11
+ //
12
+ // Special cases are:
13
+ //
14
+ // Atan(±0) = ±0
15
+ // Atan(±Inf) = ±Pi/2
16
+ export function Atan(x) {
17
+ return Math.atan(x);
18
+ }
19
+ export function atan(x) {
20
+ return Math.atan(x);
21
+ }
22
+ //# sourceMappingURL=atan.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atan.gs.js","sourceRoot":"","sources":["../../../gs/math/atan.gs.ts"],"names":[],"mappings":"AAEA,yDAAyD;AACzD,MAAM,UAAU,KAAK,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,oDAAoD;AACpD,0CAA0C;AAC1C,MAAM,UAAU,KAAK,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,iDAAiD;AACjD,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,gBAAgB;AAChB,qBAAqB;AACrB,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function Atan2(y: number, x: number): number;
2
+ export declare function atan2(y: number, x: number): number;
@@ -0,0 +1,30 @@
1
+ // Atan2 returns the arc tangent of y/x, using
2
+ // the signs of the two to determine the quadrant
3
+ // of the return value.
4
+ //
5
+ // Special cases are (in order):
6
+ //
7
+ // Atan2(y, NaN) = NaN
8
+ // Atan2(NaN, x) = NaN
9
+ // Atan2(+0, x>=0) = +0
10
+ // Atan2(-0, x>=0) = -0
11
+ // Atan2(+0, x<=-0) = +Pi
12
+ // Atan2(-0, x<=-0) = -Pi
13
+ // Atan2(y>0, 0) = +Pi/2
14
+ // Atan2(y<0, 0) = -Pi/2
15
+ // Atan2(+Inf, +Inf) = +Pi/4
16
+ // Atan2(-Inf, +Inf) = -Pi/4
17
+ // Atan2(+Inf, -Inf) = 3Pi/4
18
+ // Atan2(-Inf, -Inf) = -3Pi/4
19
+ // Atan2(y, +Inf) = 0
20
+ // Atan2(y>0, -Inf) = +Pi
21
+ // Atan2(y<0, -Inf) = -Pi
22
+ // Atan2(+Inf, x) = +Pi/2
23
+ // Atan2(-Inf, x) = -Pi/2
24
+ export function Atan2(y, x) {
25
+ return Math.atan2(y, x);
26
+ }
27
+ export function atan2(y, x) {
28
+ return Math.atan2(y, x);
29
+ }
30
+ //# sourceMappingURL=atan2.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atan2.gs.js","sourceRoot":"","sources":["../../../gs/math/atan2.gs.ts"],"names":[],"mappings":"AAMA,8CAA8C;AAC9C,iDAAiD;AACjD,uBAAuB;AACvB,EAAE;AACF,gCAAgC;AAChC,EAAE;AACF,sBAAsB;AACtB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB,yBAAyB;AACzB,yBAAyB;AACzB,wBAAwB;AACxB,wBAAwB;AACxB,4BAA4B;AAC5B,4BAA4B;AAC5B,4BAA4B;AAC5B,6BAA6B;AAC7B,qBAAqB;AACrB,yBAAyB;AACzB,yBAAyB;AACzB,yBAAyB;AACzB,yBAAyB;AACzB,MAAM,UAAU,KAAK,CAAC,CAAS,EAAE,CAAS;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,CAAS,EAAE,CAAS;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function Atanh(x: number): number;
2
+ export declare function atanh(x: number): number;
@@ -0,0 +1,16 @@
1
+ // Atanh returns the inverse hyperbolic tangent of x.
2
+ //
3
+ // Special cases are:
4
+ //
5
+ // Atanh(1) = +Inf
6
+ // Atanh(±0) = ±0
7
+ // Atanh(-1) = -Inf
8
+ // Atanh(x) = NaN if x < -1 or x > 1
9
+ // Atanh(NaN) = NaN
10
+ export function Atanh(x) {
11
+ return Math.atanh(x);
12
+ }
13
+ export function atanh(x) {
14
+ return Math.atanh(x);
15
+ }
16
+ //# sourceMappingURL=atanh.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atanh.gs.js","sourceRoot":"","sources":["../../../gs/math/atanh.gs.ts"],"names":[],"mappings":"AAIA,qDAAqD;AACrD,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,kBAAkB;AAClB,iBAAiB;AACjB,mBAAmB;AACnB,oCAAoC;AACpC,mBAAmB;AACnB,MAAM,UAAU,KAAK,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACrB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function Inf(sign: number): number;
2
+ export declare function NaN(): number;
3
+ export declare function IsNaN(f: number): boolean;
4
+ export declare function IsInf(f: number, sign: number): boolean;
5
+ export declare function normalize(x: number): [number, number];
@@ -0,0 +1,46 @@
1
+ let uvnan = 0x7FF8000000000001;
2
+ let uvinf = 0x7FF0000000000000;
3
+ let uvneginf = 0xFFF0000000000000;
4
+ let uvone = 0x3FF0000000000000;
5
+ let mask = 0x7FF;
6
+ let shift = 64 - 11 - 1;
7
+ let bias = 1023;
8
+ let signMask = Number.MAX_SAFE_INTEGER;
9
+ let fracMask = (1 << 52) - 1;
10
+ // Inf returns positive infinity if sign >= 0, negative infinity if sign < 0.
11
+ export function Inf(sign) {
12
+ return sign >= 0 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
13
+ }
14
+ // NaN returns an IEEE 754 "not-a-number" value.
15
+ export function NaN() {
16
+ return Number.NaN;
17
+ }
18
+ // IsNaN reports whether f is an IEEE 754 "not-a-number" value.
19
+ export function IsNaN(f) {
20
+ return Number.isNaN(f);
21
+ }
22
+ // IsInf reports whether f is an infinity, according to sign.
23
+ // If sign > 0, IsInf reports whether f is positive infinity.
24
+ // If sign < 0, IsInf reports whether f is negative infinity.
25
+ // If sign == 0, IsInf reports whether f is either infinity.
26
+ export function IsInf(f, sign) {
27
+ if (sign > 0) {
28
+ return f === Number.POSITIVE_INFINITY;
29
+ }
30
+ else if (sign < 0) {
31
+ return f === Number.NEGATIVE_INFINITY;
32
+ }
33
+ else {
34
+ return !Number.isFinite(f) && !Number.isNaN(f);
35
+ }
36
+ }
37
+ // normalize returns a normal number y and exponent exp
38
+ // satisfying x == y × 2**exp. It assumes x is finite and non-zero.
39
+ export function normalize(x) {
40
+ const SmallestNormal = 2.2250738585072014e-308;
41
+ if (Math.abs(x) < SmallestNormal) {
42
+ return [x * (1 << 52), -52];
43
+ }
44
+ return [x, 0];
45
+ }
46
+ //# sourceMappingURL=bits.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bits.gs.js","sourceRoot":"","sources":["../../../gs/math/bits.gs.ts"],"names":[],"mappings":"AAIA,IAAI,KAAK,GAAW,kBAAkB,CAAA;AAEtC,IAAI,KAAK,GAAW,kBAAkB,CAAA;AAEtC,IAAI,QAAQ,GAAW,kBAAkB,CAAA;AAEzC,IAAI,KAAK,GAAW,kBAAkB,CAAA;AAEtC,IAAI,IAAI,GAAW,KAAK,CAAA;AAExB,IAAI,KAAK,GAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAE/B,IAAI,IAAI,GAAW,IAAI,CAAA;AAEvB,IAAI,QAAQ,GAAW,MAAM,CAAC,gBAAgB,CAAA;AAE9C,IAAI,QAAQ,GAAW,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;AAEpC,6EAA6E;AAC7E,MAAM,UAAU,GAAG,CAAC,IAAY;IAC/B,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAA;AACvE,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,GAAG;IAClB,OAAO,MAAM,CAAC,GAAG,CAAA;AAClB,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,KAAK,CAAC,CAAS;IAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACvB,CAAC;AAED,6DAA6D;AAC7D,6DAA6D;AAC7D,6DAA6D;AAC7D,4DAA4D;AAC5D,MAAM,UAAU,KAAK,CAAC,CAAS,EAAE,IAAY;IAC5C,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,MAAM,CAAC,iBAAiB,CAAA;IACtC,CAAC;SAAM,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,MAAM,CAAC,iBAAiB,CAAA;IACtC,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/C,CAAC;AACF,CAAC;AAED,uDAAuD;AACvD,mEAAmE;AACnE,MAAM,UAAU,SAAS,CAAC,CAAS;IAClC,MAAM,cAAc,GAAG,uBAAuB,CAAA;IAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;QAClC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function Cbrt(x: number): number;
2
+ export declare function cbrt(x: number): number;
@@ -0,0 +1,14 @@
1
+ // Cbrt returns the cube root of x.
2
+ //
3
+ // Special cases are:
4
+ //
5
+ // Cbrt(±0) = ±0
6
+ // Cbrt(±Inf) = ±Inf
7
+ // Cbrt(NaN) = NaN
8
+ export function Cbrt(x) {
9
+ return Math.cbrt(x);
10
+ }
11
+ export function cbrt(x) {
12
+ return Math.cbrt(x);
13
+ }
14
+ //# sourceMappingURL=cbrt.gs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbrt.gs.js","sourceRoot":"","sources":["../../../gs/math/cbrt.gs.ts"],"names":[],"mappings":"AAKA,mCAAmC;AACnC,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,gBAAgB;AAChB,oBAAoB;AACpB,kBAAkB;AAClB,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC"}
@@ -0,0 +1,30 @@
1
+ export declare let E: number;
2
+ export declare let Pi: number;
3
+ export declare let Phi: number;
4
+ export declare let Sqrt2: number;
5
+ export declare let SqrtE: number;
6
+ export declare let SqrtPi: number;
7
+ export declare let SqrtPhi: number;
8
+ export declare let Ln2: number;
9
+ export declare let Log2E: number;
10
+ export declare let Ln10: number;
11
+ export declare let Log10E: number;
12
+ export declare let MaxFloat32: number;
13
+ export declare let SmallestNonzeroFloat32: number;
14
+ export declare let MaxFloat64: number;
15
+ export declare let SmallestNonzeroFloat64: number;
16
+ export declare let MaxInt: bigint;
17
+ export declare let MinInt: bigint;
18
+ export declare let MaxInt8: number;
19
+ export declare let MinInt8: number;
20
+ export declare let MaxInt16: number;
21
+ export declare let MinInt16: number;
22
+ export declare let MaxInt32: number;
23
+ export declare let MinInt32: number;
24
+ export declare let MaxInt64: bigint;
25
+ export declare let MinInt64: bigint;
26
+ export declare let MaxUint: bigint;
27
+ export declare let MaxUint8: number;
28
+ export declare let MaxUint16: number;
29
+ export declare let MaxUint32: number;
30
+ export declare let MaxUint64: bigint;