






"""simple docstring"""





from __future__ import annotations







def      lowerCamelCase__       (							_lowerCamelCase       :		str		,				_lowerCamelCase       :		Union[str, Any]		,				_lowerCamelCase       :		Union[str, Any] )      ->				Optional[int]:
  if days_between_payments <= 0:
    raise ValueError('days_between_payments must be > 0' )
  if daily_interest_rate < 0:
    raise ValueError('daily_interest_rate must be >= 0' )
  if principal <= 0:
    raise ValueError('principal must be > 0' )
  return principal * daily_interest_rate * days_between_payments







def      lowerCamelCase__       (							_lowerCamelCase       :		List[Any]		,				_lowerCamelCase       :		Union[str, Any]		,				_lowerCamelCase       :		Optional[int]		,				)      ->				Tuple:
  if number_of_compounding_periods <= 0:
    raise ValueError('number_of_compounding_periods must be > 0' )
  if nominal_annual_interest_rate_percentage < 0:
    raise ValueError('nominal_annual_interest_rate_percentage must be >= 0' )
  if principal <= 0:
    raise ValueError('principal must be > 0' )

  return principal * (
      (1 + nominal_annual_interest_rate_percentage) ** number_of_compounding_periods
      - 1
  )







def      lowerCamelCase__       (							_lowerCamelCase       :		str		,				_lowerCamelCase       :		Any		,				_lowerCamelCase       :		Union[str, Any]		,				)      ->				Tuple:
  if number_of_years <= 0:
    raise ValueError('number_of_years must be > 0' )
  if nominal_annual_percentage_rate < 0:
    raise ValueError('nominal_annual_percentage_rate must be >= 0' )
  if principal <= 0:
    raise ValueError('principal must be > 0' )

  return compound_interest(
      lowercase__		,				nominal_annual_percentage_rate / 365		,				number_of_years * 365 )


if __name__ == "__main__":
  import doctest

  doctest.testmod()










"""simple docstring"""






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowercase__     						=						{"""configuration_vit_msn""": ["""VIT_MSN_PRETRAINED_CONFIG_ARCHIVE_MAP""", """ViTMSNConfig"""]}

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			lowercase__     						=						[
			    """VIT_MSN_PRETRAINED_MODEL_ARCHIVE_LIST""",
			    """ViTMSNModel""",
			    """ViTMSNForImageClassification""",
			    """ViTMSNPreTrainedModel""",
			]

if TYPE_CHECKING:
			from .configuration_vit_msn import VIT_MSN_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTMSNConfig

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_vit_msn import (
						    VIT_MSN_PRETRAINED_MODEL_ARCHIVE_LIST,
						    ViTMSNForImageClassification,
						    ViTMSNModel,
						    ViTMSNPreTrainedModel,
						)

else:
			import sys

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