
'''simple docstring'''





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_torch_available,
    is_vision_available,
)


A							     = {
    "configuration_sam": [
        "SAM_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "SamConfig",
        "SamMaskDecoderConfig",
        "SamPromptEncoderConfig",
        "SamVisionConfig",
    ],
    "processing_sam": ["SamProcessor"],
}


try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     A							     = [
         "SAM_PRETRAINED_MODEL_ARCHIVE_LIST",
         "SamModel",
         "SamPreTrainedModel",
     ]
try:
     if not is_tf_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     A							     = [
         "TF_SAM_PRETRAINED_MODEL_ARCHIVE_LIST",
         "TFSamModel",
         "TFSamPreTrainedModel",
     ]
try:
     if not is_vision_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     A							     = ["SamImageProcessor"]


if TYPE_CHECKING:
     from .configuration_sam import (
         SAM_PRETRAINED_CONFIG_ARCHIVE_MAP,
         SamConfig,
         SamMaskDecoderConfig,
         SamPromptEncoderConfig,
         SamVisionConfig,
     )
     from .processing_sam import SamProcessor

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_sam import SAM_PRETRAINED_MODEL_ARCHIVE_LIST, SamModel, SamPreTrainedModel

     try:
          if not is_tf_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_tf_sam import TF_SAM_PRETRAINED_MODEL_ARCHIVE_LIST, TFSamModel, TFSamPreTrainedModel

     try:
          if not is_vision_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .image_processing_sam import SamImageProcessor

else:
     import sys

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







from math import cos, sin



def     lowerCAmelCase		(		_lowerCAmelCase				: float						):




 """simple docstring"""







 UpperCAmelCase__							=    float(_lowerCAmelCase						)
 return [[scaling_factor * int(x == y						) for x in range(2						)] for y in range(2						)]



def     lowerCAmelCase		(		_lowerCAmelCase				: float						):




 """simple docstring"""







 UpperCAmelCase__			,			UpperCAmelCase__							=    cos(_lowerCAmelCase						), sin(_lowerCAmelCase						)
 return [[c, -s], [s, c]]



def     lowerCAmelCase		(		_lowerCAmelCase				: float						):




 """simple docstring"""







 UpperCAmelCase__			,			UpperCAmelCase__							=    cos(_lowerCAmelCase						), sin(_lowerCAmelCase						)
 UpperCAmelCase__							=    c * s
 return [[c * c, cs], [cs, s * s]]



def     lowerCAmelCase		(		_lowerCAmelCase				: float						):




 """simple docstring"""







 UpperCAmelCase__			,			UpperCAmelCase__							=    cos(_lowerCAmelCase						), sin(_lowerCAmelCase						)
 UpperCAmelCase__							=    c * s
 return [[2 * c - 1, 2 * cs], [2 * cs, 2 * s - 1]]


print(F'''    {scaling(5) = }''')
print(F'''  {rotation(4_5) = }''')
print(F'''{projection(4_5) = }''')


print(F'''{reflection(4_5) = }''')





