A utility module that provides mathematical functions.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
To use this module, you must import it to your DataWeave code, for example,
by adding the line import * from dw::util::Math to the header of your
DataWeave script.
Functions
acos
acos(angle: Number): Number | NaN
Returns an arc cosine value that can range from 0.0 through pi.
If the absolute value of the input is greater than 1,
the result is null.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
Parameters
| Name | Description |
|---|---|
|
Number to convert into it arc cosine value. |
Example
This example shows how acos behaves with different inputs.
Source
1
2
3
4
5
6
7
8
9
10
11
%dw 2.0
import * from dw::util::Math
output application/json
---
{
"acos0": acos(0),
"acos13": acos(0.13),
"acos-1": acos(-1),
"acos1": acos(1),
"acos1.1": acos(1.1)
}
Output
1
2
3
4
5
6
7
{
"acos0": 1.5707963267948966,
"acos13": 1.440427347091751,
"acos-1": 3.141592653589793,
"acos1": 0.0,
"acos1.1": null
}
asin
asin(angle: Number): Number
Returns an arc sine value that can range from -pi/2 through pi/2.
If the absolute value of the input is greater than 1, the result
is null.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
Parameters
| Name | Description |
|---|---|
|
Number to convert into its arc sine value. |
Example
This example shows how asin behaves with different inputs.
Source
1
2
3
4
5
6
7
8
9
10
%dw 2.0
import * from dw::util::Math
output application/json
---
{
"asin0": asin(0),
"asin13": asin(0.13),
"asin-1": asin(-1),
"asin1.1": asin(1.1)
}
Output
1
2
3
4
5
6
{
"asin0": 0.0,
"asin13": 0.1303689797031455,
"asin-1": -1.5707963267948966,
"asin1.1": null
}
atan
atan(angle: Number): Number
Returns an arc tangent value that can range from -pi/2 through pi/2.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
Parameters
| Name | Description |
|---|---|
|
Number to convert into its arc tangent value. |
Example
This example shows how atan behaves with different inputs.
Source
1
2
3
4
5
6
7
8
9
%dw 2.0
import * from dw::util::Math
output application/json
---
{
"atan0": atan(0),
"atan13": atan(0.13),
"atan-1": atan(-1)
}
Output
1
2
3
4
5
{
"atan0": 0.0,
"atan13": 0.12927500404814307,
"atan-1": -0.7853981633974483
}
cos
cos(angle: Number): Number
Returns the trigonometric cosine of an angle from a given number of radians.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
Parameters
| Name | Description |
|---|---|
|
Number of radians in an angle. |
Example
This example shows how cos behaves with different inputs.
Source
1
2
3
4
5
6
7
8
9
%dw 2.0
import * from dw::util::Math
output application/json
---
{
"cos0": cos(0),
"cos13": cos(0.13),
"cos-1": cos(-1)
}
Output
1
2
3
4
5
{
"cos0": 1.0,
"cos13": 0.9915618937147881,
"cos-1": 0.5403023058681398
}
log10
log10(a: Number): Number | NaN
Returns the logarithm base 10 of a number.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
Parameters
| Name | Description |
|---|---|
|
A |
Example
This example shows how log10 behaves with different inputs.
Source
1
2
3
4
5
6
7
8
9
%dw 2.0
import * from dw::util::Math
output application/json
---
{
"log1010": log10(10),
"log1013": log10(0.13),
"log10-20": log10(-20)
}
Output
1
2
3
4
5
{
"log1010": 1.0,
"log1013": -0.8860566476931632,
"log10-20": null
}
logn
logn(a: Number): Number | NaN
Returns the natural logarithm (base e) of a number.
If the input value is less than or equal to zero,
the result is NaN (or null).
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
Parameters
| Name | Description |
|---|---|
|
Number to convert into its natural logarithm. |
Example
This example shows how logn behaves with different inputs.
Source
1
2
3
4
5
6
7
8
9
%dw 2.0
import * from dw::util::Math
output application/json
---
{
"logn10": logn(10),
"logn13": logn(0.13),
"logn-20": logn(-20)
}
Output
1
2
3
4
5
{
"logn10": 2.302585092994046,
"logn13": -2.0402208285265546,
"logn-20": null
}
sin
sin(angle: Number): Number
Returns the trigonometric sine of an angle from a given number of radians.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
Parameters
| Name | Description |
|---|---|
|
Number of radians in an angle. |
Example
This example shows how sin behaves with different inputs.
Source
1
2
3
4
5
6
7
8
9
%dw 2.0
import * from dw::util::Math
output application/json
---
{
"sin0": sin(0),
"sin13": sin(0.13),
"sin-1": sin(-1)
}
Output
1
2
3
4
5
{
"sin0": 0.0,
"sin13": 0.12963414261969486,
"sin-1": -0.8414709848078965
}
tan
tan(angle: Number): Number
Returns the trigonometric tangent of an angle from a given number of radians.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
Parameters
| Name | Description |
|---|---|
|
Number of radians in an angle. |
Example
This example shows how tan behaves with different inputs.
Source
1
2
3
4
5
6
7
8
9
%dw 2.0
import * from dw::util::Math
output application/json
---
{
"tan0": tan(0),
"tan13": tan(0.13),
"tan-1": tan(-1)
}
Output
1
2
3
4
5
{
"tan0": 0.0,
"tan13": 0.13073731800446006,
"tan-1": -1.5574077246549023
}
toDegrees
toDegrees(angrad: Number): Number
Converts an angle measured in radians to an approximately equivalent number of degrees.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
Parameters
| Name | Description |
|---|---|
|
Number of radians to convert to degrees. |
Example
This example shows how toDegrees behaves with different inputs.
Source
1
2
3
4
5
6
7
8
9
%dw 2.0
import * from dw::util::Math
output application/json
---
{
"toDegrees0.17": toDegrees(0.174),
"toDegrees0": toDegrees(0),
"toDegrees-20": toDegrees(-0.20)
}
Output
1
2
3
4
5
{
"toDegrees0.17": 9.969465635276323832571267395889251,
"toDegrees0": 0E+19,
"toDegrees-20": -11.45915590261646417536927286883822
}
toRadians
toRadians(angdeg: Number): Number
Converts a given number of degrees in an angle to an approximately equivalent number of radians.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
Parameters
| Name | Description |
|---|---|
|
Number of degrees to convert into radians. |
Example
This example shows how toRadians behaves with different inputs.
Source
1
2
3
4
5
6
7
8
9
%dw 2.0
import * from dw::util::Math
output application/json
---
{
"toRadians10": toRadians(10),
"toRadians013": toRadians(0.13),
"toRadians-20": toRadians(-20)
}
Output
1
2
3
4
5
6
{
"toRadians10": 0.1745329251994329576922222222222222,
"toRadians013": 0.002268928027592628449998888888888889,
"toRadians-20": -0.3490658503988659153844444444444444
}
Variables
E
Variable E sets the value of mathematical constant e,
the base of natural logarithms.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.
PI
Variable PI sets the value of constant value pi, the ratio
of the circumference of a circle to its diameter.
Introduced in DataWeave 2.4.0. Supported by Mule 4.4.0 and later.