Function equal #

Test whether two values are equal.

The function tests whether the relative difference between x and y is smaller than the configured relTol and absTol. 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 #

math.equal(x, y)

Parameters #

Parameter Type Description
x number | BigNumber | bigint | boolean | Complex | Unit | string | Array | Matrix First value to compare
y number | BigNumber | bigint | 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 #

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 false

const a = math.unit('500 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, smaller, smallerEq, larger, largerEq, compare, deepEqual, equalText

History #

Version Comment
v13 Handle bigints
v11.6 Support matrix broadcasting
v4 Compare strings by their numerical value
v0.24 Handle null and undefined
v0.23 Compare collections elementwise
v0.20 Compare floating-point numbers within epsilon, allowing roundoff
v0.2 Created
Fork me on GitHub