
    \h$                        S SK Jr  S SKJr  S SKJr  \" S5      r\" SSS/0S9r\(       aA  \(       a:  S S	KJ	r	J
r
JrJrJrJr  S S
KJrJr  S SKJr  \" 5       rSrS rS rS rS rS rS rg\(       d  \(       d  S rggg)    SymPyExpression)raises)import_modulelfortranzclang.cindexfromlistcindex)import_kwargs)VariableIntBaseTypeFloatBaseTypeStringDeclaration	FloatType)IntegerFloat)Symbolz5    integer :: a, b, c, d
    real :: p, q, r, s
    c                     Sn [         R                  U S5        [         R                  5       nUS   [        [	        [        S5      [        [        S5      5      S95      :X  d   eUS   [        [	        [        S5      [        [        S5      5      [        S	5      S
95      :X  d   eUS   [        [	        [        S5      [        [        S5      [        S5      [        S5      [        S5      S9S95      :X  d   eUS   [        [	        [        S5      [        [        S5      [        S5      [        S5      [        S5      S9[        SSS9S
95      :X  d   eg )Nz8        int a, b = 4;
        float c, d = 2.4;
        cr   aintc)type   b   r   value   float32          )nbitsnmantnexp   dz2.39999999999999995   	precision)expr1convert_to_exprreturn_exprr   r   r   r   r   r   r   r   )src1lss     Y/var/www/auris/envauris/lib/python3.13/site-packages/sympy/parsing/tests/test_sym_expr.pytest_c_parser1      sU    	dC( !us 0
 
 	
 
 !us 0aj
 
 	
 
 !us9%!"+!"+ 	

 

 
	
 

 !us9%!"+!"+ 	 0B?	
 
 	
 
    c                  L   [        [        S5      n U R                  5       nUS   [        [	        [        S5      [        [        S5      5      [        S5      S95      :X  d   eUS   [        [	        [        S5      [        [        S5      5      [        S5      S95      :X  d   eUS   [        [	        [        S	5      [        [        S5      5      [        S5      S95      :X  d   eUS
   [        [	        [        S5      [        [        S5      5      [        S5      S95      :X  d   eUS   [        [	        [        S5      [        [        S5      5      [        SSS9S95      :X  d   eUS   [        [	        [        S5      [        [        S5      5      [        SSS9S95      :X  d   eUS   [        [	        [        S5      [        [        S5      5      [        SSS9S95      :X  d   eUS   [        [	        [        S5      [        [        S5      5      [        SSS9S95      :X  d   eg )Nfr   r   integerr   r   r   r   r   r&   r'   r   prealz0.0r(   r)      q   r   s)r   srcr-   r   r   r   r   r   r   r   r   )exprr/   s     r0   test_fortran_parser@   B   s2   sC(!us 	!23aj
 
 	
 
 !us 	!23aj
 
 	
 
 !us 	!23aj
 
 	
 
 !us 	!23aj
 
 	
 
 !us"6&>2ER0
 
 	
 
 !us"6&>2ER0
 
 	
 
 !us"6&>2ER0
 
 	
 
 !us"6&>2ER0
 
 	
 
r2   c                  ~    [         S-   n [        R                  U S5        [        R                  5       nU/ SQ:X  d   eg )N<            a = b + c
            s = p * q / r
            r4   )
za = 0zb = 0zc = 0zd = 0zp = 0.0zq = 0.0zr = 0.0zs = 0.0z	a = b + cz	s = p*q/r)r>   r+   r,   convert_to_python)r.   exp_pys     r0   test_convert_pyrE      sK     	 	dC(((* 
 
 	
 
r2   c                  ~    [         S-   n [        R                  U S5        [        R                  5       nU/ SQ:X  d   eg )NrB   r4   )
z      integer*4 az      integer*4 bz      integer*4 cz      integer*4 dz      real*8 pz      real*8 qz      real*8 rz      real*8 sz      a = b + cz      s = p*q/r)r>   r+   r,   convert_to_fortran)r.   exp_forts     r0   test_convert_fortrI      sK     	 	dC(++- 
 
 	
 
r2   c                  ~    [         S-   n [        R                  U S5        [        R                  5       nU/ SQ:X  d   eg )NrB   r4   )
z	int a = 0z	int b = 0z	int c = 0z	int d = 0zdouble p = 0.0zdouble q = 0.0zdouble r = 0.0zdouble s = 0.0z
a = b + c;z
s = p*q/r;)r>   r+   r,   convert_to_c)r.   exp_cs     r0   test_convert_crM      sK     	 	dC(""$ 
 
 	
 
r2   c                  |   ^  Sm [        [        U 4S j5        [        [        S 5        [        [        U 4S j5        g )Nint a;c                     > [        T 5      $ )Nr   r>   s   r0   <lambda>!test_exceptions.<locals>.<lambda>   s
    ?3#7r2   c                      [        SS9$ )Nr   moder    r2   r0   rR   rS      s	    ?##>r2   c                     > [        T SS9$ )Nr'   rU   r   rQ   s   r0   rR   rS      s    OC,Lr2   )r   
ValueErrorNotImplementedErrorrQ   s   @r0   test_exceptionsr[      s*    z78z>?"$LMr2   c                  H    [        [        S 5        [        [        S 5        g )Nc                      [        SS5      $ )NrO   r   r   rW   r2   r0   rR   test_raise.<locals>.<lambda>   s    OHc$Br2   c                      [        SS5      $ )Nzinteger :: ar4   r   rW   r2   r0   rR   r^      s    ONC$Hr2   )r   ImportErrorrW   r2   r0   
test_raisera      s    {BC{HIr2   N)sympy.parsing.sym_exprr   sympy.testing.pytestr   sympy.externalr   r   cinsympy.codegen.astr   r   r   r   r   r   
sympy.corer   r   sympy.core.symbolr   r+   r>   r1   r@   rE   rI   rM   r[   ra   rW   r2   r0   <module>ri      s    2 ' ($NZ(4LM; ;)(EC
+
\;
|
0
0
0N 
#J r2   