diff options
Diffstat (limited to 'module/math.m')
| -rw-r--r-- | module/math.m | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/module/math.m b/module/math.m new file mode 100644 index 00000000..4640ecfa --- /dev/null +++ b/module/math.m @@ -0,0 +1,91 @@ +Math: module +{ + PATH: con "$Math"; + + Infinity: con 1e400; + NaN: con 0./0.; + MachEps: con 2.2204460492503131e-16; + Pi: con 3.14159265358979323846; + Degree: con Pi/180.; + INVAL: con (1<<0); + ZDIV: con (1<<1); + OVFL: con (1<<2); + UNFL: con (1<<3); + INEX: con (1<<4); + RND_NR: con (0<<8); + RND_NINF: con (1<<8); + RND_PINF: con (2<<8); + RND_Z: con (3<<8); + RND_MASK: con (3<<8); + acos: fn(x: real): real; # arccos(x) in [0,pi] + acosh: fn(x: real): real; + asin: fn(x: real): real; # arcsin(x) in [-pi/2,pi/2] + asinh: fn(x: real): real; + atan: fn(x: real): real; # arctan(x) in [-pi/2,pi/2] + atan2: fn(y, x: real): real; # arctan(y/x) in [-pi,pi] + atanh: fn(x: real): real; + cbrt: fn(x: real): real; + ceil: fn(x: real): real; + copysign: fn(x, s: real): real; + cos: fn(x: real): real; + cosh: fn(x: real): real; + dot: fn(x, y: array of real): real; + erf: fn(x: real): real; + erfc: fn(x: real): real; + exp: fn(x: real): real; + expm1: fn(x: real): real; + fabs: fn(x: real): real; + fdim, fmin, fmax: fn(x, y: real): real; + finite: fn(x: real): int; + floor: fn(x: real): real; + fmod: fn(x, y: real): real; + gemm: fn(transa, transb: int, # upper case N or T + m, n, k: int, alpha: real, + a: array of real, lda: int, + b: array of real, ldb: int, beta: real, + c: array of real, ldc: int); + getFPcontrol, getFPstatus: fn(): int; + FPcontrol, FPstatus: fn(r, mask: int): int; + hypot: fn(x, y: real): real; + iamax: fn(x: array of real): int; + ilogb: fn(x: real): int; + isnan: fn(x: real): int; + j0: fn(x: real): real; + j1: fn(x: real): real; + jn: fn(n: int, x: real): real; + lgamma: fn(x: real): (int,real); + log: fn(x: real): real; + log10: fn(x: real): real; + log1p: fn(x: real): real; + modf: fn(x: real): (int,real); + nextafter: fn(x, y: real): real; + norm1, norm2: fn(x: array of real): real; + pow: fn(x, y: real): real; + pow10: fn(p: int): real; + remainder: fn(x, p: real): real; + rint: fn(x: real): real; + scalbn: fn(x: real, n: int): real; + sin: fn(x: real): real; + sinh: fn(x: real): real; + sort: fn(x: array of real, pi: array of int); + sqrt: fn(x: real): real; + tan: fn(x: real): real; + tanh: fn(x: real): real; + y0: fn(x: real): real; + y1: fn(x: real): real; + yn: fn(n: int, x: real): real; + + + import_int: fn(b: array of byte, x: array of int); + import_real32: fn(b: array of byte, x: array of real); + import_real: fn(b: array of byte, x: array of real); + export_int: fn(b: array of byte, x: array of int); + export_real32: fn(b: array of byte, x: array of real); + export_real: fn(b: array of byte, x: array of real); + + # undocumented, of specialized interest only DEPRECATED + bits32real: fn(b: int): real; # IEEE 32-bit format to real + bits64real: fn(b: big): real; # IEEE 64-bit format to real + realbits32: fn(x: real): int; # real to IEEE 32-bit format + realbits64: fn(x: real): big; # real to IEEE 64-bit format +}; |
