
    g                         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%dS )    )	dimsys_SI)pi)S)Symbol)Abs)log)sqrt)acosatan2cos	Dimension)lengthtimemassforcepressureangle)foot)raisesc                  L   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 d S )N   r   L)	r   get_dimensional_dependenciesr   namer   symbolr	   r   Half)
halflengths    e/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/physics/units/tests/test_dimensions.pytest_Dimension_definitionr       s    1&99fa[HHHH;&******=F3KK''''fJ1*==&!&AQQQQQQQ    c                      t          t          d            t          t          d            t          t          d            t          t          d            t          t          d            d S )Nc                       t          d          S )N)r   r      r    r!   r   <lambda>z1test_Dimension_error_definition.<locals>.<lambda>   s    i(899 r!   c                  "    t          dg          S )Nr   r   r%   r!   r   r&   z1test_Dimension_error_definition.<locals>.<lambda>   s    i
33 r!   c                  $    t          ddi          S )Nr   ar   r%   r!   r   r&   z1test_Dimension_error_definition.<locals>.<lambda>!   s    i38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.      sr    
999:::
933444 988999 9;;<<< >@@AAAAAr!   c                      t          t          d                    dk    sJ t          t          dd                    dk    sJ d S )Nr   zDimension(length)r   zDimension(length, L))strr   r%   r!   r   test_strr1   *   sN    y""##':::::y3''((,BBB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                      t                     du sJ t          dz                      t                     du sJ d S )NFT	undefined      ?)r   is_dimensionlessr   r   has_integer_powersr%   r!   r   test_Dimension_propertiesr8   /   s    %f--6666%fVm44<<<<%i&<&<==FFFF$Y//47777RL,,Y774????CK++I6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 n&|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	            d S )
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                  j    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DTF]UY[\U\E\_gEgh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
??qx?CKKFA;,F,F,F,F
AF
((((a&j(((((QX(#af++&RS:T:T:T:T1$-$'2IE2QRRQar*+ + + +1$-$'2IE2Q3;fai3G3H I IQar*+ + + + 9hhiiiiir!   c                     dt           z  t           dz  cxk    rt           dz  cxk    rt           k    sn 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k    sJ t           t           z  dk    sJ t           d
z  }t          j        |          i k    sJ t          d          }t          d          }t          |dz  |dz  z             }|                    |t           |t           i          }	t          j        |	t                     sJ d S )Nr$   r   rC   r4   rD   g      r5   r)   c                  D    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DVV^T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   s   V8vax55556!85555v555555V8qxsA	&Aq==QX=#af++!V*D*D*D*D	&A&"*c!&kka6].J.J.J.JqAq"uc!&kkac6].J.J.J.JD=DVO!++++1&6/BBvqkQQQQ1&A+>>61+MMMM1&4-@@VQPTVWDXXXXX1$77FAtR;PPPPP1$!)<<DRT@UUUUU1&6/BBbHHHH1$-$2FGG2MMMM1&B,??FB<OOOO1$$,??FDRVX[C\\\\\s{H1(;;s?TTTTT1&"*==&"MMMM1&6&=2IJJvW`abWcWcNddddd
9TTUUUQ;;;;F?a{H1(;;rAAAA 	sAsAQTAqD[AFFAvq&)**E$UF3333333r!   c                     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 d S )	Nc                  N    t          j        t          t                              S r;   )r   r   r   r   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>       iDS[[QQ r!   c                  N    t          j        t          t                              S r;   )r   r   r
   r   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>   s    iDT%[[QQ r!   c                  Z    t          j        t          t          t                              S r;   )r   r   r   r   r   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>   s    iDU6SWEXEXYY r!   c                  N    t          j        t          t                              S r;   r   r   r   r   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>   r[   r!   c                  P    t          j        t          dt                              S )Nd   r_   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>   s    iDSfEUEUVV r!   c                  P    t          j        t          t          d                    S )N
   r_   r%   r!   r   r&   z*test_Dimension_functions.<locals>.<lambda>   s    iDSQS__UU r!   r   r4   )r   r,   r   r   r   r   r   r   r   r   r   r	   r%   r!   r   test_Dimension_functionsrd      s   
9QQRRR
9QQRRR
9YYZZZ
9QQRRR
9VVWWW
9UUVVV1"55;;;;1#a&&99R????1#e**==CCCC1%2G2GHHBNNNN1#fvovPV2W2WXX\^^^^^1#f++>>61+MMMM1#fvo2F2FGG2MMMM1$r((;;rAAA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 4 4 4 4 ! ! ! ! ! ! " " " " " " $ $ $ $ $ $ 4 4 4 4 4 4 6 6 6 6 6 6 9 9 9 9 9 9 G G G G G G G G G G 4 4 4 4 4 4                % $ $ $ $ $ ' ' ' ' ' 'R R RB B BC C C
@ @ @j j j4-4 -4 -4^B B B B Br!   