summaryrefslogtreecommitdiff
path: root/lib/math/impls.myr
blob: cbad6351cf78b81b3852d3a63cb87483e725f0ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
pkg math =
	pkglocal extern const rn32 : (x : flt32 -> int32)
	pkglocal extern const rn64 : (x : flt64 -> int64)

	pkglocal extern const atan32 : (x : flt32 -> flt32)
	pkglocal extern const atan64 : (x : flt64 -> flt64)

	pkglocal extern const atan232 : (y : flt32, x : flt32 -> flt32)
	pkglocal extern const atan264 : (y : flt64, x : flt64 -> flt64)

	pkglocal extern const fma32 : (x : flt32, y : flt32, z : flt32 -> flt32)
	pkglocal extern const fma64 : (x : flt64, y : flt64, z : flt64 -> flt64)

	pkglocal extern const exp32 : (x : flt32 -> flt32)
	pkglocal extern const exp64 : (x : flt64 -> flt64)

	pkglocal extern const expm132 : (x : flt32 -> flt32)
	pkglocal extern const expm164 : (x : flt64 -> flt64)

	pkglocal extern const log32 : (x : flt32 -> flt32)
	pkglocal extern const log64 : (x : flt64 -> flt64)

	pkglocal extern const log1p32 : (x : flt32 -> flt32)
	pkglocal extern const log1p64 : (x : flt64 -> flt64)

	pkglocal extern const horner_poly32 : (x : flt32, a : flt32[:] -> flt32)
	pkglocal extern const horner_poly64 : (x : flt64, a : flt64[:] -> flt64)

	pkglocal extern const horner_polyu32 : (x : flt32, a : uint32[:] -> flt32)
	pkglocal extern const horner_polyu64 : (x : flt64, a : uint64[:] -> flt64)

	pkglocal extern const pown32 : (x : flt32, n : int32 -> flt32)
	pkglocal extern const pown64 : (x : flt64, n : int64 -> flt64)

	pkglocal extern const powr32 : (x : flt32, y : flt32 -> flt32)
	pkglocal extern const powr64 : (x : flt64, y : flt64 -> flt64)

	pkglocal extern const rootn32 : (x : flt32, q : uint32 -> flt32)
	pkglocal extern const rootn64 : (x : flt64, q : uint64 -> flt64)

	pkglocal extern const scale232 : (x : flt32, m : int32 -> flt32)
	pkglocal extern const scale264 : (x : flt64, m : int64 -> flt64)

	pkglocal extern const sin32 : (x : flt32 -> flt32)
	pkglocal extern const sin64 : (x : flt64 -> flt64)

	pkglocal extern const cos32 : (x : flt32 -> flt32)
	pkglocal extern const cos64 : (x : flt64 -> flt64)

	pkglocal extern const sincos32 : (x : flt32 -> (flt32, flt32))
	pkglocal extern const sincos64 : (x : flt64 -> (flt64, flt64))

	pkglocal extern const sqrt32 : (x : flt32 -> flt32)
	pkglocal extern const sqrt64 : (x : flt64 -> flt64)

	pkglocal extern const kahan_sum32 : (l : flt32[:] -> flt32)
	pkglocal extern const kahan_sum64 : (l : flt64[:] -> flt64)

	pkglocal extern const priest_sum32 : (l : flt32[:] -> flt32)
	pkglocal extern const priest_sum64 : (l : flt64[:] -> flt64)

	pkglocal extern const tan32 : (x : flt32 -> flt32)
	pkglocal extern const tan64 : (x : flt64 -> flt64)

	pkglocal extern const cot32 : (x : flt32 -> flt32)
	pkglocal extern const cot64 : (x : flt64 -> flt64)

	pkglocal extern const trunc32 : (x : flt32 -> flt32)
	pkglocal extern const trunc64 : (x : flt64 -> flt64)

	pkglocal extern const floor32 : (x : flt32 -> flt32)
	pkglocal extern const floor64 : (x : flt64 -> flt64)

	pkglocal extern const ceil32  : (x : flt32 -> flt32)
	pkglocal extern const ceil64  : (x : flt64 -> flt64)
;;