§
    OŠtjú  ã                   ó  — d dl Z d dlZd dlmZmZ d dlmZmZmZm	Z	m
Z
mZmZmZmZmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$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/m0Z0m1Z1 d d
l2m3Z3 d dl4m5Z5m6Z6  e+d¦  «        Z7 e+d¦  «        Z8d„ Z9e3d„ ¦   «         Z:e6e3d„ ¦   «         ¦   «         Z;e3d„ ¦   «         Z<e3d„ ¦   «         Z=e6e3d„ ¦   «         ¦   «         Z>d„ Z?d„ Z@d„ ZAd„ ZBd„ ZCe3d„ ¦   «         ZDdS )é    N)ÚSymbolÚsymbols)
Ú
AssignmentÚPrintÚDeclarationÚFunctionDefinitionÚReturnÚrealÚFunctionCallÚVariableÚElementÚinteger)ÚallocatableÚArrayConstructorÚisignÚdsignÚcmplxÚkindÚ
literal_dpÚProgramÚModuleÚuseÚ
SubroutineÚ	dimensionÚassumed_extentÚImpliedDoLoopÚ
intent_outÚsizeÚDoÚSubroutineCallÚsum_ÚarrayÚbind_C)Úrender_as_module)Ú	unchanged)Úimport_module)Úfcode)Úhas_fortranÚcompile_run_stringsÚcompile_link_import_strings)Ú	may_xfail)ÚskipÚXFAILÚcythonÚnumpyc                  ót   — t          dd¬¦  «        } t          | ¦  «        }t          |d¬¦  «        dk    sJ ‚d S )NÚxT©r
   Úfree©Úsource_formatzsize(x))r   r   r'   )r1   Úsxs     ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/codegen/tests/test_fnodes.pyÚ	test_sizer8      sC   € Ýˆs˜ÐÑÔ€AÝ	ˆa‰Œ€BÝ� 6Ð*Ñ*Ô*¨iÒ7Ð7Ð7Ð7Ð7Ð7ó    c                  óà  — t          ¦   «         st          d¦  «         t          dd¬¦  «        } t          t	          | dz  ¦  «        t          | ¦  «        z  dz  ¦  «        g}t          | dgd¬	¦  «        }t          t          d
|g|¦  «        }t          |gd¦  «         t          dt          |gd¦  «        fdgd¬¦  «        \  \  }}}d|v sJ ‚|dk    sJ ‚|d         t          j        k    sJ ‚d S )NúNo fortran compiler found.ÚaTr2   é   ç      à?ú:Úin©ÚdimÚintentÚrmsÚmod_rmsúrms.f90)úmain.f90zŠprogram myprog
use mod_rms, only: rms
real*8, dimension(4), parameter :: x = [4, 2, 2, 2]
print "(f7.5)", dsqrt(7d0) - rms(x)
end program
©Úcleanz0.00000Ú Úexit_status)r(   r,   r   r	   r!   r   r"   r   r
   r$   r)   ÚosÚEX_OK)r<   ÚbodyÚarrÚfdÚstdoutÚstderrÚinfos          r7   Útest_size_assumed_shaperT      s  € å‰=Œ=ð +ÝÐ)Ñ*Ô*Ð*Ýˆs˜ÐÑÔ€AÝ•D˜˜A™‘J”J�t A™wœwÑ&¨Ñ+Ñ,Ô,Ð-€DÝ
