+
    i
                     n    ^ RI Ht ^ RIHt ^ RIHtHtHtHtH	t	H
t
HtHt ^ RIHtHt R tR tR tR tR	# )
    )raises)symbols)	RigidBodyParticleReferenceFramePointouterdynamicsymbolsForceTorque)gravity_parse_loadc                     \        R 4      p \        R4      p\        WP                  4      pVP                  V8X  g   Q hVP
                  V P                  8X  g   Q hVP                  4       R8X  g   Q h\        V\        4      '       g   Q hV^ ,          V8X  g   Q hV^,          V P                  8X  g   Q hW!V P                  38X  g   Q hW P                  V38w  g   Q hW!V P                  V P                  ,           38w  g   Q hV\        R4      V P                  38w  g   Q h\        RV4      p\        W0P                  4      pW$8X  g   Q hR# )NPozForce(point=Po, force=N.x)CoPN)r   r   r   xpointforce__repr__
isinstancetupleyr   )r   r   f1r   f2s        f/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/physics/mechanics/tests/test_loads.pytest_force_defaultr   	   s   sA	tB	r33B88r>>88qss??;;=8888b%    a5B;;a5ACC<<acc??##r??accACCi   %+qss####bA	q##B8O8    c                     \        R 4      p \        W P                  4      pVP                  V 8X  g   Q hVP                  V P                  8X  g   Q hVP                  4       R8X  g   Q h\        V\        4      '       g   Q hV^ ,          V 8X  g   Q hV^,          V P                  8X  g   Q hWV P                  38X  g   Q hWP                  V 38w  g   Q hWV P                  V P                  ,           38w  g   Q hV\        R4      V P                  38w  g   Q h\        RV R7      p\        W P                  4      pW8X  g   Q hR# )r   zTorque(frame=N, torque=N.x)Ar   )frameN)
r   r   r   r"   torquer   r   r   r   r   )r   r   rbr   s       r   test_torque_defaultr%      s	   sA	33B88q==99;;=9999b%    a5A::a5ACC<<QSS>>##q>>QSS133Y.%qss++++	3a	 B	CCB8O8r   c                     \        R 4      p \        R4      w  rp\        R4      w  rE\        R4      p\	        RWa4      p\        R4      p\        R4      p	\        VP                  VP                  4      p
\        RWW*V	34      pWd3W3.pVP                  \        W0P                  ,          W{4      4       Wd3W3WcV,          V P                  ,          3WV,          V P                  ,          3.p\        \        V4      4       FG  p\        \        W,          4      4       F&  pW,          V,          W,          V,          8X  d   K&  Q h	  KI  	  R# )	r   zm M gzF1 F2popar!   r   BN)r   r   r
   r   r   r	   r   r   extendr   r   rangelen)r   mMgF1F2r'   r(   r!   r   Ir)   	forceListlijs                   r   test_gravityr7   2   s   sAgGA!G$FB	tB	$	BsAc
Aacc133A#qQA'AA7#IWQWb,-
A7RQ-q5133;/?@A3q6]s14y!A<?ad1g--- " r   c                    aa \        R 4      o\        R4      o\        \        SSP                  4      4      SSP                  38X  g   Q h\        \        SSP                  4      4      SSP                  38X  g   Q h\        SSP                  34      p \        V \        4      '       g   Q hV \        SSP                  4      8X  g   Q h\        SSP                  34      p\        V\
        4      '       g   Q hV\        SSP                  4      8X  g   Q h\        \        VV3R l4       \        \        VV3R l4       \        \        VV3R l4       \        \        VV3R l4       R# )r   r'   c                  F   < \        \        R S4      S P                  34      # r(   )r   r   r   r   r'   s   r   <lambda>"test_parse_loads.<locals>.<lambda>Q   s    {HT2,>+DEr   c                  H   < \        \        R SS 4      S P                  34      # r:   )r   r   r   r;   s   r   r<   r=   R   s    {IdB,BACC+HIr   c                  J   < \        SS P                  SS P                  34      # Nr   r   r;   s   r   r<   r=   T   s    {BR+=>r   c                  2   < \        SS P                  .4      # r@   rA   r;   s   r   r<   r=   V   s    k2qss)4r   N)r   r   r   r   zr   r   r   r   r   
ValueError	TypeError)r   t1r   r'   s     @@r   test_parse_loadsrG   E   s   sA	tBuR~&2qss)333va~&1acc(222	b!##Y	Bb%    r133	aX	Bb&!!!!133
:EF
:IJ
:>?
945r   N)pytestr   sympyr   sympy.physics.mechanicsr   r   r   r   r	   r
   r   r   sympy.physics.mechanics.loadsr   r   r   r%   r7   rG    r   r   <module>rM      s4     K K K >*(.&6r   