mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-06 20:24:30 +08:00
Update math stub arguments to reflect protocol support (#2002)
Update math.factorial to reflect support for __int__ protocol. Update other math functions to reflect support for __float__ protocol.
This commit is contained in:
committed by
Jelle Zijlstra
parent
43e6c3c435
commit
f42724444f
@@ -1,7 +1,7 @@
|
||||
# Stubs for math
|
||||
# See: http://docs.python.org/2/library/math.html
|
||||
|
||||
from typing import Tuple, Iterable, Optional
|
||||
from typing import Tuple, Iterable, Optional, SupportsFloat, SupportsInt
|
||||
|
||||
import sys
|
||||
|
||||
@@ -13,59 +13,59 @@ if sys.version_info >= (3, 5):
|
||||
if sys.version_info >= (3, 6):
|
||||
tau = ... # type: float
|
||||
|
||||
def acos(x: float) -> float: ...
|
||||
def acosh(x: float) -> float: ...
|
||||
def asin(x: float) -> float: ...
|
||||
def asinh(x: float) -> float: ...
|
||||
def atan(x: float) -> float: ...
|
||||
def atan2(y: float, x: float) -> float: ...
|
||||
def atanh(x: float) -> float: ...
|
||||
def acos(x: SupportsFloat) -> float: ...
|
||||
def acosh(x: SupportsFloat) -> float: ...
|
||||
def asin(x: SupportsFloat) -> float: ...
|
||||
def asinh(x: SupportsFloat) -> float: ...
|
||||
def atan(x: SupportsFloat) -> float: ...
|
||||
def atan2(y: SupportsFloat, x: SupportsFloat) -> float: ...
|
||||
def atanh(x: SupportsFloat) -> float: ...
|
||||
if sys.version_info >= (3,):
|
||||
def ceil(x: float) -> int: ...
|
||||
def ceil(x: SupportsFloat) -> int: ...
|
||||
else:
|
||||
def ceil(x: float) -> float: ...
|
||||
def copysign(x: float, y: float) -> float: ...
|
||||
def cos(x: float) -> float: ...
|
||||
def cosh(x: float) -> float: ...
|
||||
def degrees(x: float) -> float: ...
|
||||
def erf(x: float) -> float: ...
|
||||
def erfc(x: float) -> float: ...
|
||||
def exp(x: float) -> float: ...
|
||||
def expm1(x: float) -> float: ...
|
||||
def fabs(x: float) -> float: ...
|
||||
def factorial(x: int) -> int: ...
|
||||
def ceil(x: SupportsFloat) -> float: ...
|
||||
def copysign(x: SupportsFloat, y: SupportsFloat) -> float: ...
|
||||
def cos(x: SupportsFloat) -> float: ...
|
||||
def cosh(x: SupportsFloat) -> float: ...
|
||||
def degrees(x: SupportsFloat) -> float: ...
|
||||
def erf(x: SupportsFloat) -> float: ...
|
||||
def erfc(x: SupportsFloat) -> float: ...
|
||||
def exp(x: SupportsFloat) -> float: ...
|
||||
def expm1(x: SupportsFloat) -> float: ...
|
||||
def fabs(x: SupportsFloat) -> float: ...
|
||||
def factorial(x: SupportsInt) -> int: ...
|
||||
if sys.version_info >= (3,):
|
||||
def floor(x: float) -> int: ...
|
||||
def floor(x: SupportsFloat) -> int: ...
|
||||
else:
|
||||
def floor(x: float) -> float: ...
|
||||
def fmod(x: float, y: float) -> float: ...
|
||||
def frexp(x: float) -> Tuple[float, int]: ...
|
||||
def floor(x: SupportsFloat) -> float: ...
|
||||
def fmod(x: SupportsFloat, y: SupportsFloat) -> float: ...
|
||||
def frexp(x: SupportsFloat) -> Tuple[float, int]: ...
|
||||
def fsum(iterable: Iterable) -> float: ...
|
||||
def gamma(x: float) -> float: ...
|
||||
def gamma(x: SupportsFloat) -> float: ...
|
||||
if sys.version_info >= (3, 5):
|
||||
def gcd(a: int, b: int) -> int: ...
|
||||
def hypot(x: float, y: float) -> float: ...
|
||||
def hypot(x: SupportsFloat, y: SupportsFloat) -> float: ...
|
||||
if sys.version_info >= (3, 5):
|
||||
def isclose(a: float, b: float, rel_tol: float = ..., abs_tol: float = ...) -> bool: ...
|
||||
def isinf(x: float) -> bool: ...
|
||||
def isclose(a: SupportsFloat, b: SupportsFloat, rel_tol: SupportsFloat = ..., abs_tol: SupportsFloat = ...) -> bool: ...
|
||||
def isinf(x: SupportsFloat) -> bool: ...
|
||||
if sys.version_info >= (3,):
|
||||
def isfinite(x: float) -> bool: ...
|
||||
def isnan(x: float) -> bool: ...
|
||||
def ldexp(x: float, i: int) -> float: ...
|
||||
def lgamma(x: float) -> float: ...
|
||||
def log(x: float, base: float = ...) -> float: ...
|
||||
def log10(x: float) -> float: ...
|
||||
def log1p(x: float) -> float: ...
|
||||
def isfinite(x: SupportsFloat) -> bool: ...
|
||||
def isnan(x: SupportsFloat) -> bool: ...
|
||||
def ldexp(x: SupportsFloat, i: int) -> float: ...
|
||||
def lgamma(x: SupportsFloat) -> float: ...
|
||||
def log(x: SupportsFloat, base: SupportsFloat = ...) -> float: ...
|
||||
def log10(x: SupportsFloat) -> float: ...
|
||||
def log1p(x: SupportsFloat) -> float: ...
|
||||
if sys.version_info >= (3, 3):
|
||||
def log2(x: float) -> float: ...
|
||||
def modf(x: float) -> Tuple[float, float]: ...
|
||||
def pow(x: float, y: float) -> float: ...
|
||||
def radians(x: float) -> float: ...
|
||||
def log2(x: SupportsFloat) -> float: ...
|
||||
def modf(x: SupportsFloat) -> Tuple[float, float]: ...
|
||||
def pow(x: SupportsFloat, y: SupportsFloat) -> float: ...
|
||||
def radians(x: SupportsFloat) -> float: ...
|
||||
if sys.version_info >= (3, 7):
|
||||
def remainder(x: float, y: float) -> float: ...
|
||||
def sin(x: float) -> float: ...
|
||||
def sinh(x: float) -> float: ...
|
||||
def sqrt(x: float) -> float: ...
|
||||
def tan(x: float) -> float: ...
|
||||
def tanh(x: float) -> float: ...
|
||||
def trunc(x: float) -> int: ...
|
||||
def remainder(x: SupportsFloat, y: SupportsFloat) -> float: ...
|
||||
def sin(x: SupportsFloat) -> float: ...
|
||||
def sinh(x: SupportsFloat) -> float: ...
|
||||
def sqrt(x: SupportsFloat) -> float: ...
|
||||
def tan(x: SupportsFloat) -> float: ...
|
||||
def tanh(x: SupportsFloat) -> float: ...
|
||||
def trunc(x: SupportsFloat) -> int: ...
|
||||
|
||||
Reference in New Issue
Block a user