
    \h$                     >   S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)  S SK*J+r+J,r,  S S	K-J.r.  S S
K/J0r0  SS jr1\r2\(r3S r4S r5S r6S r7S r8S r9S r:S r;S r<S r=g)    )Tuple)pi)Powsymbols)sympify)sstr)G
centimetercoulombdaydegreegramhbarhourinchjoulekelvinkilogram	kilometerlengthmetermileminutenewtonplanckplanck_lengthplanck_massplanck_temperatureplanck_timeradianssecondspeed_of_light	steradiantimekm)
convert_tocheck_dimensions)raises)sqrtc                 J    [        [        U 5      R                  " U40 UD6SS9$ )NT)	full_prec)r	   r   evalf)enoptionss      [/var/www/auris/envauris/lib/python3.13/site-packages/sympy/physics/units/tests/test_util.pyNSr2      s#    
  .g.$??    c                  2    [         [         -   [         :X  d   eg N)L r3   r1   test_dim_simplify_addr8      s    q5A::r3   c                  @    [         [        -  [         [        -  :X  d   eg r5   r6   Tr7   r3   r1   test_dim_simplify_mulr<      s    Q3!A#::r3   c                  >    [        [        S5      [        S-  :X  d   eg N   )r   r6   r7   r3   r1   test_dim_simplify_powr@   #   s    q!91r3   c                  N    [         [         -   [        -  [         [        -  :X  d   eg r5   r:   r7   r3   r1   test_dim_simplify_recrB   '   s    EQ;!A#r3   c                  	   [        S[        5      S:X  d   e[        [        [        5      S[        -  S-  :X  d   e[        [        [        -  [
        5      [
        S-  :X  d   e[        S[        -  [        -  [
        5      [
        :X  d   e[        S[        -  [        -  [
        5      S[
        -  :X  d   e[        [
        [        [        -  5      S[        -  [        -  :X  d   e[        S[
        -  [        [        -  5      S[        -  [        -  :X  d   e[        [        [        5      S[        -  :X  d   e[        S[        -  [        5      S[        -  :X  d   e[        [        [        5      S	[        -  S
-  :X  d   e[        [        [        -  [        [        -  5      S[        -  S[        -  -  :X  d   e[        S[        -  [        [        -  5      S[        -  :X  d   e[        S[        -  [        [        -  [        S-  -  5      S[        -  [        -  [        S-  -  :X  d   e[        [        [        -   [        5      S[        -  S
-  :X  d   e[        S[        -  S[        -  -   [        5      S[        -  S
-  :X  d   e[        [        S-  [        S-  5      S[        S-  -  S-  :X  d   e[        S[        S-  -  [        5      S[        S-  -  S-  :X  d   e[        S[        -  [        -  S[        -  [        -  -   [        [        -  5      S[        -  S[        -  -  :X  d   e[        S[        -  [        -  S[        -  [        -  -   [        [        -  5      S[        -  S[        -  -  :X  d   e[        [        [        [        -   -  [        5      S[        S-  -  :X  d   e[        [        [        5      [        :X  d   e[        [        [         5      S[         -  ["        -  :X  d   e[        [        [        [         /5      S[         -  ["        -  :X  d   e[        ["        [        -  [         5      S[         -  :X  d   e[        ["        [         5      S[         -  :X  d   e[        [%        [        S-  [        S-  -   5      [        5      [%        [        S-  [        S-  -   5      :X  d   e[        [        S-  [        S-  -   S-  [        5      [        S-  [        S-  -   S-  :X  d   eg )N   i:b  i	=  Jx#r?   iQ x   i }   i i  i?  i@x}i  i`  im  iA ie  i'           @)r'   r   r   r   r"   r#   r   r   r   r   r   r   r   r$   r   r!   r   r   r*   r7   r3   r1   test_convert_to_quantitiesrK   ,   s   a1$$$dI&%	/%*????eFlN3~i7OOOOiof,n=OOOk%'.?1^CSSSSneFl3yv7MMMMa&f559OOOOc6"eFl222aff%V333dE"fUl3&6666d4i40E)OU4Z4PPPPahf-6999ahvqy 89QuWX=MfVWi=WWWWi$&.&,s2BBBBa	kAdF*E2fUl36FFFFdAguax(E%(N8,CCCCaai'5>(+BBBBa	k$&44eFlCuU{TYZ`T`Gaaaaa	k$&44j6GHFS]L]_cdj_jLkkkki4)#34e<%ST*@TTTTi)Y666gv&#f*R-777gv/3v:b=@@@bj&)SZ777b&!SZ/// d5!8eSj0159T%(UTWZBW=XXXXuax%*,q0%8UAXs
=RUV<VVVVr3   c            
         SSK Jn   U " S5      u  p[        [        [        [
        /5      S[        -  [
        -  :X  d   e[        [        [        [
        45      S[        -  [
        -  :X  d   e[        [        [        [        [
        5      5      S[        -  [
        -  :X  d   e[        [        [        [        [
        /5      [        [        S-  -  [
        S-  -  :X  d   e[        [        [        [        [
        /5      S[        S-  -  [        -  [
        S-  -  :X  d   e[        S[        -  [
        -  [        /5      [        :X  d   e[        [        S-  [        [
        [        /5      [        [
        -  S-  S-  :X  d   e[        S[        -  [        [
        [        /5      S[        -  [
        -  :X  d   e[        [        [        [        [        /5      S[        -  :X  d   e[        [        [        [        [        [        /5      S	S
9S:X  d   e[        [        [        [        5      S	S
9S:X  d   e[        [        [         [        5      S	S
9S:X  d   e[        [        ["        [
        5      SS
9S:X  d   e[        [        [$        [&        5      S	S
9S:X  d   e[        [        [        [        [        [        [        /5      [        5      SS
9S:X  d   e[        [)        [        S-  [
        S-  -   5      [        [
        /5      [)        [        S-  [
        S-  -   5      :X  d   e[        [        S-  [
        S-  -   S-  [        [
        /5      [        S-  [
        S-  -   S-  :X  d   e[        SU[        -  [        -   -  S[        -  5      SU[        -  [        -   -  :X  d   e[        SU[        -  U[        -  -   -  S[*        -  5      S[*        U-  S-  U[*        -  S-  -   -  :X  d   eg )Nr   r   z
alpha betarE   r?   逖 rF   g      ?   )r/   zW6.187142e+34*gravitational_constant**0.5000000*hbar**0.5000000/speed_of_light**1.500000z2.176434e-8*kilogramz1.616255e-35*meter   z5.39125e-44*secondz1.416784e+32*kelvin
   z1.000000000*meterrJ        )sympy.core.symbolr   r'   r#   r   r"   r   r   r   r   r   r
   r   r2   r   r   r   r    r   r   r*   r   )r   alphabetas      r1   $test_convert_to_tuples_of_quantitiesrV   N   s^   ),'KEnufo6)e:Kf:TTTTnufo6)e:Kf:TTTTneE6&:;y5?PSY?YYYYeeXv678E1H;LVUVY;VVVVej$78HZQR]<RSW<WX^`aXa<aaaaiof,~.>?>QQQnq(5&(*CDfU^H^abHbbbba.(5&(*CDX]H]`fHffffa!^V45Q>>>jND 9:a@  E^  ^  ^  ^jh/159OOOOj.!48LLLLjf-37KKKKj+V4:>SSSSjEA~v+FGOSUVZmmmm d5!8fck12UFODUTUXX^`cXcMcHdddduax&#+-1E6?CqSY[^S^H^abGbbbb aee+,ag6!T%Z%=O:PPPPaeeEk12AiK@Q	RVW[H[^cdm^mnr^rHrEstttr3   c                  ~   SSK Jn JnJnJnJnJn  SSKJn  U" S5      u  pxX-  R                  5       S:X  d   eX#-  R                  5       S:X  d   eX -  R                  5       S:X  d   eSU-  U-  US-  -  U-  U -  R                  5       S	U-  [        -  :X  d   eX-  U-  R                  5       S
S[        -  -  :X  d   eSU-  [        -  R                  5       S[        -  :X  d   eSU-  [        -  S[        -  -  R                  5       S:X  d   eS[        S-  -  U[        -  S-  -  R                  5       S:X  d   eg )Nr   )cmmmr&   mKkilor   x yrP   rR   i r?   i ʚ;rQ   rM   rD   i     )sympy.physics.unitsrX   rY   r&   rZ   r[   r\   rS   r   simplifyr   r   r   r   )	rX   rY   r&   rZ   r[   r\   r   xys	            r1   test_eval_simplifyrc   m   s6   ::)5>DAE###D??$$$E'''qDF2q5LN2'')Z\&-@@@@E!G1hz&9#::::dF5L""$U
222dF5L!I+&002a777ilNDJ?*446!;;;r3   c                  H   SSK Jn   SSKJnJn  SSKJn  U" S5      u  pEU " USU-  [        -  [        -  U-   -  5      US[        -  [        -  U-   -  :X  d   eU " U[        -  U[        -   -  5      US-  X"S	-  -   -  S	-  :X  d   eU " U[        -  X"-  [        U[        -   -  -   -  5      US-  US-  US	-  X"S	-  -   -  -   -  S	-  :X  d   eU " SU[        -  U-  S
-  -  [        -  5      SU-  S	-  :X  d   eU " US-  [        -  [        S-  U-  -   5      SUS-  -  S-  :X  d   eg )Nr   quantity_simplify)r\   footr   r]      i@  r?      rR   i      rD      )
sympy.physics.units.utilrf   r_   r\   rg   rS   r   r   r   r   )rf   r\   rg   r   ra   rb   s         r1   test_quantity_simplifyrm   ~   sM   :.)5>DAQ$ve 3a 789QU
6@QTU@U=VVVVT$Yt45q$b.9QRT9TTTTT$Y	D$+4F(FGHDRSGUY[\U\_cdf_fhltvovhv_wUwLxy{L{{{{Qd4!45d:;tDy|KKKT1WT\D!GDL89RaZ^KKKr3   c                  T   SSK Jn   SSKJnJnJnJnJnJnJ	nJ
nJn	Jn
JnJnJnJn  U " X-  SSS9U:X  d   eU " SU-  U-  SSS9SU-  :X  d   eU " X1-  SSS9U:X  d   eU " X2-  SSS9U:X  d   eU " U["        S-  -  SSS9U:X  d   eU " Xb-  SSS9U:X  d   eU " XG-  SSS9U:X  d   eU " ["        S-  U-  SSS9["        S-  U-  :X  d   eU " XG-  SSS9U:X  d   eU " U[$        -  SSS9U:X  d   eU " X1-  SSS9U:X  d   eU " X-  SSS9U	:X  d   eU " [$        U-  SSS9U:X  d   eU " X7-  U-  SSS9U
:X  d   eU " X7-  ["        S	-  -  SSS9U:X  d   eU " XA-  SSS9U:X  d   eU " S
[&        -  U-  SSS9S["        -  SU-  -  :X  d   eU " S
[(        -  ["        -  US	-  -  SSS9S
U-  :X  d   eg )Nr   re   )ampereohmvoltr   pascalfaradr"   wattsiemenshenryteslaweberr   r   TSI)across_dimensionsunit_systemrO   rD   r?            )rl   rf   r_   ro   rp   rq   r   rr   rs   r"   rt   ru   rv   rw   rx   r   r   r   r   r   r   )rf   ro   rp   rq   r   rr   rs   r"   rt   ru   rv   rw   rx   r   r   s                  r1   (test_quantity_simplify_across_dimensionsr      s]   : F  F  F  FVZ4TRVZZZZQvXc\TtTXYZ^X^^^^T[DdSWZZZZTX4PTZZZZU5!8^tQUVZ````UY$DQU[[[[U\TtTX\\\\UAXf_RVW[`bc[cdj[jjjjU\TtTX\\\\U7]dPTUY]]]]T[DdSWZZZZV[DdSW^^^^WT\TtTX]]]]T[/4UYZ^ccccT[1TW[\`eeeeU\TtTX]]]]Qy[-SWX\^_d\dfhiofo\ppppQxZ-fai74]abfghnfnnnnr3   c                  p   [        S5      n [        [        U -   5      [        U -   :X  d   e[        [        U -   5      [        U -   :X  d   e[        [        U -   R	                  U [        5      5      [        :X  d   e[        [
        [        -  [        -   5      [        [        [
        -  -   :X  d   e[        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S	 5        g )
Nra   c                  &    [        [        S-   5      $ NrQ   )r(   r   r7   r3   r1   <lambda>'test_check_dimensions.<locals>.<lambda>   s    /q9r3   c                  &    [        [        S-   5      $ r   )r(   r   r7   r3   r1   r   r      s    /
;r3   c                  .    [        [        [        -   5      $ r5   )r(   r   r%   r7   r3   r1   r   r      s    />r3   c                  .    [        [        [        -   5      $ r5   r(   r   r"   r7   r3   r1   r   r      s    /?r3   c                  4    [        S[        -  [        -   5      $ r>   r   r7   r3   r1   r   r      s    /E	F0BCr3   c                  :    [        S[        -  S[        -  -   5      $ )Nr?   rD   r   r7   r3   r1   r   r      s    /E	AJ0FGr3   c                  :    [        S[        -  S[        -  -   5      $ r   )r(   r"   r   r7   r3   r1   r   r      s    /F
QY0FGr3   c                  P    [        S[        -  [        [        -   -  [        -   5      $ r>   )r(   r   r   r   r&   r7   r3   r1   r   r      s    /E	4*;L0MPR0RSr3   )
r   r(   r   r   subsr   r   r   r)   
ValueError)ra   s    r1   test_check_dimensionsr      s    AD1H%111FQJ'6A:555VaZ--a89VCCCF5L501UU6\5IIII
:9:
:;<
:>?
:?@
:CD
:GH
:GH
:STr3   N)   )>sympy.core.containersr   sympy.core.numbersr   sympy.core.powerr   rS   r   sympy.core.sympifyr   sympy.printing.strr	   r_   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   rl   r'   r(   sympy.testing.pytestr)   (sympy.functions.elementary.miscellaneousr*   r2   r6   r;   r8   r<   r@   rB   rK   rV   rc   rm   r   r   r7   r3   r1   <module>r      s    ' !   % & #1 1 1 1 1 1 1 1
 B ' 9@ 


WDu><"Lo2Ur3   