Current section
Files
Jump to
Current section
Files
src/gossamer/math.ffi.mjs
// src/gossamer/math.ffi.ts
import { Result$Error, Result$Ok } from "../../prelude.mjs";
function toResult(value) {
return Number.isFinite(value) ? Result$Ok(value) : Result$Error(void 0);
}
var random = () => Math.random();
var sign = (value) => Math.sign(value);
var trunc = (value) => Math.trunc(value);
var cbrt = (value) => Math.cbrt(value);
var hypot = (x, y) => Math.hypot(x, y);
var log = (value) => toResult(Math.log(value));
var log2 = (value) => toResult(Math.log2(value));
var log10 = (value) => toResult(Math.log10(value));
var log1p = (value) => toResult(Math.log1p(value));
var sin = (angle) => Math.sin(angle);
var cos = (angle) => Math.cos(angle);
var tan = (angle) => Math.tan(angle);
var asin = (value) => toResult(Math.asin(value));
var acos = (value) => toResult(Math.acos(value));
var atan = (value) => Math.atan(value);
var atan2 = (y, x) => Math.atan2(y, x);
var sinh = (value) => Math.sinh(value);
var cosh = (value) => Math.cosh(value);
var tanh = (value) => Math.tanh(value);
var asinh = (value) => Math.asinh(value);
var acosh = (value) => toResult(Math.acosh(value));
var atanh = (value) => toResult(Math.atanh(value));
var exp = (value) => Math.exp(value);
var expm1 = (value) => Math.expm1(value);
var clz32 = (value) => Math.clz32(value);
var fround = (value) => Math.fround(value);
var imul = (a, b) => Math.imul(a, b);
export {
acos,
acosh,
asin,
asinh,
atan,
atan2,
atanh,
cbrt,
clz32,
cos,
cosh,
exp,
expm1,
fround,
hypot,
imul,
log,
log10,
log1p,
log2,
random,
sign,
sin,
sinh,
tan,
tanh,
trunc
};