2007-09-20 18:09:08 -04:00
|
|
|
! Copyright (C) 2006 Slava Pestov.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
USING: alien ;
|
|
|
|
IN: math.libm
|
|
|
|
|
|
|
|
: facos ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "acos" { "double" } alien-invoke ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: fasin ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "asin" { "double" } alien-invoke ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: fatan ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "atan" { "double" } alien-invoke ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: fatan2 ( x y -- z )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "atan2" { "double" "double" } alien-invoke ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: fcos ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "cos" { "double" } alien-invoke ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: fsin ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "sin" { "double" } alien-invoke ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-05-26 18:15:54 -04:00
|
|
|
: ftan ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "tan" { "double" } alien-invoke ;
|
2008-05-26 18:15:54 -04:00
|
|
|
|
2007-09-20 18:09:08 -04:00
|
|
|
: fcosh ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "cosh" { "double" } alien-invoke ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: fsinh ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "sinh" { "double" } alien-invoke ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
2008-05-26 18:15:54 -04:00
|
|
|
: ftanh ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "tanh" { "double" } alien-invoke ;
|
2008-05-26 18:15:54 -04:00
|
|
|
|
2007-09-20 18:09:08 -04:00
|
|
|
: fexp ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "exp" { "double" } alien-invoke ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: flog ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "log" { "double" } alien-invoke ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: fpow ( x y -- z )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "pow" { "double" "double" } alien-invoke ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: fsqrt ( x -- y )
|
|
|
|
"double" "libm" "sqrt" { "double" } alien-invoke ;
|
2008-06-07 08:22:09 -04:00
|
|
|
|
|
|
|
! Windows doesn't have these...
|
2009-09-11 21:31:06 -04:00
|
|
|
: flog1+ ( x -- y )
|
2009-09-11 21:28:15 -04:00
|
|
|
"double" "libm" "log1p" { "double" } alien-invoke ;
|
|
|
|
|
2008-06-07 08:22:09 -04:00
|
|
|
: facosh ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "acosh" { "double" } alien-invoke ;
|
2008-06-07 08:22:09 -04:00
|
|
|
|
|
|
|
: fasinh ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "asinh" { "double" } alien-invoke ;
|
2008-06-07 08:22:09 -04:00
|
|
|
|
|
|
|
: fatanh ( x -- y )
|
2009-08-30 05:52:01 -04:00
|
|
|
"double" "libm" "atanh" { "double" } alien-invoke ;
|