Fast "vectorized" max function for element-wise comparison of two numpy arrays.

    For two numpy arrays `X` and `Y` of equal length,
    return numpy array `Z` such that::

            Z[i] = max(X[i],Y[i])

    **Parameters**

            **X** :  numpy array

                    Numpy array; `len(X) = len(Y)`.

            **Y** :  numpy array

                    Numpy array; `len(Y) = len(X)`.

    **Returns**

            **Z** :  numpy array

                    Numpy array such that `Z[i] = max(X[i],Y[i])`.

    **See Also**

            :func:`tabular.fast.arraymin`

def arraymax(X,Y):
    """
    Fast "vectorized" max function for element-wise comparison of two numpy arrays.

    For two numpy arrays `X` and `Y` of equal length,
    return numpy array `Z` such that::

            Z[i] = max(X[i],Y[i])

    **Parameters**

            **X** :  numpy array

                    Numpy array; `len(X) = len(Y)`.

            **Y** :  numpy array

                    Numpy array; `len(Y) = len(X)`.

    **Returns**

            **Z** :  numpy array

                    Numpy array such that `Z[i] = max(X[i],Y[i])`.

    **See Also**

            :func:`tabular.fast.arraymin`

    """
    Z = np.zeros((len(X),), int)
    A = X <= Y
    B = Y < X
    Z[A] = Y[A]
    Z[B] = X[B]
    return Z