1 /*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "cstdlib"
17 #include "napi/native_api.h"
18 #include <cmath>
19 #include <cstdlib>
20 #include <js_native_api.h>
21 #include <node_api.h>
22
23 #define PI 3.14159265358979
24 #define HALFCIRCLE 180.0
25 #define TRUE 1
26 #define FALSE 0
27 #define ERROR (-1)
28 #define ONE 1
29 #define TWO 2
30 #define STRLENGTH 64
31 #define FAIL (-1)
32 #define SUCCESS 1
33 #define MAGICNUM (-0.5385416161050316)
34 #define MAGICYNFNUM (-0.5385416746139526)
35 #define PARAM_FAIL (-1)
36 #define PARAM_0 0
37 #define PARAM_1 1
38 #define PARAM_2 2
39 #define PARAM_3 3
40 #define PARAM_30 3.0
41 #define PARAM_UNNORMAL (-1)
42
LLround(napi_env env, napi_callback_info info)43 static napi_value LLround(napi_env env, napi_callback_info info)
44 {
45 size_t argc = PARAM_1;
46 napi_value args[1] = {nullptr};
47 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
48 double value;
49 napi_get_value_double(env, args[0], &value);
50 int roundValue = llround(value);
51 napi_value result = nullptr;
52 napi_create_int32(env, roundValue, &result);
53 return result;
54 }
LLroundf(napi_env env, napi_callback_info info)55 static napi_value LLroundf(napi_env env, napi_callback_info info)
56 {
57 size_t argc = PARAM_1;
58 napi_value args[1] = {nullptr};
59 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
60 double value;
61 napi_get_value_double(env, args[0], &value);
62 int roundValue = llroundf(value);
63 napi_value result = nullptr;
64 napi_create_int32(env, roundValue, &result);
65 return result;
66 }
67
LLroundl(napi_env env, napi_callback_info info)68 static napi_value LLroundl(napi_env env, napi_callback_info info)
69 {
70 size_t argc = PARAM_1;
71 napi_value args[1] = {nullptr};
72 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
73 double value;
74 napi_get_value_double(env, args[0], &value);
75 int roundValue = llroundl(value);
76 napi_value result = nullptr;
77 napi_create_int32(env, roundValue, &result);
78 return result;
79 }
80
LLrint(napi_env env, napi_callback_info info)81 static napi_value LLrint(napi_env env, napi_callback_info info)
82 {
83 size_t argc = PARAM_1;
84 napi_value args[1] = {nullptr};
85 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
86 double value;
87 napi_get_value_double(env, args[0], &value);
88 int roundValue = llrint(value);
89 napi_value result = nullptr;
90 napi_create_int32(env, roundValue, &result);
91 return result;
92 }
LLrintf(napi_env env, napi_callback_info info)93 static napi_value LLrintf(napi_env env, napi_callback_info info)
94 {
95 size_t argc = PARAM_1;
96 napi_value args[1] = {nullptr};
97 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
98 double value;
99 napi_get_value_double(env, args[0], &value);
100 int roundValue = llrintf(value);
101 napi_value result = nullptr;
102 napi_create_int32(env, roundValue, &result);
103 return result;
104 }
LRintf(napi_env env, napi_callback_info info)105 static napi_value LRintf(napi_env env, napi_callback_info info)
106 {
107 size_t argc = PARAM_1;
108 napi_value args[1] = {nullptr};
109 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
110 double valueZero;
111 napi_get_value_double(env, args[0], &valueZero);
112 double lrintf_value = lrintf(valueZero);
113 napi_value result = nullptr;
114 napi_create_double(env, lrintf_value, &result);
115
116 return result;
117 }
LLrintl(napi_env env, napi_callback_info info)118 static napi_value LLrintl(napi_env env, napi_callback_info info)
119 {
120 size_t argc = PARAM_1;
121 napi_value args[1] = {nullptr};
122 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
123 double value;
124 napi_get_value_double(env, args[0], &value);
125 int roundValue = llrintl(value);
126 napi_value result = nullptr;
127 napi_create_int32(env, roundValue, &result);
128 return result;
129 }
130
Lgamma(napi_env env, napi_callback_info info)131 static napi_value Lgamma(napi_env env, napi_callback_info info)
132 {
133 size_t argc = PARAM_1;
134 napi_value args[1] = {nullptr};
135 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
136 double param, ret;
137 napi_get_value_double(env, args[0], ¶m);
138 ret = lgamma(param);
139 napi_value result;
140 if (HUGE_VAL == ret) {
141 napi_create_int32(env, PARAM_UNNORMAL, &result);
142 } else {
143 napi_create_double(env, ret, &result);
144 }
145 return result;
146 }
Lgammaf(napi_env env, napi_callback_info info)147 static napi_value Lgammaf(napi_env env, napi_callback_info info)
148 {
149 size_t argc = PARAM_1;
150 napi_value args[1] = {nullptr};
151 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
152 double param, ret;
153 napi_get_value_double(env, args[0], ¶m);
154 ret = lgammaf(param);
155 napi_value result;
156 if (HUGE_VALF == ret) {
157 napi_create_int32(env, PARAM_UNNORMAL, &result);
158 } else {
159 napi_create_double(env, ret, &result);
160 }
161 return result;
162 }
Lgammal(napi_env env, napi_callback_info info)163 static napi_value Lgammal(napi_env env, napi_callback_info info)
164 {
165 size_t argc = PARAM_1;
166 napi_value args[1] = {nullptr};
167 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
168 double param, ret;
169 napi_get_value_double(env, args[0], ¶m);
170 ret = lgammal(param);
171 napi_value result;
172 if (HUGE_VALL == ret) {
173 napi_create_int32(env, PARAM_UNNORMAL, &result);
174 } else {
175 napi_create_double(env, ret, &result);
176 }
177 return result;
178 }
179
180 #define THIRTYONE 31
181
Lgamma_r(napi_env env, napi_callback_info info)182 static napi_value Lgamma_r(napi_env env, napi_callback_info info)
183 {
184 size_t argc = PARAM_1;
185 napi_value args[1] = {nullptr};
186 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
187 double param, ret;
188 int a;
189 napi_get_value_double(env, args[0], ¶m);
190 ret = lgamma_r(param, &a);
191 napi_value result;
192 if (HUGE_VAL == ret) {
193 napi_create_int32(env, PARAM_UNNORMAL, &result);
194 } else {
195 napi_create_double(env, ret, &result);
196 }
197 return result;
198 }
Lgammaf_r(napi_env env, napi_callback_info info)199 static napi_value Lgammaf_r(napi_env env, napi_callback_info info)
200 {
201 size_t argc = PARAM_1;
202 napi_value args[1] = {nullptr};
203 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
204 double param, ret;
205 int a;
206 napi_get_value_double(env, args[0], ¶m);
207 ret = lgammaf_r(param, &a);
208 napi_value result;
209 if (HUGE_VALF == ret) {
210 napi_create_int32(env, PARAM_UNNORMAL, &result);
211 } else {
212 napi_create_double(env, ret, &result);
213 }
214 return result;
215 }
Lgammal_r(napi_env env, napi_callback_info info)216 static napi_value Lgammal_r(napi_env env, napi_callback_info info)
217 {
218 size_t argc = PARAM_1;
219 napi_value args[1] = {nullptr};
220 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
221 double param, ret;
222 int a;
223 napi_get_value_double(env, args[0], ¶m);
224 ret = lgammal_r(param, &a);
225 napi_value result;
226 if (HUGE_VALL == ret) {
227 napi_create_int32(env, PARAM_UNNORMAL, &result);
228 } else {
229 napi_create_double(env, ret, &result);
230 }
231 return result;
232 }
233
Ldexp(napi_env env, napi_callback_info info)234 static napi_value Ldexp(napi_env env, napi_callback_info info)
235 {
236 size_t argc = PARAM_2;
237 napi_value args[2] = {nullptr};
238 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
239 int secondParam;
240 double firstParam;
241 napi_get_value_double(env, args[0], &firstParam);
242 napi_get_value_int32(env, args[1], &secondParam);
243 double retj = ldexp(firstParam, secondParam);
244 napi_value result;
245 napi_create_double(env, retj, &result);
246 return result;
247 }
248
Ldexpl(napi_env env, napi_callback_info info)249 static napi_value Ldexpl(napi_env env, napi_callback_info info)
250 {
251 size_t argc = PARAM_2;
252 napi_value args[2] = {nullptr};
253 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
254 int secondParam;
255 double firstParam;
256 napi_get_value_double(env, args[0], &firstParam);
257 napi_get_value_int32(env, args[1], &secondParam);
258 double retj = ldexpl(firstParam, secondParam);
259 napi_value result;
260 napi_create_double(env, retj, &result);
261 return result;
262 }
263
Ldexpf(napi_env env, napi_callback_info info)264 static napi_value Ldexpf(napi_env env, napi_callback_info info)
265 {
266 size_t argc = PARAM_2;
267 napi_value args[2] = {nullptr};
268 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
269 int secondParam;
270 double firstParam;
271 napi_get_value_double(env, args[0], &firstParam);
272 napi_get_value_int32(env, args[1], &secondParam);
273 double retj = ldexpf(firstParam, secondParam);
274 napi_value result;
275 napi_create_double(env, retj, &result);
276 return result;
277 }
278
J0(napi_env env, napi_callback_info info)279 static napi_value J0(napi_env env, napi_callback_info info)
280 {
281 size_t argc = PARAM_1;
282 napi_value args[1] = {nullptr};
283 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
284 double expect;
285 napi_get_value_double(env, args[0], &expect);
286 double retj = j0(expect);
287 napi_value result;
288 napi_create_double(env, retj, &result);
289 return result;
290 }
291
J0f(napi_env env, napi_callback_info info)292 static napi_value J0f(napi_env env, napi_callback_info info)
293 {
294 size_t argc = PARAM_1;
295 napi_value args[1] = {nullptr};
296 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
297 double expect;
298 napi_get_value_double(env, args[0], &expect);
299 double retj = j0f(expect);
300 napi_value result;
301 napi_create_double(env, retj, &result);
302 return result;
303 }
304
J1(napi_env env, napi_callback_info info)305 static napi_value J1(napi_env env, napi_callback_info info)
306 {
307 size_t argc = PARAM_1;
308 napi_value args[1] = {nullptr};
309 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
310 double expect;
311 napi_get_value_double(env, args[0], &expect);
312 double retj = j1(expect);
313 napi_value result;
314 napi_create_double(env, retj, &result);
315 return result;
316 }
317
J1f(napi_env env, napi_callback_info info)318 static napi_value J1f(napi_env env, napi_callback_info info)
319 {
320 size_t argc = PARAM_1;
321 napi_value args[1] = {nullptr};
322 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
323 double expect;
324 napi_get_value_double(env, args[0], &expect);
325 double retj = j1f(expect);
326 napi_value result;
327 napi_create_double(env, retj, &result);
328 return result;
329 }
330
Jn(napi_env env, napi_callback_info info)331 static napi_value Jn(napi_env env, napi_callback_info info)
332 {
333 size_t argc = PARAM_2;
334 napi_value args[2] = {nullptr};
335 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
336 double expect;
337 int n;
338 napi_get_value_int32(env, args[0], &n);
339 napi_get_value_double(env, args[1], &expect);
340 double retj = jn(n, expect);
341 napi_value result;
342 napi_create_double(env, retj, &result);
343 return result;
344 }
345
Jnf(napi_env env, napi_callback_info info)346 static napi_value Jnf(napi_env env, napi_callback_info info)
347 {
348 size_t argc = PARAM_2;
349 napi_value args[2] = {nullptr};
350 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
351 double expect;
352 int n;
353 napi_get_value_int32(env, args[0], &n);
354 napi_get_value_double(env, args[1], &expect);
355 double retj = jnf(n, expect);
356 napi_value result;
357 napi_create_double(env, retj, &result);
358 return result;
359 }
360
ASin(napi_env env, napi_callback_info info)361 static napi_value ASin(napi_env env, napi_callback_info info)
362 {
363 size_t argc = PARAM_1;
364 napi_value args[1] = {nullptr};
365 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
366 double valueZero;
367 napi_get_value_double(env, args[0], &valueZero);
368 napi_value result = nullptr;
369
370 double resultValue = asin(valueZero);
371 int resultTrue = PARAM_1;
372 if (resultValue <= M_PI && resultValue >= -M_PI) {
373 napi_create_double(env, resultTrue, &result);
374 } else {
375 napi_create_double(env, resultValue, &result);
376 }
377
378 return result;
379 }
380
ASinF(napi_env env, napi_callback_info info)381 static napi_value ASinF(napi_env env, napi_callback_info info)
382 {
383 size_t argc = PARAM_1;
384 napi_value args[1] = {nullptr};
385 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
386 double valueZero;
387 napi_get_value_double(env, args[0], &valueZero);
388 napi_value result = nullptr;
389
390 double resultValue = asinf(valueZero);
391 int resultTrue = PARAM_1;
392 if (resultValue <= M_PI && resultValue >= -M_PI) {
393 napi_create_double(env, resultTrue, &result);
394 } else {
395 napi_create_double(env, resultValue, &result);
396 }
397
398 return result;
399 }
400
ASinL(napi_env env, napi_callback_info info)401 static napi_value ASinL(napi_env env, napi_callback_info info)
402 {
403 size_t argc = PARAM_1;
404 napi_value args[1] = {nullptr};
405 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
406 double valueZero;
407 napi_get_value_double(env, args[0], &valueZero);
408 napi_value result = nullptr;
409
410 double resultValue = asinl(valueZero);
411 int resultTrue = PARAM_1;
412 if (resultValue <= M_PI && resultValue >= -M_PI) {
413 napi_create_double(env, resultTrue, &result);
414 } else {
415 napi_create_double(env, resultValue, &result);
416 }
417
418 return result;
419 }
420
ASinH(napi_env env, napi_callback_info info)421 static napi_value ASinH(napi_env env, napi_callback_info info)
422 {
423 size_t argc = PARAM_1;
424 napi_value args[1] = {nullptr};
425 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
426 double valueZero;
427 napi_get_value_double(env, args[0], &valueZero);
428 napi_value result = nullptr;
429
430 double resultValue = asinh(valueZero);
431 napi_create_double(env, resultValue, &result);
432
433 return result;
434 }
435
ASinHF(napi_env env, napi_callback_info info)436 static napi_value ASinHF(napi_env env, napi_callback_info info)
437 {
438 size_t argc = PARAM_1;
439 napi_value args[1] = {nullptr};
440 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
441 double valueZero;
442 napi_get_value_double(env, args[0], &valueZero);
443 napi_value result = nullptr;
444
445 double resultValue = asinhf(valueZero);
446 napi_create_double(env, resultValue, &result);
447
448 return result;
449 }
450
ASinHL(napi_env env, napi_callback_info info)451 static napi_value ASinHL(napi_env env, napi_callback_info info)
452 {
453 size_t argc = PARAM_1;
454 napi_value args[1] = {nullptr};
455 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
456 double valueZero;
457 napi_get_value_double(env, args[0], &valueZero);
458 napi_value result = nullptr;
459
460 double resultValue = asinhl(valueZero);
461 napi_create_double(env, resultValue, &result);
462
463 return result;
464 }
465
ACos(napi_env env, napi_callback_info info)466 static napi_value ACos(napi_env env, napi_callback_info info)
467 {
468 size_t argc = PARAM_1;
469 napi_value args[1] = {nullptr};
470 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
471 double valueZero;
472 napi_get_value_double(env, args[0], &valueZero);
473 napi_value result = nullptr;
474
475 double resultValue = acos(valueZero);
476 napi_create_double(env, resultValue, &result);
477
478 return result;
479 }
480
ACosF(napi_env env, napi_callback_info info)481 static napi_value ACosF(napi_env env, napi_callback_info info)
482 {
483 size_t argc = PARAM_1;
484 napi_value args[1] = {nullptr};
485 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
486 double valueZero;
487 napi_get_value_double(env, args[0], &valueZero);
488 napi_value result = nullptr;
489
490 double resultValue = acosf(valueZero);
491 napi_create_double(env, resultValue, &result);
492
493 return result;
494 }
495
ACosL(napi_env env, napi_callback_info info)496 static napi_value ACosL(napi_env env, napi_callback_info info)
497 {
498 size_t argc = PARAM_1;
499 napi_value args[1] = {nullptr};
500 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
501 double valueZero;
502 napi_get_value_double(env, args[0], &valueZero);
503 napi_value result = nullptr;
504
505 double resultValue = acosl(valueZero);
506 napi_create_double(env, resultValue, &result);
507
508 return result;
509 }
510
ACosH(napi_env env, napi_callback_info info)511 static napi_value ACosH(napi_env env, napi_callback_info info)
512 {
513 size_t argc = PARAM_1;
514 napi_value args[1] = {nullptr};
515 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
516 double valueZero;
517 napi_get_value_double(env, args[0], &valueZero);
518 napi_value result = nullptr;
519
520 double resultValue = acosh(valueZero);
521 napi_create_double(env, resultValue, &result);
522
523 return result;
524 }
525
ACosHL(napi_env env, napi_callback_info info)526 static napi_value ACosHL(napi_env env, napi_callback_info info)
527 {
528 size_t argc = PARAM_1;
529 napi_value args[1] = {nullptr};
530 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
531 double valueZero;
532 napi_get_value_double(env, args[0], &valueZero);
533 napi_value result = nullptr;
534
535 double resultValue = acoshl(valueZero);
536 napi_create_double(env, resultValue, &result);
537
538 return result;
539 }
540
ACosHF(napi_env env, napi_callback_info info)541 static napi_value ACosHF(napi_env env, napi_callback_info info)
542 {
543 size_t argc = PARAM_1;
544 napi_value args[1] = {nullptr};
545 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
546 double valueZero;
547 napi_get_value_double(env, args[0], &valueZero);
548 napi_value result = nullptr;
549
550 double resultValue = acoshf(valueZero);
551 napi_create_double(env, resultValue, &result);
552
553 return result;
554 }
555
ATan(napi_env env, napi_callback_info info)556 static napi_value ATan(napi_env env, napi_callback_info info)
557 {
558 size_t argc = PARAM_1;
559 napi_value args[1] = {nullptr};
560 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
561 double valueZero;
562 napi_get_value_double(env, args[0], &valueZero);
563 napi_value result = nullptr;
564
565 double resultValue = atan(valueZero);
566 int resultTrue = TRUE;
567 if (valueZero == ERROR || valueZero == TRUE) {
568 if (resultValue <= M_PI_2 && resultValue >= -M_PI_2) {
569 napi_create_double(env, resultTrue, &result);
570 }
571 } else {
572 napi_create_double(env, resultValue, &result);
573 }
574 return result;
575 }
576
ATanF(napi_env env, napi_callback_info info)577 static napi_value ATanF(napi_env env, napi_callback_info info)
578 {
579 size_t argc = PARAM_1;
580 napi_value args[1] = {nullptr};
581 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
582 double valueZero;
583 napi_get_value_double(env, args[0], &valueZero);
584 napi_value result = nullptr;
585
586 double resultValue = atanf(valueZero);
587 int resultTrue = TRUE;
588 if (valueZero == ERROR || valueZero == TRUE) {
589 if (resultValue <= M_PI_2 && resultValue >= -M_PI_2) {
590 napi_create_double(env, resultTrue, &result);
591 }
592 } else {
593 napi_create_double(env, resultValue, &result);
594 }
595 return result;
596 }
597
ATanL(napi_env env, napi_callback_info info)598 static napi_value ATanL(napi_env env, napi_callback_info info)
599 {
600 size_t argc = PARAM_1;
601 napi_value args[1] = {nullptr};
602 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
603 double valueZero;
604 int resultTrue = PARAM_1;
605 napi_get_value_double(env, args[0], &valueZero);
606 napi_value result = nullptr;
607 double resultValue = atanl(valueZero);
608 if (resultValue <= M_PI_2 && resultValue >= -M_PI_2) {
609 napi_create_double(env, resultTrue, &result);
610 if (valueZero == INFINITY || valueZero == -INFINITY) {
611 napi_create_double(env, resultValue, &result);
612 }
613 } else {
614 napi_create_double(env, resultValue, &result);
615 }
616 return result;
617 }
618
ATan2(napi_env env, napi_callback_info info)619 static napi_value ATan2(napi_env env, napi_callback_info info)
620 {
621 size_t argc = PARAM_2;
622 napi_value args[2] = {nullptr};
623 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
624 double valueZero;
625 double firstParam;
626 napi_get_value_double(env, args[0], &valueZero);
627 napi_get_value_double(env, args[1], &firstParam);
628 napi_value result = nullptr;
629
630 double resultValue = atan2(valueZero, firstParam);
631 napi_create_double(env, resultValue, &result);
632
633 return result;
634 }
635
ATan2F(napi_env env, napi_callback_info info)636 static napi_value ATan2F(napi_env env, napi_callback_info info)
637 {
638 size_t argc = PARAM_2;
639 napi_value args[2] = {nullptr};
640 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
641 double valueZero;
642 double firstParam;
643 napi_get_value_double(env, args[0], &valueZero);
644 napi_get_value_double(env, args[1], &firstParam);
645 napi_value result = nullptr;
646
647 double resultValue = atan2f(valueZero, firstParam);
648 napi_create_double(env, resultValue, &result);
649
650 return result;
651 }
652
ATan2L(napi_env env, napi_callback_info info)653 static napi_value ATan2L(napi_env env, napi_callback_info info)
654 {
655 size_t argc = PARAM_2;
656 napi_value args[2] = {nullptr};
657 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
658 double valueZero;
659 double firstParam;
660 napi_get_value_double(env, args[0], &valueZero);
661 napi_get_value_double(env, args[1], &firstParam);
662 napi_value result = nullptr;
663
664 double resultValue = atan2l(valueZero, firstParam);
665 napi_create_double(env, resultValue, &result);
666
667 return result;
668 }
669
Fmod(napi_env env, napi_callback_info info)670 static napi_value Fmod(napi_env env, napi_callback_info info)
671 {
672 size_t argc = PARAM_2;
673 napi_value args[2] = {nullptr, nullptr};
674 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
675 double firstParam;
676 napi_get_value_double(env, args[0], &firstParam);
677 double secondParam;
678 napi_get_value_double(env, args[1], &secondParam);
679 double getResult = fmod(firstParam, secondParam);
680 napi_value result;
681 napi_create_double(env, getResult, &result);
682 return result;
683 }
684
FMin(napi_env env, napi_callback_info info)685 static napi_value FMin(napi_env env, napi_callback_info info)
686 {
687 size_t argc = PARAM_2;
688 napi_value args[2] = {nullptr, nullptr};
689 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
690 double firstParam;
691 napi_get_value_double(env, args[0], &firstParam);
692 double secondParam;
693 napi_get_value_double(env, args[1], &secondParam);
694 double getResult = fmin(firstParam, secondParam);
695 napi_value result;
696 napi_create_double(env, getResult, &result);
697 return result;
698 }
699
FMax(napi_env env, napi_callback_info info)700 static napi_value FMax(napi_env env, napi_callback_info info)
701 {
702 size_t argc = PARAM_2;
703 napi_value args[2] = {nullptr, nullptr};
704 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
705 double firstParam;
706 napi_get_value_double(env, args[0], &firstParam);
707 double secondParam;
708 napi_get_value_double(env, args[1], &secondParam);
709 double getResult = fmax(firstParam, secondParam);
710 napi_value result;
711 napi_create_double(env, getResult, &result);
712 return result;
713 }
714
Fma(napi_env env, napi_callback_info info)715 static napi_value Fma(napi_env env, napi_callback_info info)
716 {
717 size_t argc = PARAM_3;
718 napi_value args[3] = {nullptr, nullptr, nullptr};
719 int indexSecond = TWO, indexFirst = ONE, indexZero = PARAM_0;
720 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
721 double firstParam;
722 napi_get_value_double(env, args[indexZero], &firstParam);
723 double secondParam;
724 napi_get_value_double(env, args[indexFirst], &secondParam);
725 double thirdParam;
726 napi_get_value_double(env, args[indexSecond], &thirdParam);
727 double getResult = fma(firstParam, secondParam, thirdParam);
728 napi_value result;
729 napi_create_double(env, getResult, &result);
730 return result;
731 }
732
Floor(napi_env env, napi_callback_info info)733 static napi_value Floor(napi_env env, napi_callback_info info)
734 {
735 size_t argc = PARAM_2;
736 napi_value args[2] = {nullptr, nullptr};
737 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
738 double firstParam;
739 napi_get_value_double(env, args[0], &firstParam);
740 double getResult = floor(firstParam);
741 napi_value result;
742 napi_create_double(env, getResult, &result);
743 return result;
744 }
745
FDim(napi_env env, napi_callback_info info)746 static napi_value FDim(napi_env env, napi_callback_info info)
747 {
748 size_t argc = PARAM_2;
749 napi_value args[2] = {nullptr, nullptr};
750 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
751 double firstParam;
752 napi_get_value_double(env, args[0], &firstParam);
753 double secondParam;
754 napi_get_value_double(env, args[1], &secondParam);
755 double getResult = fdim(firstParam, secondParam);
756 napi_value result;
757 napi_create_double(env, getResult, &result);
758 return result;
759 }
760
FAbs(napi_env env, napi_callback_info info)761 static napi_value FAbs(napi_env env, napi_callback_info info)
762 {
763 size_t argc = PARAM_1;
764 napi_value args[1] = {nullptr};
765 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
766 double firstParam;
767 napi_get_value_double(env, args[0], &firstParam);
768 double getResult = fabs(firstParam);
769 napi_value result;
770 napi_create_double(env, getResult, &result);
771 return result;
772 }
773
Exp(napi_env env, napi_callback_info info)774 static napi_value Exp(napi_env env, napi_callback_info info)
775 {
776 size_t argc = PARAM_1;
777 napi_value args[1] = {nullptr};
778 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
779 double firstParam;
780 napi_get_value_double(env, args[0], &firstParam);
781 double getResult = exp(firstParam);
782 napi_value result;
783 napi_create_double(env, getResult, &result);
784 return result;
785 }
786
CopySignL(napi_env env, napi_callback_info info)787 static napi_value CopySignL(napi_env env, napi_callback_info info)
788 {
789 size_t argc = PARAM_2;
790 napi_value args[2] = {nullptr, nullptr};
791 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
792 double firstParam;
793 napi_get_value_double(env, args[0], &firstParam);
794 double secondParam;
795 napi_get_value_double(env, args[1], &secondParam);
796 double getResult = copysignl(firstParam, secondParam);
797 napi_value result;
798 napi_create_double(env, getResult, &result);
799 return result;
800 }
801
CopySignF(napi_env env, napi_callback_info info)802 static napi_value CopySignF(napi_env env, napi_callback_info info)
803 {
804 size_t argc = PARAM_2;
805 napi_value args[2] = {nullptr, nullptr};
806 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
807 double firstParam;
808 napi_get_value_double(env, args[0], &firstParam);
809 double secondParam;
810 napi_get_value_double(env, args[1], &secondParam);
811 double getResult = copysignf(firstParam, secondParam);
812 napi_value result;
813 napi_create_double(env, getResult, &result);
814 return result;
815 }
816
CopySign(napi_env env, napi_callback_info info)817 static napi_value CopySign(napi_env env, napi_callback_info info)
818 {
819 size_t argc = PARAM_2;
820 napi_value args[2] = {nullptr, nullptr};
821 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
822 double firstParam;
823 napi_get_value_double(env, args[0], &firstParam);
824 double secondParam;
825 napi_get_value_double(env, args[1], &secondParam);
826 double getResult = copysign(firstParam, secondParam);
827 napi_value result;
828 napi_create_double(env, getResult, &result);
829 return result;
830 }
831
Erf(napi_env env, napi_callback_info info)832 static napi_value Erf(napi_env env, napi_callback_info info)
833 {
834 size_t argc = PARAM_1;
835 napi_value args[1] = {nullptr};
836 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
837 double firstParam;
838 napi_get_value_double(env, args[0], &firstParam);
839 double getResult = erf(firstParam);
840 napi_value result;
841 napi_create_double(env, getResult, &result);
842 return result;
843 }
844
Cos(napi_env env, napi_callback_info info)845 static napi_value Cos(napi_env env, napi_callback_info info)
846 {
847 size_t argc = PARAM_1;
848 napi_value args[1] = {nullptr};
849 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
850 double firstParam;
851 napi_get_value_double(env, args[0], &firstParam);
852 double getResult = cos(firstParam * PI / HALFCIRCLE);
853 napi_value result = nullptr;
854 napi_create_double(env, getResult, &result);
855 return result;
856 }
857
Cosh(napi_env env, napi_callback_info info)858 static napi_value Cosh(napi_env env, napi_callback_info info)
859 {
860 size_t argc = PARAM_1;
861 napi_value args[1] = {nullptr};
862 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
863 double firstParam;
864 napi_get_value_double(env, args[0], &firstParam);
865 double getResult = cosh(firstParam * PI / HALFCIRCLE);
866 napi_value result = nullptr;
867 napi_create_double(env, getResult, &result);
868 return result;
869 }
870
Exp2(napi_env env, napi_callback_info info)871 static napi_value Exp2(napi_env env, napi_callback_info info)
872 {
873 size_t argc = PARAM_1;
874 napi_value args[1] = {nullptr};
875 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
876 double firstParam;
877 napi_get_value_double(env, args[0], &firstParam);
878 double getResult = exp2(firstParam);
879 napi_value result;
880 napi_create_double(env, getResult, &result);
881 return result;
882 }
883
ExpM1(napi_env env, napi_callback_info info)884 static napi_value ExpM1(napi_env env, napi_callback_info info)
885 {
886 size_t argc = PARAM_1;
887 napi_value args[1] = {nullptr};
888 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
889 double firstParam;
890 napi_get_value_double(env, args[0], &firstParam);
891 double getResult = expm1(firstParam);
892 napi_value result;
893 napi_create_double(env, getResult, &result);
894 return result;
895 }
896
FmodF(napi_env env, napi_callback_info info)897 static napi_value FmodF(napi_env env, napi_callback_info info)
898 {
899 size_t argc = PARAM_2;
900 napi_value args[2] = {nullptr, nullptr};
901 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
902 double firstParam;
903 napi_get_value_double(env, args[0], &firstParam);
904 double secondParam;
905 napi_get_value_double(env, args[1], &secondParam);
906 double getResult = fmodf(firstParam, secondParam);
907 napi_value result;
908 napi_create_double(env, getResult, &result);
909 return result;
910 }
911
FmodL(napi_env env, napi_callback_info info)912 static napi_value FmodL(napi_env env, napi_callback_info info)
913 {
914 size_t argc = PARAM_2;
915 napi_value args[2] = {nullptr, nullptr};
916 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
917 double firstParam;
918 napi_get_value_double(env, args[0], &firstParam);
919 double secondParam;
920 napi_get_value_double(env, args[1], &secondParam);
921 double getResult = fmodl(firstParam, secondParam);
922 napi_value result;
923 napi_create_double(env, getResult, &result);
924 return result;
925 }
926
FMinF(napi_env env, napi_callback_info info)927 static napi_value FMinF(napi_env env, napi_callback_info info)
928 {
929 size_t argc = PARAM_2;
930 napi_value args[2] = {nullptr, nullptr};
931 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
932 double firstParam;
933 napi_get_value_double(env, args[0], &firstParam);
934 double secondParam;
935 napi_get_value_double(env, args[1], &secondParam);
936 double getResult = fminf(firstParam, secondParam);
937 napi_value result;
938 napi_create_double(env, getResult, &result);
939 return result;
940 }
941
FMinL(napi_env env, napi_callback_info info)942 static napi_value FMinL(napi_env env, napi_callback_info info)
943 {
944 size_t argc = PARAM_2;
945 napi_value args[2] = {nullptr, nullptr};
946 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
947 double firstParam;
948 napi_get_value_double(env, args[0], &firstParam);
949 double secondParam;
950 napi_get_value_double(env, args[1], &secondParam);
951 double getResult = fminl(firstParam, secondParam);
952 napi_value result;
953 napi_create_double(env, getResult, &result);
954 return result;
955 }
956
FMaxF(napi_env env, napi_callback_info info)957 static napi_value FMaxF(napi_env env, napi_callback_info info)
958 {
959 size_t argc = PARAM_2;
960 napi_value args[2] = {nullptr, nullptr};
961 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
962 double firstParam;
963 napi_get_value_double(env, args[0], &firstParam);
964 double secondParam;
965 napi_get_value_double(env, args[1], &secondParam);
966 double getResult = fmaxf(firstParam, secondParam);
967 napi_value result;
968 napi_create_double(env, getResult, &result);
969 return result;
970 }
971
FMaxL(napi_env env, napi_callback_info info)972 static napi_value FMaxL(napi_env env, napi_callback_info info)
973 {
974 size_t argc = PARAM_2;
975 napi_value args[2] = {nullptr, nullptr};
976 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
977 double firstParam;
978 napi_get_value_double(env, args[0], &firstParam);
979 double secondParam;
980 napi_get_value_double(env, args[1], &secondParam);
981 double getResult = fmaxl(firstParam, secondParam);
982 napi_value result;
983 napi_create_double(env, getResult, &result);
984 return result;
985 }
986
FmaF(napi_env env, napi_callback_info info)987 static napi_value FmaF(napi_env env, napi_callback_info info)
988 {
989 size_t argc = PARAM_3;
990 napi_value args[3] = {nullptr, nullptr, nullptr};
991 int indexSecond = TWO, indexFirst = ONE, indexZero = PARAM_0;
992 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
993 double firstParam;
994 napi_get_value_double(env, args[indexZero], &firstParam);
995 double secondParam;
996 napi_get_value_double(env, args[indexFirst], &secondParam);
997 double thirdParam;
998 napi_get_value_double(env, args[indexSecond], &thirdParam);
999 double getResult = fmaf(firstParam, secondParam, thirdParam);
1000 napi_value result;
1001 napi_create_double(env, getResult, &result);
1002 return result;
1003 }
1004
FmaL(napi_env env, napi_callback_info info)1005 static napi_value FmaL(napi_env env, napi_callback_info info)
1006 {
1007 size_t argc = PARAM_3;
1008 napi_value args[3] = {nullptr, nullptr, nullptr};
1009 int indexSecond = TWO, indexFirst = ONE, indexZero = PARAM_0;
1010 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1011 double firstParam;
1012 napi_get_value_double(env, args[indexZero], &firstParam);
1013 double secondParam;
1014 napi_get_value_double(env, args[indexFirst], &secondParam);
1015 double thirdParam;
1016 napi_get_value_double(env, args[indexSecond], &thirdParam);
1017 double getResult = fmal(firstParam, secondParam, thirdParam);
1018 napi_value result;
1019 napi_create_double(env, getResult, &result);
1020 return result;
1021 }
1022
FloorF(napi_env env, napi_callback_info info)1023 static napi_value FloorF(napi_env env, napi_callback_info info)
1024 {
1025 size_t argc = PARAM_2;
1026 napi_value args[2] = {nullptr, nullptr};
1027 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1028 double firstParam;
1029 napi_get_value_double(env, args[0], &firstParam);
1030 double getResult = floorf(firstParam);
1031 napi_value result;
1032 napi_create_double(env, getResult, &result);
1033 return result;
1034 }
1035
FloorL(napi_env env, napi_callback_info info)1036 static napi_value FloorL(napi_env env, napi_callback_info info)
1037 {
1038 size_t argc = PARAM_2;
1039 napi_value args[2] = {nullptr, nullptr};
1040 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1041 double firstParam;
1042 napi_get_value_double(env, args[0], &firstParam);
1043 double getResult = floorl(firstParam);
1044 napi_value result;
1045 napi_create_double(env, getResult, &result);
1046 return result;
1047 }
1048
FDimF(napi_env env, napi_callback_info info)1049 static napi_value FDimF(napi_env env, napi_callback_info info)
1050 {
1051 size_t argc = PARAM_2;
1052 napi_value args[2] = {nullptr, nullptr};
1053 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1054 double firstParam;
1055 napi_get_value_double(env, args[0], &firstParam);
1056 double secondParam;
1057 napi_get_value_double(env, args[1], &secondParam);
1058 double getResult = fdimf(firstParam, secondParam);
1059 napi_value result;
1060 napi_create_double(env, getResult, &result);
1061 return result;
1062 }
1063
FDimL(napi_env env, napi_callback_info info)1064 static napi_value FDimL(napi_env env, napi_callback_info info)
1065 {
1066 size_t argc = PARAM_2;
1067 napi_value args[2] = {nullptr, nullptr};
1068 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1069 double firstParam;
1070 napi_get_value_double(env, args[0], &firstParam);
1071 double secondParam;
1072 napi_get_value_double(env, args[1], &secondParam);
1073 double getResult = fdiml(firstParam, secondParam);
1074 napi_value result;
1075 napi_create_double(env, getResult, &result);
1076 return result;
1077 }
1078
FAbsL(napi_env env, napi_callback_info info)1079 static napi_value FAbsL(napi_env env, napi_callback_info info)
1080 {
1081 size_t argc = PARAM_1;
1082 napi_value args[1] = {nullptr};
1083 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1084 double firstParam;
1085 napi_get_value_double(env, args[0], &firstParam);
1086 double getResult = fabsl(firstParam);
1087 napi_value result;
1088 napi_create_double(env, getResult, &result);
1089 return result;
1090 }
1091
FAbsF(napi_env env, napi_callback_info info)1092 static napi_value FAbsF(napi_env env, napi_callback_info info)
1093 {
1094 size_t argc = PARAM_1;
1095 napi_value args[1] = {nullptr};
1096 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1097 double firstParam;
1098 napi_get_value_double(env, args[0], &firstParam);
1099 float getVOne = firstParam;
1100 float getResultF = fabsf(getVOne);
1101 double getResult = getResultF;
1102 napi_value result;
1103 napi_create_double(env, getResult, &result);
1104 return result;
1105 }
1106
Ceil(napi_env env, napi_callback_info info)1107 static napi_value Ceil(napi_env env, napi_callback_info info)
1108 {
1109 size_t argc = PARAM_1;
1110 napi_value args[1] = {nullptr};
1111 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1112 double firstParam;
1113 napi_get_value_double(env, args[0], &firstParam);
1114 double getResult = ceil(firstParam);
1115 napi_value result;
1116 napi_create_double(env, getResult, &result);
1117 return result;
1118 }
1119
CeilF(napi_env env, napi_callback_info info)1120 static napi_value CeilF(napi_env env, napi_callback_info info)
1121 {
1122 size_t argc = PARAM_1;
1123 napi_value args[1] = {nullptr};
1124 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1125 double firstParam;
1126 napi_get_value_double(env, args[0], &firstParam);
1127 double getResult = ceilf(firstParam);
1128 napi_value result;
1129 napi_create_double(env, getResult, &result);
1130 return result;
1131 }
1132
CeilL(napi_env env, napi_callback_info info)1133 static napi_value CeilL(napi_env env, napi_callback_info info)
1134 {
1135 size_t argc = PARAM_1;
1136 napi_value args[1] = {nullptr};
1137 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1138 double firstParam;
1139 napi_get_value_double(env, args[0], &firstParam);
1140 double getResult = ceill(firstParam);
1141 napi_value result;
1142 napi_create_double(env, getResult, &result);
1143 return result;
1144 }
1145
ExpM1f(napi_env env, napi_callback_info info)1146 static napi_value ExpM1f(napi_env env, napi_callback_info info)
1147 {
1148 size_t argc = PARAM_1;
1149 napi_value args[1] = {nullptr};
1150 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1151 double firstParam;
1152 napi_get_value_double(env, args[0], &firstParam);
1153 double getResult = expm1f(firstParam);
1154 napi_value result;
1155 napi_create_double(env, getResult, &result);
1156 return result;
1157 }
1158
ExpM1l(napi_env env, napi_callback_info info)1159 static napi_value ExpM1l(napi_env env, napi_callback_info info)
1160 {
1161 size_t argc = PARAM_1;
1162 napi_value args[1] = {nullptr};
1163 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1164 double firstParam;
1165 napi_get_value_double(env, args[0], &firstParam);
1166 double getResult = expm1l(firstParam);
1167 napi_value result;
1168 napi_create_double(env, getResult, &result);
1169 return result;
1170 }
1171
ExpF(napi_env env, napi_callback_info info)1172 static napi_value ExpF(napi_env env, napi_callback_info info)
1173 {
1174 size_t argc = PARAM_1;
1175 napi_value args[1] = {nullptr};
1176 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1177 double firstParam;
1178 napi_get_value_double(env, args[0], &firstParam);
1179 double getResult = expf(firstParam);
1180 napi_value result;
1181 napi_create_double(env, getResult, &result);
1182 return result;
1183 }
1184
ExpL(napi_env env, napi_callback_info info)1185 static napi_value ExpL(napi_env env, napi_callback_info info)
1186 {
1187 size_t argc = PARAM_1;
1188 napi_value args[1] = {nullptr};
1189 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1190 double firstParam;
1191 napi_get_value_double(env, args[0], &firstParam);
1192 double getResult = expl(firstParam);
1193 napi_value result;
1194 napi_create_double(env, getResult, &result);
1195 return result;
1196 }
1197
Exp2f(napi_env env, napi_callback_info info)1198 static napi_value Exp2f(napi_env env, napi_callback_info info)
1199 {
1200 size_t argc = PARAM_1;
1201 napi_value args[1] = {nullptr};
1202 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1203 double firstParam;
1204 napi_get_value_double(env, args[0], &firstParam);
1205 double getResult = exp2f(firstParam);
1206 napi_value result;
1207 napi_create_double(env, getResult, &result);
1208 return result;
1209 }
1210
Exp2l(napi_env env, napi_callback_info info)1211 static napi_value Exp2l(napi_env env, napi_callback_info info)
1212 {
1213 size_t argc = PARAM_1;
1214 napi_value args[1] = {nullptr};
1215 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1216 double firstParam;
1217 napi_get_value_double(env, args[0], &firstParam);
1218 double getResult = exp2l(firstParam);
1219 napi_value result;
1220 napi_create_double(env, getResult, &result);
1221 return result;
1222 }
1223
ErfC(napi_env env, napi_callback_info info)1224 static napi_value ErfC(napi_env env, napi_callback_info info)
1225 {
1226 size_t argc = PARAM_1;
1227 napi_value args[1] = {nullptr};
1228 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1229 double firstParam;
1230 napi_get_value_double(env, args[0], &firstParam);
1231 double getResult = erfc(firstParam);
1232 napi_value result;
1233 napi_create_double(env, getResult, &result);
1234 return result;
1235 }
1236
ErfCf(napi_env env, napi_callback_info info)1237 static napi_value ErfCf(napi_env env, napi_callback_info info)
1238 {
1239 size_t argc = PARAM_1;
1240 napi_value args[1] = {nullptr};
1241 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1242 double firstParam;
1243 napi_get_value_double(env, args[0], &firstParam);
1244 double getResult = erfcf(firstParam);
1245 napi_value result;
1246 napi_create_double(env, getResult, &result);
1247 return result;
1248 }
1249
ErfCl(napi_env env, napi_callback_info info)1250 static napi_value ErfCl(napi_env env, napi_callback_info info)
1251 {
1252 size_t argc = PARAM_1;
1253 napi_value args[1] = {nullptr};
1254 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1255 double firstParam;
1256 napi_get_value_double(env, args[0], &firstParam);
1257 double getResult = erfcl(firstParam);
1258 napi_value result;
1259 napi_create_double(env, getResult, &result);
1260 return result;
1261 }
1262
ErfF(napi_env env, napi_callback_info info)1263 static napi_value ErfF(napi_env env, napi_callback_info info)
1264 {
1265 size_t argc = PARAM_1;
1266 napi_value args[1] = {nullptr};
1267 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1268 double firstParam;
1269 napi_get_value_double(env, args[0], &firstParam);
1270 double getResult = erff(firstParam);
1271 napi_value result;
1272 napi_create_double(env, getResult, &result);
1273 return result;
1274 }
1275
ErfL(napi_env env, napi_callback_info info)1276 static napi_value ErfL(napi_env env, napi_callback_info info)
1277 {
1278 size_t argc = PARAM_1;
1279 napi_value args[1] = {nullptr};
1280 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1281 double firstParam;
1282 napi_get_value_double(env, args[0], &firstParam);
1283 double getResult = erfl(firstParam);
1284 napi_value result;
1285 napi_create_double(env, getResult, &result);
1286 return result;
1287 }
1288
CosF(napi_env env, napi_callback_info info)1289 static napi_value CosF(napi_env env, napi_callback_info info)
1290 {
1291 size_t argc = PARAM_1;
1292 napi_value args[1] = {nullptr};
1293 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1294 double firstParam;
1295 napi_get_value_double(env, args[0], &firstParam);
1296 double getResult = cosf(firstParam * PI / HALFCIRCLE);
1297 napi_value result = nullptr;
1298 napi_create_double(env, getResult, &result);
1299 return result;
1300 }
1301
CosL(napi_env env, napi_callback_info info)1302 static napi_value CosL(napi_env env, napi_callback_info info)
1303 {
1304 size_t argc = PARAM_1;
1305 napi_value args[1] = {nullptr};
1306 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1307 double firstParam;
1308 napi_get_value_double(env, args[0], &firstParam);
1309 double getResult = cosl(firstParam * PI / HALFCIRCLE);
1310 napi_value result = nullptr;
1311 napi_create_double(env, getResult, &result);
1312 return result;
1313 }
1314
CosHf(napi_env env, napi_callback_info info)1315 static napi_value CosHf(napi_env env, napi_callback_info info)
1316 {
1317 size_t argc = PARAM_1;
1318 napi_value args[1] = {nullptr};
1319 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1320 double firstParam;
1321 napi_get_value_double(env, args[0], &firstParam);
1322 double getResult = coshf(firstParam * PI / HALFCIRCLE);
1323 napi_value result = nullptr;
1324 napi_create_double(env, getResult, &result);
1325 return result;
1326 }
1327
CosHl(napi_env env, napi_callback_info info)1328 static napi_value CosHl(napi_env env, napi_callback_info info)
1329 {
1330 size_t argc = PARAM_1;
1331 napi_value args[1] = {nullptr};
1332 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1333 double firstParam;
1334 napi_get_value_double(env, args[0], &firstParam);
1335 double getResult = coshl(firstParam * PI / HALFCIRCLE);
1336 napi_value result = nullptr;
1337 napi_create_double(env, getResult, &result);
1338 return result;
1339 }
1340
doubleInput(napi_env env, napi_callback_info info)1341 static double doubleInput(napi_env env, napi_callback_info info)
1342 {
1343 size_t argc = PARAM_1;
1344 napi_value args[1] = {nullptr};
1345 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1346 double expect;
1347 napi_get_value_double(env, args[0], &expect);
1348 return expect;
1349 }
1350
doubleOutput(napi_env env, double output)1351 static napi_value doubleOutput(napi_env env, double output)
1352 {
1353 napi_value result;
1354 napi_create_double(env, output, &result);
1355 return result;
1356 }
1357
Log(napi_env env, napi_callback_info info)1358 static napi_value Log(napi_env env, napi_callback_info info)
1359 {
1360 double input = doubleInput(env, info);
1361 return doubleOutput(env, log(input));
1362 }
1363
Log10(napi_env env, napi_callback_info info)1364 static napi_value Log10(napi_env env, napi_callback_info info)
1365 {
1366 double input = doubleInput(env, info);
1367 return doubleOutput(env, log10(input));
1368 }
1369
Log10f(napi_env env, napi_callback_info info)1370 static napi_value Log10f(napi_env env, napi_callback_info info)
1371 {
1372 double input = doubleInput(env, info);
1373 return doubleOutput(env, log10f(input));
1374 }
1375
Log10l(napi_env env, napi_callback_info info)1376 static napi_value Log10l(napi_env env, napi_callback_info info)
1377 {
1378 double input = doubleInput(env, info);
1379 return doubleOutput(env, log10l(input));
1380 }
1381
Log1p(napi_env env, napi_callback_info info)1382 static napi_value Log1p(napi_env env, napi_callback_info info)
1383 {
1384 double input = doubleInput(env, info);
1385 return doubleOutput(env, log1p(input));
1386 }
1387
Log1pf(napi_env env, napi_callback_info info)1388 static napi_value Log1pf(napi_env env, napi_callback_info info)
1389 {
1390 double input = doubleInput(env, info);
1391 return doubleOutput(env, log1pf(input));
1392 }
1393
Log1pl(napi_env env, napi_callback_info info)1394 static napi_value Log1pl(napi_env env, napi_callback_info info)
1395 {
1396 double input = doubleInput(env, info);
1397 double result = log1pl(input);
1398 return doubleOutput(env, result);
1399 }
1400
Log2(napi_env env, napi_callback_info info)1401 static napi_value Log2(napi_env env, napi_callback_info info)
1402 {
1403 double input = doubleInput(env, info);
1404 double result = log2(input);
1405 return doubleOutput(env, result);
1406 }
1407
Log2f(napi_env env, napi_callback_info info)1408 static napi_value Log2f(napi_env env, napi_callback_info info)
1409 {
1410 double input = doubleInput(env, info);
1411 double result = log2(input);
1412 return doubleOutput(env, result);
1413 }
1414
Log2l(napi_env env, napi_callback_info info)1415 static napi_value Log2l(napi_env env, napi_callback_info info)
1416 {
1417 double input = doubleInput(env, info);
1418 double result = log2(input);
1419 return doubleOutput(env, result);
1420 }
1421
LogB(napi_env env, napi_callback_info info)1422 static napi_value LogB(napi_env env, napi_callback_info info)
1423 {
1424 double input = doubleInput(env, info);
1425 double result = logb(input);
1426 return doubleOutput(env, result);
1427 }
1428
LogBf(napi_env env, napi_callback_info info)1429 static napi_value LogBf(napi_env env, napi_callback_info info)
1430 {
1431 double input = doubleInput(env, info);
1432 double result = logbf(input);
1433 return doubleOutput(env, result);
1434 }
1435
LogBl(napi_env env, napi_callback_info info)1436 static napi_value LogBl(napi_env env, napi_callback_info info)
1437 {
1438 double input = doubleInput(env, info);
1439 double result = logbf(input);
1440 return doubleOutput(env, result);
1441 }
1442
LogF(napi_env env, napi_callback_info info)1443 static napi_value LogF(napi_env env, napi_callback_info info)
1444 {
1445 double input = doubleInput(env, info);
1446 double result = logf(input);
1447 return doubleOutput(env, result);
1448 }
1449
LogL(napi_env env, napi_callback_info info)1450 static napi_value LogL(napi_env env, napi_callback_info info)
1451 {
1452 double input = doubleInput(env, info);
1453 double result = logl(input);
1454 return doubleOutput(env, result);
1455 }
1456
Sin(napi_env env, napi_callback_info info)1457 static napi_value Sin(napi_env env, napi_callback_info info)
1458 {
1459 size_t argc = PARAM_1;
1460 napi_value args[1] = {nullptr};
1461 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1462 double valueZero;
1463 napi_get_value_double(env, args[0], &valueZero);
1464 double sinValue = sin(valueZero);
1465 napi_value result = nullptr;
1466 napi_create_double(env, sinValue, &result);
1467 return result;
1468 }
1469
Sinf(napi_env env, napi_callback_info info)1470 static napi_value Sinf(napi_env env, napi_callback_info info)
1471 {
1472 size_t argc = PARAM_1;
1473 napi_value args[1] = {nullptr};
1474 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1475 double valueZero;
1476 napi_get_value_double(env, args[0], &valueZero);
1477 double sinValue = sinf(valueZero);
1478 napi_value result = nullptr;
1479 napi_create_double(env, sinValue, &result);
1480 return result;
1481 }
1482
Sinh(napi_env env, napi_callback_info info)1483 static napi_value Sinh(napi_env env, napi_callback_info info)
1484 {
1485 size_t argc = PARAM_1;
1486 napi_value args[1] = {nullptr};
1487 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1488 double valueZero;
1489 napi_get_value_double(env, args[0], &valueZero);
1490 double sinValue = sinh(valueZero);
1491 napi_value result = nullptr;
1492 napi_create_double(env, sinValue, &result);
1493 return result;
1494 }
1495
Sinhf(napi_env env, napi_callback_info info)1496 static napi_value Sinhf(napi_env env, napi_callback_info info)
1497 {
1498 size_t argc = PARAM_1;
1499 napi_value args[1] = {nullptr};
1500 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1501 double valueZero;
1502 napi_get_value_double(env, args[0], &valueZero);
1503 double sinValue = sinhf(valueZero);
1504 napi_value result = nullptr;
1505 napi_create_double(env, sinValue, &result);
1506 return result;
1507 }
1508
Sinhl(napi_env env, napi_callback_info info)1509 static napi_value Sinhl(napi_env env, napi_callback_info info)
1510 {
1511 size_t argc = PARAM_1;
1512 napi_value args[1] = {nullptr};
1513 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1514 double valueZero;
1515 napi_get_value_double(env, args[0], &valueZero);
1516 double sinValue = sinhl(valueZero);
1517 napi_value result = nullptr;
1518 napi_create_double(env, sinValue, &result);
1519 return result;
1520 }
1521
Sinl(napi_env env, napi_callback_info info)1522 static napi_value Sinl(napi_env env, napi_callback_info info)
1523 {
1524 size_t argc = PARAM_1;
1525 napi_value args[1] = {nullptr};
1526 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1527 double valueZero;
1528 napi_get_value_double(env, args[0], &valueZero);
1529 double sinValue = sinl(valueZero);
1530 napi_value result = nullptr;
1531 napi_create_double(env, sinValue, &result);
1532 return result;
1533 }
1534
Sqrt(napi_env env, napi_callback_info info)1535 static napi_value Sqrt(napi_env env, napi_callback_info info)
1536 {
1537 size_t argc = PARAM_1;
1538 napi_value args[1] = {nullptr};
1539 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1540 double valueZero;
1541 napi_get_value_double(env, args[0], &valueZero);
1542 double sinValue = sqrt(valueZero);
1543 napi_value result = nullptr;
1544 napi_create_double(env, sinValue, &result);
1545 return result;
1546 }
1547
Sqrtf(napi_env env, napi_callback_info info)1548 static napi_value Sqrtf(napi_env env, napi_callback_info info)
1549 {
1550 size_t argc = PARAM_1;
1551 napi_value args[1] = {nullptr};
1552 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1553 double valueZero;
1554 napi_get_value_double(env, args[0], &valueZero);
1555 double sinValue = sqrtf(valueZero);
1556 napi_value result = nullptr;
1557 napi_create_double(env, sinValue, &result);
1558 return result;
1559 }
1560
Sqrtl(napi_env env, napi_callback_info info)1561 static napi_value Sqrtl(napi_env env, napi_callback_info info)
1562 {
1563 size_t argc = PARAM_1;
1564 napi_value args[1] = {nullptr};
1565 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1566 double valueZero;
1567 napi_get_value_double(env, args[0], &valueZero);
1568 double sinValue = sqrtl(valueZero);
1569 napi_value result = nullptr;
1570 napi_create_double(env, sinValue, &result);
1571 return result;
1572 }
1573
Remainder(napi_env env, napi_callback_info info)1574 static napi_value Remainder(napi_env env, napi_callback_info info)
1575 {
1576 size_t argc = PARAM_2;
1577 napi_value args[2] = {nullptr};
1578 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1579 double valueZero;
1580 napi_get_value_double(env, args[0], &valueZero);
1581 double firstParam;
1582 napi_get_value_double(env, args[1], &firstParam);
1583
1584 double remainderValue = remainder(valueZero, firstParam);
1585 napi_value result = nullptr;
1586 napi_create_double(env, remainderValue, &result);
1587
1588 return result;
1589 }
1590
Remainderf(napi_env env, napi_callback_info info)1591 static napi_value Remainderf(napi_env env, napi_callback_info info)
1592 {
1593 size_t argc = PARAM_2;
1594 napi_value args[2] = {nullptr};
1595 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1596 double valueZero;
1597 napi_get_value_double(env, args[0], &valueZero);
1598 double firstParam;
1599 napi_get_value_double(env, args[1], &firstParam);
1600
1601 double remainderValue = remainderf(valueZero, firstParam);
1602 napi_value result = nullptr;
1603 napi_create_double(env, remainderValue, &result);
1604
1605 return result;
1606 }
1607
Remainderl(napi_env env, napi_callback_info info)1608 static napi_value Remainderl(napi_env env, napi_callback_info info)
1609 {
1610 size_t argc = PARAM_2;
1611 napi_value args[2] = {nullptr};
1612 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1613 double valueZero;
1614 napi_get_value_double(env, args[0], &valueZero);
1615 double firstParam;
1616 napi_get_value_double(env, args[1], &firstParam);
1617
1618 double remainderValue = remainderl(valueZero, firstParam);
1619 napi_value result = nullptr;
1620 napi_create_double(env, remainderValue, &result);
1621 return result;
1622 }
1623
Remquo(napi_env env, napi_callback_info info)1624 static napi_value Remquo(napi_env env, napi_callback_info info)
1625 {
1626 size_t argc = PARAM_3;
1627 napi_value args[3] = {nullptr};
1628 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1629 double valueZero;
1630 napi_get_value_double(env, args[0], &valueZero);
1631 double firstParam;
1632 napi_get_value_double(env, args[1], &firstParam);
1633 int secondParam;
1634 napi_get_value_int32(env, args[2], &secondParam);
1635
1636 double remQuoValue = remquo(valueZero, firstParam, &secondParam);
1637 napi_value result = nullptr;
1638 napi_create_double(env, remQuoValue, &result);
1639
1640 return result;
1641 }
1642
Remquof(napi_env env, napi_callback_info info)1643 static napi_value Remquof(napi_env env, napi_callback_info info)
1644 {
1645 size_t argc = PARAM_3;
1646 napi_value args[3] = {nullptr};
1647 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1648 double valueZero;
1649 napi_get_value_double(env, args[0], &valueZero);
1650 double firstParam;
1651 napi_get_value_double(env, args[1], &firstParam);
1652 int secondParam;
1653 napi_get_value_int32(env, args[2], &secondParam);
1654
1655 double remQuoValue = remquof(valueZero, firstParam, &secondParam);
1656 napi_value result = nullptr;
1657 napi_create_double(env, remQuoValue, &result);
1658
1659 return result;
1660 }
1661
Remquol(napi_env env, napi_callback_info info)1662 static napi_value Remquol(napi_env env, napi_callback_info info)
1663 {
1664 size_t argc = PARAM_3;
1665 napi_value args[3] = {nullptr};
1666 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1667 double valueZero;
1668 napi_get_value_double(env, args[0], &valueZero);
1669 double firstParam;
1670 napi_get_value_double(env, args[1], &firstParam);
1671 int secondParam;
1672 napi_get_value_int32(env, args[2], &secondParam);
1673
1674 double remQuoValue = remquol(valueZero, firstParam, &secondParam);
1675 napi_value result = nullptr;
1676 napi_create_double(env, remQuoValue, &result);
1677
1678 return result;
1679 }
1680
Rint(napi_env env, napi_callback_info info)1681 static napi_value Rint(napi_env env, napi_callback_info info)
1682 {
1683 size_t argc = PARAM_1;
1684 napi_value args[1] = {nullptr};
1685 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1686 double valueZero;
1687 napi_get_value_double(env, args[0], &valueZero);
1688 int rinTValue = rint(valueZero);
1689 napi_value result = nullptr;
1690 napi_create_int32(env, rinTValue, &result);
1691
1692 return result;
1693 }
1694
Rintf(napi_env env, napi_callback_info info)1695 static napi_value Rintf(napi_env env, napi_callback_info info)
1696 {
1697 size_t argc = PARAM_1;
1698 napi_value args[1] = {nullptr};
1699 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1700 double valueZero;
1701 napi_get_value_double(env, args[0], &valueZero);
1702 double rinTfValue = rintf(valueZero);
1703 napi_value result = nullptr;
1704 napi_create_double(env, rinTfValue, &result);
1705
1706 return result;
1707 }
1708
Rintl(napi_env env, napi_callback_info info)1709 static napi_value Rintl(napi_env env, napi_callback_info info)
1710 {
1711 size_t argc = PARAM_1;
1712 napi_value args[1] = {nullptr};
1713 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1714 double valueZero;
1715 napi_get_value_double(env, args[0], &valueZero);
1716 double rinTLValue = rintl(valueZero);
1717 napi_value result = nullptr;
1718 napi_create_double(env, rinTLValue, &result);
1719
1720 return result;
1721 }
1722
Round(napi_env env, napi_callback_info info)1723 static napi_value Round(napi_env env, napi_callback_info info)
1724 {
1725 size_t argc = PARAM_1;
1726 napi_value args[1] = {nullptr};
1727 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1728 double valueZero;
1729 napi_get_value_double(env, args[0], &valueZero);
1730 double roundValue = round(valueZero);
1731 napi_value result = nullptr;
1732 napi_create_double(env, roundValue, &result);
1733
1734 return result;
1735 }
1736
Roundf(napi_env env, napi_callback_info info)1737 static napi_value Roundf(napi_env env, napi_callback_info info)
1738 {
1739 size_t argc = PARAM_1;
1740 napi_value args[1] = {nullptr};
1741 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1742 double valueZero;
1743 napi_get_value_double(env, args[0], &valueZero);
1744 double roundFValue = roundf(valueZero);
1745 napi_value result = nullptr;
1746 napi_create_double(env, roundFValue, &result);
1747
1748 return result;
1749 }
1750
Roundl(napi_env env, napi_callback_info info)1751 static napi_value Roundl(napi_env env, napi_callback_info info)
1752 {
1753 size_t argc = PARAM_1;
1754 napi_value args[1] = {nullptr};
1755 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1756 double valueZero;
1757 napi_get_value_double(env, args[0], &valueZero);
1758 double roundLValue = roundl(valueZero);
1759 napi_value result = nullptr;
1760 napi_create_int32(env, roundLValue, &result);
1761
1762 return result;
1763 }
1764
Scalbln(napi_env env, napi_callback_info info)1765 static napi_value Scalbln(napi_env env, napi_callback_info info)
1766 {
1767 size_t argc = PARAM_2;
1768 napi_value args[2] = {nullptr};
1769 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1770 double valueZero;
1771 napi_get_value_double(env, args[0], &valueZero);
1772 double firstParam;
1773 napi_get_value_double(env, args[1], &firstParam);
1774 double scaLBlnValue = scalbln(valueZero, firstParam);
1775 napi_value result = nullptr;
1776 napi_create_double(env, scaLBlnValue, &result);
1777
1778 return result;
1779 }
1780
Tan(napi_env env, napi_callback_info info)1781 static napi_value Tan(napi_env env, napi_callback_info info)
1782 {
1783 size_t argc = PARAM_1;
1784 napi_value args[1] = {nullptr};
1785 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1786 double value;
1787 napi_get_value_double(env, args[0], &value);
1788 double tan_value = tan(value);
1789 napi_value result = nullptr;
1790 napi_create_double(env, tan_value, &result);
1791 return result;
1792 }
1793
Tanf(napi_env env, napi_callback_info info)1794 static napi_value Tanf(napi_env env, napi_callback_info info)
1795 {
1796 size_t argc = PARAM_1;
1797 napi_value args[1] = {nullptr};
1798 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1799 double value;
1800 napi_get_value_double(env, args[0], &value);
1801 double tanFValue = tanf(value);
1802 napi_value result = nullptr;
1803 napi_create_double(env, tanFValue, &result);
1804 return result;
1805 }
1806
Tanh(napi_env env, napi_callback_info info)1807 static napi_value Tanh(napi_env env, napi_callback_info info)
1808 {
1809 size_t argc = PARAM_1;
1810 napi_value args[1] = {nullptr};
1811 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1812 double value;
1813 napi_get_value_double(env, args[0], &value);
1814 double tanHValue = tanh(value);
1815 napi_value result = nullptr;
1816 napi_create_double(env, tanHValue, &result);
1817 return result;
1818 }
1819
Tanhf(napi_env env, napi_callback_info info)1820 static napi_value Tanhf(napi_env env, napi_callback_info info)
1821 {
1822 size_t argc = PARAM_1;
1823 napi_value args[1] = {nullptr};
1824 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1825 double value;
1826 napi_get_value_double(env, args[0], &value);
1827 double tanHfValue = tanhf(value);
1828 napi_value result = nullptr;
1829 napi_create_double(env, tanHfValue, &result);
1830 return result;
1831 }
1832
Tanhl(napi_env env, napi_callback_info info)1833 static napi_value Tanhl(napi_env env, napi_callback_info info)
1834 {
1835 size_t argc = PARAM_1;
1836 napi_value args[1] = {nullptr};
1837 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1838 double value;
1839 napi_get_value_double(env, args[0], &value);
1840 double tanHlValue = tanhl(value);
1841 napi_value result = nullptr;
1842 napi_create_double(env, tanHlValue, &result);
1843 return result;
1844 }
1845
Tanl(napi_env env, napi_callback_info info)1846 static napi_value Tanl(napi_env env, napi_callback_info info)
1847 {
1848 size_t argc = PARAM_1;
1849 napi_value args[1] = {nullptr};
1850 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1851 double value;
1852 napi_get_value_double(env, args[0], &value);
1853 double tanLValue = tanl(value);
1854 napi_value result = nullptr;
1855 napi_create_double(env, tanLValue, &result);
1856 return result;
1857 }
1858
Tgamma(napi_env env, napi_callback_info info)1859 static napi_value Tgamma(napi_env env, napi_callback_info info)
1860 {
1861 size_t argc = PARAM_1;
1862 napi_value args[1] = {nullptr};
1863 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1864 double valueZero;
1865 napi_get_value_double(env, args[0], &valueZero);
1866 double tgaMmaValue = tgamma(valueZero);
1867 napi_value result = nullptr;
1868 napi_create_double(env, tgaMmaValue, &result);
1869 return result;
1870 }
1871
Tgammaf(napi_env env, napi_callback_info info)1872 static napi_value Tgammaf(napi_env env, napi_callback_info info)
1873 {
1874 size_t argc = PARAM_1;
1875 napi_value args[1] = {nullptr};
1876 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1877 double valueZero;
1878 napi_get_value_double(env, args[0], &valueZero);
1879 double tgaMmaFValue = tgammaf(valueZero);
1880 napi_value result = nullptr;
1881 napi_create_double(env, tgaMmaFValue, &result);
1882 return result;
1883 }
1884
Tgammal(napi_env env, napi_callback_info info)1885 static napi_value Tgammal(napi_env env, napi_callback_info info)
1886 {
1887 size_t argc = PARAM_1;
1888 napi_value args[1] = {nullptr};
1889 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1890 double valueZero;
1891 napi_get_value_double(env, args[0], &valueZero);
1892 double tgaMmaLValue = tgammal(valueZero);
1893 napi_value result = nullptr;
1894 napi_create_double(env, tgaMmaLValue, &result);
1895 return result;
1896 }
1897
Scalblnl(napi_env env, napi_callback_info info)1898 static napi_value Scalblnl(napi_env env, napi_callback_info info)
1899 {
1900 size_t argc = PARAM_2;
1901 napi_value args[2] = {nullptr};
1902 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1903 double first;
1904 napi_get_value_double(env, args[0], &first);
1905 int64_t second;
1906 napi_get_value_int64(env, args[1], &second);
1907 double value = scalblnl(first, second);
1908 napi_value result;
1909 napi_create_double(env, value, &result);
1910 return result;
1911 }
1912
Scalbn(napi_env env, napi_callback_info info)1913 static napi_value Scalbn(napi_env env, napi_callback_info info)
1914 {
1915 size_t argc = PARAM_2;
1916 napi_value args[2] = {nullptr};
1917 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1918 double first;
1919 napi_get_value_double(env, args[0], &first);
1920 int second;
1921 napi_get_value_int32(env, args[1], &second);
1922 double value = scalbn(first, second);
1923 napi_value result;
1924 napi_create_double(env, value, &result);
1925 return result;
1926 }
1927
Scalblnf(napi_env env, napi_callback_info info)1928 static napi_value Scalblnf(napi_env env, napi_callback_info info)
1929 {
1930 size_t argc = PARAM_2;
1931 napi_value args[2] = {nullptr};
1932 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1933 double first;
1934 napi_get_value_double(env, args[0], &first);
1935 int64_t second;
1936 napi_get_value_int64(env, args[1], &second);
1937 double value = scalblnf(first, second);
1938 napi_value result;
1939 napi_create_double(env, value, &result);
1940 return result;
1941 }
1942
Scalbnf(napi_env env, napi_callback_info info)1943 static napi_value Scalbnf(napi_env env, napi_callback_info info)
1944 {
1945 size_t argc = PARAM_2;
1946 napi_value args[2] = {nullptr};
1947 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1948 double first;
1949 napi_get_value_double(env, args[0], &first);
1950 int64_t second;
1951 napi_get_value_int64(env, args[1], &second);
1952 double value = scalbnf(first, second);
1953 napi_value result;
1954 napi_create_double(env, value, &result);
1955 return result;
1956 }
1957
Scalbnl(napi_env env, napi_callback_info info)1958 static napi_value Scalbnl(napi_env env, napi_callback_info info)
1959 {
1960 size_t argc = PARAM_2;
1961 napi_value args[2] = {nullptr};
1962 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1963 double first;
1964 napi_get_value_double(env, args[0], &first);
1965 int second;
1966 napi_get_value_int32(env, args[1], &second);
1967 double value = scalbnl(first, second);
1968 napi_value result;
1969 napi_create_double(env, value, &result);
1970 return result;
1971 }
1972
Significand(napi_env env, napi_callback_info info)1973 static napi_value Significand(napi_env env, napi_callback_info info)
1974 {
1975 size_t argc = PARAM_1;
1976 napi_value args[1] = {nullptr};
1977 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1978 double valueFirst;
1979 napi_get_value_double(env, args[0], &valueFirst);
1980 double sigval = significand(valueFirst);
1981 napi_value result;
1982 napi_create_double(env, sigval, &result);
1983 return result;
1984 }
1985
Significandf(napi_env env, napi_callback_info info)1986 static napi_value Significandf(napi_env env, napi_callback_info info)
1987 {
1988 size_t argc = PARAM_1;
1989 napi_value args[1] = {nullptr};
1990 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
1991 double valueFirst;
1992 napi_get_value_double(env, args[0], &valueFirst);
1993 double sigval = significandf(valueFirst);
1994 napi_value result;
1995 napi_create_double(env, sigval, &result);
1996 return result;
1997 }
ATanH(napi_env env, napi_callback_info info)1998 static napi_value ATanH(napi_env env, napi_callback_info info)
1999 {
2000 size_t argc = PARAM_1;
2001 napi_value args[1] = {nullptr};
2002 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2003 double firstParam;
2004 napi_get_value_double(env, args[0], &firstParam);
2005 napi_value result = nullptr;
2006
2007 double resultValue = atanh(firstParam);
2008 napi_create_double(env, resultValue, &result);
2009
2010 return result;
2011 }
2012
ATanHF(napi_env env, napi_callback_info info)2013 static napi_value ATanHF(napi_env env, napi_callback_info info)
2014 {
2015 size_t argc = PARAM_1;
2016 napi_value args[1] = {nullptr};
2017 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2018 double firstParam;
2019 napi_get_value_double(env, args[0], &firstParam);
2020 napi_value result = nullptr;
2021
2022 double resultValue = atanhf(firstParam);
2023 napi_create_double(env, resultValue, &result);
2024
2025 return result;
2026 }
2027
ATanHL(napi_env env, napi_callback_info info)2028 static napi_value ATanHL(napi_env env, napi_callback_info info)
2029 {
2030 size_t argc = PARAM_1;
2031 napi_value args[1] = {nullptr};
2032 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2033 double firstParam;
2034 napi_get_value_double(env, args[0], &firstParam);
2035 napi_value result = nullptr;
2036
2037 double resultValue = atanhl(firstParam);
2038 napi_create_double(env, resultValue, &result);
2039 return result;
2040 }
ModF(napi_env env, napi_callback_info info)2041 static napi_value ModF(napi_env env, napi_callback_info info)
2042 {
2043 size_t argc = PARAM_1;
2044 napi_value args[1] = {nullptr};
2045 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2046 double firstParam;
2047 napi_get_value_double(env, args[0], &firstParam);
2048 napi_value result = nullptr;
2049 double value = PARAM_0;
2050 modf(firstParam, &value);
2051 napi_create_double(env, value, &result);
2052 return result;
2053 }
ModFf(napi_env env, napi_callback_info info)2054 static napi_value ModFf(napi_env env, napi_callback_info info)
2055 {
2056 size_t argc = PARAM_1;
2057 napi_value args[1] = {nullptr};
2058 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2059 double firstParam;
2060 napi_get_value_double(env, args[0], &firstParam);
2061 napi_value result = nullptr;
2062 float value = 0.0;
2063 modff(firstParam, &value);
2064 napi_create_double(env, value, &result);
2065 return result;
2066 }
ModFl(napi_env env, napi_callback_info info)2067 static napi_value ModFl(napi_env env, napi_callback_info info)
2068 {
2069 size_t argc = PARAM_1;
2070 napi_value args[1] = {nullptr};
2071 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2072 double firstParam;
2073 napi_get_value_double(env, args[0], &firstParam);
2074 napi_value result = nullptr;
2075 long double value = PARAM_0;
2076 modfl(firstParam, &value);
2077 napi_create_double(env, value, &result);
2078
2079 return result;
2080 }
MRand48(napi_env env, napi_callback_info info)2081 static napi_value MRand48(napi_env env, napi_callback_info info)
2082 {
2083 size_t argc = PARAM_1;
2084 napi_value args[1] = {nullptr};
2085 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2086 double firstParam;
2087 napi_get_value_double(env, args[0], &firstParam);
2088 napi_value result = nullptr;
2089 int value = PARAM_0;
2090 long ret = mrand48();
2091 if (ret < pow(TWO, THIRTYONE) && ret > -pow(TWO, THIRTYONE)) {
2092 value = PARAM_0;
2093 } else {
2094 value = ERROR;
2095 }
2096 napi_create_double(env, value, &result);
2097 return result;
2098 }
2099
Pow(napi_env env, napi_callback_info info)2100 static napi_value Pow(napi_env env, napi_callback_info info)
2101 {
2102 size_t argc = PARAM_2;
2103 napi_value args[2] = {nullptr};
2104 double valueFirst;
2105 double valueSecond;
2106 napi_value result = nullptr;
2107
2108 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2109 napi_get_value_double(env, args[0], &valueFirst);
2110 napi_get_value_double(env, args[1], &valueSecond);
2111 napi_create_double(env, pow(valueFirst, valueSecond), &result);
2112
2113 return result;
2114 }
2115
Powf(napi_env env, napi_callback_info info)2116 static napi_value Powf(napi_env env, napi_callback_info info)
2117 {
2118 size_t argc = PARAM_2;
2119 napi_value args[2] = {nullptr};
2120 double valueFirst;
2121 double valueSecond;
2122 napi_value result = nullptr;
2123
2124 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2125 napi_get_value_double(env, args[0], &valueFirst);
2126 napi_get_value_double(env, args[1], &valueSecond);
2127 napi_create_double(env, powf(valueFirst, valueSecond), &result);
2128
2129 return result;
2130 }
2131
Sincos(napi_env env, napi_callback_info info)2132 static napi_value Sincos(napi_env env, napi_callback_info info)
2133 {
2134 size_t argc = PARAM_2;
2135 napi_value args[2] = {nullptr};
2136 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2137 double dLon;
2138 napi_get_value_double(env, args[0], &dLon);
2139
2140 double sindLon;
2141 double cosdLon;
2142 int intValue;
2143 napi_get_value_int32(env, args[1], &intValue);
2144 sincos(dLon, &sindLon, &cosdLon);
2145 double napi_double_value;
2146 if (intValue == 1) {
2147 napi_double_value = sindLon;
2148 } else {
2149 napi_double_value = cosdLon;
2150 }
2151 napi_value result = nullptr;
2152 napi_create_double(env, napi_double_value, &result);
2153 return result;
2154 }
2155
Sincosl(napi_env env, napi_callback_info info)2156 static napi_value Sincosl(napi_env env, napi_callback_info info)
2157 {
2158 size_t argc = PARAM_2;
2159 napi_value args[2] = {nullptr};
2160 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2161 double dou;
2162 napi_get_value_double(env, args[0], &dou);
2163 int intValue;
2164 napi_get_value_int32(env, args[1], &intValue);
2165 long double dLon = dou;
2166 long double sindou;
2167 long double cosdou;
2168 sincosl(dLon, &sindou, &cosdou);
2169 double napi_double_value;
2170 if (intValue == 1) {
2171 napi_double_value = sindou;
2172 } else {
2173 napi_double_value = cosdou;
2174 }
2175 napi_value result = nullptr;
2176 napi_create_double(env, napi_double_value, &result);
2177 return result;
2178 }
Sincosf(napi_env env, napi_callback_info info)2179 static napi_value Sincosf(napi_env env, napi_callback_info info)
2180 {
2181 size_t argc = PARAM_2;
2182 napi_value args[2] = {nullptr};
2183 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2184 double dou;
2185 napi_get_value_double(env, args[0], &dou);
2186 int intValue;
2187 napi_get_value_int32(env, args[1], &intValue);
2188 float dLon = dou;
2189 float sindou;
2190 float cosdou;
2191 sincosf(dLon, &sindou, &cosdou);
2192 float napi_double_value;
2193 if (intValue == 1) {
2194 napi_double_value = sindou;
2195 } else {
2196 napi_double_value = cosdou;
2197 }
2198 napi_value result = nullptr;
2199 napi_create_double(env, napi_double_value, &result);
2200 return result;
2201 }
2202
Scalb(napi_env env, napi_callback_info info)2203 static napi_value Scalb(napi_env env, napi_callback_info info)
2204 {
2205 size_t argc = PARAM_2;
2206 napi_value args[2] = {nullptr};
2207 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2208 double param;
2209 napi_get_value_double(env, args[0], ¶m);
2210 double paramExp;
2211 napi_get_value_double(env, args[1], ¶mExp);
2212 double resultValue = scalb(param, paramExp);
2213 napi_value result = nullptr;
2214 napi_create_double(env, resultValue, &result);
2215
2216 return result;
2217 }
2218
Scalbf(napi_env env, napi_callback_info info)2219 static napi_value Scalbf(napi_env env, napi_callback_info info)
2220 {
2221 size_t argc = PARAM_2;
2222 napi_value args[2] = {nullptr};
2223 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2224 double param;
2225 napi_get_value_double(env, args[0], ¶m);
2226 double paramExp;
2227 napi_get_value_double(env, args[1], ¶mExp);
2228 double resultValue = scalbf(param, paramExp);
2229 napi_value result = nullptr;
2230 napi_create_double(env, resultValue, &result);
2231
2232 return result;
2233 }
2234
Trunc(napi_env env, napi_callback_info info)2235 static napi_value Trunc(napi_env env, napi_callback_info info)
2236 {
2237 size_t argc = PARAM_1;
2238 napi_value args[1] = {nullptr};
2239 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2240 double param;
2241 napi_get_value_double(env, args[0], ¶m);
2242 double resultValue = trunc(param);
2243
2244 napi_value result = nullptr;
2245 napi_create_double(env, resultValue, &result);
2246
2247 return result;
2248 }
2249
Truncf(napi_env env, napi_callback_info info)2250 static napi_value Truncf(napi_env env, napi_callback_info info)
2251 {
2252 size_t argc = PARAM_1;
2253 napi_value args[1] = {nullptr};
2254 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2255 double param;
2256 napi_get_value_double(env, args[0], ¶m);
2257 double resultValue = truncf(param);
2258 napi_value result = nullptr;
2259 napi_create_double(env, resultValue, &result);
2260
2261 return result;
2262 }
2263
Truncl(napi_env env, napi_callback_info info)2264 static napi_value Truncl(napi_env env, napi_callback_info info)
2265 {
2266 size_t argc = PARAM_1;
2267 napi_value args[1] = {nullptr};
2268 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2269 double param;
2270 napi_get_value_double(env, args[0], ¶m);
2271 double resultValue = truncl(param);
2272 napi_value result = nullptr;
2273 napi_create_double(env, resultValue, &result);
2274
2275 return result;
2276 }
2277
Y0(napi_env env, napi_callback_info info)2278 static napi_value Y0(napi_env env, napi_callback_info info)
2279 {
2280 size_t argc = PARAM_1;
2281 napi_value args[1] = {nullptr};
2282 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2283 double param;
2284 napi_get_value_double(env, args[0], ¶m);
2285 double resultValue = y0(param);
2286 napi_value result = nullptr;
2287 napi_create_double(env, resultValue, &result);
2288
2289 return result;
2290 }
2291
Y0f(napi_env env, napi_callback_info info)2292 static napi_value Y0f(napi_env env, napi_callback_info info)
2293 {
2294 size_t argc = PARAM_1;
2295 napi_value args[1] = {nullptr};
2296 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2297 double param;
2298 napi_get_value_double(env, args[0], ¶m);
2299 double resultValue = y0f(param);
2300 napi_value result = nullptr;
2301 napi_create_double(env, resultValue, &result);
2302
2303 return result;
2304 }
2305
Y1(napi_env env, napi_callback_info info)2306 static napi_value Y1(napi_env env, napi_callback_info info)
2307 {
2308 size_t argc = PARAM_1;
2309 napi_value args[1] = {nullptr};
2310 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2311 double param;
2312 napi_get_value_double(env, args[0], ¶m);
2313 double resultValue = y1(param);
2314 napi_value result = nullptr;
2315 napi_create_double(env, resultValue, &result);
2316
2317 return result;
2318 }
2319
Y1f(napi_env env, napi_callback_info info)2320 static napi_value Y1f(napi_env env, napi_callback_info info)
2321 {
2322 size_t argc = PARAM_1;
2323 napi_value args[1] = {nullptr};
2324 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2325 double param;
2326 napi_get_value_double(env, args[0], ¶m);
2327 double resultValue = y1f(param);
2328 napi_value result = nullptr;
2329 napi_create_double(env, resultValue, &result);
2330
2331 return result;
2332 }
2333
Fpclassify(napi_env env, napi_callback_info info)2334 static napi_value Fpclassify(napi_env env, napi_callback_info info)
2335 {
2336 size_t argc = PARAM_1;
2337 napi_value args[1] = {nullptr};
2338 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2339 double param;
2340 napi_get_value_double(env, args[0], ¶m);
2341
2342 double value = __fpclassify(param);
2343 napi_value result;
2344 napi_create_double(env, value, &result);
2345 return result;
2346 }
2347
Fpclassifyf(napi_env env, napi_callback_info info)2348 static napi_value Fpclassifyf(napi_env env, napi_callback_info info)
2349 {
2350 size_t argc = PARAM_1;
2351 napi_value args[1] = {nullptr};
2352 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2353 double param;
2354 napi_get_value_double(env, args[0], ¶m);
2355
2356 double value = __fpclassifyf(param);
2357 napi_value result;
2358 napi_create_double(env, value, &result);
2359 return result;
2360 }
2361
Fpclassifyl(napi_env env, napi_callback_info info)2362 static napi_value Fpclassifyl(napi_env env, napi_callback_info info)
2363 {
2364 size_t argc = PARAM_1;
2365 napi_value args[1] = {nullptr};
2366 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2367 double param;
2368 napi_get_value_double(env, args[0], ¶m);
2369
2370 double value = __fpclassifyl(param);
2371 napi_value result;
2372 napi_create_double(env, value, &result);
2373 return result;
2374 }
2375
Signbit(napi_env env, napi_callback_info info)2376 static napi_value Signbit(napi_env env, napi_callback_info info)
2377 {
2378 size_t argc = PARAM_1;
2379 napi_value args[1] = {nullptr};
2380 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2381 double param;
2382 napi_get_value_double(env, args[0], ¶m);
2383
2384 double value = __signbit(param);
2385 napi_value result;
2386 napi_create_double(env, value, &result);
2387 return result;
2388 }
2389
Signbitf(napi_env env, napi_callback_info info)2390 static napi_value Signbitf(napi_env env, napi_callback_info info)
2391 {
2392 size_t argc = PARAM_1;
2393 napi_value args[1] = {nullptr};
2394 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2395 double param;
2396 napi_get_value_double(env, args[0], ¶m);
2397
2398 double value = __signbitf(param);
2399 napi_value result;
2400 napi_create_double(env, value, &result);
2401 return result;
2402 }
2403
Signbitl(napi_env env, napi_callback_info info)2404 static napi_value Signbitl(napi_env env, napi_callback_info info)
2405 {
2406 size_t argc = PARAM_1;
2407 napi_value args[1] = {nullptr};
2408 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2409 double param;
2410 napi_get_value_double(env, args[0], ¶m);
2411
2412 double value = __signbitl(param);
2413 napi_value result;
2414 napi_create_double(env, value, &result);
2415 return result;
2416 }
2417
CBrt(napi_env env, napi_callback_info info)2418 static napi_value CBrt(napi_env env, napi_callback_info info)
2419 {
2420 size_t argc = PARAM_1;
2421 napi_value args[1] = {nullptr};
2422 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2423 double value0;
2424 napi_get_value_double(env, args[0], &value0);
2425 napi_value result = nullptr;
2426
2427 double resultValue = cbrt(value0);
2428 napi_create_double(env, resultValue, &result);
2429
2430 return result;
2431 }
2432
CBrtL(napi_env env, napi_callback_info info)2433 static napi_value CBrtL(napi_env env, napi_callback_info info)
2434 {
2435 size_t argc = PARAM_1;
2436 napi_value args[1] = {nullptr};
2437 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2438 double value0;
2439 napi_get_value_double(env, args[0], &value0);
2440 napi_value result = nullptr;
2441
2442 double resultValue = cbrtl(value0);
2443 napi_create_double(env, resultValue, &result);
2444
2445 return result;
2446 }
2447
CBrtF(napi_env env, napi_callback_info info)2448 static napi_value CBrtF(napi_env env, napi_callback_info info)
2449 {
2450 size_t argc = PARAM_1;
2451 napi_value args[1] = {nullptr};
2452 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2453 double value0;
2454 napi_get_value_double(env, args[0], &value0);
2455 napi_value result = nullptr;
2456
2457 double resultValue = cbrtf(value0);
2458 napi_create_double(env, resultValue, &result);
2459
2460 return result;
2461 }
2462
Frexp(napi_env env, napi_callback_info info)2463 static napi_value Frexp(napi_env env, napi_callback_info info)
2464 {
2465 size_t argc = PARAM_1;
2466 napi_value args[1] = {nullptr};
2467 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2468 double value0;
2469 napi_get_value_double(env, args[0], &value0);
2470 int exp;
2471 napi_value result = nullptr;
2472
2473 double resultValue = frexp(value0, &exp);
2474 napi_create_double(env, resultValue, &result);
2475
2476 return result;
2477 }
2478
Frexpf(napi_env env, napi_callback_info info)2479 static napi_value Frexpf(napi_env env, napi_callback_info info)
2480 {
2481 size_t argc = PARAM_1;
2482 napi_value args[1] = {nullptr};
2483 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2484 double value0;
2485 napi_get_value_double(env, args[0], &value0);
2486 int exp;
2487 napi_value result = nullptr;
2488
2489 double resultValue = frexpf(value0, &exp);
2490 napi_create_double(env, resultValue, &result);
2491
2492 return result;
2493 }
2494
Frexpl(napi_env env, napi_callback_info info)2495 static napi_value Frexpl(napi_env env, napi_callback_info info)
2496 {
2497 size_t argc = PARAM_1;
2498 napi_value args[1] = {nullptr};
2499 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2500 double value0;
2501 napi_get_value_double(env, args[0], &value0);
2502 int exp;
2503 napi_value result = nullptr;
2504
2505 double resultValue = frexpl(value0, &exp);
2506 napi_create_double(env, resultValue, &result);
2507
2508 return result;
2509 }
2510
Powl(napi_env env, napi_callback_info info)2511 static napi_value Powl(napi_env env, napi_callback_info info)
2512 {
2513 size_t argc = PARAM_2;
2514 napi_value args[2] = {nullptr};
2515 double valueFirst;
2516 double valueSecond;
2517 napi_value result = nullptr;
2518
2519 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2520 napi_get_value_double(env, args[0], &valueFirst);
2521 napi_get_value_double(env, args[1], &valueSecond);
2522 napi_create_double(env, powl(valueFirst, valueSecond), &result);
2523
2524 return result;
2525 }
2526
NextToward(napi_env env, napi_callback_info info)2527 static napi_value NextToward(napi_env env, napi_callback_info info)
2528 {
2529 size_t argc = PARAM_2;
2530 napi_value args[2] = {nullptr};
2531 double valueFirst;
2532 double valueSecond;
2533 napi_value result = nullptr;
2534
2535 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2536 napi_get_value_double(env, args[0], &valueFirst);
2537 napi_get_value_double(env, args[1], &valueSecond);
2538 napi_create_double(env, nexttoward(valueFirst, valueSecond), &result);
2539
2540 return result;
2541 }
2542
NextTowardF(napi_env env, napi_callback_info info)2543 static napi_value NextTowardF(napi_env env, napi_callback_info info)
2544 {
2545 size_t argc = PARAM_2;
2546 napi_value args[2] = {nullptr};
2547 double valueFirst;
2548 double valueSecond;
2549 napi_value result = nullptr;
2550
2551 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2552 napi_get_value_double(env, args[0], &valueFirst);
2553 napi_get_value_double(env, args[1], &valueSecond);
2554 napi_create_double(env, nexttowardf(valueFirst, valueSecond), &result);
2555
2556 return result;
2557 }
2558
NextTowardL(napi_env env, napi_callback_info info)2559 static napi_value NextTowardL(napi_env env, napi_callback_info info)
2560 {
2561 size_t argc = PARAM_2;
2562 napi_value args[2] = {nullptr};
2563 double valueFirst;
2564 double valueSecond;
2565 napi_value result = nullptr;
2566
2567 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2568 napi_get_value_double(env, args[0], &valueFirst);
2569 napi_get_value_double(env, args[1], &valueSecond);
2570 napi_create_double(env, nexttowardl(valueFirst, valueSecond), &result);
2571
2572 return result;
2573 }
2574
Nextafter(napi_env env, napi_callback_info info)2575 static napi_value Nextafter(napi_env env, napi_callback_info info)
2576 {
2577 size_t argc = PARAM_2;
2578 napi_value args[2] = {nullptr};
2579 double valueFirst;
2580 double valueSecond;
2581 napi_value result = nullptr;
2582
2583 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2584 napi_get_value_double(env, args[0], &valueFirst);
2585 napi_get_value_double(env, args[1], &valueSecond);
2586 napi_create_double(env, nextafter(valueFirst, valueSecond), &result);
2587
2588 return result;
2589 }
2590
Nextafterf(napi_env env, napi_callback_info info)2591 static napi_value Nextafterf(napi_env env, napi_callback_info info)
2592 {
2593 size_t argc = PARAM_2;
2594 napi_value args[2] = {nullptr};
2595 double valueFirst;
2596 double valueSecond;
2597 napi_value result = nullptr;
2598
2599 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2600 napi_get_value_double(env, args[0], &valueFirst);
2601 napi_get_value_double(env, args[1], &valueSecond);
2602 napi_create_double(env, nextafterf(valueFirst, valueSecond), &result);
2603
2604 return result;
2605 }
2606
Nextafterl(napi_env env, napi_callback_info info)2607 static napi_value Nextafterl(napi_env env, napi_callback_info info)
2608 {
2609 size_t argc = PARAM_2;
2610 napi_value args[2] = {nullptr};
2611 double valueFirst;
2612 double valueSecond;
2613 napi_value result = nullptr;
2614
2615 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2616 napi_get_value_double(env, args[0], &valueFirst);
2617 napi_get_value_double(env, args[1], &valueSecond);
2618 napi_create_double(env, nextafterl(valueFirst, valueSecond), &result);
2619
2620 return result;
2621 }
2622
Nearbyint(napi_env env, napi_callback_info info)2623 static napi_value Nearbyint(napi_env env, napi_callback_info info)
2624 {
2625 size_t argc = PARAM_1;
2626 napi_value args[1] = {nullptr};
2627 double valueFirst;
2628 napi_value result = nullptr;
2629
2630 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2631 napi_get_value_double(env, args[0], &valueFirst);
2632 napi_create_double(env, nearbyint(valueFirst), &result);
2633
2634 return result;
2635 }
Nearbyintf(napi_env env, napi_callback_info info)2636 static napi_value Nearbyintf(napi_env env, napi_callback_info info)
2637 {
2638 size_t argc = PARAM_1;
2639 napi_value args[1] = {nullptr};
2640 double valueFirst;
2641 napi_value result = nullptr;
2642
2643 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2644 napi_get_value_double(env, args[0], &valueFirst);
2645 napi_create_double(env, nearbyintf(valueFirst), &result);
2646
2647 return result;
2648 }
Nearbyintl(napi_env env, napi_callback_info info)2649 static napi_value Nearbyintl(napi_env env, napi_callback_info info)
2650 {
2651 size_t argc = PARAM_1;
2652 napi_value args[1] = {nullptr};
2653 double valueFirst;
2654 napi_value result = nullptr;
2655
2656 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2657 napi_get_value_double(env, args[0], &valueFirst);
2658 napi_create_double(env, nearbyintl(valueFirst), &result);
2659
2660 return result;
2661 }
Nan(napi_env env, napi_callback_info info)2662 static napi_value Nan(napi_env env, napi_callback_info info)
2663 {
2664 size_t argc = PARAM_1;
2665 napi_value args[1] = {nullptr};
2666 size_t size = STRLENGTH;
2667 char *value = static_cast<char *>(malloc(sizeof(char) * size));
2668 size_t actualVal;
2669 napi_value result = nullptr;
2670
2671 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2672 napi_get_value_string_utf8(env, args[0], value, size, &actualVal);
2673 napi_create_double(env, nan(value), &result);
2674
2675 return result;
2676 }
2677
Nanf(napi_env env, napi_callback_info info)2678 static napi_value Nanf(napi_env env, napi_callback_info info)
2679 {
2680 size_t argc = PARAM_1;
2681 napi_value args[1] = {nullptr};
2682 size_t size = STRLENGTH;
2683 char *value = static_cast<char *>(malloc(sizeof(char) * size));
2684 size_t actualVal;
2685 napi_value result = nullptr;
2686
2687 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2688 napi_get_value_string_utf8(env, args[0], value, size, &actualVal);
2689 napi_create_double(env, nanf(value), &result);
2690
2691 return result;
2692 }
2693
Nanl(napi_env env, napi_callback_info info)2694 static napi_value Nanl(napi_env env, napi_callback_info info)
2695 {
2696 size_t argc = PARAM_1;
2697 napi_value args[1] = {nullptr};
2698 size_t size = STRLENGTH;
2699 char *value = static_cast<char *>(malloc(sizeof(char) * size));
2700 size_t actualVal;
2701 napi_value result = nullptr;
2702
2703 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2704 napi_get_value_string_utf8(env, args[0], value, size, &actualVal);
2705 napi_create_double(env, nanf(value), &result);
2706
2707 return result;
2708 }
LRint(napi_env env, napi_callback_info info)2709 static napi_value LRint(napi_env env, napi_callback_info info)
2710 {
2711 size_t argc = PARAM_1;
2712 napi_value args[1] = {nullptr};
2713 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2714 double valueZero;
2715 napi_get_value_double(env, args[0], &valueZero);
2716 int lrintValue = lrint(valueZero);
2717 napi_value result = nullptr;
2718 napi_create_int32(env, lrintValue, &result);
2719
2720 return result;
2721 }
LRintl(napi_env env, napi_callback_info info)2722 static napi_value LRintl(napi_env env, napi_callback_info info)
2723 {
2724 size_t argc = PARAM_1;
2725 napi_value args[1] = {nullptr};
2726 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2727 double valueZero;
2728 napi_get_value_double(env, args[0], &valueZero);
2729 double lrintl_value = lrintl(valueZero);
2730 napi_value result = nullptr;
2731 napi_create_double(env, lrintl_value, &result);
2732
2733 return result;
2734 }
2735
LRound(napi_env env, napi_callback_info info)2736 static napi_value LRound(napi_env env, napi_callback_info info)
2737 {
2738 size_t argc = PARAM_1;
2739 napi_value args[1] = {nullptr};
2740 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2741 double valueZero;
2742 napi_get_value_double(env, args[0], &valueZero);
2743 double lroundValue = lround(valueZero);
2744 napi_value result = nullptr;
2745 napi_create_double(env, lroundValue, &result);
2746
2747 return result;
2748 }
2749
LRoundf(napi_env env, napi_callback_info info)2750 static napi_value LRoundf(napi_env env, napi_callback_info info)
2751 {
2752 size_t argc = PARAM_1;
2753 napi_value args[1] = {nullptr};
2754 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2755 double valueZero;
2756 napi_get_value_double(env, args[0], &valueZero);
2757 double lroundf_value = lroundf(valueZero);
2758 napi_value result = nullptr;
2759 napi_create_double(env, lroundf_value, &result);
2760
2761 return result;
2762 }
2763
LRoundl(napi_env env, napi_callback_info info)2764 static napi_value LRoundl(napi_env env, napi_callback_info info)
2765 {
2766 size_t argc = PARAM_1;
2767 napi_value args[1] = {nullptr};
2768 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2769 double valueZero;
2770 napi_get_value_double(env, args[0], &valueZero);
2771 double lroundl_value = lroundl(valueZero);
2772 napi_value result = nullptr;
2773 napi_create_int32(env, lroundl_value, &result);
2774
2775 return result;
2776 }
2777
HYpot(napi_env env, napi_callback_info info)2778 static napi_value HYpot(napi_env env, napi_callback_info info)
2779 {
2780 size_t argc = PARAM_2;
2781 napi_value args[2] = {nullptr};
2782 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2783 double x;
2784 double y;
2785 napi_get_value_double(env, args[0], &x);
2786 napi_get_value_double(env, args[1], &y);
2787 napi_value result = nullptr;
2788
2789 double resultValue = hypot(x, y);
2790 napi_create_double(env, resultValue, &result);
2791
2792 return result;
2793 }
2794
HYpotf(napi_env env, napi_callback_info info)2795 static napi_value HYpotf(napi_env env, napi_callback_info info)
2796 {
2797 size_t argc = PARAM_2;
2798 napi_value args[2] = {nullptr};
2799 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2800 double x;
2801 double y;
2802 napi_get_value_double(env, args[0], &x);
2803 napi_get_value_double(env, args[1], &y);
2804 napi_value result = nullptr;
2805
2806 double resultValue = hypotf(x, y);
2807 napi_create_double(env, resultValue, &result);
2808
2809 return result;
2810 }
2811
HYpotl(napi_env env, napi_callback_info info)2812 static napi_value HYpotl(napi_env env, napi_callback_info info)
2813 {
2814 size_t argc = PARAM_2;
2815 napi_value args[2] = {nullptr};
2816 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2817 double x;
2818 double y;
2819 napi_get_value_double(env, args[0], &x);
2820 napi_get_value_double(env, args[1], &y);
2821 napi_value result = nullptr;
2822
2823 double resultValue = hypotl(x, y);
2824 napi_create_double(env, resultValue, &result);
2825 return result;
2826 }
ILogb(napi_env env, napi_callback_info info)2827 static napi_value ILogb(napi_env env, napi_callback_info info)
2828 {
2829 size_t argc = PARAM_1;
2830 napi_value args[1] = {nullptr};
2831 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2832 double valueZero;
2833 napi_get_value_double(env, args[0], &valueZero);
2834 double ilogb_value = ilogb(valueZero);
2835 napi_value result = nullptr;
2836 napi_create_double(env, ilogb_value, &result);
2837 return result;
2838 }
ILogbf(napi_env env, napi_callback_info info)2839 static napi_value ILogbf(napi_env env, napi_callback_info info)
2840 {
2841 size_t argc = PARAM_1;
2842 napi_value args[1] = {nullptr};
2843 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2844 double valueZero;
2845 napi_get_value_double(env, args[0], &valueZero);
2846 double ilogbf_value = ilogbf(valueZero);
2847 napi_value result = nullptr;
2848 napi_create_double(env, ilogbf_value, &result);
2849
2850 return result;
2851 }
ILogbl(napi_env env, napi_callback_info info)2852 static napi_value ILogbl(napi_env env, napi_callback_info info)
2853 {
2854 size_t argc = PARAM_1;
2855 napi_value args[1] = {nullptr};
2856 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2857 double valueZero;
2858 napi_get_value_double(env, args[0], &valueZero);
2859 double ilogbl_value = ilogbl(valueZero);
2860 napi_value result = nullptr;
2861 napi_create_double(env, ilogbl_value, &result);
2862
2863 return result;
2864 }
2865
2866 extern int signgam;
SignGam(napi_env env, napi_callback_info info)2867 static napi_value SignGam(napi_env env, napi_callback_info info)
2868 {
2869 size_t argc = PARAM_1;
2870 napi_value args[1] = {nullptr};
2871 napi_get_cb_info(env, info, &argc, args, nullptr, nullptr);
2872 double param;
2873 napi_get_value_double(env, args[0], ¶m);
2874 lgamma(param);
2875 napi_value result;
2876 int retVal = FAIL;
2877 if (signgam >= PARAM_0) {
2878 retVal = SUCCESS;
2879 } else {
2880 retVal = FAIL;
2881 }
2882 napi_create_double(env, retVal, &result);
2883 return result;
2884 }
Yn(napi_env env, napi_callback_info info)2885 static napi_value Yn(napi_env env, napi_callback_info info)
2886 {
2887 double ret = yn(PARAM_3, PARAM_30);
2888 napi_value result = nullptr;
2889 if (ret == MAGICNUM) {
2890 napi_create_double(env, PARAM_0, &result);
2891 } else {
2892 napi_create_double(env, PARAM_UNNORMAL, &result);
2893 }
2894 return result;
2895 }
Ynf(napi_env env, napi_callback_info info)2896 static napi_value Ynf(napi_env env, napi_callback_info info)
2897 {
2898 double ret = ynf(PARAM_3, PARAM_30);
2899 napi_value result = nullptr;
2900 if (ret == MAGICYNFNUM) {
2901 napi_create_double(env, PARAM_0, &result);
2902 } else {
2903 napi_create_double(env, PARAM_UNNORMAL, &result);
2904 }
2905 return result;
2906 }
2907 EXTERN_C_START
Init(napi_env env, napi_value exports)2908 static napi_value Init(napi_env env, napi_value exports)
2909 {
2910 napi_property_descriptor desc[] = {
2911 {"remainder", nullptr, Remainder, nullptr, nullptr, nullptr, napi_default, nullptr},
2912 {"remainderf", nullptr, Remainderf, nullptr, nullptr, nullptr, napi_default, nullptr},
2913 {"remainderl", nullptr, Remainderl, nullptr, nullptr, nullptr, napi_default, nullptr},
2914 {"remquo", nullptr, Remquo, nullptr, nullptr, nullptr, napi_default, nullptr},
2915 {"remquof", nullptr, Remquof, nullptr, nullptr, nullptr, napi_default, nullptr},
2916 {"remquol", nullptr, Remquol, nullptr, nullptr, nullptr, napi_default, nullptr},
2917 {"rint", nullptr, Rint, nullptr, nullptr, nullptr, napi_default, nullptr},
2918 {"rintf", nullptr, Rintf, nullptr, nullptr, nullptr, napi_default, nullptr},
2919 {"rintl", nullptr, Rintl, nullptr, nullptr, nullptr, napi_default, nullptr},
2920 {"round", nullptr, Round, nullptr, nullptr, nullptr, napi_default, nullptr},
2921 {"roundl", nullptr, Roundl, nullptr, nullptr, nullptr, napi_default, nullptr},
2922 {"roundf", nullptr, Roundf, nullptr, nullptr, nullptr, napi_default, nullptr},
2923 {"scalbln", nullptr, Scalbln, nullptr, nullptr, nullptr, napi_default, nullptr},
2924 {"tan", nullptr, Tan, nullptr, nullptr, nullptr, napi_default, nullptr},
2925 {"tanf", nullptr, Tanf, nullptr, nullptr, nullptr, napi_default, nullptr},
2926 {"tanh", nullptr, Tanh, nullptr, nullptr, nullptr, napi_default, nullptr},
2927 {"tanhf", nullptr, Tanhf, nullptr, nullptr, nullptr, napi_default, nullptr},
2928 {"tanhl", nullptr, Tanhl, nullptr, nullptr, nullptr, napi_default, nullptr},
2929 {"tanl", nullptr, Tanl, nullptr, nullptr, nullptr, napi_default, nullptr},
2930 {"tgamma", nullptr, Tgamma, nullptr, nullptr, nullptr, napi_default, nullptr},
2931 {"tgammaf", nullptr, Tgammaf, nullptr, nullptr, nullptr, napi_default, nullptr},
2932 {"tgammal", nullptr, Tgammal, nullptr, nullptr, nullptr, napi_default, nullptr},
2933 {"scalblnl", nullptr, Scalblnl, nullptr, nullptr, nullptr, napi_default, nullptr},
2934 {"scalbn", nullptr, Scalbn, nullptr, nullptr, nullptr, napi_default, nullptr},
2935 {"scalblnf", nullptr, Scalblnf, nullptr, nullptr, nullptr, napi_default, nullptr},
2936 {"scalbnf", nullptr, Scalbnf, nullptr, nullptr, nullptr, napi_default, nullptr},
2937 {"scalbnl", nullptr, Scalbnl, nullptr, nullptr, nullptr, napi_default, nullptr},
2938 {"log", nullptr, Log, nullptr, nullptr, nullptr, napi_default, nullptr},
2939 {"log10", nullptr, Log10, nullptr, nullptr, nullptr, napi_default, nullptr},
2940 {"log10l", nullptr, Log10l, nullptr, nullptr, nullptr, napi_default, nullptr},
2941 {"log10f", nullptr, Log10f, nullptr, nullptr, nullptr, napi_default, nullptr},
2942 {"log1p", nullptr, Log1p, nullptr, nullptr, nullptr, napi_default, nullptr},
2943 {"log1pf", nullptr, Log1pf, nullptr, nullptr, nullptr, napi_default, nullptr},
2944 {"log1pl", nullptr, Log1pl, nullptr, nullptr, nullptr, napi_default, nullptr},
2945 {"log2", nullptr, Log2, nullptr, nullptr, nullptr, napi_default, nullptr},
2946 {"log2f", nullptr, Log2f, nullptr, nullptr, nullptr, napi_default, nullptr},
2947 {"log2l", nullptr, Log2l, nullptr, nullptr, nullptr, napi_default, nullptr},
2948 {"logB", nullptr, LogB, nullptr, nullptr, nullptr, napi_default, nullptr},
2949 {"logBf", nullptr, LogBf, nullptr, nullptr, nullptr, napi_default, nullptr},
2950 {"logBl", nullptr, LogBl, nullptr, nullptr, nullptr, napi_default, nullptr},
2951 {"logF", nullptr, LogF, nullptr, nullptr, nullptr, napi_default, nullptr},
2952 {"logL", nullptr, LogL, nullptr, nullptr, nullptr, napi_default, nullptr},
2953 {"aSin", nullptr, ASin, nullptr, nullptr, nullptr, napi_default, nullptr},
2954 {"aSinF", nullptr, ASinF, nullptr, nullptr, nullptr, napi_default, nullptr},
2955 {"aSinL", nullptr, ASinL, nullptr, nullptr, nullptr, napi_default, nullptr},
2956 {"aSinH", nullptr, ASinH, nullptr, nullptr, nullptr, napi_default, nullptr},
2957 {"aSinHL", nullptr, ASinHL, nullptr, nullptr, nullptr, napi_default, nullptr},
2958 {"aSinHF", nullptr, ASinHF, nullptr, nullptr, nullptr, napi_default, nullptr},
2959 {"aCos", nullptr, ACos, nullptr, nullptr, nullptr, napi_default, nullptr},
2960 {"aCosF", nullptr, ACosF, nullptr, nullptr, nullptr, napi_default, nullptr},
2961 {"aCosL", nullptr, ACosL, nullptr, nullptr, nullptr, napi_default, nullptr},
2962 {"aCosH", nullptr, ACosH, nullptr, nullptr, nullptr, napi_default, nullptr},
2963 {"aCosHL", nullptr, ACosHL, nullptr, nullptr, nullptr, napi_default, nullptr},
2964 {"aCosHF", nullptr, ACosHF, nullptr, nullptr, nullptr, napi_default, nullptr},
2965 {"aTan", nullptr, ATan, nullptr, nullptr, nullptr, napi_default, nullptr},
2966 {"aTanF", nullptr, ATanF, nullptr, nullptr, nullptr, napi_default, nullptr},
2967 {"aTanL", nullptr, ATanL, nullptr, nullptr, nullptr, napi_default, nullptr},
2968 {"aTan2", nullptr, ATan2, nullptr, nullptr, nullptr, napi_default, nullptr},
2969 {"aTan2F", nullptr, ATan2F, nullptr, nullptr, nullptr, napi_default, nullptr},
2970 {"aTan2L", nullptr, ATan2L, nullptr, nullptr, nullptr, napi_default, nullptr},
2971 {"coshl", nullptr, CosHl, nullptr, nullptr, nullptr, napi_default, nullptr},
2972 {"coshf", nullptr, CosHf, nullptr, nullptr, nullptr, napi_default, nullptr},
2973 {"cosh", nullptr, Cosh, nullptr, nullptr, nullptr, napi_default, nullptr},
2974 {"cosl", nullptr, CosL, nullptr, nullptr, nullptr, napi_default, nullptr},
2975 {"cosf", nullptr, CosF, nullptr, nullptr, nullptr, napi_default, nullptr},
2976 {"erfl", nullptr, ErfL, nullptr, nullptr, nullptr, napi_default, nullptr},
2977 {"erff", nullptr, ErfF, nullptr, nullptr, nullptr, napi_default, nullptr},
2978 {"erfcl", nullptr, ErfCl, nullptr, nullptr, nullptr, napi_default, nullptr},
2979 {"erfcf", nullptr, ErfCf, nullptr, nullptr, nullptr, napi_default, nullptr},
2980 {"erfc", nullptr, ErfC, nullptr, nullptr, nullptr, napi_default, nullptr},
2981 {"exp2l", nullptr, Exp2l, nullptr, nullptr, nullptr, napi_default, nullptr},
2982 {"exp2f", nullptr, Exp2f, nullptr, nullptr, nullptr, napi_default, nullptr},
2983 {"expl", nullptr, ExpL, nullptr, nullptr, nullptr, napi_default, nullptr},
2984 {"expf", nullptr, ExpF, nullptr, nullptr, nullptr, napi_default, nullptr},
2985 {"expm1l", nullptr, ExpM1l, nullptr, nullptr, nullptr, napi_default, nullptr},
2986 {"expm1f", nullptr, ExpM1f, nullptr, nullptr, nullptr, napi_default, nullptr},
2987 {"ceill", nullptr, CeilL, nullptr, nullptr, nullptr, napi_default, nullptr},
2988 {"ceilf", nullptr, CeilF, nullptr, nullptr, nullptr, napi_default, nullptr},
2989 {"ceil", nullptr, Ceil, nullptr, nullptr, nullptr, napi_default, nullptr},
2990 {"fabsl", nullptr, FAbsL, nullptr, nullptr, nullptr, napi_default, nullptr},
2991 {"fabsf", nullptr, FAbsF, nullptr, nullptr, nullptr, napi_default, nullptr},
2992 {"fdiml", nullptr, FDimL, nullptr, nullptr, nullptr, napi_default, nullptr},
2993 {"fdimf", nullptr, FDimF, nullptr, nullptr, nullptr, napi_default, nullptr},
2994 {"floorl", nullptr, FloorL, nullptr, nullptr, nullptr, napi_default, nullptr},
2995 {"floorf", nullptr, FloorF, nullptr, nullptr, nullptr, napi_default, nullptr},
2996 {"fmal", nullptr, FmaL, nullptr, nullptr, nullptr, napi_default, nullptr},
2997 {"fmaf", nullptr, FmaF, nullptr, nullptr, nullptr, napi_default, nullptr},
2998 {"fmaxl", nullptr, FMaxL, nullptr, nullptr, nullptr, napi_default, nullptr},
2999 {"fmaxf", nullptr, FMaxF, nullptr, nullptr, nullptr, napi_default, nullptr},
3000 {"fminl", nullptr, FMinL, nullptr, nullptr, nullptr, napi_default, nullptr},
3001 {"fminf", nullptr, FMinF, nullptr, nullptr, nullptr, napi_default, nullptr},
3002 {"fmodl", nullptr, FmodL, nullptr, nullptr, nullptr, napi_default, nullptr},
3003 {"fmodf", nullptr, FmodF, nullptr, nullptr, nullptr, napi_default, nullptr},
3004 {"expm1", nullptr, ExpM1, nullptr, nullptr, nullptr, napi_default, nullptr},
3005 {"exp2", nullptr, Exp2, nullptr, nullptr, nullptr, napi_default, nullptr},
3006 {"cos", nullptr, Cos, nullptr, nullptr, nullptr, napi_default, nullptr},
3007 {"erf", nullptr, Erf, nullptr, nullptr, nullptr, napi_default, nullptr},
3008 {"copysignl", nullptr, CopySignL, nullptr, nullptr, nullptr, napi_default, nullptr},
3009 {"copysignf", nullptr, CopySignF, nullptr, nullptr, nullptr, napi_default, nullptr},
3010 {"copysign", nullptr, CopySign, nullptr, nullptr, nullptr, napi_default, nullptr},
3011 {"exp", nullptr, Exp, nullptr, nullptr, nullptr, napi_default, nullptr},
3012 {"fabs", nullptr, FAbs, nullptr, nullptr, nullptr, napi_default, nullptr},
3013 {"fdim", nullptr, FDim, nullptr, nullptr, nullptr, napi_default, nullptr},
3014 {"floor", nullptr, Floor, nullptr, nullptr, nullptr, napi_default, nullptr},
3015 {"fma", nullptr, Fma, nullptr, nullptr, nullptr, napi_default, nullptr},
3016 {"fmax", nullptr, FMax, nullptr, nullptr, nullptr, napi_default, nullptr},
3017 {"fmin", nullptr, FMin, nullptr, nullptr, nullptr, napi_default, nullptr},
3018 {"fmod", nullptr, Fmod, nullptr, nullptr, nullptr, napi_default, nullptr},
3019 {"sin", nullptr, Sin, nullptr, nullptr, nullptr, napi_default, nullptr},
3020 {"sinf", nullptr, Sinf, nullptr, nullptr, nullptr, napi_default, nullptr},
3021 {"sinl", nullptr, Sinl, nullptr, nullptr, nullptr, napi_default, nullptr},
3022 {"sinh", nullptr, Sinh, nullptr, nullptr, nullptr, napi_default, nullptr},
3023 {"sinhf", nullptr, Sinhf, nullptr, nullptr, nullptr, napi_default, nullptr},
3024 {"sinhl", nullptr, Sinhl, nullptr, nullptr, nullptr, napi_default, nullptr},
3025 {"sqrt", nullptr, Sqrt, nullptr, nullptr, nullptr, napi_default, nullptr},
3026 {"sqrtf", nullptr, Sqrtf, nullptr, nullptr, nullptr, napi_default, nullptr},
3027 {"sqrtl", nullptr, Sqrtl, nullptr, nullptr, nullptr, napi_default, nullptr},
3028 {"j0", nullptr, J0, nullptr, nullptr, nullptr, napi_default, nullptr},
3029 {"j0f", nullptr, J0f, nullptr, nullptr, nullptr, napi_default, nullptr},
3030 {"j1", nullptr, J1, nullptr, nullptr, nullptr, napi_default, nullptr},
3031 {"j1f", nullptr, J1f, nullptr, nullptr, nullptr, napi_default, nullptr},
3032 {"jn", nullptr, Jn, nullptr, nullptr, nullptr, napi_default, nullptr},
3033 {"jnf", nullptr, Jnf, nullptr, nullptr, nullptr, napi_default, nullptr},
3034 {"ldexp", nullptr, Ldexp, nullptr, nullptr, nullptr, napi_default, nullptr},
3035 {"ldexpf", nullptr, Ldexpf, nullptr, nullptr, nullptr, napi_default, nullptr},
3036 {"ldexpl", nullptr, Ldexpl, nullptr, nullptr, nullptr, napi_default, nullptr},
3037 {"aTanH", nullptr, ATanH, nullptr, nullptr, nullptr, napi_default, nullptr},
3038 {"aTanHF", nullptr, ATanHF, nullptr, nullptr, nullptr, napi_default, nullptr},
3039 {"aTanHL", nullptr, ATanHL, nullptr, nullptr, nullptr, napi_default, nullptr},
3040 {"sincos", nullptr, Sincos, nullptr, nullptr, nullptr, napi_default, nullptr},
3041 {"sincosl", nullptr, Sincosl, nullptr, nullptr, nullptr, napi_default, nullptr},
3042 {"sincosf", nullptr, Sincosf, nullptr, nullptr, nullptr, napi_default, nullptr},
3043 {"significand", nullptr, Significand, nullptr, nullptr, nullptr, napi_default, nullptr},
3044 {"significandf", nullptr, Significandf, nullptr, nullptr, nullptr, napi_default, nullptr},
3045 {"trunc", nullptr, Trunc, nullptr, nullptr, nullptr, napi_default, nullptr},
3046 {"truncf", nullptr, Truncf, nullptr, nullptr, nullptr, napi_default, nullptr},
3047 {"truncl", nullptr, Truncl, nullptr, nullptr, nullptr, napi_default, nullptr},
3048 {"scalb", nullptr, Scalb, nullptr, nullptr, nullptr, napi_default, nullptr},
3049 {"scalbf", nullptr, Scalbf, nullptr, nullptr, nullptr, napi_default, nullptr},
3050 {"y0", nullptr, Y0, nullptr, nullptr, nullptr, napi_default, nullptr},
3051 {"y0f", nullptr, Y0f, nullptr, nullptr, nullptr, napi_default, nullptr},
3052 {"y1", nullptr, Y1, nullptr, nullptr, nullptr, napi_default, nullptr},
3053 {"y1f", nullptr, Y1f, nullptr, nullptr, nullptr, napi_default, nullptr},
3054 {"cbrt", nullptr, CBrt, nullptr, nullptr, nullptr, napi_default, nullptr},
3055 {"cbrtf", nullptr, CBrtF, nullptr, nullptr, nullptr, napi_default, nullptr},
3056 {"cbrtl", nullptr, CBrtL, nullptr, nullptr, nullptr, napi_default, nullptr},
3057 {"frexp", nullptr, Frexp, nullptr, nullptr, nullptr, napi_default, nullptr},
3058 {"frexpl", nullptr, Frexpl, nullptr, nullptr, nullptr, napi_default, nullptr},
3059 {"frexpf", nullptr, Frexpf, nullptr, nullptr, nullptr, napi_default, nullptr},
3060 {"fpclassifyl", nullptr, Fpclassifyl, nullptr, nullptr, nullptr, napi_default, nullptr},
3061 {"fpclassify", nullptr, Fpclassify, nullptr, nullptr, nullptr, napi_default, nullptr},
3062 {"fpclassifyf", nullptr, Fpclassifyf, nullptr, nullptr, nullptr, napi_default, nullptr},
3063 {"signbit", nullptr, Signbit, nullptr, nullptr, nullptr, napi_default, nullptr},
3064 {"signbitf", nullptr, Signbitf, nullptr, nullptr, nullptr, napi_default, nullptr},
3065 {"signbitl", nullptr, Signbitl, nullptr, nullptr, nullptr, napi_default, nullptr},
3066 {"nan", nullptr, Nan, nullptr, nullptr, nullptr, napi_default, nullptr},
3067 {"nanl", nullptr, Nanl, nullptr, nullptr, nullptr, napi_default, nullptr},
3068 {"nanf", nullptr, Nanf, nullptr, nullptr, nullptr, napi_default, nullptr},
3069 {"nearbyint", nullptr, Nearbyint, nullptr, nullptr, nullptr, napi_default, nullptr},
3070 {"nearbyintf", nullptr, Nearbyintf, nullptr, nullptr, nullptr, napi_default, nullptr},
3071 {"nearbyintl", nullptr, Nearbyintl, nullptr, nullptr, nullptr, napi_default, nullptr},
3072 {"nextafter", nullptr, Nextafter, nullptr, nullptr, nullptr, napi_default, nullptr},
3073 {"nextafterl", nullptr, Nextafterl, nullptr, nullptr, nullptr, napi_default, nullptr},
3074 {"nextafterf", nullptr, Nextafterf, nullptr, nullptr, nullptr, napi_default, nullptr},
3075 {"nextToward", nullptr, NextToward, nullptr, nullptr, nullptr, napi_default, nullptr},
3076 {"nextTowardF", nullptr, NextTowardF, nullptr, nullptr, nullptr, napi_default, nullptr},
3077 {"nextTowardL", nullptr, NextTowardL, nullptr, nullptr, nullptr, napi_default, nullptr},
3078 {"pow", nullptr, Pow, nullptr, nullptr, nullptr, napi_default, nullptr},
3079 {"powf", nullptr, Powf, nullptr, nullptr, nullptr, napi_default, nullptr},
3080 {"powl", nullptr, Powl, nullptr, nullptr, nullptr, napi_default, nullptr},
3081 {"modF", nullptr, ModF, nullptr, nullptr, nullptr, napi_default, nullptr},
3082 {"modFf", nullptr, ModFf, nullptr, nullptr, nullptr, napi_default, nullptr},
3083 {"modFl", nullptr, ModFl, nullptr, nullptr, nullptr, napi_default, nullptr},
3084 {"mRand48", nullptr, MRand48, nullptr, nullptr, nullptr, napi_default, nullptr},
3085 {"lgamma", nullptr, Lgamma, nullptr, nullptr, nullptr, napi_default, nullptr},
3086 {"lgammaf", nullptr, Lgammaf, nullptr, nullptr, nullptr, napi_default, nullptr},
3087 {"lgammal", nullptr, Lgammal, nullptr, nullptr, nullptr, napi_default, nullptr},
3088 {"lgammaR", nullptr, Lgamma_r, nullptr, nullptr, nullptr, napi_default, nullptr},
3089 {"lgammafR", nullptr, Lgammaf_r, nullptr, nullptr, nullptr, napi_default, nullptr},
3090 {"lgammalR", nullptr, Lgammal_r, nullptr, nullptr, nullptr, napi_default, nullptr},
3091 {"llrint", nullptr, LLrint, nullptr, nullptr, nullptr, napi_default, nullptr},
3092 {"llrintF", nullptr, LLrintf, nullptr, nullptr, nullptr, napi_default, nullptr},
3093 {"llrintL", nullptr, LLrintl, nullptr, nullptr, nullptr, napi_default, nullptr},
3094 {"llround", nullptr, LLround, nullptr, nullptr, nullptr, napi_default, nullptr},
3095 {"llroundF", nullptr, LLroundf, nullptr, nullptr, nullptr, napi_default, nullptr},
3096 {"llroundL", nullptr, LLroundl, nullptr, nullptr, nullptr, napi_default, nullptr},
3097 {"yn", nullptr, Yn, nullptr, nullptr, nullptr, napi_default, nullptr},
3098 {"ynf", nullptr, Ynf, nullptr, nullptr, nullptr, napi_default, nullptr},
3099 {"lRint", nullptr, LRint, nullptr, nullptr, nullptr, napi_default, nullptr},
3100 {"lRintf", nullptr, LRintf, nullptr, nullptr, nullptr, napi_default, nullptr},
3101 {"lRintl", nullptr, LRintl, nullptr, nullptr, nullptr, napi_default, nullptr},
3102 {"lRound", nullptr, LRound, nullptr, nullptr, nullptr, napi_default, nullptr},
3103 {"lRoundl", nullptr, LRoundl, nullptr, nullptr, nullptr, napi_default, nullptr},
3104 {"lRoundf", nullptr, LRoundf, nullptr, nullptr, nullptr, napi_default, nullptr},
3105 {"ilogb", nullptr, ILogb, nullptr, nullptr, nullptr, napi_default, nullptr},
3106 {"ilogbf", nullptr, ILogbf, nullptr, nullptr, nullptr, napi_default, nullptr},
3107 {"ilogbl", nullptr, ILogbl, nullptr, nullptr, nullptr, napi_default, nullptr},
3108 {"hypot", nullptr, HYpot, nullptr, nullptr, nullptr, napi_default, nullptr},
3109 {"hypotf", nullptr, HYpotf, nullptr, nullptr, nullptr, napi_default, nullptr},
3110 {"hypotl", nullptr, HYpotl, nullptr, nullptr, nullptr, napi_default, nullptr},
3111 {"signGam", nullptr, SignGam, nullptr, nullptr, nullptr, napi_default, nullptr},
3112
3113 };
3114 napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc);
3115 return exports;
3116 }
3117
3118 EXTERN_C_END
3119
3120 static napi_module demoModule = {
3121 .nm_version = 1,
3122 .nm_flags = 0,
3123 .nm_filename = nullptr,
3124 .nm_register_func = Init,
3125 .nm_modname = "math",
3126 .nm_priv = ((void *)0),
3127 .reserved = {0},
3128 };
3129
RegisterEntryModule(void)3130 extern "C" __attribute__((constructor)) void RegisterEntryModule(void) { napi_module_register(&demoModule); }
3131