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

Portability FFI provisional Don Stewart

Foreign.C.Math.Double

Description

Synopsis

Documentation

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

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

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

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.

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).

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).

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).

The cosh function computes the hyperbolic cosine of x.

The sinh function computes the hyperbolic sine of x.

The tanh function computes the hyperbolic tangent of x.

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.

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

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

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.

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

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

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

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

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

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

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).

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

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.
```

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.

The gamma function.

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.
```

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

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

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

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

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

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)

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(x) returns ln|| (x)|.

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

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

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

The cbrt function computes the cube root of x.

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 returns the next machine representable number from x in direction y.

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(x, n) returns x*(2**n) computed by exponent manipulation.

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 x y returns x with its sign changed to y's.

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

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