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