## COMPARISONOPS Array Comparison Operators

Section: Mathematical Operators

### Usage

There are a total of six comparison operators available in FreeMat, all of which are binary operators with the following syntax

      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:

1. `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`.
2. `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`.
3. `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`.

The operators behave the same way as in `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 `!=`.

### Examples

Some simple examples of comparison operations. First a comparison with a scalar:

    --> a = randn(1,5)

    a =

       -0.1219    0.5028    0.7476   -0.8449    0.4388

    --> a>0

    ans =

     0 1 1 0 1

    -->
    quit

Next, we construct two vectors, and test for equality:

    --> a = [1,2,5,7,3]

    a =

     1 2 5 7 3

    --> b = [2,2,5,9,4]

    b =

     2 2 5 9 4

    --> c = a == b

    c =

     0 1 1 0 0

    -->
    quit