cmath-0.3: A binding to the standard C math library

PortabilityFFI
Stabilityprovisional
MaintainerDon Stewart <dons@galois.com>

Foreign.C.Math.Double

Description

 

Synopsis

Documentation

acos :: Double -> DoubleSource

The acos function computes the principal value of the arc cosine of x in the range [0, pi]

asin :: Double -> DoubleSource

The asin function computes the principal value of the arc sine of x in the range [-pi2, +pi2].

atan :: Double -> DoubleSource

The atan function computes the principal value of the arc tangent of x in the range [-pi2, +pi2].

atan2 :: Double -> Double -> DoubleSource

The atan2 function computes the principal value of the arc tangent of y/x, using the signs of both arguments to determine the quadrant of the return value.

cos :: Double -> DoubleSource

The cos function computes the cosine of x (measured in radians). A large magnitude argument may yield a result with little or no significance. For a discussion of error due to roundoff, see math(3).

sin :: Double -> DoubleSource

The sin function computes the sine of x (measured in radians). A large magnitude argument may yield a result with little or no significance. For a discussion of error due to roundoff, see math(3).

tan :: Double -> DoubleSource

The tan function computes the tangent of x (measured in radians). A large magnitude argument may yield a result with little or no significance. For a discussion of error due to roundoff, see math(3).

cosh :: Double -> DoubleSource

The cosh function computes the hyperbolic cosine of x.

sinh :: Double -> DoubleSource

The sinh function computes the hyperbolic sine of x.

tanh :: Double -> DoubleSource

The tanh function computes the hyperbolic tangent of x.

exp :: Double -> DoubleSource

The exp() function computes the exponential value of the given argument x.

frexp :: Double -> (Double, Int)Source

frexp convert floating-point number to fractional and integral components frexp is not defined in the Haskell 98 report.

ldexp :: Double -> Int -> DoubleSource

The ldexp function multiplies a floating-point number by an integral power of 2. ldexp is not defined in the Haskell 98 report.

log :: Double -> DoubleSource

The log() function computes the value of the natural logarithm of argument x.

log10 :: Double -> DoubleSource

The log10 function computes the value of the logarithm of argument x to base 10. log10 is not defined in the Haskell 98 report.

modf :: Double -> (Double, Double)Source

The modf function breaks the argument value into integral and fractional parts, each of which has the same sign as the argument. modf is not defined in the Haskell 98 report.

pow :: Double -> Double -> DoubleSource

The pow function computes the value of x to the exponent y.

sqrt :: Double -> DoubleSource

The sqrt function computes the non-negative square root of x.

ceil :: Double -> DoubleSource

The ceil function returns the smallest integral value greater than or equal to x.

fabs :: Double -> DoubleSource

The fabs function computes the absolute value of a floating-point number x.

floor :: Double -> DoubleSource

The floor function returns the largest integral value less than or equal to x.

fmod :: Double -> Double -> DoubleSource

The fmod function computes the floating-point remainder of x / y.

round :: Double -> DoubleSource

The round function returns the nearest integral value to x; if x lies halfway between two integral values, then these functions return the integral value with the larger absolute value (i.e., it rounds away from zero).

trunc :: Double -> DoubleSource

The fmod function computes the floating-point remainder of x / y.

erf :: Double -> DoubleSource

The erf calculates the error function of x. The error function is defined as:

 erf(x) = 2/sqrt(pi)*integral from 0 to x of exp(-t*t) dt.

erfc :: Double -> DoubleSource

The erfc function calculates the complementary error function of x; that is erfc() subtracts the result of the error function erf(x) from 1.0. This is useful, since for large x places disappear.

gamma :: Double -> DoubleSource

The gamma function.

hypot :: Double -> Double -> DoubleSource

The hypot function function computes the sqrt(x*x+y*y) in such a way that underflow will not happen, and overflow occurs only if the final result deserves it.

 hypot(Infinity, v) = hypot(v, Infinity) = +Infinity for all v, including NaN.

isinf :: Double -> IntSource

The isinf function returns 1 if the number n is Infinity, otherwise 0.

isnan :: Double -> IntSource

The isnan function returns 1 if the number n is ``not-a-number'', otherwise 0.

finite :: Double -> IntSource

finite returns the value 1 just when -Infinity < x < +Infinity; otherwise a zero is returned (when |x| = Infinity or x is NaN.

j0 :: Double -> DoubleSource

The functions j0() and j1() compute the Bessel function of the first kind of the order 0 and the order 1, respectively, for the real value x

j1 :: Double -> DoubleSource

The functions j0() and j1() compute the Bessel function of the first kind of the order 0 and the order 1, respectively, for the real value x

y0 :: Double -> DoubleSource

The functions y0() and y1() compute the linearly independent Bessel function of the second kind of the order 0 and the order 1, respectively, for the positive integer value x (expressed as a double)

y1 :: Double -> DoubleSource

The functions y0() and y1() compute the linearly independent Bessel function of the second kind of the order 0 and the order 1, respectively, for the positive integer value x (expressed as a double)

yn :: Int -> Double -> DoubleSource

yn() computes the Bessel function of the second kind for the integer Bessel0 n for the positive integer value x (expressed as a double).

lgamma :: Double -> DoubleSource

lgamma(x) returns ln|| (x)|.

acosh :: Double -> DoubleSource

The acosh function computes the inverse hyperbolic cosine of the real argument x.

asinh :: Double -> DoubleSource

The asinh function computes the inverse hyperbolic sine of the real argument.

atanh :: Double -> DoubleSource

The atanh function computes the inverse hyperbolic tangent of the real argument x.

cbrt :: Double -> DoubleSource

The cbrt function computes the cube root of x.

logb :: Double -> DoubleSource

logb x returns x's exponent n, a signed integer converted to double-precision floating-point.

 logb(+-Infinity) = +Infinity;
 logb(0) = -Infinity with a division by zero exception.

nextafter :: Double -> Double -> DoubleSource

nextafter returns the next machine representable number from x in direction y.

remainder :: Double -> Double -> DoubleSource

remainder returns the remainder r := x - n*y where n is the integer nearest the exact value of xy; moreover if |n - xy| = 1/2 then n is even. Consequently, the remainder is computed exactly and |r| <= |y|/2. But remainder(x, 0) and remainder(Infinity, 0) are invalid operations that produce a NaN. --

scalb :: Double -> Double -> DoubleSource

scalb(x, n) returns x*(2**n) computed by exponent manipulation.

significand :: Double -> DoubleSource

significand(x) returns sig, where x := sig * 2**n with 1 <= sig < 2. significand(x) is not defined when x is 0, +-Infinity, or NaN.

copysign :: Double -> Double -> DoubleSource

copysign x y returns x with its sign changed to y's.

ilogb :: Double -> IntSource

ilogb() returns x's exponent n, in integer format. ilogb(+-Infinity) re- turns INT_MAX and ilogb(0) returns INT_MIN.

rint :: Double -> DoubleSource

The rint() function returns the integral value (represented as a double precision number) nearest to x according to the prevailing rounding mode.