# 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. ## 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 ## Examples ```js math.equal(2 + 2, 3); // returns false math.equal(2 + 2, 4); // returns true var a = math.unit('50 cm'); var b = math.unit('5 m'); math.equal(a, b); // returns true var c = [2, 5, 1]; var d = [2, 7, 1]; math.equal(c, d); // returns [true, false, true] math.deepEqual(c, d); // returns false math.equal(0, null); // returns false ``` ## See also [unequal](unequal.md), [smaller](smaller.md), [smallerEq](smallerEq.md), [larger](larger.md), [largerEq](largerEq.md), [compare](compare.md), [deepEqual](deepEqual.md)