From 9cbb2c78208a767515dc24c8371e3be14e45e371 Mon Sep 17 00:00:00 2001 From: karl ding Date: Thu, 1 Oct 2020 01:54:41 -0700 Subject: [PATCH] math: Add new functions from Python 3.9 (#4590) Add support for new math functions added in Python 3.9: - gcd - lcm - nextafter - ulp --- stdlib/2and3/math.pyi | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/stdlib/2and3/math.pyi b/stdlib/2and3/math.pyi index 1f63088f1..8f438bc72 100644 --- a/stdlib/2and3/math.pyi +++ b/stdlib/2and3/math.pyi @@ -55,7 +55,10 @@ def frexp(__x: SupportsFloat) -> Tuple[float, int]: ... def fsum(__seq: Iterable[float]) -> float: ... def gamma(__x: SupportsFloat) -> float: ... -if sys.version_info >= (3, 5): +if sys.version_info >= (3, 9): + def gcd(*integers: int) -> int: ... + +elif sys.version_info >= (3, 5): def gcd(__x: int, __y: int) -> int: ... if sys.version_info >= (3, 8): @@ -77,6 +80,9 @@ def isnan(__x: SupportsFloat) -> bool: ... if sys.version_info >= (3, 8): def isqrt(__n: int) -> int: ... +if sys.version_info >= (3, 9): + def lcm(*integers: int) -> int: ... + def ldexp(__x: SupportsFloat, __i: int) -> float: ... def lgamma(__x: SupportsFloat) -> float: ... def log(x: SupportsFloat, base: SupportsFloat = ...) -> float: ... @@ -87,6 +93,10 @@ if sys.version_info >= (3, 3): def log2(__x: SupportsFloat) -> float: ... def modf(__x: SupportsFloat) -> Tuple[float, float]: ... + +if sys.version_info >= (3, 9): + def nextafter(__x: SupportsFloat, __y: SupportsFloat) -> float: ... + def pow(__x: SupportsFloat, __y: SupportsFloat) -> float: ... if sys.version_info >= (3, 8): @@ -106,3 +116,6 @@ def sqrt(__x: SupportsFloat) -> float: ... def tan(__x: SupportsFloat) -> float: ... def tanh(__x: SupportsFloat) -> float: ... def trunc(__x: SupportsFloat) -> int: ... + +if sys.version_info >= (3, 9): + def ulp(__x: SupportsFloat) -> float: ...