# Mathematical

## abs(value)

Mathematical evaluation function that returns a number's absolute value. Use this scalar function with the eval or the filter streaming functions. Numbers can be type int, long, float, or double.

- Function Input
- number
- Function Output
- number

### SPL2 examples

Returns the absolute values of the numeric field `number`

.

When working in the **SPL View**, you can write the function by using the following syntax.

... | eval absnum=abs(number);

Alternatively, you can use named arguments.

... | eval absnum=abs(value: number);

## addition

For documentation on how to perform addition, see arithmetic operators.

## ceil(value)

Mathematical evaluation function that rounds a number up to the next highest integer. Returns the result as a double. Use this scalar function with the eval or the filter streaming functions. Numbers can be type int, long, float, or double.

- Function Input
- value: number
- Function Output
- double

### SPL2 examples

The following examples return n=2.

When working in the **SPL View**, you can write the function by using the following syntax.

...| eval n=ceil(1.9);

Alternatively, you can use named arguments.

...| eval n=ceil(value: 1.9);

## division

For documentation on how to perform division, see arithmetic operators.

## exp(value)

Mathematical evaluation function that takes a number `value`

and returns the exponential `e`

as a double. Use this scalar function with the eval or the filter streaming functions. Numbers can be type int, long, float, or double.
^{value}

- Function Input
- number
- Function Output
- double

### SPL2 example

Returns 2.718281828459045 as a double.

When working in the **SPL View**, you can write the function by using the following syntax.

... | eval n=exp(1);

Alternatively, you can use named arguments.

... | eval n=exp(value: 1);

## floor(value)

Mathematical evaluation function that rounds a number down to the nearest integer. Returns the result as a double. Use this scalar function with the eval or the filter streaming functions. Numbers can be type int, long, float, or double.

- Function Input
- number
- Function Output
- double

### SPL2 examples

Returns 1 as a double.

When working in the **SPL View**, you can write the function by using the following syntax.

... | eval n=floor(1.2);

Alternatively, you can use named arguments.

... | eval n=floor(value: 1.2);

## log(value, base)

This function takes either one or two numeric arguments and returns the logarithm of the first argument `value`

using the second argument `base`

as the base. If the second argument `base`

is omitted, this function evaluates the logarithm of number `value`

with base 10. Use this scalar function with the eval or the filter streaming functions. Numbers can be type int, long, float, or double.

- Function Input
- value: number
- base: number
- Function Output
- double

### SPL2 example

Returns 4 as a double.

When working in the **SPL View**, you can write the function by using the following syntax.

... | eval n=log(16,2);

Alternatively, you can use named arguments to list the arguments in any order.

... | eval n=log(base: 2, value: 16);

## ln(value)

Mathematical evaluation function that takes a number and returns its natural logarithm as a double. Returns null for invalid values. Use this scalar function with the eval or the filter streaming functions. Numbers can be type int, long, float, or double.

- Function Input
- value: number
- Function Output
- double

### SPL2 examples

Returns 0 as a double.

When working in the **SPL View**, you can write the function by using the following syntax.

... | eval n=ln(1);

Alternatively, you can use named arguments.

... | eval n=ln(value: 1);

## mod(left, right)

Mathematical evaluation function that takes two numbers, divides them, and returns the remainder. You can also compute the remainder with the `%`

character. See the second SPL2 example.

- Function Input
- left: number to be divided
- right: number to divide with
- Function Output
- number

### 1. SPL2 example

Returns 1.

When working in the **SPL View**, you can write the function by using the following syntax.

... | eval n = mod(100,33) | ...;

### 2. SPL2 example

Returns 1.2999999999999998.

When working in the **SPL View**, you can write the function by using the following syntax.

... | eval n=5.3%2 | ...;

## multiplication

For documentation on how to perform multiplication, see arithmetic operators.

## pi()

Mathematical evaluation function that takes no arguments, but returns the constant pi to 20 digits of precision. Use this scalar function with the eval or the filter streaming functions.

- Function Input
- null
- Function Output
- double

### SPL2 example

Returns 3.14159265358979323846 as a double.

When working in the **SPL View**, you can write the function by using the following syntax.

... | eval n=pi();

## pow(base, exp)

Mathematical evaluation function that takes two numbers `base`

and `exp`

, and returns `base`

as a double. Use this scalar function with the eval or the filter streaming functions. Numbers can be type int, long, float, or double.
^{exp}

- Function Input
- base: number
- exp: number
- Function Output
- double

### SPL2 examples

Returns 4 as a double.

When working in the **SPL View**, you can write the function by using the following syntax.

... | eval n=pow(2,2);

Alternatively, you can use named arguments to list the arguments in any order.

... | eval n=pow(exp: 2, base: 2);

## randomint()

Mathematical evaluation function that takes no arguments, but returns a number ranging from 0 to 2^{31}-1 as an integer. Use this scalar function with the eval or the filter streaming functions.

- Function Input
- null
- Function Output
- integer

### SPL2 example

Returns a random number between 0 and 2^{31}-1 as an integer.

When working in the **SPL View**, you can write the function by using the following syntax.

... | eval n=randomint();

## round(value)

Takes a numeric arguments `value`

and returns the nearest whole number. Use this scalar function with the eval or the filter streaming functions.

- Function Input
- value: double
- Function Output
- double

### SPL2 examples

Returns 3.0 as a double.

When working in the **SPL View**, you can write the function by using the following syntax.

...| eval n=round(cast(2.555d, "double"));

Alternatively, you can use named arguments.

...| eval n=round(value: cast(2.555d, "double"));

## round(value, num_decimals)

Mathematical evaluation function that takes two numeric arguments, `value`

and `num_decimals`

, and returns `value`

rounded to the amount of decimal places specified by `num_decimals`

. Use this scalar function with the eval or the filter streaming functions.

- Function Input
- value: double
- num_decimals: integer
- Function Output
- double

### SPL2 examples

Returns 2.56 as a double.

When working in the **SPL View**, you can write the function by using the following syntax.

...| eval n=round(2.555, 2);

Alternatively, you can use named arguments to list the arguments in any order.

...| eval n=round(num_decimals: 2, value: 2.555);

## subtraction

For documentation on how to perform subtraction, see arithmetic operators.

## sqrt(value)

Mathematical evaluation function that takes a number and returns its square root. Use this scalar function with the eval or the filter streaming functions. Numbers can be type int, long, float, or double.

- Function Input
- value: number
- Function Output
- double

### SPL2 example

Returns 10 as a double.

When working in the **SPL View**, you can write the function by using the following syntax.

... | eval n=sqrt(100);

Alternatively, you can use named arguments to list the arguments in any order.

... | eval n=sqrt(value: 100);

PREVIOUS Map |
NEXT String manipulation |

This documentation applies to the following versions of Splunk^{®} Data Stream Processor:
1.2.0, 1.2.1-patch02, 1.2.1, 1.2.2-patch02, 1.2.4, 1.2.5, 1.3.0, 1.3.1, 1.4.0

Feedback submitted, thanks!