Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 25 additions & 25 deletions src/library_math.js
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
addToLibrary({
emscripten_math_cbrt: (x) => Math.cbrt(x),
emscripten_math_pow: (x, y) => Math.pow(x, y),
emscripten_math_random: () => Math.random(),
emscripten_math_sign: (x) => Math.sign(x),
emscripten_math_sqrt: (x) => Math.sqrt(x),
emscripten_math_exp: (x) => Math.exp(x),
emscripten_math_expm1: (x) => Math.expm1(x),
emscripten_math_cbrt: 'Math.cbrt',
emscripten_math_pow: 'Math.pow',
emscripten_math_random: 'Math.random',
emscripten_math_sign: 'Math.sign',
emscripten_math_sqrt: 'Math.sqrt',
emscripten_math_exp: 'Math.exp',
emscripten_math_expm1: 'Math.expm1',
emscripten_math_fmod: (x, y) => x % y,
emscripten_math_log: (x) => Math.log(x),
emscripten_math_log1p: (x) => Math.log1p(x),
emscripten_math_log10: (x) => Math.log10(x),
emscripten_math_log2: (x) => Math.log2(x),
emscripten_math_round: (x) => Math.round(x),
emscripten_math_acos: (x) => Math.acos(x),
emscripten_math_acosh: (x) => Math.acosh(x),
emscripten_math_asin: (x) => Math.asin(x),
emscripten_math_asinh: (x) => Math.asinh(x),
emscripten_math_atan: (x) => Math.atan(x),
emscripten_math_atanh: (x) => Math.atanh(x),
emscripten_math_atan2: (y, x) => Math.atan2(y, x),
emscripten_math_cos: (x) => Math.cos(x),
emscripten_math_cosh: (x) => Math.cosh(x),
emscripten_math_log: 'Math.log',
emscripten_math_log1p: 'Math.log1p',
emscripten_math_log10: 'Math.log10',
emscripten_math_log2: 'Math.log2',
emscripten_math_round: 'Math.round',
emscripten_math_acos: 'Math.acos',
emscripten_math_acosh: 'Math.acosh',
emscripten_math_asin: 'Math.asin',
emscripten_math_asinh: 'Math.asinh',
emscripten_math_atan: 'Math.atan',
emscripten_math_atanh: 'Math.atanh',
emscripten_math_atan2: 'Math.atan2',
emscripten_math_cos: 'Math.cos',
emscripten_math_cosh: 'Math.cosh',
emscripten_math_hypot: (count, varargs) => {
var args = [];
for (var i = 0; i < count; ++i) {
args.push({{{ makeGetValue('varargs', `i * ${getNativeTypeSize('double')}`, 'double') }}});
}
return Math.hypot(...args);
},
emscripten_math_sin: (x) => Math.sin(x),
emscripten_math_sinh: (x) => Math.sinh(x),
emscripten_math_tan: (x) => Math.tan(x),
emscripten_math_tanh: (x) => Math.tanh(x)
emscripten_math_sin: 'Math.sin',
emscripten_math_sinh: 'Math.sinh',
emscripten_math_tan: 'Math.tan',
emscripten_math_tanh: 'Math.tanh',
});
75 changes: 37 additions & 38 deletions test/core/test_emscripten_math.c
Original file line number Diff line number Diff line change
@@ -1,42 +1,41 @@
#include <stdio.h>
#include <emscripten/em_math.h>

