




from __future__ import annotations

from numpy import array, cos, cross, floataa, radians, sin
from numpy.typing import NDArray







def SCREAMING_SNAKE_CASE							(			lowercase_					,							lowercase_					,							lowercase_ = False		)  ->			list[float]:



       """simple docstring"""

       if radian_mode:
              return [magnitude * cos(lowercase_		), magnitude * sin(lowercase_		)]
       return [magnitude * cos(radians(lowercase_		)		), magnitude * sin(radians(lowercase_		)		)]







def SCREAMING_SNAKE_CASE							(			lowercase_					,							lowercase_					,							lowercase_ = 10**-1		)  ->			bool:



       """simple docstring"""

       A__ 					=       cross(lowercase_					,							lowercase_		)
       A__ 					=       sum(lowercase_		)
       return abs(lowercase_		) < eps


if __name__ == "__main__":
  # Test to check if it works
  _lowerCamelCase      :						int							=  array(
      [
          polar_force(718.4, 180 - 30),
          polar_force(879.54, 45),
          polar_force(100, -90),
      ]
  )

  _lowerCamelCase      :						NDArray[floataa]							=  array([[0, 0], [0, 0], [0, 0]])

  assert in_static_equilibrium(forces, location)

  # Problem 1 in image_data/2D_problems.jpg
  _lowerCamelCase      :						str							=  array(
      [
          polar_force(30 * 9.81, 15),
          polar_force(215, 180 - 45),
          polar_force(264, 90 - 30),
      ]
  )

  _lowerCamelCase      :						str							=  array([[0, 0], [0, 0], [0, 0]])

  assert in_static_equilibrium(forces, location)

  # Problem in image_data/2D_problems_1.jpg
  _lowerCamelCase      :						Tuple							=  array([[0, -2000], [0, -1200], [0, 15600], [0, -12400]])

  _lowerCamelCase      :						str							=  array([[0, 0], [6, 0], [10, 0], [12, 0]])

  assert in_static_equilibrium(forces, location)

  import doctest

  doctest.testmod()






from typing import List

from ...configuration_utils import PretrainedConfig
from ...utils import logging


_lowercase							:   Any						=						logging.get_logger(__name__)

_lowercase							:   Union[str, Any]						=						{
    "snap-research/efficientformer-l1-300": (
        "https://huggingface.co/snap-research/efficientformer-l1-300/resolve/main/config.json"
    ),
}






class    _UpperCamelCase     (       __snake_case					):

				"""simple docstring"""







				lowerCAmelCase					=			'efficientformer'

				def __init__(    self					, a__ = [3, 2, 6, 4]					, a__ = [48, 96, 224, 448]					, a__ = [True, True, True, True]					, a__ = 448					, a__ = 32					, a__ = 4					, a__ = 7					, a__ = 5					, a__ = 8					, a__ = 4					, a__ = 0.0					, a__ = 16					, a__ = 3					, a__ = 3					, a__ = 3					, a__ = 2					, a__ = 1					, a__ = 0.0					, a__ = 1					, a__ = True					, a__ = True					, a__ = 1e-5					, a__ = "gelu"					, a__ = 0.02					, a__ = 1e-12					, a__ = 224					, a__ = 1e-05					, **a__					, )						->					None:
					super().__init__(**a__ )

					A             =					hidden_act
					A             =					hidden_dropout_prob
					A             =					hidden_sizes
					A             =					num_hidden_layers
					A             =					num_attention_heads
					A             =					initializer_range
					A             =					layer_norm_eps
					A             =					patch_size
					A             =					num_channels
					A             =					depths
					A             =					mlp_expansion_ratio
					A             =					downsamples
					A             =					dim
					A             =					key_dim
					A             =					attention_ratio
					A             =					resolution
					A             =					pool_size
					A             =					downsample_patch_size
					A             =					downsample_stride
					A             =					downsample_pad
					A             =					drop_path_rate
					A             =					num_metaad_blocks
					A             =					distillation
					A             =					use_layer_scale
					A             =					layer_scale_init_value
					A             =					image_size
					A             =					batch_norm_eps



