
    sg                         d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZmZ d d	lmZ d d
lmZmZmZmZmZmZ d dlmZ d dlmZ d Zd Z d Z!d Z"d Z#d Z$d Z%y)    )	dimsys_SI)pi)S)Symbol)Abs)log)sqrt)acosatan2cos	Dimension)lengthtimemassforcepressureangle)foot)raisesc                  >   t        j                  t              t        dik(  sJ t        j                  t	        d      k(  sJ t        j
                  t	        d      k(  sJ t        t              } t        j                  |       t        t        j                  ik(  sJ y )N   r   L)	r   get_dimensional_dependenciesr   namer   symbolr	   r   Half)
halflengths    \/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/units/tests/test_dimensions.pytest_Dimension_definitionr       sw    11&9fa[HHH;;&****==F3K'''fJ11*=&!&&AQQQQ    c                      t        t        d        t        t        d        t        t        d        t        t        d        t        t        d        y )Nc                      t        d      S )N)r   r      r    r!   r   <lambda>z1test_Dimension_error_definition.<locals>.<lambda>   s    i(89 r!   c                      t        dg      S )Nr   r   r%   r!   r   r&   z1test_Dimension_error_definition.<locals>.<lambda>   s    i
3 r!   c                      t        ddi      S )Nr   ar   r%   r!   r   r&   z1test_Dimension_error_definition.<locals>.<lambda>!   s    i38 r!   c                      t        ddi      S )Nr   )r   r$   r   r%   r!   r   r&   z1test_Dimension_error_definition.<locals>.<lambda>$   s    i6(:; r!   c                      t        dd      S )Nr   r   )r   r   r%   r!   r   r&   z1test_Dimension_error_definition.<locals>.<lambda>'   s    9Xa#@ r!   )r   	TypeErrorAssertionErrorr%   r!   r   test_Dimension_error_definitionr.      s?    
99:
934 989 9;< >@Ar!   c                  j    t        t        d            dk(  sJ t        t        dd            dk(  sJ y )Nr   zDimension(length)r   zDimension(length, L))strr   r%   r!   r   test_strr1   *   s6    y"#'::::y3'(,BBBBr!   c                     t        j                  t              du sJ t        j                  t        t        z        du sJ t        j                  t        d            du sJ t        j                  t               du sJ t        dz  j	                  t               du sJ t        dz  j	                  t               du sJ y )NFT	undefined      ?)r   is_dimensionlessr   r   has_integer_powersr%   r!   r   test_Dimension_propertiesr8   /   s    %%f-666%%fVm4<<<%%i&<=FFF$$Y/4777RL,,Y74???CK++I6%???r!   c                     t         t         z   t         k(  sJ t         t         z
  t         k(  sJ t          t         k(  sJ t        t        d        t        t        d        t        t        d        t        t        d        t        d      } t         | z   }|| t         z   k(  r*|j                  rt        |j                        t         | hk(  sJ t         dz   }|dt         z   cxk(  rdt         z
  k(  r.n J |j                  rt        |j                        t         dhk(  sJ t        j                  t        t         z  t        dz  z  t        z         t         dt        dt        dik(  sJ t        j                  t        t         z  t        dz  z  t        z   t        t         dz  z  z
        t         dt        dt        dik(  sJ t        t        d	        y )
Nc                      t         t        z   S Nr   r   r%   r!   r   r&   z(test_Dimension_add_sub.<locals>.<lambda>>   
    ftm r!   c                      t         t        z   S r;   r   r   r%   r!   r   r&   z(test_Dimension_add_sub.<locals>.<lambda>?   
    dVm r!   c                      t         t        z
  S r;   r<   r%   r!   r   r&   z(test_Dimension_add_sub.<locals>.<lambda>@   r=   r!   c                      t         t        z
  S r;   r?   r%   r!   r   r&   z(test_Dimension_add_sub.<locals>.<lambda>A   r@   r!   xr   r$   c                  d    t        j                  t        t        z  t        dz  z  t
        z         S )Nr$   )r   r   r   r   r   r   r%   r!   r   r&   z(test_Dimension_add_sub.<locals>.<lambda>Q   s'    iDDTF]UY[\U\E\_gEgh r!   )r   r   r,   r   is_Addsetargsr   r   r   r   r   r   )rC   es     r   test_Dimension_add_subrJ   9   s   F?f$$$F?f$$$7f
9+,
9+,
9+,
9+, 	sA
AF
?qxxCKFA;,FFF
AF
(a&j(TTQXX#aff+&RS:TTT11$-$'2IE2QRQar*+ + +11$-$'2IE2Q3;fai3G3H IQar*+ + + 9hir!   c                  
   dt         z  t         dz  cxk(  rt         dz  cxk(  r
t         k(  sJ  J dt         z  dt         z  k(  sJ t        d      } | t         z  }|t         | z  k(  r*|j                  rt        |j                        | t         hk(  sJ | t         z  }|| t         dz  z  k(  r-|j                  r!t        |j                        | dt         z  hk(  sJ t         | z  }|t         | dz  z  k(  r-|j                  r!t        |j                        d| z  t         hk(  sJ t         t
        z  }t         t         z  t         dz  k(  sJ t        j                  t         t         z        t         dik(  sJ t        j                  t         dz        t         dik(  sJ t        j                  t         t
        z        t         dt
        dik(  sJ t        j                  |      t         dt
        dik(  sJ t        j                  |dz        t         dt
        dik(  sJ t        j                  t         t         z        i k(  sJ t        j                  |t         z  t
        z        i k(  sJ t        j                  t         dz        t         dik(  sJ t        j                  |dz        t         dt
        dik(  sJ t         dz  }t        j                  |      t         t        d      ik(  sJ t        j                  t         t        z        t         t        ik(  sJ t        j                  t         t         t         z  z        t         t        d      ik(  sJ t        t        d	        t         dk7  sJ t         t         z  dk7  sJ t         d
z  }t        j                  |      i k(  sJ t        d      }t        d      }t        |dz  |dz  z         }|j                  |t         |t         i      }	t        j                  |	t               sJ y )Nr$   r   rC   r4   rD   g      r5   r)   c                  B    t        j                  t        t        z        S r;   )r   r   r   r%   r!   r   r&   z,test_Dimension_mul_div_exp.<locals>.<lambda>s   s    iDDVV^T r!   r   b)r   r   is_MulrG   rH   r   r   r   r   r   r   r,   r	   subsequivalent_dims)
rC   mdvelolength_alength_0r)   rM   cc_dims
             r   test_Dimension_mul_div_exprX   S   sl   V8vax56!85v55555V8qxsA	&Aq=QXX#aff+!V*DDD	&A&"*c!&&ka6].JJJqAq"uc!&&kac6].JJJD=DVO!+++11&6/BvqkQQQ11&A+>61+MMM11&4-@VQPTVWDXXXX11$7FAtR;PPPP11$!)<DRT@UUUU11&6/BbHHH11$-$2FG2MMM11&B,?FB<OOO11$$,?FDRVX[C\\\\s{H11(;s?TTTT11&"*=&"MMM11&6&=2IJvW`abWcNdddd
9TUQ;;F?a{H11(;rAAA 	sAsAQTAqD[AFFAvq&)*E$$UF333r!   c                  h   t        t        d        t        t        d        t        t        d        t        t        d        t        t        d        t        t        d        t        j                  t              i k(  sJ t        j                  t        d            i k(  sJ t        j                  t        t                    i k(  sJ t        j                  t        t        t                    i k(  sJ t        j                  t        t        t        z  t        t        z              i k(  sJ t        j                  t        t                    t        dik(  sJ t        j                  t        t        t        z              i k(  sJ t        j                  t        d            i k(  sJ y )	Nc                  F    t        j                  t        t                    S r;   )r   r   r   r   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>       iDDS[Q r!   c                  F    t        j                  t        t                    S r;   )r   r   r
   r   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>   s    iDDT%[Q r!   c                  P    t        j                  t        t        t                    S r;   )r   r   r   r   r   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>   s    iDDU6SWEXY r!   c                  F    t        j                  t        t                    S r;   r   r   r   r   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>   r[   r!   c                  H    t        j                  t        dt                    S )Nd   r_   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>   s    iDDSfEUV r!   c                  H    t        j                  t        t        d            S )N
   r_   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>   s    iDDSQS_U r!   r   r4   )r   r,   r   r   r   r   r   r   r   r   r   r	   r%   r!   r   test_Dimension_functionsrd      sA   
9QR
9QR
9YZ
9QR
9VW
9UV11"5;;;11#a&9R???11#e*=CCC11%2GHBNNN11#fvovPV2WX\^^^^11#f+>61+MMM11#fvo2FG2MMM11$r(;rAAAr!   N)&sympy.physics.units.systems.sir   sympy.core.numbersr   sympy.core.singletonr   sympy.core.symbolr   $sympy.functions.elementary.complexesr   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr	   (sympy.functions.elementary.trigonometricr
   r   r   sympy.physics.units.dimensionsr   5sympy.physics.units.definitions.dimension_definitionsr   r   r   r   r   r   sympy.physics.unitsr   sympy.testing.pytestr   r    r.   r1   r8   rJ   rX   rd   r%   r!   r   <module>rq      s_    4 ! " $ 4 6 9 G G 4  % 'RBC
@j4-4^Br!   