"""simple docstring"""






def SCREAMING_SNAKE_CASE__			(   __UpperCAmelCase       ,    __UpperCAmelCase       ,    __UpperCAmelCase )  ->  float:
   if principal <= 0:
      raise Exception('''Principal borrowed must be > 0''' )
   if rate_per_annum < 0:
      raise Exception('''Rate of interest must be >= 0''' )
   if years_to_repay <= 0 or not isinstance(__UpperCAmelCase       ,    __UpperCAmelCase ):
      raise Exception('''Years to repay must be an integer > 0''' )

   # Yearly rate is divided by 12 to get monthly rate
   lowercase__:   Tuple					=      rate_per_annum / 1_2

   # Years to repay is multiplied by 12 to get number of payments as payment is monthly
   lowercase__:   int					=      years_to_repay * 1_2

   return (
       principal
       * rate_per_month
       * (1 + rate_per_month) ** number_of_payments
       / ((1 + rate_per_month) ** number_of_payments - 1)
   )


if __name__ == "__main__":
       import doctest

       doctest.testmod()

"""simple docstring"""






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__A			   = {
    "configuration_lilt": ["LILT_PRETRAINED_CONFIG_ARCHIVE_MAP", "LiltConfig"],
}

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __A			   = [
           "LILT_PRETRAINED_MODEL_ARCHIVE_LIST",
           "LiltForQuestionAnswering",
           "LiltForSequenceClassification",
           "LiltForTokenClassification",
           "LiltModel",
           "LiltPreTrainedModel",
       ]

if TYPE_CHECKING:
       from .configuration_lilt import LILT_PRETRAINED_CONFIG_ARCHIVE_MAP, LiltConfig

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_lilt import (
                  LILT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  LiltForQuestionAnswering,
                  LiltForSequenceClassification,
                  LiltForTokenClassification,
                  LiltModel,
                  LiltPreTrainedModel,
              )

else:
       import sys

       __A			   = _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)
