"""
sdk/math.py — Luau math library stubs for RPy.
"""

from typing import Union

def abs(x: float) -> float: ...
def acos(x: float) -> float: ...
def asin(x: float) -> float: ...
def atan(x: float) -> float: ...
def atan2(y: float, x: float) -> float: ...
def ceil(x: float) -> int: ...
def clamp(n: float, min: float, max: float) -> float: ...
def cos(x: float) -> float: ...
def cosh(x: float) -> float: ...
def deg(x: float) -> float: ...
def exp(x: float) -> float: ...
def floor(x: float) -> int: ...
def fmod(x: float, y: float) -> float: ...
def frexp(x: float) -> tuple[float, int]: ...
def ldexp(m: float, e: int) -> float: ...
def log(x: float, base: float = ...) -> float: ...
def log10(x: float) -> float: ...
def max(x: float, *args: float) -> float: ...
def min(x: float, *args: float) -> float: ...
def modf(x: float) -> tuple[int, float]: ...
def noise(x: float, y: float = 0, z: float = 0) -> float: ...
def pow(x: float, y: float) -> float: ...
def rad(x: float) -> float: ...
def random(m: int = ..., n: int = ...) -> Union[float, int]: ...
def randomseed(x: int) -> None: ...
def round(x: float) -> int: ...
def sign(x: float) -> int: ...
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: ...

pi: float = 3.141592653589793
huge: float = float('inf')
