'Perform the operation target = 1. * (self > val), where val can be a matrix or a scalar.'

def greater_than(self, val, target=None):

    if (not target):
        target = self
    if isinstance(val, (int, float)):
        err_code = _eigenmat.greater_than_scalar(self.p_mat, ct.c_float(val), target.p_mat)
    else:
        err_code = _eigenmat.greater_than(self.p_mat, val.p_mat, target.p_mat)
    if err_code:
        raise generate_exception(err_code)
    return target
