Temporary tag for this failure. Updated CI spec coming.
[rbx.git] / kernel / platform / math.rb
blob4195464d63fe05440ba57b11da759c333a5ae950
1 # depends on: ffi.rb
3 module Platform::Math
4   attach_function "atan2", [:double, :double], :double
5   attach_function "cos",   [:double], :double
6   attach_function "sin",   [:double], :double
7   attach_function "tan",   [:double], :double
8   attach_function "acos",  [:double], :double
9   attach_function "asin",  [:double], :double
10   attach_function "atan",  [:double], :double
11   attach_function "cosh",  [:double], :double
12   attach_function "sinh",  [:double], :double
13   attach_function "tanh",  [:double], :double
14   attach_function "acosh", [:double], :double
15   attach_function "asinh", [:double], :double
16   attach_function "atanh", [:double], :double
17   attach_function "exp",   [:double], :double
18   attach_function "log",   [:double], :double
19   attach_function "log10", [:double], :double
20   attach_function "sqrt",  [:double], :double
21   attach_function "frexp", [:double, :pointer], :double
22   attach_function "ldexp", [:double, :int], :double
23   attach_function "hypot", [:double, :double], :double
24   attach_function "erf",   [:double], :double
25   attach_function "erfc",  [:double], :double
27   # TODO: we need a way to determine whether a function
28   #   is defined for a particular platform.
29   # attach_function "log2",  [:double], :double
30   def self.log2(x)
31     log10(x) / log10(2.0)
32   end
33 end