
from __future__ import annotations


def 							SCREAMING_SNAKE_CASE_      (			UpperCamelCase__ ,		UpperCamelCase__ ,		UpperCamelCase__		):







      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 							SCREAMING_SNAKE_CASE_      (			UpperCamelCase__ ,		UpperCamelCase__ ,		UpperCamelCase__ ,		):







      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 							SCREAMING_SNAKE_CASE_      (			UpperCamelCase__ ,		UpperCamelCase__ ,		UpperCamelCase__ ,		):







      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(
          __snake_case ,		nominal_annual_percentage_rate / 3_6_5 ,		number_of_years * 3_6_5		)


if __name__ == "__main__":
    import doctest

    doctest.testmod()




from typing import TYPE_CHECKING

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


lowerCamelCase      ={"configuration_swin": ["SWIN_PRETRAINED_CONFIG_ARCHIVE_MAP", "SwinConfig", "SwinOnnxConfig"]}


try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    lowerCamelCase      =[
        "SWIN_PRETRAINED_MODEL_ARCHIVE_LIST",
        "SwinForImageClassification",
        "SwinForMaskedImageModeling",
        "SwinModel",
        "SwinPreTrainedModel",
        "SwinBackbone",
    ]

try:
    if not is_tf_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    lowerCamelCase      =[
        "TF_SWIN_PRETRAINED_MODEL_ARCHIVE_LIST",
        "TFSwinForImageClassification",
        "TFSwinForMaskedImageModeling",
        "TFSwinModel",
        "TFSwinPreTrainedModel",
    ]

if TYPE_CHECKING:
    from .configuration_swin import SWIN_PRETRAINED_CONFIG_ARCHIVE_MAP, SwinConfig, SwinOnnxConfig

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_swin import (
            SWIN_PRETRAINED_MODEL_ARCHIVE_LIST,
            SwinBackbone,
            SwinForImageClassification,
            SwinForMaskedImageModeling,
            SwinModel,
            SwinPreTrainedModel,
        )

    try:
        if not is_tf_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_tf_swin import (
            TF_SWIN_PRETRAINED_MODEL_ARCHIVE_LIST,
            TFSwinForImageClassification,
            TFSwinForMaskedImageModeling,
            TFSwinModel,
            TFSwinPreTrainedModel,
        )

else:
    import sys

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


