History

Add module definition file for built-in Math module.

arr committed 9 years ago

Commit 0643d041 parent 160df631 file · +91 −0Browse files

Unified · Split

limbo/math.m+91−0
@@ -0,0 +1,91 @@
1+Math: module
2+{
3+ PATH: con "$Math";
4+
5+ Infinity: con 1e400;
6+ NaN: con 0./0.;
7+ MachEps: con 2.2204460492503131e-16;
8+ Pi: con 3.14159265358979323846;
9+ Degree: con Pi/180.;
10+ INVAL: con (1<<0);
11+ ZDIV: con (1<<1);
12+ OVFL: con (1<<2);
13+ UNFL: con (1<<3);
14+ INEX: con (1<<4);
15+ RND_NR: con (0<<8);
16+ RND_NINF: con (1<<8);
17+ RND_PINF: con (2<<8);
18+ RND_Z: con (3<<8);
19+ RND_MASK: con (3<<8);
20+ acos: fn(x: real): real; # arccos(x) in [0,pi]
21+ acosh: fn(x: real): real;
22+ asin: fn(x: real): real; # arcsin(x) in [-pi/2,pi/2]
23+ asinh: fn(x: real): real;
24+ atan: fn(x: real): real; # arctan(x) in [-pi/2,pi/2]
25+ atan2: fn(y, x: real): real; # arctan(y/x) in [-pi,pi]
26+ atanh: fn(x: real): real;
27+ cbrt: fn(x: real): real;
28+ ceil: fn(x: real): real;
29+ copysign: fn(x, s: real): real;
30+ cos: fn(x: real): real;
31+ cosh: fn(x: real): real;
32+ dot: fn(x, y: array of real): real;
33+ erf: fn(x: real): real;
34+ erfc: fn(x: real): real;
35+ exp: fn(x: real): real;
36+ expm1: fn(x: real): real;
37+ fabs: fn(x: real): real;
38+ fdim, fmin, fmax: fn(x, y: real): real;
39+ finite: fn(x: real): int;
40+ floor: fn(x: real): real;
41+ fmod: fn(x, y: real): real;
42+ gemm: fn(transa, transb: int, # upper case N or T
43+ m, n, k: int, alpha: real,
44+ a: array of real, lda: int,
45+ b: array of real, ldb: int, beta: real,
46+ c: array of real, ldc: int);
47+ getFPcontrol, getFPstatus: fn(): int;
48+ FPcontrol, FPstatus: fn(r, mask: int): int;
49+ hypot: fn(x, y: real): real;
50+ iamax: fn(x: array of real): int;
51+ ilogb: fn(x: real): int;
52+ isnan: fn(x: real): int;
53+ j0: fn(x: real): real;
54+ j1: fn(x: real): real;
55+ jn: fn(n: int, x: real): real;
56+ lgamma: fn(x: real): (int,real);
57+ log: fn(x: real): real;
58+ log10: fn(x: real): real;
59+ log1p: fn(x: real): real;
60+ modf: fn(x: real): (int,real);
61+ nextafter: fn(x, y: real): real;
62+ norm1, norm2: fn(x: array of real): real;
63+ pow: fn(x, y: real): real;
64+ pow10: fn(p: int): real;
65+ remainder: fn(x, p: real): real;
66+ rint: fn(x: real): real;
67+ scalbn: fn(x: real, n: int): real;
68+ sin: fn(x: real): real;
69+ sinh: fn(x: real): real;
70+ sort: fn(x: array of real, pi: array of int);
71+ sqrt: fn(x: real): real;
72+ tan: fn(x: real): real;
73+ tanh: fn(x: real): real;
74+ y0: fn(x: real): real;
75+ y1: fn(x: real): real;
76+ yn: fn(n: int, x: real): real;
77+
78+
79+ import_int: fn(b: array of byte, x: array of int);
80+ import_real32: fn(b: array of byte, x: array of real);
81+ import_real: fn(b: array of byte, x: array of real);
82+ export_int: fn(b: array of byte, x: array of int);
83+ export_real32: fn(b: array of byte, x: array of real);
84+ export_real: fn(b: array of byte, x: array of real);
85+
86+ # undocumented, of specialized interest only DEPRECATED
87+ bits32real: fn(b: int): real; # IEEE 32-bit format to real
88+ bits64real: fn(b: big): real; # IEEE 64-bit format to real
89+ realbits32: fn(x: real): int; # real to IEEE 32-bit format
90+ realbits64: fn(x: real): big; # real to IEEE 64-bit format
91+};