�˜�u TÐ
*Ñ
*Ô
*€CÝ	�D %¨#¨°Ñ	5Ô	5€BÝ�b�T˜9Ñ%Ô%Ð%å0Ø	Õ$ b T¨9Ñ5Ô5Ð6ð	ð	2ð ð	ñ 	ô 	ÑÑ€VˆV�dð ˜ÐÐÐÐØ�RŠ<ˆ<ˆ<ˆ<Ø�Ô¥"¤(Ò*Ð*Ð*Ð*Ð*Ð*r9   c                  ó>  — t          ¦   «         st          d¦  «         t          dd¬¦  «        \  } }t          |dz  |ddd¦  «        }t	          d|d	g¦  «        }t          | d
gt          g¬¦  «        } t          d|                      ¦   «         t          | |¦  «        t          | g¦  «        g¦  «        }t          |dd¬¦  «        }t          d|fgd¬¦  «        \  \  }}}d                     ¦   «         D ]}	|	|v sJ ‚Œ	|dk    sJ ‚|d         t          j        k    sJ ‚d S )Nr;   za iT©r   é   éýÿÿÿr=   iäÿÿÿé   r?   )rB   ÚattrsÚidlprogiÓ  r3   ©Ústandardr5   rG   rH   z-28 -27 -1 1 27 28rJ   rK   )r(   r,   r   r   r   r"   r   r   Úas_Declarationr   r   r'   r)   ÚsplitrL   rM   )
r<   ÚiÚidlÚacÚprogÚfsrcrQ   rR   rS   Únumstrs
             r7   Útest_ImpliedDoLooprf   8   sJ  € õ ‰=Œ=ð +ÝÐ)Ñ*Ô*Ð*å�5 $Ð'Ñ'Ô'�D€A€qÝ
˜˜1™˜a  Q¨Ñ
*Ô
*€CÝ	˜3  R˜.Ñ	)Ô	)€BÝˆa�c�U¥; -Ð0Ñ0Ô0€AÝ�9Ø	×ÒÑÔÝ�1�bÑÔÝˆqˆc‰
Œ
ðñ ô €Dõ
 � °FÐ;Ñ;Ô;€DÝ0°:¸tÐ2DÐ1EÈTÐRÑRÔRÑÑ€VˆV�dØ&×,Ò,Ñ.Ô.ð  ð  ˆØ˜ÐÐÐÐÐØ�RŠ<ˆ<ˆ<ˆ<Ø�Ô¥"¤(Ò*Ð*Ð*Ð*Ð*Ð*r9   c                  ó   — t          dd¬¦  «        } t          j        | d¦  «        }t          |¦  «        }t	          | | dz   g¦  «        }t          d||g¦  «        }t          ¦   «         st          d¦  «         t          dt          |d	¬
¦  «        fgd¬¦  «        \  \  }}}d|v sJ ‚d|v sJ ‚|dk    sJ ‚|d         t          j        k    sJ ‚d S )Nr1   Tr2   é*   é   Úfoor;   rG   éZ   ©r]   rH   Ú42Ú43rJ   rK   )r   r   Údeducedr   r   r   r(   r,   r)   r'   rL   rM   )r1   ÚvxÚdeclÚprntrc   rQ   rR   rS   s           r7   Útest_Programrs   O   sê   € åˆs˜ÐÑÔ€AÝ	Ô	˜!˜RÑ	 Ô	 €BÝ�r‰?Œ?€DÝ�!�Q�q‘S�‰?Œ?€DÝ�5˜4 ˜,Ñ'Ô'€DÝ‰=Œ=ð +ÝÐ)Ñ*Ô*Ð*å0°:½uÀTÐTVÐ?WÑ?WÔ?WÐ2XÐ1YÐaeÐfÑfÔfÑÑ€VˆV�dØ�6ˆ>ˆ>ˆ>ˆ>Ø�6ˆ>ˆ>ˆ>ˆ>Ø�RŠ<ˆ<ˆ<ˆ<Ø�Ô¥"¤(Ò*Ð*Ð*Ð*Ð*Ð*r9   c            	      ó<  — t          dd¬¦  «        } t          j        | ¦  «        }t          t          d|gt          | dz  ¦  «        g¦  «        }t          dg |g¦  «        }t          ddg¦  «        }t          dt          ddg¬	¦  «        t          d
|g¦  «        g¦  «        }t          ¦   «         st          d¦  «         t          dt          |d¬¦  «        fdt          |d¬¦  «        fgd¬¦  «        \  \  }}}d|v sJ ‚t          d¦  «        |v sJ ‚|dk    sJ ‚d S )Nr1   Tr2   Úsqrr=   Úmod_sqg      E@Úfoobar©Úonlyz"Square of 42 = "r;   z
mod_sq.f90rk   rl   rG   rH   rm   iä  rJ   )r   r   ro   r   r
   r	   r   r   r   r   r   r(   r,   r)   r'   Ústr)	r1   Úv_xÚsqrv   Úsq_callÚprg_sqrQ   rR   rS   s	            r7   Útest_Moduler   `   sH  € åˆs˜ÐÑÔ€AÝ
