diff --git a/stdlib/cmath.pyi b/stdlib/cmath.pyi index 3f3327074579..04c2b632d411 100644 --- a/stdlib/cmath.pyi +++ b/stdlib/cmath.pyi @@ -1,5 +1,9 @@ +import sys from typing import SupportsComplex, SupportsFloat, Union +if sys.version_info >= (3, 8): + from typing import SupportsIndex + e: float pi: float inf: float @@ -8,7 +12,10 @@ nan: float nanj: complex tau: float -_C = Union[SupportsFloat, SupportsComplex, complex] +if sys.version_info >= (3, 8): + _C = Union[SupportsFloat, SupportsComplex, SupportsIndex, complex] +else: + _C = Union[SupportsFloat, SupportsComplex, complex] def acos(__z: _C) -> complex: ... def acosh(__z: _C) -> complex: ... diff --git a/stdlib/math.pyi b/stdlib/math.pyi index 19042962b28f..f92a3d94f978 100644 --- a/stdlib/math.pyi +++ b/stdlib/math.pyi @@ -3,7 +3,10 @@ from _typeshed import SupportsTrunc from typing import Iterable, SupportsFloat, Union, overload from typing_extensions import SupportsIndex -_SupportsFloatOrIndex = Union[SupportsFloat, SupportsIndex] +if sys.version_info >= (3, 8): + _SupportsFloatOrIndex = Union[SupportsFloat, SupportsIndex] +else: + _SupportsFloatOrIndex = SupportsFloat e: float pi: float @@ -36,7 +39,13 @@ def erfc(__x: _SupportsFloatOrIndex) -> float: ... def exp(__x: _SupportsFloatOrIndex) -> float: ... def expm1(__x: _SupportsFloatOrIndex) -> float: ... def fabs(__x: _SupportsFloatOrIndex) -> float: ... -def factorial(__x: SupportsIndex) -> int: ... + +if sys.version_info >= (3, 8): + def factorial(__x: SupportsIndex) -> int: ... + +else: + def factorial(__x: int) -> int: ... + def floor(__x: _SupportsFloatOrIndex) -> int: ... def fmod(__x: _SupportsFloatOrIndex, __y: _SupportsFloatOrIndex) -> float: ... def frexp(__x: _SupportsFloatOrIndex) -> tuple[float, int]: ...