--- layout: default ---

Function equal #

Test whether two values are equal. The function tests whether 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. In case of complex numbers, x.re must equal y.re, and x.im must equal y.im. Values `null` and `undefined` are compared strictly, thus `null` is only equal to `null` and nothing else, and `undefined` is only equal to `undefined` and nothing else. Strings are compared by their numerical value.

Syntax #

```js math.equal(x, y) ```

Parameters #

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

Returns #

Type | Description ---- | ----------- boolean | Array | Matrix | Returns true when the compared values are equal, else returns false

Throws #

Type | Description ---- | -----------

Examples #

```js math.equal(2 + 2, 3) // returns false math.equal(2 + 2, 4) // returns true const a = math.unit('50 cm') const b = math.unit('5 m') math.equal(a, b) // returns true const c = [2, 5, 1] const d = [2, 7, 1] math.equal(c, d) // returns [true, false, true] math.deepEqual(c, d) // returns false math.equal("1000", "1e3") // returns true math.equal(0, null) // returns false ```

See also #

[unequal](unequal.html), [smaller](smaller.html), [smallerEq](smallerEq.html), [larger](larger.html), [largerEq](largerEq.html), [compare](compare.html), [deepEqual](deepEqual.html), [equalText](equalText.html)