Section: Mathematical Operators
y = a < b y = a <= b y = a > b y = a >= b y = a ~= b y = a == b
where a
and b
are numerical arrays or scalars, and y
is a logical
array of the appropriate size. Each of the operators has three modes of operation, summarized in the following list:
a
is a scalar, b
is an n-dimensional array - the output is then the same size as b
, and contains the result of comparing each element in b
to the scalar a
.
a
is an n-dimensional array, b
is a scalar - the output is the same size as a
, and contains the result of comparing each element in a
to the scalar b
.
a
and b
are both n-dimensional arrays of the same size - the output is then the same size as both a
and b
, and contains the result of an element-wise comparison between a
and b
.
C
, with unequal types meing promoted using the standard type promotion rules prior to comparisons. The only difference is that in FreeMat, the not-equals operator is ~=
instead of !=
.
--> a = randn(1,5) a = <double> - size: [1 5] Columns 1 to 3 -0.12192748668684152 0.50277125397736855 0.74762055527748861 Columns 4 to 5 -0.84486868009987870 0.43875889485634545 --> a>0 ans = <logical> - size: [1 5] Columns 1 to 5 0 1 1 0 1
Next, we construct two vectors, and test for equality:
--> a = [1,2,5,7,3] a = <int32> - size: [1 5] Columns 1 to 5 1 2 5 7 3 --> b = [2,2,5,9,4] b = <int32> - size: [1 5] Columns 1 to 5 2 2 5 9 4 --> c = a == b c = <logical> - size: [1 5] Columns 1 to 5 0 1 1 0 0