---
title: "Math"
description: "Static mathematical constants and functions."
canonical_url: "https://www.zeyos.com/zymba/ref/math"
markdown_url: "https://www.zeyos.com/ai/guide/zymba/ref/math.md"
section: "zymba-reference"
authority: "reference"
language: "en"
source_repository: "https://cloud.zeyos.com/__doc/zymbaref.json"
source_sha256: "05a361c6ddc32e74f4a6dc16fd06f218210ff1b7ce57f26ca1994bfffc407915"
---

# Math

## Math

```
object @Math() {
	E;
	LN2;
	LN10;
	LNPI;
	LOG10E;
	LOG2E;
	PI;
	SQRT2;
	SQRT3;
	SQRTPI;
	abs(number $x): number {}
	acos(number $x): float {}
	acosh(number $x): float {}
	acot(number $x): float {}
	acoth(number $x): float {}
	acsc(number $x): float {}
	acsch(number $x): float {}
	add(number $x, number $y): number {}
	alice(): float {}
	asec(number $x): float {}
	asech(number $x): float {}
	asin(number $x): float {}
	asinh(number $x): float {}
	atan(number $x): float {}
	atan2(number $x, number $y): float {}
	atanh(number $x): float {}
	bob(): float {}
	cbrt(number $x): float {}
	ceil(number $x): float {}
	cos(number $x): float {}
	cosh(number $x): float {}
	cot(number $x): float {}
	coth(number $x): float {}
	csc(number $x): float {}
	csch(number $x): float {}
	dim(number $x, number $y): number {}
	div(number $x, number $y): number {}
	erf(number $x): float {}
	euclideanMod(number $x, number $y): float {}
	exp(number $x): float {}
	expm1(number $x): float {}
	fib(number $x): float {}
	floor(number $x): float {}
	flooredMod(number $x, number $y): float {}
	fromDegrees(number $angle): float {}
	gamma(number $x): number {}
	gcd(number $x, number $y): number {}
	hypot(number $x, number $y): float {}
	ln(number $x): float {}
	ln1p(number $x): float {}
	log(number $x, number $y): float {}
	mod(number $x, number $y): float {}
	mul(number $x, number $y): number {}
	neg(number $x): number {}
	pow(number $x, number $y): number {}
	rand(): float {}
	recip(number $x): float {}
	rem(number $x, number $y): float {}
	round(number $number): float {}
	sec(number $x): float {}
	sech(number $x): float {}
	sgn(number $x): int {}
	sin(number $x): float {}
	sinh(number $x): float {}
	sqr(number $x): number {}
	sqrt(number $x): float {}
	sub(number $x, number $y): number {}
	tan(number $x): float {}
	tanh(number $x): float {}
	toDegrees(number $angle): float {}
	truncate(number $x): float {}
	truncatedDiv(number $x, number $y): number {}
}
```

**Static mathematical constants and functions.**

## Functions


### `@Math.abs()`


Returns the absolute value of a number.

