# Rule functions

Rules can contain any of the inbuilt mathematical functions listed in the table below:

 Name Description abs Returns the absolute value of a number ceil Returns the smallest integer greater than or equal to the argument floor Returns the largest integer less than or equal to the argument log Returns the logarithm of a number log10 Returns the base 10 logarithm of a number max Returns the larger of two numbers min Returns the smaller of two numbers pow Returns the result of raising one number to the power of another number round Returns a number rounded to the nearest integer sign Returns a value indicating the sign of a number sqrt Returns the square root of a number

abs()

Returns the absolute value of a number.

Signature

double abs(double x)

Parameters

x : The number to return the absolute value of.

Returns

If x is not negative it returns x. If x is negative it returns the negation of x. If x is zero it returns zero.

Examples

```abs(1)  = 1
abs(0)  = 0
abs(-1) = 1
```

ceil()

Returns the smallest integer greater than or equal to the argument.

Signature

double ceil(double x)

Parameters

x : The number to round.

Returns

The smallest integer greater than or equal to x. This is sometimes called rounding towards positive infinity.

Examples

```ceil(1.6)  = 2
ceil(1.5)  = 2
ceil(1.4)  = 2
ceil(1)    = 1
ceil(0)    = 0
ceil(-1)   = -1
ceil(-1.4) = -1
ceil(-1.5) = -1
ceil(-1.6) = -1
```

floor()

Returns the largest integer less than or equal to the argument.

Signature

double floor(double x)

Parameters

x : The number to round.

Returns

The largest integer less than or equal to x. This is sometimes called rounding towards negative infinity.

Examples

```floor(1.6)  = 1
floor(1.5)  = 1
floor(1.4)  = 1
floor(1)    = 1
floor(0)    = 0
floor(-1)   = -1
floor(-1.4) = -2
floor(-1.5) = -2
floor(-1.6) = -2
```

log()

Returns the natural (base e) logarithm of a number.

Signature

double log(double x)

Parameters

x : The number whose logarithm is to be returned.

Returns

The natural (base e) logarithm of x. If x is zero or negative then zero is returned.

Examples

```log(1000) = 6.90775527898214
log(100)  = 4.60517018598809
log(10)   = 2.30258509299405
log(1)    = 0
log(0.1)  = -2.30258509299405
```

log10()

Returns the base 10 logarithm of a number.

Signature

double log10(double x)

Parameters

x : The number whose logarithm is to be returned.

Returns

The base 10 logarithm of x. If x is zero or negative then zero is returned.

Examples

```log10(1000) = 3
log10(100)  = 2
log10(10)   = 1
log10(1)    = 0
log10(0.1)  = -1
```

max()

Returns the larger of two numbers.

Signature

double max(double x, double y)

Parameters

x : The first of the two numbers to be compared.
y : The second of the two numbers to be compared.

Returns

The larger of the two numbers x and y. If x and y are equal then the same number is returned.

Examples

```max(1, 0)       = 1
max(0, -1)      = 0
max(-1.3, -3.5) = -1.3
```

min()

Returns the smaller of two numbers.

Signature

double min(double x, double y)

Parameters

x : The first of the two numbers to be compared.
y : The second of the two numbers to be compared.

Returns

The smaller of the two numbers x and y. If x and y are equal then the same number is returned.

Examples

```min(1, 0)       = 0
min(0, -1)      = -1
min(-1.3, -3.5) = -3.5
```

pow()

Returns the result of raising one number to the power of another number.

Signature

double pow(double x, double y)

Parameters

x : A number to be raised to a power.
y : The power to raise x to.

Returns

x raised to the power y. If the result is positive infinity (e.g. x = 0 and y < 0) or not a number (e.g. x < 0 and y is not an integer) then zero is returned.

Examples

```pow(2, 3)   = 8
pow(100, 2) = 10000
```

round()

Returns a number rounded to the nearest integer.

Signature

double round(double x)

Parameters

x : The number to round.

Returns

The integer nearest to x. If x is exactly halfway between two integers then it is rounded to the integer that is further from zero.

Examples

```round(1.6)  = 2
round(1.5)  = 2
round(1.4)  = 1
round(1)    = 1
round(0)    = 0
round(-1)   = -1
round(-1.4) = -1
round(-1.5) = -2
round(-1.6) = -2
```

sign()

Returns a value indicating the sign of a number.

Signature

double sign(double x)

Parameters

x : The number to determine the sign of.

Returns

-1 if x is less than zero.
0 if x is equal to zero.
1 if x is greater than zero.

Examples

```sign(10)  = 1
sign(0)   = 0
sign(-10) = -1
```

sqrt()

Returns the square root of a number.

Signature

double sqrt(double x)

Parameters

x : The number to square root.

Returns

The positive square root of x. If x is negative then zero is returned.

Examples

```sqrt(64) = 8
sqrt(2)  = 1.4142135623731
sqrt(0)  = 0
```