xref: /inferno-os/man/2/math-elem (revision 46439007cf417cbd9ac8049bb4122c890097a0fa)
MATH-ELEM 2
NAME
Math: cbrt, sqrt, pow, pow10, hypot, exp, expm1, log, log10, log1p, cos, cosh, sin, sinh, tan, tanh, acos, asin, acosh, asinh, atan, atanh, atan2, lgamma, erf, erfc, j0, j1, y0, y1, jn, yn - elementary functions of applied mathematics
SYNOPSIS
.EX include "math.m"; math := load Math Math->PATH; cbrt, sqrt: fn(x: real): real; pow: fn(x, y: real): real; pow10: fn(p: int): real; hypot: fn(x, y: real): real; exp, expm1, log, log10, log1p: fn(x: real): real; cos, cosh, sin, sinh, tan, tanh: fn(x: real): real; acos, asin, acosh, asinh, atan, atanh: fn(x: real): real; atan2: fn(y, x: real) of real; lgamma: fn(x: real): (int,real); erf, erfc: fn(x: real): real; j0, j1, y0, y1: fn(x: real): real; jn, yn: fn(n: int, x: real): real;
DESCRIPTION
These routines implement the basic elementary functions of applied mathematics.

Sqrt( x ) computes the square root of x , cbrt( x ) the cube root. Pow( x , y ) computes x raised to the exponent y ; pow10 raises 10 to the integer power n . Hypot( x , y ) computes \f5sqrt(\f2x\f5*\f2x\f5+\f2y\f5*\f2y\f5)\f1.

Exp( x ) returns the exponential function of x , and expm1( x ) is exp( x )-1.

Log( x ) returns the natural logarithm of x , while log10( x ) returns the logarithm base 10 and log1p( x ) returns the logarithm of 1+ x\f1.

The trigonometric functions use radians. The ranges of the inverse functions are: acos in [0,\(*p]; asin in [-\(*p/2,\(*p/2]; atan in [-\(*p/2,\(*p/2]; and atan2( y , x ) = arctan( y / x ) in [-\(*p,\(*p];

The gamma function is implemented by lgamma( x )\f1; the tuple it returns, say ( s , lg )\f1, encodes the gamma function by \(*G( x ) = s *exp( lg )\f1.

The hyperbolic trigonometric functions sinh etc. behave as expected. Erf is the error function and erfc( x ) is 1-erf( x )\f1.

The Bessel functions are computed by j0 , j1 , jn , y0 , y1 , and yn .

SOURCE
/libinterp/math.c
SEE ALSO
math-intro (2)