```code
@Math.abs(number $x): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |




### `@Math.acos()`


Calculates the inverse cosine of a number in radians.

```code
@Math.acos(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.acosh()`


Calculates the inverse hyperbolic cosine of a number in radians.

```code
@Math.acosh(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.acot()`


Calculates the inverse cotangent of a number in radians.

```code
@Math.acot(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.acoth()`


Calculates the inverse hyperbolic cotangent of a number in radians.

```code
@Math.acoth(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | +INF |
| `float` | -INF |
| `float` | NAN |




### `@Math.acsc()`


Calculates the inverse cosecant of a number in radians.

```code
@Math.acsc(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.acsch()`


Calculates the inverse hyperbolic cosecant of a number in radians.

```code
@Math.acsch(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.add()`


Adds two numbers (x+y) and returns the sum.

```code
@Math.add(number $x, number $y): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |
| `float` | NAN |




### `@Math.alice()`


Easter egg simulating quantum entanglement of two electrons (Alice and Bob).

```code
@Math.alice(): float
```

##### Returns

| Type | Value |
| --- | ---  |
| `float` | +0.5 |
| `float` | -0.5 |




### `@Math.asec()`


Calculates the inverse secant of a number in radians.

```code
@Math.asec(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.asech()`


Calculates the inverse hyperbolic secant of a number in radians.

```code
@Math.asech(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.asin()`


Calculates the inverse sine of a number in radians.

```code
@Math.asin(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.asinh()`


Calculates the inverse hyperbolic sine of a number in radians.

```code
@Math.asinh(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.atan()`


Calculates the inverse tangent of a number in radians.

```code
@Math.atan(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.atan2()`


Calculates the inverse tangent of the division of two numbers (y/x) representing the angle theta of an (x,y) point in radians using the sign of both numbers to determine the quadrant.

```code
@Math.atan2(number $x, number $y): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.atanh()`


Calculates the inverse hyperbolic tangent of a number in radians.

```code
@Math.atanh(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | +INF |
| `float` | -INF |
| `float` | NAN |




### `@Math.bob()`


Easter egg simulating quantum entanglement of two electrons (Alice and Bob).

```code
@Math.bob(): float
```

##### Returns

| Type | Value |
| --- | ---  |
| `float` | +0.5 |
| `float` | -0.5 |




### `@Math.cbrt()`


Calculates the principal cube root of a number.

```code
@Math.cbrt(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.ceil()`


Returns the ceiling of a number by rounding it up to the next highest integer.

```code
@Math.ceil(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.cos()`


Calculates the cosine of a number in radians.

```code
@Math.cos(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.cosh()`


Calculates the hyperbolic cosine of a number in radians.

```code
@Math.cosh(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.cot()`


Calculates the cotangent of a number in radians.

```code
@Math.cot(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | +INF |




### `@Math.coth()`


Calculates the hyperbolic cotangent of a number in radians.

```code
@Math.coth(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | +INF |




### `@Math.csc()`


Calculates the cosecant of a number in radians.

```code
@Math.csc(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | +INF |




### `@Math.csch()`


Calculates the hyperbolic cosecant of a number in radians.

```code
@Math.csch(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | +INF |




### `@Math.dim()`


Returns the greatest of zero and the difference of two numbers (x-y).

```code
@Math.dim(number $x, number $y): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |
| `float` | NAN |




### `@Math.div()`


Divides two numbers (x/y) and returns the quotient.

```code
@Math.div(number $x, number $y): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |
| `float` | +INF |
| `float` | -INF |
| `float` | NAN |




### `@Math.erf()`


Calculates the error function of a number using numerical approximation.

```code
@Math.erf(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.euclideanMod()`


Divides two numbers (x/y) and returns the remainder in relation to the euclidean quotient.

```code
@Math.euclideanMod(number $x, number $y): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.exp()`


Raises Euler's constant to the power of an exponent (x).

```code
@Math.exp(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.expm1()`


Raises Euler's constant to the power of an exponent (x) minus one (exp(x)-1), computed in a way that is accurate even when the value of the number is close to zero.

```code
@Math.expm1(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.fib()`


Calculates a specific Fibonacci number using Binet's formula.

```code
@Math.fib(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.floor()`


Returns the floor of a number by rounding it down to the next lowest integer.

```code
@Math.floor(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.flooredMod()`


Divides two numbers (x/y) and returns the remainder in relation to the floored quotient.

```code
@Math.flooredMod(number $x, number $y): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.fromDegrees()`


Converts an angle in degrees to its equivalent in radians.

```code
@Math.fromDegrees(number $angle): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| angle | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.gamma()`


Calculates the gamma function of a number using the Lanczos approximation with support for reflection.

```code
@Math.gamma(number $x): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |
| `float` | NAN |




### `@Math.gcd()`


Calculates the absolute greatest common divisor of two numbers.

```code
@Math.gcd(number $x, number $y): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |
| `float` | NAN |




### `@Math.hypot()`


Measures the length of the hypotenuse of a right-angle triangle (sqrt(x*x+y*y)).

```code
@Math.hypot(number $x, number $y): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.ln()`


Calculates the natural logarithm of a number.

```code
@Math.ln(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | -INF |
| `float` | NAN |




### `@Math.ln1p()`


Calculates the natural logarithm of a number plus one (ln(x+1)), computed in a way that is accurate even when the value of the number is close to zero.

```code
@Math.ln1p(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | -INF |
| `float` | NAN |




### `@Math.log()`


Calculates the logarithm of a number (x) to a base (y).

```code
@Math.log(number $x, number $y): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 10 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | -INF |
| `float` | NAN |




### `@Math.mod()`


Divides two numbers (x/y) and returns the remainder in relation to the truncated quotient.

```code
@Math.mod(number $x, number $y): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.mul()`


Multiplies two numbers (x*y) and returns the product.

```code
@Math.mul(number $x, number $y): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |
| `float` | NAN |




### `@Math.neg()`


Returns the additive inverse of a number.

```code
@Math.neg(number $x): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |




### `@Math.pow()`


Raises a base (x) to the power of an exponent (y).

```code
@Math.pow(number $x, number $y): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 10 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |
| `float` | +INF |




### `@Math.rand()`


Generates a pseudo-random number between zero and one using the Mersenne Twister algorithm.

```code
@Math.rand(): float
```

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.recip()`


Returns the multiplicative inverse (reciprocal, 1/x) of a number.

```code
@Math.recip(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | +INF |




### `@Math.rem()`


Divides two numbers (x/y) and returns the remainder in relation to the rounded quotient as defined in IEEE 754.

```code
@Math.rem(number $x, number $y): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.round()`


Rounds a number to nearest, ties to even as defined in IEEE 754.

```code
@Math.round(number $number): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| number | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.sec()`


Calculates the secant of a number in radians.

```code
@Math.sec(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.sech()`


Calculates the hyperbolic secant of a number in radians.

```code
@Math.sech(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.sgn()`


Returns the sign of a number.

```code
@Math.sgn(number $x): int
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `int` | +1 |
| `int` | -1 |
| `int` | 0 |
| `float` | NAN |




### `@Math.sin()`


Calculates the sine of a number in radians.

```code
@Math.sin(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.sinh()`


Calculates the hyperbolic sine of a number in radians.

```code
@Math.sinh(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.sqr()`


Calculates the square of a number.

```code
@Math.sqr(number $x): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |




### `@Math.sqrt()`


Calculates the principal square root of a number.

```code
@Math.sqrt(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |
| `float` | NAN |




### `@Math.sub()`


Subtracts two numbers (x-y) and returns the difference.

```code
@Math.sub(number $x, number $y): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |
| `float` | NAN |




### `@Math.tan()`


Calculates the tangent of a number in radians.

```code
@Math.tan(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.tanh()`


Calculates the hyperbolic tangent of a number in radians.

```code
@Math.tanh(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.toDegrees()`


Converts an angle in radians to its equivalent in degrees.

```code
@Math.toDegrees(number $angle): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| angle | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.truncate()`


Truncates a number by rounding it towards zero, whereas the fractional part is discarded.

```code
@Math.truncate(number $x): float
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `float` |  |




### `@Math.truncatedDiv()`


Divides two numbers (x/y) and returns the truncated quotient.

```code
@Math.truncatedDiv(number $x, number $y): number
```

##### Parameters

| Name | Type | Value | Default |
| --- | --- | --- | --- |
| x | `number`  |  | 0 |
| y | `number`  |  | 0 |

##### Returns

| Type | Value |
| --- | ---  |
| `number` |  |
| `float` | +INF |
| `float` | -INF |
| `float` | NAN |
