2000-05-11 02:01:03 +02:00
|
|
|
COMMENT(!MOD!zsh/mathfunc
|
|
|
|
Standard scientific functions for use in mathematical evaluations.
|
|
|
|
!MOD!)
|
1999-09-22 15:33:14 +02:00
|
|
|
cindex(functions, mathematical)
|
|
|
|
cindex(mathematical functions)
|
2000-05-11 02:01:03 +02:00
|
|
|
The tt(zsh/mathfunc) module provides standard
|
|
|
|
mathematical functions for use when
|
1999-09-22 15:33:14 +02:00
|
|
|
evaluating mathematical formulae. The syntax agrees with normal C and
|
|
|
|
FORTRAN conventions, for example,
|
|
|
|
|
|
|
|
example((( f = sin(0.3) )))
|
|
|
|
|
|
|
|
assigns the sine of 0.3 to the parameter f.
|
|
|
|
|
|
|
|
Most functions take floating point arguments and return a floating point
|
|
|
|
value. However, any necessary conversions from or to integer type will be
|
|
|
|
performed automatically by the shell. Apart from tt(atan) with a second
|
|
|
|
argument and the tt(abs), tt(int) and tt(float) functions, all functions
|
|
|
|
behave as noted in the manual page for the corresponding C function,
|
|
|
|
except that any arguments out of range for the function in question will be
|
|
|
|
detected by the shell and an error reported.
|
|
|
|
|
|
|
|
The following functions take a single floating point argument: tt(acos),
|
|
|
|
tt(acosh), tt(asin), tt(asinh), tt(atan), tt(atanh), tt(cbrt), tt(ceil),
|
|
|
|
tt(cos), tt(cosh), tt(erf), tt(erfc), tt(exp), tt(expm1), tt(fabs),
|
|
|
|
tt(floor), tt(gamma), tt(j0), tt(j1), tt(lgamma), tt(log), tt(log10),
|
|
|
|
tt(log1p), tt(logb), tt(sin), tt(sinh), tt(sqrt), tt(tan), tt(tanh),
|
|
|
|
tt(y0), tt(y1). The tt(atan) function can optionally take a second
|
|
|
|
argument, in which case it behaves like the C function tt(atan2).
|
|
|
|
The tt(ilogb) function takes a single floating point argument, but
|
|
|
|
returns an integer.
|
|
|
|
|
|
|
|
The function tt(signgam) takes no arguments, and returns an integer, which
|
|
|
|
is the C variable of the same name, as described in manref(gamma)(3). Note
|
|
|
|
that it is therefore only useful immediately after a call to tt(gamma) or
|
|
|
|
tt(lgamma). Note also that `tt(signgam())' and `tt(signgam)' are distinct
|
2000-05-11 02:01:03 +02:00
|
|
|
expressions.
|
1999-09-22 15:33:14 +02:00
|
|
|
|
|
|
|
The following functions take two floating point arguments: tt(copysign),
|
2000-05-11 02:01:03 +02:00
|
|
|
tt(fmod), tt(hypot), tt(nextafter).
|
1999-09-22 15:33:14 +02:00
|
|
|
|
|
|
|
The following take an integer first argument and a floating point second
|
|
|
|
argument: tt(jn), tt(yn).
|
|
|
|
|
|
|
|
The following take a floating point first argument and an integer second
|
|
|
|
argument: tt(ldexp), tt(scalb).
|
|
|
|
|
|
|
|
The function tt(abs) does not convert the type of its single argument; it
|
|
|
|
returns the absolute value of either a floating point number or an
|
|
|
|
integer. The functions tt(float) and tt(int) convert their arguments into
|
|
|
|
a floating point or integer value (by truncation) respectively.
|
|
|
|
|
|
|
|
Note that the C tt(pow) function is available in ordinary math evaluation
|
|
|
|
as the `tt(**)' operator and is not provided here.
|