mirror of
https://github.com/python/cpython.git
synced 2025-10-17 04:08:28 +00:00
Issue #23185: add math.inf and math.nan constants.
This commit is contained in:
parent
845b14cc8e
commit
a5d0c7c2fd
5 changed files with 69 additions and 1 deletions
|
@ -223,6 +223,35 @@ lanczos_sum(double x)
|
|||
return num/den;
|
||||
}
|
||||
|
||||
/* Constant for +infinity, generated in the same way as float('inf'). */
|
||||
|
||||
static double
|
||||
m_inf(void)
|
||||
{
|
||||
#ifndef PY_NO_SHORT_FLOAT_REPR
|
||||
return _Py_dg_infinity(0);
|
||||
#else
|
||||
return Py_HUGE_VAL;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Constant nan value, generated in the same way as float('nan'). */
|
||||
/* We don't currently assume that Py_NAN is defined everywhere. */
|
||||
|
||||
#if !defined(PY_NO_SHORT_FLOAT_REPR) || defined(Py_NAN)
|
||||
|
||||
static double
|
||||
m_nan(void)
|
||||
{
|
||||
#ifndef PY_NO_SHORT_FLOAT_REPR
|
||||
return _Py_dg_stdnan(0);
|
||||
#else
|
||||
return Py_NAN;
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static double
|
||||
m_tgamma(double x)
|
||||
{
|
||||
|
@ -2009,7 +2038,11 @@ PyInit_math(void)
|
|||
|
||||
PyModule_AddObject(m, "pi", PyFloat_FromDouble(Py_MATH_PI));
|
||||
PyModule_AddObject(m, "e", PyFloat_FromDouble(Py_MATH_E));
|
||||
PyModule_AddObject(m, "inf", PyFloat_FromDouble(m_inf()));
|
||||
#if !defined(PY_NO_SHORT_FLOAT_REPR) || defined(Py_NAN)
|
||||
PyModule_AddObject(m, "nan", PyFloat_FromDouble(m_nan()));
|
||||
#endif
|
||||
|
||||
finally:
|
||||
finally:
|
||||
return m;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue