




'''simple docstring'''






from math import pi, sqrt






def 		UpperCamelCase__      (		__SCREAMING_SNAKE_CASE		)    ->   float:
      if num <= 0:
            raise ValueError('math domain error'		)
      if num > 171.5:
            raise OverflowError('math range error'		)
      elif num - int(__SCREAMING_SNAKE_CASE		) not in (0, 0.5):
            raise NotImplementedError('num must be an integer or a half-integer'		)
      elif num == 0.5:
            return sqrt(__SCREAMING_SNAKE_CASE		)
      else:
            return 1.0 if num == 1 else (num - 1) * gamma(num - 1		)






def 		UpperCamelCase__      (		)    ->   None:
      assert gamma(0.5		) == sqrt(__SCREAMING_SNAKE_CASE		)
      assert gamma(1		) == 1.0
      assert gamma(2		) == 1.0


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

      testmod()
      A_			      =		1.0
      while num:
            A_			      =		float(input("Gamma of: "))
            print(F'gamma({num}) = {gamma(num)}')
            print("\nEnter 0 to exit...")






'''simple docstring'''






from .configuration_bert_masked import MaskedBertConfig
from .modeling_bert_masked import (
    MaskedBertForMultipleChoice,
    MaskedBertForQuestionAnswering,
    MaskedBertForSequenceClassification,
    MaskedBertForTokenClassification,
    MaskedBertModel,
)
from .modules import *
