




def 						SCREAMING_SNAKE_CASE__ (   lowercase						,lowercase						,lowercase					)  ->       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(lowercase						,lowercase					):
      raise Exception("""Years to repay must be an integer > 0"""					)

   # Yearly rate is divided by 12 to get monthly rate
   snake_case				:    str           =	rate_per_annum / 12

   # Years to repay is multiplied by 12 to get number of payments as payment is monthly
   snake_case				:    Any           =	years_to_repay * 12

   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()











from .glue import GlueDataset, GlueDataTrainingArguments
from .language_modeling import (
    LineByLineTextDataset,
    LineByLineWithRefDataset,
    LineByLineWithSOPTextDataset,
    TextDataset,
    TextDatasetForNextSentencePrediction,
)
from .squad import SquadDataset, SquadDataTrainingArguments





