[ILNumerics Core Module]

**Namespace:**ILNumerics.Core.Arrays

**Assembly:**ILNumerics.Core (in ILNumerics.Core.dll) Version: 5.4.0.0 (5.4.7431.3055)

#### Parameters

#### Return Value

Type: BooleanTrue if the element type, all element values and dimension sizes match, false otherwise.

The comparison returns true if both arrays are of the same type, have the same shape and if all element values match.

Note, that the StorageOrder of the arrays is not considered for the comparison. This way
it is perfectly legal for two arrays to return true while one array is stored in, let's say:
ColumnMajor and the other array is ordered along the rows (RowMajor)
storage layout. However, all elements at matching *sequencial* positions / with matching indices
in a *flattened* version of the array must equal in order to return true.

Singleton dimensions are ignored! As one consequence, and Equals(Object) accept two vectors as input argument and can return true even if the orientations do not match. A row vector with the same element values than another column vector of the same lengths are considered equal to each other.

Comparing ValueType of type T1 as A returns true if this array is scalar (i.e.: it has exactly one element) and the value of the only element equals the value of the provided scalar.

**This function returns true for empty arrays of the same shape and element type.**

For floating point element types T1 the comparison is made on the byte-level. Thus, only exact matches are considered 'equal'. Therefore, this function is not intended to compare the results of such floating point operations which are subject of rounding errors. Consider computing the absolute distance of both floating point results instead and compare this to the eps value of the floating point data type with appropriate precision and scaling.

NaN values are never equal to itself or any other value.

[ILNumerics Core Module]