>>> sin(INF)
Traceback (most recent call last):
...
-ValueError: math domain error (invalid argument)
+ValueError: math domain error
>>> sin(NINF)
Traceback (most recent call last):
...
-ValueError: math domain error (invalid argument)
+ValueError: math domain error
>>> sin(NAN)
nan
>>> cos(INF)
Traceback (most recent call last):
...
-ValueError: math domain error (invalid argument)
+ValueError: math domain error
>>> cos(NINF)
Traceback (most recent call last):
...
-ValueError: math domain error (invalid argument)
+ValueError: math domain error
>>> cos(NAN)
nan
>>> tan(INF)
Traceback (most recent call last):
...
-ValueError: math domain error (invalid argument)
+ValueError: math domain error
>>> tan(NINF)
Traceback (most recent call last):
...
-ValueError: math domain error (invalid argument)
+ValueError: math domain error
>>> tan(NAN)
nan
>>> asin(INF), asin(NINF)
Traceback (most recent call last):
...
-ValueError: math domain error (invalid argument)
+ValueError: math domain error
>>> acos(INF), acos(NINF)
Traceback (most recent call last):
...
-ValueError: math domain error (invalid argument)
+ValueError: math domain error
>>> equal(atan(INF), PI/2), equal(atan(NINF), -PI/2)
(True, True)
PyFPE_END_PROTECT(r);
if (Py_IS_NAN(r) && !Py_IS_NAN(x)) {
PyErr_SetString(PyExc_ValueError,
- "math domain error (invalid argument)");
+ "math domain error"); /* invalid arg */
return NULL;
}
if (Py_IS_INFINITY(r) && Py_IS_FINITE(x)) {
if (can_overflow)
PyErr_SetString(PyExc_OverflowError,
- "math range error (overflow)");
+ "math range error"); /* overflow */
else
PyErr_SetString(PyExc_ValueError,
- "math domain error (singularity)");
+ "math domain error"); /* singularity */
return NULL;
}
if (Py_IS_FINITE(r) && errno && is_error(r))