Ô
˜1Ñ
Ô
€CÝ	�D %¨#¨µ¸¸1¹±´°Ñ	?Ô	?€BÝ�H˜b 2 $Ñ'Ô'€FÝ˜5 3 %Ñ(Ô(€GÝ�XÝˆH˜E˜7Ð#Ñ#Ô#ÝÐ" GÐ,Ñ-Ô-ð ñ ô €Fõ ‰=Œ=ð +ÝÐ)Ñ*Ô*Ð*Ý0Ø	•u˜V¨bÐ1Ñ1Ô1Ð2Ø	•U˜6¨BÐ/Ñ/Ô/Ð0ð2ð ðñ ô ÑÑ€VˆV�dð �6ˆ>ˆ>ˆ>ˆ>Ýˆu‰:Œ:˜ÐÐÐÐØ�RŠ<ˆ<ˆ<ˆ<ˆ<ˆ<r9   c                  óà  — t          dd¬¦  «        } t          dd¬¦  «        }t          j        | t          t          ¦  «        t
          f¬¦  «        }t          j        |¦  «        }t          dt          ¦  «        }t          t          t          | |g¦  «        t          d¦  «        |d	z  z  ¦  «        g|d|¦  «        }t          d
|gt          |¦  «        t          |¦  «        t          |t          | ¦  «        ¦  «        |g¦  «        }t          dd¬¦  «        }t          j        |t          d¦  «        g¬¦  «        }t          d|g¬¦  «        }	t          dt!          |	|g¬¦  «        t          |¦  «        t#          ||g¦  «        t%          t'          |¦  «        |g¦  «        g¦  «        }
t)          ¦   «         st+          d¦  «         t-          dt/          |	d¬¦  «        fdt/          |
d¬¦  «        fgd¬¦  «        \  \  }}}d„ t1          dd¦  «        D ¦   «         }t3          t5          |¦  «        ¦  «        d d…         |v sJ ‚|D ]}t3          |¦  «        d d…         |v sJ ‚Œ|dk    sJ ‚d S )NÚrTr2   r`   rV   ©rZ   Únri   r=   Úfr1   rW   Úmymod)Údefinitionsrj   rx   r;   za.f90rk   rl   zb.f90rH   c                 ó   — g | ]
}d |dz  z  ‘ŒS )g      ð?r=   © )Ú.0r`   s     r7   ú
<listcomp>z#test_Subroutine.<locals>.<listcomp>š   s    € Ð
)Ð
)Ð
)˜ˆ3ˆq�!‰t‰8Ð
)Ð
)Ð
)r9   é   rX   rJ   )r   r   ro   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r!   r(   r,   r)   r'   Úrangerz   Úsum)r�   r`   Úv_rÚv_iÚv_nÚdo_loopÚsubr1   Úv_x3Úmodrc   rQ   rR   rS   ÚrefÚ_s                   r7   Útest_Subroutiner—   v   sƒ  € õ
 	ˆs˜ÐÑÔ€AÝˆs˜DÐ!Ñ!Ô!€AÝ
