firefly-compiler 0.5.35 → 0.5.36

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 (225) hide show
  1. package/.hintrc +4 -4
  2. package/.vscode/settings.json +4 -4
  3. package/bin/Release.ff +157 -154
  4. package/bin/firefly.mjs +1 -1
  5. package/compiler/Builder.ff +275 -277
  6. package/compiler/Compiler.ff +234 -233
  7. package/compiler/Dependencies.ff +186 -187
  8. package/compiler/DependencyLock.ff +17 -17
  9. package/compiler/Deriver.ff +23 -31
  10. package/compiler/Dictionaries.ff +1 -1
  11. package/compiler/Inference.ff +43 -20
  12. package/compiler/JsEmitter.ff +1437 -1282
  13. package/compiler/LspHook.ff +202 -202
  14. package/compiler/Main.ff +25 -24
  15. package/compiler/ModuleCache.ff +178 -178
  16. package/compiler/Parser.ff +36 -109
  17. package/compiler/Resolver.ff +5 -8
  18. package/compiler/Substitution.ff +1 -1
  19. package/compiler/Syntax.ff +1 -16
  20. package/compiler/Token.ff +9 -0
  21. package/compiler/Tokenizer.ff +4 -0
  22. package/compiler/Workspace.ff +88 -88
  23. package/core/.firefly/include/package.json +5 -5
  24. package/core/.firefly/package.ff +2 -2
  25. package/core/Any.ff +26 -30
  26. package/core/Array.ff +298 -265
  27. package/core/Atomic.ff +63 -64
  28. package/core/Box.ff +7 -7
  29. package/core/BrowserSystem.ff +40 -40
  30. package/core/Buffer.ff +185 -152
  31. package/core/BuildSystem.ff +156 -148
  32. package/core/Channel.ff +95 -92
  33. package/core/Char.ff +3 -2
  34. package/core/Core.ff +16 -23
  35. package/core/Crypto.ff +94 -96
  36. package/core/Equal.ff +41 -36
  37. package/core/Error.ff +15 -10
  38. package/core/FileHandle.ff +45 -37
  39. package/core/Float.ff +176 -200
  40. package/core/HttpClient.ff +142 -148
  41. package/core/Instant.ff +6 -8
  42. package/core/Int.ff +40 -24
  43. package/core/IntMap.ff +61 -39
  44. package/core/Js.ff +305 -0
  45. package/core/JsSystem.ff +135 -114
  46. package/core/JsValue.ff +303 -159
  47. package/core/Json.ff +423 -443
  48. package/core/List.ff +482 -486
  49. package/core/Lock.ff +108 -144
  50. package/core/Log.ff +25 -14
  51. package/core/NodeSystem.ff +198 -191
  52. package/core/Ordering.ff +160 -161
  53. package/core/Path.ff +377 -409
  54. package/core/Queue.ff +90 -0
  55. package/core/Random.ff +140 -134
  56. package/core/RbMap.ff +216 -216
  57. package/core/Serializable.ff +16 -13
  58. package/core/Show.ff +44 -43
  59. package/core/SourceLocation.ff +68 -68
  60. package/core/Stream.ff +1 -1
  61. package/core/String.ff +224 -202
  62. package/core/StringMap.ff +58 -36
  63. package/core/Task.ff +165 -149
  64. package/experimental/benchmarks/ListGrab.ff +23 -23
  65. package/experimental/benchmarks/ListGrab.java +55 -55
  66. package/experimental/benchmarks/Pyrotek45.ff +30 -30
  67. package/experimental/benchmarks/Pyrotek45.java +64 -64
  68. package/experimental/bidirectional/Bidi.ff +88 -88
  69. package/experimental/lines/Main.ff +40 -0
  70. package/experimental/random/Index.ff +53 -53
  71. package/experimental/random/Process.ff +120 -120
  72. package/experimental/random/RunLength.ff +65 -65
  73. package/experimental/random/Scrape.ff +51 -51
  74. package/experimental/random/Symbols.ff +73 -73
  75. package/experimental/random/Tensor.ff +52 -52
  76. package/experimental/random/Units.ff +36 -36
  77. package/experimental/s3/S3TestAuthorizationHeader.ff +39 -39
  78. package/experimental/s3/S3TestPut.ff +16 -16
  79. package/experimental/tests/TestJson.ff +26 -26
  80. package/firefly.sh +0 -0
  81. package/fireflysite/.firefly/package.ff +4 -4
  82. package/fireflysite/CommunityOverview.ff +20 -20
  83. package/fireflysite/CountingButtonDemo.ff +58 -58
  84. package/fireflysite/DocumentParser.ff +325 -331
  85. package/fireflysite/ExamplesOverview.ff +40 -40
  86. package/fireflysite/FrontPage.ff +344 -344
  87. package/fireflysite/GettingStarted.ff +45 -45
  88. package/fireflysite/Guide.ff +456 -456
  89. package/fireflysite/Main.ff +163 -152
  90. package/fireflysite/MatchingPasswordsDemo.ff +82 -82
  91. package/fireflysite/PackagesOverview.ff +49 -49
  92. package/fireflysite/PostgresqlDemo.ff +34 -34
  93. package/fireflysite/ReferenceAll.ff +18 -18
  94. package/fireflysite/ReferenceIntroduction.ff +11 -11
  95. package/fireflysite/Styles.ff +567 -567
  96. package/fireflysite/Test.ff +121 -62
  97. package/fireflysite/assets/markdown/reference/BaseTypes.md +209 -209
  98. package/fireflysite/assets/markdown/reference/EmittedJavascript.md +65 -65
  99. package/fireflysite/assets/markdown/reference/Exceptions.md +101 -101
  100. package/fireflysite/assets/markdown/reference/FunctionsAndMethods.md +364 -364
  101. package/fireflysite/assets/markdown/reference/JavascriptInterop.md +235 -172
  102. package/fireflysite/assets/markdown/reference/ModulesAndPackages.md +162 -162
  103. package/fireflysite/assets/markdown/reference/OldStructuredConcurrency.md +48 -48
  104. package/fireflysite/assets/markdown/reference/PatternMatching.md +224 -224
  105. package/fireflysite/assets/markdown/reference/StatementsAndExpressions.md +86 -86
  106. package/fireflysite/assets/markdown/reference/StructuredConcurrency.md +99 -99
  107. package/fireflysite/assets/markdown/reference/TraitsAndInstances.md +100 -100
  108. package/fireflysite/assets/markdown/reference/UserDefinedTypes.md +184 -184
  109. package/fireflysite/assets/markdown/scratch/ControlFlow.md +136 -136
  110. package/fireflysite/assets/markdown/scratch/Toc.md +40 -40
  111. package/lsp/.firefly/package.ff +1 -1
  112. package/lsp/CompletionHandler.ff +827 -827
  113. package/lsp/Handler.ff +714 -714
  114. package/lsp/HoverHandler.ff +79 -79
  115. package/lsp/LanguageServer.ff +272 -272
  116. package/lsp/SignatureHelpHandler.ff +55 -55
  117. package/lsp/SymbolHandler.ff +181 -181
  118. package/lsp/TestReferences.ff +17 -17
  119. package/lsp/TestReferencesCase.ff +7 -7
  120. package/lsp/stderr.txt +1 -1
  121. package/lsp/stdout.txt +34 -34
  122. package/lux/.firefly/package.ff +1 -1
  123. package/lux/Css.ff +648 -648
  124. package/lux/CssTest.ff +48 -48
  125. package/lux/Lux.ff +608 -617
  126. package/lux/LuxEvent.ff +79 -116
  127. package/lux/Main.ff +123 -123
  128. package/lux/Main2.ff +143 -143
  129. package/lux/TestDry.ff +28 -28
  130. package/output/js/ff/compiler/Builder.mjs +72 -71
  131. package/output/js/ff/compiler/Compiler.mjs +19 -13
  132. package/output/js/ff/compiler/Dependencies.mjs +8 -7
  133. package/output/js/ff/compiler/DependencyLock.mjs +6 -4
  134. package/output/js/ff/compiler/Deriver.mjs +26 -24
  135. package/output/js/ff/compiler/Dictionaries.mjs +14 -18
  136. package/output/js/ff/compiler/Environment.mjs +6 -4
  137. package/output/js/ff/compiler/Inference.mjs +238 -164
  138. package/output/js/ff/compiler/JsEmitter.mjs +1160 -350
  139. package/output/js/ff/compiler/JsImporter.mjs +20 -18
  140. package/output/js/ff/compiler/LspHook.mjs +12 -10
  141. package/output/js/ff/compiler/Main.mjs +61 -41
  142. package/output/js/ff/compiler/ModuleCache.mjs +10 -8
  143. package/output/js/ff/compiler/Parser.mjs +153 -669
  144. package/output/js/ff/compiler/Patterns.mjs +12 -10
  145. package/output/js/ff/compiler/Resolver.mjs +52 -78
  146. package/output/js/ff/compiler/Substitution.mjs +12 -16
  147. package/output/js/ff/compiler/Syntax.mjs +50 -341
  148. package/output/js/ff/compiler/Token.mjs +126 -4
  149. package/output/js/ff/compiler/Tokenizer.mjs +62 -52
  150. package/output/js/ff/compiler/Unification.mjs +74 -90
  151. package/output/js/ff/compiler/Wildcards.mjs +4 -2
  152. package/output/js/ff/compiler/Workspace.mjs +26 -20
  153. package/output/js/ff/core/Any.mjs +20 -20
  154. package/output/js/ff/core/Array.mjs +268 -175
  155. package/output/js/ff/core/AssetSystem.mjs +8 -6
  156. package/output/js/ff/core/Atomic.mjs +84 -52
  157. package/output/js/ff/core/Bool.mjs +6 -4
  158. package/output/js/ff/core/BrowserSystem.mjs +38 -29
  159. package/output/js/ff/core/Buffer.mjs +285 -133
  160. package/output/js/ff/core/BuildSystem.mjs +36 -56
  161. package/output/js/ff/core/Channel.mjs +250 -97
  162. package/output/js/ff/core/Char.mjs +5 -3
  163. package/output/js/ff/core/Core.mjs +28 -34
  164. package/output/js/ff/core/Crypto.mjs +30 -52
  165. package/output/js/ff/core/Duration.mjs +4 -2
  166. package/output/js/ff/core/Equal.mjs +14 -12
  167. package/output/js/ff/core/Error.mjs +17 -11
  168. package/output/js/ff/core/FileHandle.mjs +76 -38
  169. package/output/js/ff/core/Float.mjs +92 -160
  170. package/output/js/ff/core/HttpClient.mjs +208 -76
  171. package/output/js/ff/core/Instant.mjs +8 -10
  172. package/output/js/ff/core/Int.mjs +36 -26
  173. package/output/js/ff/core/IntMap.mjs +79 -33
  174. package/output/js/ff/core/Js.mjs +751 -0
  175. package/output/js/ff/core/JsSystem.mjs +54 -60
  176. package/output/js/ff/core/JsValue.mjs +294 -143
  177. package/output/js/ff/core/Json.mjs +443 -253
  178. package/output/js/ff/core/List.mjs +262 -214
  179. package/output/js/ff/core/Lock.mjs +156 -125
  180. package/output/js/ff/core/Log.mjs +20 -10
  181. package/output/js/ff/core/Map.mjs +10 -8
  182. package/output/js/ff/core/NodeSystem.mjs +189 -123
  183. package/output/js/ff/core/Nothing.mjs +4 -2
  184. package/output/js/ff/core/Option.mjs +40 -38
  185. package/output/js/ff/core/Ordering.mjs +26 -20
  186. package/output/js/ff/core/Pair.mjs +4 -2
  187. package/output/js/ff/core/Path.mjs +517 -315
  188. package/output/js/ff/core/Queue.mjs +306 -0
  189. package/output/js/ff/core/Random.mjs +141 -77
  190. package/output/js/ff/core/RbMap.mjs +36 -34
  191. package/output/js/ff/core/Serializable.mjs +44 -28
  192. package/output/js/ff/core/Set.mjs +6 -4
  193. package/output/js/ff/core/Show.mjs +8 -6
  194. package/output/js/ff/core/SourceLocation.mjs +4 -2
  195. package/output/js/ff/core/Stream.mjs +30 -50
  196. package/output/js/ff/core/String.mjs +263 -172
  197. package/output/js/ff/core/StringMap.mjs +77 -31
  198. package/output/js/ff/core/Task.mjs +91 -76
  199. package/output/js/ff/core/Try.mjs +20 -18
  200. package/output/js/ff/core/Unit.mjs +4 -2
  201. package/package.json +1 -1
  202. package/postgresql/Pg.ff +53 -59
  203. package/rpc/.firefly/package.ff +1 -1
  204. package/rpc/Rpc.ff +70 -70
  205. package/s3/.firefly/package.ff +1 -1
  206. package/s3/S3.ff +92 -94
  207. package/vscode/LICENSE.txt +21 -21
  208. package/vscode/Prepublish.ff +15 -15
  209. package/vscode/README.md +16 -16
  210. package/vscode/client/package-lock.json +544 -544
  211. package/vscode/client/package.json +22 -22
  212. package/vscode/client/src/extension.ts +104 -104
  213. package/vscode/icons/firefly-icon.svg +10 -10
  214. package/vscode/language-configuration.json +61 -61
  215. package/vscode/package-lock.json +3623 -3623
  216. package/vscode/package.json +1 -1
  217. package/vscode/snippets.json +241 -241
  218. package/vscode/syntaxes/firefly-markdown-injection.json +45 -45
  219. package/webserver/.firefly/include/package.json +5 -5
  220. package/webserver/.firefly/package.ff +2 -2
  221. package/webserver/WebServer.ff +647 -685
  222. package/websocket/.firefly/package.ff +1 -1
  223. package/websocket/WebSocket.ff +100 -131
  224. package/core/UnsafeJs.ff +0 -42
  225. package/output/js/ff/core/UnsafeJs.mjs +0 -191
