]> gitweb.factorcode.org Git - factor.git/blob - basis/math/libm/libm.factor
put mach call_fault_handler in the vm
[factor.git] / basis / math / libm / libm.factor
1 ! Copyright (C) 2006 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien ;
4 IN: math.libm
5
6 : facos ( x -- y )
7     "double" "libm" "acos" { "double" } alien-invoke ;
8
9 : fasin ( x -- y )
10     "double" "libm" "asin" { "double" } alien-invoke ;
11
12 : fatan ( x -- y )
13     "double" "libm" "atan" { "double" } alien-invoke ;
14
15 : fatan2 ( x y -- z )
16     "double" "libm" "atan2" { "double" "double" } alien-invoke ;
17
18 : fcos ( x -- y )
19     "double" "libm" "cos" { "double" } alien-invoke ;
20
21 : fsin ( x -- y )
22     "double" "libm" "sin" { "double" } alien-invoke ;
23
24 : ftan ( x -- y )
25     "double" "libm" "tan" { "double" } alien-invoke ;
26
27 : fcosh ( x -- y )
28     "double" "libm" "cosh" { "double" } alien-invoke ;
29
30 : fsinh ( x -- y )
31     "double" "libm" "sinh" { "double" } alien-invoke ;
32
33 : ftanh ( x -- y )
34     "double" "libm" "tanh" { "double" } alien-invoke ;
35
36 : fexp ( x -- y )
37     "double" "libm" "exp" { "double" } alien-invoke ;
38
39 : flog ( x -- y )
40     "double" "libm" "log" { "double" } alien-invoke ;
41
42 : flog10 ( x -- y )
43     "double" "libm" "log10" { "double" } alien-invoke ;
44
45 : fpow ( x y -- z )
46     "double" "libm" "pow" { "double" "double" } alien-invoke ;
47
48 : fsqrt ( x -- y )
49     "double" "libm" "sqrt" { "double" } alien-invoke ;
50     
51 ! Windows doesn't have these...
52 : flog1+ ( x -- y )
53     "double" "libm" "log1p" { "double" } alien-invoke ;
54
55 : facosh ( x -- y )
56     "double" "libm" "acosh" { "double" } alien-invoke ;
57
58 : fasinh ( x -- y )
59     "double" "libm" "asinh" { "double" } alien-invoke ;
60
61 : fatanh ( x -- y )
62     "double" "libm" "atanh" { "double" } alien-invoke ;