




from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowercase__							:	Any											=		{"configuration_focalnet": ["FOCALNET_PRETRAINED_CONFIG_ARCHIVE_MAP", "FocalNetConfig"]}


try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowercase__							:	str											=		[
		    "FOCALNET_PRETRAINED_MODEL_ARCHIVE_LIST",
		    "FocalNetForImageClassification",
		    "FocalNetForMaskedImageModeling",
		    "FocalNetBackbone",
		    "FocalNetModel",
		    "FocalNetPreTrainedModel",
		]

if TYPE_CHECKING:
		from .configuration_focalnet import FOCALNET_PRETRAINED_CONFIG_ARCHIVE_MAP, FocalNetConfig

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_focalnet import (
				    FOCALNET_PRETRAINED_MODEL_ARCHIVE_LIST,
				    FocalNetBackbone,
				    FocalNetForImageClassification,
				    FocalNetForMaskedImageModeling,
				    FocalNetModel,
				    FocalNetPreTrainedModel,
				)

else:
		import sys

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

"""simple docstring"""


from __future__ import annotations

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






def      __UpperCAmelCase       (      lowercase ,lowercase ,lowercase = False		):







  """simple docstring"""
  if radian_mode:
    return [magnitude * cos(lowercase		), magnitude * sin(lowercase		)]
  return [magnitude * cos(radians(lowercase		)		), magnitude * sin(radians(lowercase		)		)]






def      __UpperCAmelCase       (      lowercase ,lowercase ,lowercase = 10**-1		):







  """simple docstring"""
  _UpperCAmelCase    			=   cross(lowercase ,lowercase		)
  _UpperCAmelCase    			=   sum(lowercase		)
  return abs(lowercase		) < eps


if __name__ == "__main__":
    # Test to check if it works
    UpperCAmelCase__			=    array(
        [
            polar_force(718.4, 1_8_0 - 3_0),
            polar_force(879.54, 4_5),
            polar_force(1_0_0, -9_0),
        ]
    )

    UpperCAmelCase__			=    array([[0, 0], [0, 0], [0, 0]])

    assert in_static_equilibrium(forces, location)

    # Problem 1 in image_data/2D_problems.jpg
    UpperCAmelCase__			=    array(
        [
            polar_force(3_0 * 9.81, 1_5),
            polar_force(2_1_5, 1_8_0 - 4_5),
            polar_force(2_6_4, 9_0 - 3_0),
        ]
    )

    UpperCAmelCase__			=    array([[0, 0], [0, 0], [0, 0]])

    assert in_static_equilibrium(forces, location)

    # Problem in image_data/2D_problems_1.jpg
    UpperCAmelCase__			=    array([[0, -2_0_0_0], [0, -1_2_0_0], [0, 1_5_6_0_0], [0, -1_2_4_0_0]])

    UpperCAmelCase__			=    array([[0, 0], [6, 0], [1_0, 0], [1_2, 0]])

    assert in_static_equilibrium(forces, location)

    import doctest

    doctest.testmod()
