code: protected static void validateNumerical(String opName, SDVariable v1, SDVariable v2) {
          if (v1.dataType() == DataType.BOOL || v1.dataType() == DataType.UTF8 || v2.dataType() == DataType.BOOL || v2.dataType() == DataType.UTF8)
              throw new IllegalStateException("Cannot perform operation \"" + opName + "\" on variables  \"" + v1.getVarName() + "\" and \"" +
                      v2.getVarName() + "\" if one or both variables are non-numerical: " + v1.dataType() + " and " + v2.dataType());
      }
docs: Validate that the operation is being applied on numerical SDVariables (not boolean or utf8).
  Some operations (such as sum, norm2, add(Number) etc don't make sense when applied to boolean/utf8 arrays
  
  @param opName Operation name to print in the exception
  @param v1     Variable to validate datatype for (input to operation)
  @param v2     Variable to validate datatype for (input to operation)