


'''simple docstring'''





from math import factorial


def        a__     (					UpperCamelCase_						:      int,   UpperCamelCase_						:      int,   UpperCamelCase_						:      float						):
   if successes > trials:
      raise ValueError('''successes must be lower or equal to trials'''						)
   if trials < 0 or successes < 0:
      raise ValueError('''the function is defined for non-negative integers'''						)
   if not isinstance(UpperCamelCase_,   UpperCamelCase_						) or not isinstance(UpperCamelCase_,   UpperCamelCase_						):
      raise ValueError('''the function is defined for non-negative integers'''						)
   if not 0 < prob < 1:
      raise ValueError('''prob has to be in range of 1 - 0'''						)
   UpperCAmelCase__	:Tuple      =      (prob**successes) * ((1 - prob) ** (trials - successes))
   # Calculate the binomial coefficient: n! / k!(n-k)!
   UpperCAmelCase__	:Optional[int]      =      float(factorial(UpperCamelCase_						)						)
   coefficient /= factorial(UpperCamelCase_						) * factorial(trials - successes						)
   return probability * coefficient


if __name__ == "__main__":
    from doctest import testmod

    testmod()
    print('''Probability of 2 successes out of 4 trails''')
    print('''with probability of 0.75 is:''', end=''' ''')
    print(binomial_distribution(2, 4, 0.75))







'''simple docstring'''





from ..utils import DummyObject, requires_backends




class 				UpperCAmelCase			(			metaclass=_snake_case						):
 UpperCAmelCase				=					["speech"]


 def __init__(      self							:	List[Any]			,       *__lowerCamelCase							:	List[Any]			,       **__lowerCamelCase							:	List[str] ):
    requires_backends(self			,       ['''speech'''] )




class 				UpperCAmelCase			(			metaclass=_snake_case						):
 UpperCAmelCase				=					["speech"]


 def __init__(      self							:	int			,       *__lowerCamelCase							:	List[Any]			,       **__lowerCamelCase							:	List[str] ):
    requires_backends(self			,       ['''speech'''] )