int main()
{
printf("%f\n", emscripten_math_acos(0.5));
printf("%f\n", emscripten_math_acosh(42.0));
printf("%f\n", emscripten_math_asin(0.5));
printf("%f\n", emscripten_math_asinh(42.0));
printf("%f\n", emscripten_math_atan(42.0));
printf("%f\n", emscripten_math_atan2(42.0, 13.0));
printf("%f\n", emscripten_math_atanh(0.9));
printf("%f\n", emscripten_math_cbrt(8.0));
printf("%f\n", emscripten_math_cos(42.0));
printf("%f\n", emscripten_math_cosh(0.6));
printf("%f\n", emscripten_math_exp(2.0));
printf("%f\n", emscripten_math_expm1(2.0));
printf("%f\n", emscripten_math_fmod(2.0, 0.75));
printf("%f\n", emscripten_math_hypot(3, 3.0, 4.0, 5.0));
printf("%f\n", emscripten_math_log(42.0));
printf("%f\n", emscripten_math_log10(42.0));
printf("%f\n", emscripten_math_log1p(42.0));
printf("%f\n", emscripten_math_log2(42.0));
printf("%f\n", emscripten_math_pow(2.0, 4.0));
printf("%d\n", (int)(emscripten_math_random() >= 0 && emscripten_math_random() <= 1));
printf("%f\n", emscripten_math_round(42.5));
printf("%f\n", emscripten_math_sign(-42.0));
printf("%f\n", emscripten_math_sin(42.0));
printf("%f\n", emscripten_math_sinh(0.6));
printf("%f\n", emscripten_math_sqrt(10000.0));
printf("%f\n", emscripten_math_tan(42.0));
printf("%f\n", emscripten_math_tanh(42.0));
printf("-\n");
printf("%f\n", EM_MATH_E);
printf("%f\n", EM_MATH_LN2);
printf("%f\n", EM_MATH_LN10);
printf("%f\n", EM_MATH_LOG2E);
printf("%f\n", EM_MATH_LOG10E);
printf("%f\n", EM_MATH_PI);
printf("%f\n", EM_MATH_SQRT1_2);
printf("%f\n", EM_MATH_SQRT2);
int main() {
printf("%f\n", emscripten_math_acos(0.5));
printf("%f\n", emscripten_math_acosh(42.0));
printf("%f\n", emscripten_math_asin(0.5));
printf("%f\n", emscripten_math_asinh(42.0));
printf("%f\n", emscripten_math_atan(42.0));
printf("%f\n", emscripten_math_atan2(42.0, 13.0));
printf("%f\n", emscripten_math_atanh(0.9));
printf("%f\n", emscripten_math_cbrt(8.0));
printf("%f\n", emscripten_math_cos(42.0));
printf("%f\n", emscripten_math_cosh(0.6));
printf("%f\n", emscripten_math_exp(2.0));
printf("%f\n", emscripten_math_expm1(2.0));
printf("%f\n", emscripten_math_fmod(2.0, 0.75));
printf("%f\n", emscripten_math_hypot(3, 3.0, 4.0, 5.0));
printf("%f\n", emscripten_math_log(42.0));
printf("%f\n", emscripten_math_log10(42.0));
printf("%f\n", emscripten_math_log1p(42.0));
printf("%f\n", emscripten_math_log2(42.0));
printf("%f\n", emscripten_math_pow(2.0, 4.0));
printf("%d\n", (int)(emscripten_math_random() >= 0 && emscripten_math_random() <= 1));
printf("%f\n", emscripten_math_round(42.5));
printf("%f\n", emscripten_math_sign(-42.0));
printf("%f\n", emscripten_math_sin(42.0));
printf("%f\n", emscripten_math_sinh(0.6));
printf("%f\n", emscripten_math_sqrt(10000.0));
printf("%f\n", emscripten_math_tan(42.0));
printf("%f\n", emscripten_math_tanh(42.0));
printf("-\n");
printf("%f\n", EM_MATH_E);
printf("%f\n", EM_MATH_LN2);
printf("%f\n", EM_MATH_LN10);
printf("%f\n", EM_MATH_LOG2E);
printf("%f\n", EM_MATH_LOG10E);
printf("%f\n", EM_MATH_PI);
printf("%f\n", EM_MATH_SQRT1_2);
printf("%f\n", EM_MATH_SQRT2);
}