# 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 epsilon. 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 #

``````math.compare(x, y)
``````

### Parameters #

Parameter Type Description
`x` number | BigNumber | Fraction | Unit | string | Array | Matrix First value to compare
`y` number | BigNumber | Fraction | Unit | string | Array | Matrix Second value to compare

### Returns #

Type Description
number | BigNumber | 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 #

``````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]
``````