# Class Maths

java.lang.Object
uk.ac.starlink.ttools.func.Maths

public class Maths extends Object
Standard mathematical and trigonometric functions. Trigonometric functions work with angles in radians.

Since:
  2 Sep 2004
Author:
  Mark Taylor (Starlink)

## Field Summary

Fields
Modifier and Type
Field
Description
`static final double`
`E`
Euler's number e, the base of natural logarithms.
`static final double`
`Infinity`
Positive infinite floating point value.
`static final double`
`NaN`
Not-a-Number floating point value.
`static final double`
`PI`
Pi, the ratio of the circumference of a circle to its diameter.

## Method Summary

Modifier and Type
Method
Description
`static double`
`acos(double x)`
Arc cosine of an angle.
`static double`
`acosh(double x)`
Inverse hyperbolic cosine.
`static double`
`asin(double x)`
Arc sine of an angle.
`static double`
`asinh(double x)`
Inverse hyperbolic sine.
`static double`
`atan(double x)`
Arc tangent of an angle.
`static double`
`atan2(double y, double x)`
Converts rectangular coordinates (`x`,`y`) to polar (`r`,`theta`).
`static double`
`atanh(double x)`
Inverse hyperbolic tangent.
`static double`
`cos(double theta)`
Cosine of an angle.
`static double`
`cosh(double x)`
Hyperbolic cosine.
`static double`
`exp(double x)`
Euler's number e raised to a power.
`static double`
`exp10(double x)`
Power of 10.
`static double`
`hypot(double... xs)`
Returns the square root of the sum of squares of its arguments.
`static double`
`ln(double x)`
Natural logarithm.
`static double`
`log10(double x)`
Logarithm to base 10.
`static double`
`pow(double a, double b)`
Exponentiation.
`static double`
`sin(double theta)`
Sine of an angle.
`static double`
`sinh(double x)`
Hyperbolic sine.
`static double`
`sqrt(double x)`
Square root.
`static double`
`square(double x)`
Raise to the power 2.
`static double`
`symlog(double linthresh, double linscale, double x)`
Symmetric logarithm mapping function.
`static double`
`tan(double theta)`
Tangent of an angle.
`static double`
`tanh(double x)`
Hyperbolic tangent.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### E

public static final double E
Euler's number e, the base of natural logarithms.

See Also:
  - Constant Field Values

### PI

public static final double PI
Pi, the ratio of the circumference of a circle to its diameter.

See Also:
  - Constant Field Values

### Infinity

public static final double Infinity
Positive infinite floating point value.

See Also:
  - Constant Field Values

### NaN

public static final double NaN
Not-a-Number floating point value. Use with care; arithmetic and logical operations behave in strange ways near NaN (for instance, `NaN!=NaN`). For most purposes this is equivalent to the blank value.

See Also:
  - Constant Field Values

## Method Details

### sin

public static double sin(double theta)
Sine of an angle.

Parameters:
  `theta` - an angle, in radians.
Returns:
  the sine of the argument.

### cos

public static double cos(double theta)
Cosine of an angle.

Parameters:
  `theta` - an angle, in radians.
Returns:
  the cosine of the argument.

### tan

public static double tan(double theta)
Tangent of an angle.

Parameters:
  `theta` - an angle, in radians.
Returns:
  the tangent of the argument.

### asin

public static double asin(double x)
Arc sine of an angle. The result is in the range of -pi/2 through pi/2.

Parameters:
  `x` - the value whose arc sine is to be returned.
Returns:
  the arc sine of the argument (radians)

### acos

public static double acos(double x)
Arc cosine of an angle. The result is in the range of 0.0 through pi.

Parameters:
  `x` - the value whose arc cosine is to be returned.
Returns:
  the arc cosine of the argument (radians)

### atan

public static double atan(double x)
Arc tangent of an angle. The result is in the range of -pi/2 through pi/2.

Parameters:
  `x` - the value whose arc tangent is to be returned.
Returns:
  the arc tangent of the argument (radians)

### ln

public static double ln(double x)
Natural logarithm.

Parameters:
  `x` - argument
Returns:
  loge(x)

### exp

public static double exp(double x)
Euler's number e raised to a power.

Parameters:
  `x` - the exponent to raise e to.
Returns:
  the value ex, where e is the base of the natural logarithms.

### log10

public static double log10(double x)
Logarithm to base 10.

Parameters:
  `x` - argument
Returns:
  log10(x)

### exp10

public static double exp10(double x)
Power of 10. This convenience function is identical to `pow(10,x)`.

Parameters:
  `x` - argument
Returns:
  10x

### sqrt

public static double sqrt(double x)
Square root. The result is correctly rounded and positive.

Parameters:
  `x` - a value.
Returns:
  the positive square root of `x`. If the argument is NaN or less than zero, the result is NaN.

### square

public static double square(double x)
Raise to the power 2.

Parameters:
  `x` - a value
Returns:
  x * x

### hypot

public static double hypot(double... xs)
Returns the square root of the sum of squares of its arguments. In the 2-argument case, doing it like this may avoid intermediate overflow or underflow.

Parameters:
  `xs` - one or more numeric values
Returns:
  sqare root of sum of squares of arguments
Examples:
  `hypot(3,4) = 5`, `hypot(2,2,2,2) = 4`

### atan2

public static double atan2(double y, double x)
Converts rectangular coordinates (`x`,`y`) to polar (`r`,`theta`). This method computes the phase `theta` by computing an arc tangent of `y/x` in the range of -pi to pi.

Parameters:
  `y` - the ordinate coordinate
  `x` - the abscissa coordinate
Returns:
  the `theta` component (radians) of the point (`r`,`theta`) in polar coordinates that corresponds to the point (`x`,`y`) in Cartesian coordinates.

### pow

public static double pow(double a, double b)
Exponentiation. The result is the value of the first argument raised to the power of the second argument.

Parameters:
  `a` - the base.
  `b` - the exponent.
Returns:
  the value `ab`.

### sinh

public static double sinh(double x)
Hyperbolic sine.

Parameters:
  `x` - parameter
Returns:
  result

### cosh

public static double cosh(double x)
Hyperbolic cosine.

Parameters:
  `x` - parameter
Returns:
  result

### tanh

public static double tanh(double x)
Hyperbolic tangent.

Parameters:
  `x` - parameter
Returns:
  result

### asinh

public static double asinh(double x)
Inverse hyperbolic sine.

Parameters:
  `x` - parameter
Returns:
  result

### acosh

public static double acosh(double x)
Inverse hyperbolic cosine.

Parameters:
  `x` - parameter
Returns:
  result

### atanh

public static double atanh(double x)
Inverse hyperbolic tangent.

Parameters:
  `x` - parameter
Returns:
  result

### symlog

public static double symlog(double linthresh, double linscale, double x)
Symmetric logarithm mapping function. This function is not generally of much mathematical use, but it is available as one of the scaling options for plot axes. It is linear near the origin (abs(x)<=`linthresh`) and positive/negative logarithmic outside that region.

The function is:

       |x| <= linthresh:
            x * linscale / linthresh
       |x| >= linthresh:
            sgn(x) * (linscale + log10(|x|) - log10(linthresh))

Parameters:
  `linthresh` - linear threshold, below which absolute value the function is linear; must be >0
  `linscale` - linear scale, being the ratio of the half-extent of the linear mapped region to the extent of a decade in the logarithmic region; must be >0
  `x` - value to map
Returns:
  mapped value