
    g$                         d dl mZ d dlmZ d dlmZ  ed          Z edddgi          Zer@er>d d	lm	Z	m
Z
mZmZmZmZ d d
lmZmZ d dlmZ  e            ZdZd Zd Zd Zd Zd Zd ZdS esesd ZdS dS dS )    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                     d} t                               | d           t                                           }|d         t          t	          t          d          t          t          d                                        k    sJ |d         t          t	          t          d          t          t          d                    t          d	          
                    k    sJ |d         t          t	          t          d          t          t          d          t          d          t          d          t          d                                        k    sJ |d         t          t	          t          d          t          t          d          t          d          t          d          t          d                    t          dd          
                    k    sJ d S )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     ]/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/parsing/tests/test_sym_expr.pytest_c_parser1      s    	dC(((  !us 00  
 
 
 
 
 
 !us 00ajj  
 
 
 
 
 
 !us9%%!"++!"++ 	    

 

 

 

 

 

 !us9%%!"++!"++ 	   0B???	 	 	
 
 
 
 
 
 
 
    c                  X   t          t          d          } |                                 }|d         t          t	          t          d          t          t          d                    t          d                              k    sJ |d         t          t	          t          d          t          t          d                    t          d                              k    sJ |d         t          t	          t          d	          t          t          d                    t          d                              k    sJ |d
         t          t	          t          d          t          t          d                    t          d                              k    sJ |d         t          t	          t          d          t          t          d                    t          dd                              k    sJ |d         t          t	          t          d          t          t          d                    t          dd                              k    sJ |d         t          t	          t          d          t          t          d                    t          dd                              k    sJ |d         t          t	          t          d          t          t          d                    t          dd                              k    sJ d S )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   s>   sC((!us 	!2!233ajj  
 
 
 
 
 
 !us 	!2!233ajj  
 
 
 
 
 
 !us 	!2!233ajj  
 
 
 
 
 
 !us 	!2!233ajj  
 
 
 
 
 
 !us"6&>>22ER000  
 
 
 
 
 
 !us"6&>>22ER000  
 
 
 
 
 
 !us"6&>>22ER000  
 
 
 
 
 
 !us"6&>>22ER000  
 
 
 
 
 
 
 
r2   c                      t           dz   } t                              | d           t                                          }|g dk    sJ d S )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      sm     	 	dC(((((** 
 
 
 
 
 
 
 
 
r2   c                      t           dz   } t                              | d           t                                          }|g dk    sJ d S )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      sm     	 	dC(((++-- 
 
 
 
 
 
 
 
 
r2   c                      t           dz   } t                              | d           t                                          }|g dk    sJ d S )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      sm     	 	dC(((""$$ 
 
 
 
 
 
 
 
 
r2   c                       d t          t           fd           t          t          d            t          t           fd           d S )Nint a;c                  "    t                     S )Nr   r>   s   r0   <lambda>z!test_exceptions.<locals>.<lambda>   s    ?3#7#7 r2   c                  "    t          d          S )Nr   moder    r2   r0   rR   z!test_exceptions.<locals>.<lambda>   s    ?##>#>#> r2   c                  &    t           d          S )Nr'   rT   r   rQ   s   r0   rR   z!test_exceptions.<locals>.<lambda>   s    OC,L,L,L r2   )r   
ValueErrorNotImplementedErrorrQ   s   @r0   test_exceptionsrZ      sW    z7777888z>>???"$L$L$L$LMMMMMr2   c                  ^    t          t          d            t          t          d            d S )Nc                  "    t          dd          S )NrO   r   r   rV   r2   r0   rR   ztest_raise.<locals>.<lambda>   s    OHc$B$B r2   c                  "    t          dd          S )Nzinteger :: ar4   r   rV   r2   r0   rR   ztest_raise.<locals>.<lambda>   s    ONC$H$H r2   )r   ImportErrorrV   r2   r0   
test_raiser_      s0    {BBCCC{HHIIII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   rZ   r_   rV   r2   r0   <module>rg      s   2 2 2 2 2 2 ' ' ' ' ' ' ( ( ( ( ( (=$$mNZ(4LMMM IJ IJ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;))))))))((((((OEC
+
 +
 +
\;
 ;
 ;
|
 
 
0
 
 
0
 
 
0N N N N N 
 J# JJ J J J JJ J J Jr2   