# 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 ```js 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 ```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.md), [unequal](unequal.md), [smaller](smaller.md), [smallerEq](smallerEq.md), [larger](larger.md), [largerEq](largerEq.md), [compareNatural](compareNatural.md), [compareText](compareText.md)