from math import factorial



def 	__SCREAMING_SNAKE_CASE  (					__UpperCamelCase    :       int ,     __UpperCamelCase    :       int ,     __UpperCamelCase    :       float	)							->					float:







  """simple docstring"""





  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"""	)
  SCREAMING_SNAKE_CASE__										=      (prob**successes) * ((1 - prob) ** (trials - successes))
  # Calculate the binomial coefficient: n! / k!(n-k)!
  SCREAMING_SNAKE_CASE__										=      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))

# coding=utf-8
# Copyright 2023 The HuggingFace Inc. team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# this script dumps information about the environment

import os
import platform
import sys


__lowerCamelCase			: Union[str, Any]							   =		'''3'''

print('''Python version:''', sys.version)

print('''OS platform:''', platform.platform())
print('''OS architecture:''', platform.machine())

try:
   import torch

   print('''Torch version:''', torch.__version__)
   print('''Cuda available:''', torch.cuda.is_available())
   print('''Cuda version:''', torch.version.cuda)
   print('''CuDNN version:''', torch.backends.cudnn.version())
   print('''Number of GPUs available:''', torch.cuda.device_count())
except ImportError:
   print('''Torch version:''', None)

try:
   import transformers

   print('''transformers version:''', transformers.__version__)
except ImportError:
   print('''transformers version:''', None)
