'''simple docstring'''




def 							lowerCamelCase	(      UpperCAmelCase__       :					float      ,      UpperCAmelCase__       :					float      ,      UpperCAmelCase__       :					int )			->      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_					:			Optional[int]										=       rate_per_annum / 12

							# Years to repay is multiplied by 12 to get number of payments as payment is monthly
							lowercase_					:			List[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()






'''simple docstring'''




from typing import TYPE_CHECKING

from ....utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_lowercase						: Dict						=						{"configuration_mmbt": ["MMBTConfig"]}

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						_lowercase						: Dict						=						["MMBTForClassification", "MMBTModel", "ModalEmbeddings"]


if TYPE_CHECKING:
						from .configuration_mmbt import MMBTConfig

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_mmbt import MMBTForClassification, MMBTModel, ModalEmbeddings

else:
						import sys

						_lowercase						: Optional[int]						=						_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