Ô
˜1¥Y­~Ñ%>Ô%>Å
Ð$KÐ
LÑ
LÔ
L€CÝ
Ô
˜1Ñ
Ô
€CÝ
�3�Ñ
 Ô
 €CÝÝ•7˜1˜q˜c‘?”?¥J¨q¡M¤M°!°Q±$Ñ$6Ñ7Ô7ðàˆ!ˆSñô €Gõ �S˜3˜%Ý�CÑÔÝ�CÑÔÝ�3�˜Q™œÑ Ô Øð	"ñ ô €Cõ 	ˆs˜ÐÑÔ€AÝÔ˜A¥i°¡l¤l ^Ð4Ñ4Ô4€DÝ
� s eÐ
,Ñ
,Ô
,€CÝ�5ÝˆC�s�eÐÑÔÝ�DÑÔÝ�s˜T˜FÑ#Ô#Ý�t�D‰zŒz˜4Ð Ñ!Ô!ð	ñ ô €Dõ ‰=Œ=ð +ÝÐ)Ñ*Ô*Ð*å0Ø	•%˜ bÐ)Ñ)Ô)Ð*Ø	•%˜ rÐ*Ñ*Ô*Ð+ð2ð ðñ ô ÑÑ€VˆV�dð *Ð
)�U 1 a™[œ[Ð
)Ñ
)Ô
)€CÝ�s�3‰xŒx‰=Œ=˜˜"˜Ô Ð'Ð'Ð'Ð'Øð %ð %ˆÝ�1‰vŒv�c�r�cŒ{˜fÐ$Ð$Ð$Ð$Ð$Ø�RŠ<ˆ<ˆ<ˆ<ˆ<ˆ<r9   c                  ó¤   — t          dd¬¦  «        } t          t          d| ¦  «        sJ ‚t          t          d| ¦  «        dd¬¦  «        dk    sJ ‚d S )	Nr1   TrV   ri   é_   r3   r\   zisign(1, x))r   r%   r   r'   ©r1   s    r7   Ú
test_isignr›   ¡   sZ   € Ýˆs˜DÐ!Ñ!Ô!€AÝ•U˜A˜qÑ!Ô!Ð!Ð!Ð!Ý•�q˜!‘” r¸Ð@Ñ@Ô@ÀMÒQÐQÐQÐQÐQÐQr9   c                  óº   — t          d¦  «        } t          t          d| ¦  «        sJ ‚t          t          t	          d¦  «        | ¦  «        dd¬¦  «        dk    sJ ‚d S )Nr1   ri   r™   r3   r\   zdsign(1d0, x))r   r%   r   r'   r   rš   s    r7   Ú
test_dsignr�   §   s\   € Ýˆs‰Œ€AÝ•U˜A˜qÑ!Ô!Ð!Ð!Ð!Ý••z !‘}”} aÑ(Ô(°2ÀVÐLÑLÔLÐP_Ò_Ð_Ð_Ð_Ð_Ð_r9   c                  óT   — t          d¦  «        } t          t          d| ¦  «        sJ ‚d S )Nr1   ri   )r   r%   r   rš   s    r7   Ú
test_cmplxrŸ   ­   s+   € Ýˆs‰Œ€AÝ•U˜A˜qÑ!Ô!Ð!Ð!Ð!Ð!Ð!r9   c                  óR   — t          d¦  «        } t          t          | ¦  «        sJ ‚d S )Nr1   )r   r%   r   rš   s    r7   Ú	test_kindr¡   ²   s)   € Ýˆs‰Œ€AÝ•T˜1ÑÔÐÐÐÐÐr9   c                  óN   — t          t          d¦  «        d¬¦  «        dk    sJ ‚d S )Nr   r3   r4   Ú0d0)r'   r   rˆ   r9   r7   Útest_literal_dpr¤   ·   s,   € Ý•˜A‘”¨fÐ5Ñ5Ô5¸Ò>Ð>Ð>Ð>Ð>Ð>r9   c            	      ó  — t          ¦   «         st          d¦  «         t          st          d¦  «         t          st          d¦  «         t	          dd¬¦  «        } t	          dd¬¦  «        }t          t          | d	z  ¦  «        |z  d
z  ¦  «        g}t          | |gd¬¦  «        }t          t          d||g|t          d¦  «        g¬¦  «        }t          |gd¦  «        }t          j        ¦   «         5 }t          d|fdd                     d¦  «        dz   fg|¬¦  «        \  }}t!          |                     t                               g d¢¦  «        ¦  «        dz
  ¦  «        dk     sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr;   zCython not found.zNumPy not found.r<   Tr2   ÚsrV   r=   r>   r@   rA   rD   r‚   rE   rF   z_rms.pyxz#cython: language_level={}
