"""simple docstring"""


class 							a					:


    def __init__(       self						:	int ,					__lowerCAmelCase						:	int       ):
      _UpperCAmelCase    			=   n
      _UpperCAmelCase    			=   [None] * self.n
      _UpperCAmelCase    			=   0  # index of the first element
      _UpperCAmelCase    			=   0
      _UpperCAmelCase    			=   0


    def __len__(       self						:	Any       ):
      return self.size


    def   lowerCAmelCase_	(       self						:	Any       ):
      return self.size == 0


    def   lowerCAmelCase_	(       self						:	Dict       ):
      return False if self.is_empty() else self.array[self.front]


    def   lowerCAmelCase_	(       self						:	Dict ,					__lowerCAmelCase						:	Tuple       ):
      if self.size >= self.n:
        raise Exception("""QUEUE IS FULL"""       )

      _UpperCAmelCase    			=   data
      _UpperCAmelCase    			=   (self.rear + 1) % self.n
      self.size += 1
      return self


    def   lowerCAmelCase_	(       self						:	Optional[int]       ):
      if self.size == 0:
        raise Exception("""UNDERFLOW"""       )

      _UpperCAmelCase    			=   self.array[self.front]
      _UpperCAmelCase    			=   None
      _UpperCAmelCase    			=   (self.front + 1) % self.n
      self.size -= 1
      return temp

"""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()
