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