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 @@
1Math: 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};