@@ -42,6 +42,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
42
42
 
43
43
  import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
44
44
 
45
+ import * as ff_core_Js from "../../ff/core/Js.mjs"
46
+
45
47
  import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
46
48
 
47
49
  import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
@@ -68,6 +70,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
68
70
 
69
71
  import * as ff_core_Path from "../../ff/core/Path.mjs"
70
72
 
73
+ import * as ff_core_Queue from "../../ff/core/Queue.mjs"
74
+
71
75
  import * as ff_core_Random from "../../ff/core/Random.mjs"
72
76
 
73
77
  import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
@@ -90,125 +94,101 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
90
94
 
91
95
  import * as ff_core_Unit from "../../ff/core/Unit.mjs"
92
96
 
93
- import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
94
-
95
97
  // type Float
96
98
 
97
99
 
98
100
 
99
101
 
100
- export function hypot_(values_) {
101
-
102
- return Math.hypot(...values_);
103
-
102
+ export function hypot_(a_, b_, c_ = 0.0, d_ = 0.0) {
103
+ Math.hypot(a_, b_, c_, d_)
104
104
  }
105
105
 
106
106
  export function e_() {
107
-
108
- return Math.E;
109
-
107
+ return Math.E
110
108
  }
111
109
 
112
110
  export function ln10_() {
113
-
114
- return Math.LN10;
115
-
111
+ return Math.LN10
116
112
  }
117
113
 
118
114
  export function ln2_() {
119
-
120
- return Math.LN2;
121
-
115
+ return Math.LN2
122
116
  }
123
117
 
124
118
  export function log10e_() {
125
-
126
- return Math.LOG10E;
127
-
119
+ return Math.LOG10E
128
120
  }
129
121
 
130
122
  export function log2e_() {
131
-
132
- return Math.LOG2E;
133
-
123
+ return Math.LOG2E
134
124
  }
135
125
 
136
126
  export function pi_() {
137
-
138
- return Math.PI;
139
-
127
+ return Math.PI
140
128
  }
141
129
 
142
130
  export function sqrtHalf_() {
143
-
144
- return Math.SQRT1_2;
145
-
131
+ return Math["SQRT1_2"]
146
132
  }
147
133
 
148
134
  export function sqrt2_() {
149
-
150
- return Math.SQRT2;
151
-
135
+ return Math.SQRT2
152
136
  }
153
137
 
154
138
  export function nan_() {
155
-
156
- return NaN;
157
-
139
+ return NaN
158
140
  }
159
141
 
160
142
  export function infinity_() {
161
-
162
- return Infinity;
163
-
143
+ return Infinity
164
144
  }
165
145
 
166
- export async function hypot_$(values_, $task) {
167
- throw new Error('Function hypot is missing on this target in async context.');
146
+ export async function hypot_$(a_, b_, c_ = 0.0, d_ = 0.0, $task) {
147
+ Math.hypot(a_, b_, c_, d_)
168
148
  }
169
149
 
170
150
  export async function e_$($task) {
171
- throw new Error('Function e is missing on this target in async context.');
151
+ return Math.E
172
152
  }
173
153
 
174
154
  export async function ln10_$($task) {
175
- throw new Error('Function ln10 is missing on this target in async context.');
155
+ return Math.LN10
176
156
  }
177
157
 
178
158
  export async function ln2_$($task) {
179
- throw new Error('Function ln2 is missing on this target in async context.');
159
+ return Math.LN2
180
160
  }
181
161
 
182
162
  export async function log10e_$($task) {
183
- throw new Error('Function log10e is missing on this target in async context.');
163
+ return Math.LOG10E
184
164
  }
185
165
 
186
166
  export async function log2e_$($task) {
187
- throw new Error('Function log2e is missing on this target in async context.');
167
+ return Math.LOG2E
188
168
  }
189
169
 
190
170
  export async function pi_$($task) {
191
- throw new Error('Function pi is missing on this target in async context.');
171
+ return Math.PI
192
172
  }
193
173
 
194
174
  export async function sqrtHalf_$($task) {
195
- throw new Error('Function sqrtHalf is missing on this target in async context.');
175
+ return Math["SQRT1_2"]
196
176
  }
197
177
 
198
178
  export async function sqrt2_$($task) {
199
- throw new Error('Function sqrt2 is missing on this target in async context.');
179
+ return Math.SQRT2
200
180
  }
201
181
 
202
182
  export async function nan_$($task) {
203
- throw new Error('Function nan is missing on this target in async context.');
183
+ return NaN
204
184
  }
205
185
 
206
186
  export async function infinity_$($task) {
207
- throw new Error('Function infinity is missing on this target in async context.');
187
+ return Infinity
208
188
  }
209
189
 
210
190
  export function Float_toInt(self_) {
211
- return Math.trunc(self_) || 0
191
+ return ff_core_JsValue.JsValue_coalesce(Math.trunc(self_), 0, ff_core_JsValue.ff_core_JsValue_IsJsValue$ff_core_Int_Int)
212
192
  }
213
193
 
214
194
  export function Float_round(self_) {
@@ -265,197 +245,148 @@ return (that_ + ((self_ - that_) * ff_core_Float.Float_exp(((-decay_) * factor_)
265
245
  }
266
246
 
267
247
  export function Float_acos(self_) {
268
-
269
- return Math.acos(self_);
270
-
248
+ return Math.acos(self_)
271
249
  }
272
250
 
273
251
  export function Float_acosh(self_) {
274
-
275
- return Math.acosh(self_);
276
-
252
+ return Math.acosh(self_)
277
253
  }
278
254
 
279
255
  export function Float_asin(self_) {
280
-
281
- return Math.asin(self_);
282
-
256
+ return Math.asin(self_)
283
257
  }
284
258
 
285
259
  export function Float_asinh(self_) {
286
-
287
- return Math.asinh(self_);
288
-
260
+ return Math.asinh(self_)
289
261
  }
290
262
 
291
263
  export function Float_atan(self_) {
292
-
293
- return Math.atan(self_);
294
-
264
+ return Math.atan(self_)
295
265
  }
296
266
 
297
267
  export function Float_atan2(self_, that_) {
298
-
299
- return Math.atan2(self_, that_);
300
-
268
+ return Math.atan2(self_, that_)
301
269
  }
302
270
 
303
271
  export function Float_atanh(self_) {
304
-
305
- return Math.atanh(self_);
306
-
272
+ return Math.atanh(self_)
307
273
  }
308
274
 
309
275
  export function Float_cbrt(self_) {
310
-
311
- return Math.cbrt(self_);
312
-
276
+ return Math.cbrt(self_)
313
277
  }
314
278
 
315
279
  export function Float_cos(self_) {
316
-
317
- return Math.cos(self_);
318
-
280
+ return Math.cos(self_)
319
281
  }
320
282
 
321
283
  export function Float_cosh(self_) {
322
-
323
- return Math.cosh(self_);
324
-
284
+ return Math.cosh(self_)
325
285
  }
326
286
 
327
287
  export function Float_exp(self_) {
328
-
329
- return Math.exp(self_);
330
-
288
+ return Math.exp(self_)
331
289
  }
332
290
 
333
291
  export function Float_expm1(self_) {
334
-
335
- return Math.expm1(self_);
336
-
292
+ return Math.expm1(self_)
337
293
  }
338
294
 
339
295
  export function Float_log(self_, that_) {
340
-
341
- return Math.log2(self_) / Math.log2(that_);
342
-
296
+ const l_ = Math.log2(self_);
297
+ return (l_ / Math.log2(that_))
343
298
  }
344
299
 
345
300
  export function Float_log10(self_) {
346
-
347
- return Math.log10(self_);
348
-
301
+ return Math.log10(self_)
349
302
  }
350
303
 
351
304
  export function Float_log2(self_) {
352
-
353
- return Math.log2(self_);
354
-
305
+ return Math.log2(self_)
355
306
  }
356
307
 
357
308
  export function Float_ln(self_) {
358
-
359
- return Math.log(self_);
360
-
309
+ return Math.log(self_)
361
310
  }
362
311
 
363
312
  export function Float_ln1p(self_) {
364
-
365
- return Math.log1p(self_);
366
-
313
+ return Math.log1p(self_)
367
314
  }
368
315
 
369
316
  export function Float_sin(self_) {
370
-
371
- return Math.sin(self_);
372
-
317
+ return Math.sin(self_)
373
318
  }
374
319
 
375
320
  export function Float_sinh(self_) {
376
-
377
- return Math.sinh(self_);
378
-
321
+ return Math.sinh(self_)
379
322
  }
380
323
 
381
324
  export function Float_sqrt(self_) {
382
-
383
- return Math.sqrt(self_);
384
-
325
+ return Math.sqrt(self_)
385
326
  }
386
327
 
387
328
  export function Float_tan(self_) {
388
-
389
- return Math.tan(self_);
390
-
329
+ return Math.tan(self_)
391
330
  }
392
331
 
393
332
  export function Float_tanh(self_) {
394
-
395
- return Math.tanh(self_);
396
-
333
+ return Math.tanh(self_)
397
334
  }
398
335
 
399
336
  export function Float_isFinite(self_) {
400
-
401
- return Number.isFinite(self_);
402
-
337
+ return Number.isFinite(self_)
403
338
  }
404
339
 
405
340
  export function Float_isNan(self_) {
406
-
407
- return Number.isNaN(self_);
408
-
341
+ return Number.isNaN(self_)
409
342
  }
410
343
 
411
344
  export function Float_isSafeInteger(self_) {
412
-
413
- return Number.isSafeInteger(self_);
414
-
345
+ return Number.isSafeInteger(self_)
415
346
  }
416
347
 
417
348
  export async function Float_toInt$(self_, $task) {
418
- throw new Error('Function Float_toInt is missing on this target in async context.');
349
+ return ff_core_JsValue.JsValue_coalesce(Math.trunc(self_), 0, ff_core_JsValue.ff_core_JsValue_IsJsValue$ff_core_Int_Int)
419
350
  }
420
351
 
421
352
  export async function Float_round$(self_, $task) {
422
- throw new Error('Function Float_round is missing on this target in async context.');
353
+ return Math.round(self_)
423
354
  }
424
355
 
425
356
  export async function Float_floor$(self_, $task) {
426
- throw new Error('Function Float_floor is missing on this target in async context.');
357
+ return Math.floor(self_)
427
358
  }
428
359
 
429
360
  export async function Float_ceil$(self_, $task) {
430
- throw new Error('Function Float_ceil is missing on this target in async context.');
361
+ return Math.ceil(self_)
431
362
  }
432
363
 
433
364
  export async function Float_truncate$(self_, $task) {
434
- throw new Error('Function Float_truncate is missing on this target in async context.');
365
+ return Math.trunc(self_)
435
366
  }
436
367
 
437
368
  export async function Float_sign$(self_, $task) {
438
- throw new Error('Function Float_sign is missing on this target in async context.');
369
+ return Math.sign(self_)
439
370
  }
440
371
 
441
372
  export async function Float_abs$(self_, $task) {
442
- throw new Error('Function Float_abs is missing on this target in async context.');
373
+ return Math.abs(self_)
443
374
  }
444
375
 
445
376
  export async function Float_toFixed$(self_, digits_, $task) {
446
- throw new Error('Function Float_toFixed is missing on this target in async context.');
377
+ return self_.toFixed(digits_)
447
378
  }
448
379
 
449
380
  export async function Float_min$(self_, that_, $task) {
450
- throw new Error('Function Float_min is missing on this target in async context.');
381
+ return Math.min(self_, that_)
451
382
  }
452
383
 
453
384
  export async function Float_max$(self_, that_, $task) {
454
- throw new Error('Function Float_max is missing on this target in async context.');
385
+ return Math.max(self_, that_)
455
386
  }
456
387
 
457
388
  export async function Float_clamp$(self_, from_, to_, $task) {
458
- throw new Error('Function Float_clamp is missing on this target in async context.');
389
+ return Math.min(Math.max(self_, from_), to_)
459
390
  }
460
391
 
461
392
  export async function Float_lerp$(self_, that_, factor_, $task) {
@@ -472,103 +403,104 @@ return (that_ + ((self_ - that_) * ff_core_Float.Float_exp(((-decay_) * factor_)
472
403
  }
473
404
 
474
405
  export async function Float_acos$(self_, $task) {
475
- throw new Error('Function Float_acos is missing on this target in async context.');
406
+ return Math.acos(self_)
476
407
  }
477
408
 
478
409
  export async function Float_acosh$(self_, $task) {
479
- throw new Error('Function Float_acosh is missing on this target in async context.');
410
+ return Math.acosh(self_)
480
411
  }
481
412
 
482
413
  export async function Float_asin$(self_, $task) {
483
- throw new Error('Function Float_asin is missing on this target in async context.');
414
+ return Math.asin(self_)
484
415
  }
485
416
 
486
417
  export async function Float_asinh$(self_, $task) {
487
- throw new Error('Function Float_asinh is missing on this target in async context.');
418
+ return Math.asinh(self_)
488
419
  }
489
420
 
490
421
  export async function Float_atan$(self_, $task) {
491
- throw new Error('Function Float_atan is missing on this target in async context.');
422
+ return Math.atan(self_)
492
423
  }
493
424
 
494
425
  export async function Float_atan2$(self_, that_, $task) {
495
- throw new Error('Function Float_atan2 is missing on this target in async context.');
426
+ return Math.atan2(self_, that_)
496
427
  }
497
428
 
498
429
  export async function Float_atanh$(self_, $task) {
499
- throw new Error('Function Float_atanh is missing on this target in async context.');
430
+ return Math.atanh(self_)
500
431
  }
501
432
 
502
433
  export async function Float_cbrt$(self_, $task) {
503
- throw new Error('Function Float_cbrt is missing on this target in async context.');
434
+ return Math.cbrt(self_)
504
435
  }
505
436
 
506
437
  export async function Float_cos$(self_, $task) {
507
- throw new Error('Function Float_cos is missing on this target in async context.');
438
+ return Math.cos(self_)
508
439
  }
509
440
 
510
441
  export async function Float_cosh$(self_, $task) {
511
- throw new Error('Function Float_cosh is missing on this target in async context.');
442
+ return Math.cosh(self_)
512
443
  }
513
444
 
514
445
  export async function Float_exp$(self_, $task) {
515
- throw new Error('Function Float_exp is missing on this target in async context.');
446
+ return Math.exp(self_)
516
447
  }
517
448
 
518
449
  export async function Float_expm1$(self_, $task) {
519
- throw new Error('Function Float_expm1 is missing on this target in async context.');
450
+ return Math.expm1(self_)
520
451
  }
521
452
 
522
453
  export async function Float_log$(self_, that_, $task) {
523
- throw new Error('Function Float_log is missing on this target in async context.');
454
+ const l_ = Math.log2(self_);
455
+ return (l_ / Math.log2(that_))
524
456
  }
525
457
 
526
458
  export async function Float_log10$(self_, $task) {
527
- throw new Error('Function Float_log10 is missing on this target in async context.');
459
+ return Math.log10(self_)
528
460
  }
529
461
 
530
462
  export async function Float_log2$(self_, $task) {
531
- throw new Error('Function Float_log2 is missing on this target in async context.');
463
+ return Math.log2(self_)
532
464
  }
533
465
 
534
466
  export async function Float_ln$(self_, $task) {
535
- throw new Error('Function Float_ln is missing on this target in async context.');
467
+ return Math.log(self_)
536
468
  }
537
469
 
538
470
  export async function Float_ln1p$(self_, $task) {
539
- throw new Error('Function Float_ln1p is missing on this target in async context.');
471
+ return Math.log1p(self_)
540
472
  }
541
473
 
542
474
  export async function Float_sin$(self_, $task) {
543
- throw new Error('Function Float_sin is missing on this target in async context.');
475
+ return Math.sin(self_)
544
476
  }
545
477
 
546
478
  export async function Float_sinh$(self_, $task) {
547
- throw new Error('Function Float_sinh is missing on this target in async context.');
479
+ return Math.sinh(self_)
548
480
  }
549
481
 
550
482
  export async function Float_sqrt$(self_, $task) {
551
- throw new Error('Function Float_sqrt is missing on this target in async context.');
483
+ return Math.sqrt(self_)
552
484
  }
553
485
 
554
486
  export async function Float_tan$(self_, $task) {
555
- throw new Error('Function Float_tan is missing on this target in async context.');
487
+ return Math.tan(self_)
556
488
  }
557
489
 
558
490
  export async function Float_tanh$(self_, $task) {
559
- throw new Error('Function Float_tanh is missing on this target in async context.');
491
+ return Math.tanh(self_)
560
492
  }
561
493
 
562
494
  export async function Float_isFinite$(self_, $task) {
563
- throw new Error('Function Float_isFinite is missing on this target in async context.');
495
+ return Number.isFinite(self_)
564
496
  }
565
497
 
566
498
  export async function Float_isNan$(self_, $task) {
567
- throw new Error('Function Float_isNan is missing on this target in async context.');
499
+ return Number.isNaN(self_)
568
500
  }
569
501
 
570
502
  export async function Float_isSafeInteger$(self_, $task) {
571
- throw new Error('Function Float_isSafeInteger is missing on this target in async context.');
503
+ return Number.isSafeInteger(self_)
572
504
  }
573
505
 
574
506
  export const ff_core_Any_HasAnyTag$ff_core_Float_Float = {