"""
Auto-generated Python stub file from vrandom.py
Module: vrandom
"""


import t, c
import vipermath

RDRAND_RETRY_LIMIT: t.CDefine = 10
RDSEED_RETRY_LIMIT: t.CDefine = 100

def rdrand16() -> t.CUInt16T: pass

def rdrand32() -> t.CUInt32T: pass

def rdrand64() -> t.CUInt64T: pass

def rdseed16() -> t.CUInt16T: pass

def rdseed32() -> t.CUInt32T: pass

def rdseed64() -> t.CUInt64T: pass

def rdrand16_step(p: t.CUInt16T | t.CPtr) -> t.CInt: pass

def rdrand32_step(p: t.CUInt32T | t.CPtr) -> t.CInt: pass

def rdrand64_step(p: t.CUInt64T | t.CPtr) -> t.CInt: pass

def rdseed16_step(p: t.CUInt16T | t.CPtr) -> t.CInt: pass

def rdseed32_step(p: t.CUInt32T | t.CPtr) -> t.CInt: pass

def rdseed64_step(p: t.CUInt64T | t.CPtr) -> t.CInt: pass

def random_u16() -> t.CUInt16T: pass

def random_u32() -> t.CUInt32T: pass

def random_u64() -> t.CUInt64T: pass

def seed_u16() -> t.CUInt16T: pass

def seed_u32() -> t.CUInt32T: pass

def seed_u64() -> t.CUInt64T: pass

def randint(a: t.CInt, b: t.CInt) -> t.CInt: pass

def randrange(start: t.CInt, stop: t.CInt, step: t.CInt) -> t.CInt: pass

def getrandbits(k: t.CInt) -> t.CUInt64T: pass

def random() -> t.CDouble: pass

def uniform(a: t.CDouble, b: t.CDouble) -> t.CDouble: pass

def triangular(low: t.CDouble, high: t.CDouble, mode: t.CDouble) -> t.CDouble: pass

def betavariate(alpha: t.CDouble, beta: t.CDouble) -> t.CDouble: pass

def expovariate(lambd: t.CDouble) -> t.CDouble: pass

def gammavariate(alpha: t.CDouble, beta: t.CDouble) -> t.CDouble: pass

def gauss(mu: t.CDouble, sigma: t.CDouble) -> t.CDouble: pass

def normalvariate(mu: t.CDouble, sigma: t.CDouble) -> t.CDouble: pass

def lognormvariate(mu: t.CDouble, sigma: t.CDouble) -> t.CDouble: pass

def vonmisesvariate(mu: t.CDouble, kappa: t.CDouble) -> t.CDouble: pass

def paretovariate(alpha: t.CDouble) -> t.CDouble: pass

def weibullvariate(alpha: t.CDouble, beta: t.CDouble) -> t.CDouble: pass
