---
layout: default
---
Function compare #
Compare two values. Returns 1 when x > y, -1 when x < y, and 0 when x == y.
x and y are considered equal when the relative difference between x and y
is smaller than the configured absTol and relTol. The function cannot be used to
compare values smaller than approximately 2.22e-16.
For matrices, the function is evaluated element wise.
Strings are compared by their numerical value.
Syntax #
```js
math.compare(x, y)
```
Parameters #
Parameter | Type | Description
--------- | ---- | -----------
`x` | number | BigNumber | bigint | Fraction | Unit | string | Array | Matrix | First value to compare
`y` | number | BigNumber | bigint | Fraction | Unit | string | Array | Matrix | Second value to compare
Returns #
Type | Description
---- | -----------
number | BigNumber | bigint | Fraction | Array | Matrix | Returns the result of the comparison: 1 when x > y, -1 when x < y, and 0 when x == y.
Throws #
Type | Description
---- | -----------
Examples #
```js
math.compare(6, 1) // returns 1
math.compare(2, 3) // returns -1
math.compare(7, 7) // returns 0
math.compare('10', '2') // returns 1
math.compare('1000', '1e3') // returns 0
const a = math.unit('5 cm')
const b = math.unit('40 mm')
math.compare(a, b) // returns 1
math.compare(2, [1, 2, 3]) // returns [1, 0, -1]
```
See also #
[equal](equal.html),
[unequal](unequal.html),
[smaller](smaller.html),
[smallerEq](smallerEq.html),
[larger](larger.html),
[largerEq](largerEq.html),
[compareNatural](compareNatural.html),
[compareText](compareText.html)