Ú3zscdef extern double rms(double*, int*)
def py_rms(double[::1] x):
    cdef int s = x.size
    return rms(&x[0], &s)
)Ú	build_dir)ç       @g      @r©   r©   gêøÒ©*@g›+¡†›„=)r(   r,   r.   Únpr   r	   r!   r"   r   r
   r#   r$   ÚtempfileÚTemporaryDirectoryr*   ÚformatÚabsÚpy_rms)	r<   r¦   rN   rO   rP   Úf_modÚfolderr”   rS   s	            r7   Útest_bind_Cr²   »   sï  € å‰=Œ=ð +ÝÐ)Ñ*Ô*Ð*Ýð "ÝÐ Ñ!Ô!Ð!Ýð !ÝÐÑ Ô Ð åˆs˜ÐÑÔ€AÝˆs˜DÐ!Ñ!Ô!€AÝ•D˜˜A™‘J”J˜q‘L 2Ñ%Ñ&Ô&Ð'€DÝ
�˜�s 4Ð
(Ñ
(Ô
(€CÝ	�D %¨#¨q¨°4ÅÀuÁÄ¸Ð	OÑ	OÔ	O€BÝ˜b˜T 9Ñ-Ô-€Eå	Ô	$Ñ	&Ô	&ð 
L¨&Ý/Ø˜ÐØØ.×5Ò5°cÑ:Ô:ð.ñ.ð0ð1
ð ðñ ô ‰	ˆˆTõ �3—:’:�bŸhšhÐ'7Ð'7Ð'7Ñ8Ô8Ñ9Ô9¸FÑBÑCÔCÀeÒKÐKÐKÐKÐKð
Lð 
Lð 
Lñ 
Lô 
Lð 
Lð 
Lð 
Lð 
Lð 
Lð 
Lð 
Løøøð 
Lð 
Lð 
Lð 
Lð 
Lð 
Ls   Ã2A6E6Å6E:Å=E:)ErL   r«   Úsympy.core.symbolr   r   Úsympy.codegen.astr   r   r   r   r	   r
   r   r   r   r   Úsympy.codegen.fnodesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   Úsympy.codegen.futilsr$   Úsympy.core.exprr%   Úsympy.externalr&   Úsympy.printing.codeprinterr'   Úsympy.utilities._compilationr(   r)   r*   Ú!sympy.utilities._compilation.utilr+   Úsympy.testing.pytestr,   r-   r.   rª   r8   rT   rf   rs   r   r—   r›   r�   rŸ   r¡   r¤   r²   rˆ   r9   r7   ú<module>r½      sc  ðØ 	€	€	€	Ø €€€Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð
 2Ð 1Ð 1Ð 1Ð 1Ð 1Ø %Ð %Ð %Ð %Ð %Ð %Ø (Ð (Ð (Ð (Ð (Ð (Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fØ 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à	ˆ�xÑ	 Ô	 €Ø€]�7ÑÔ€ð8ð 8ð 8ð ð+ð +ñ „ð+ð0 Ø
ð+ð +ñ „ñ „ð+ð* ð+ð +ñ „ð+ð  ðð ñ „ðð* Ø
ð&ð &ñ „ñ „ð&ðRRð Rð Rð`ð `ð `ð"ð "ð "ð
ð ð ð
?ð ?ð ?ð ðLð Lñ „ðLð Lð Lr9   