§
    OŠtjë  ã                   ó  — d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
 ddlmZ dg d	¢iZed         d
d
…         g d¢z   ed<   ed         d
d
…         ed<   ed                              d¦  «         dddœddiddddœdœZdD ]Ze                     ¦   «         ed         e<   Œ dD ]Ze                     ¦   «         ed         e<   Œ d„ Zd„ Z G d„ d¦  «        Z G d„ d ee	¦  «        Z G d!„ d"ee
¦  «        Z G d#„ d$ee
¦  «        Zeeed%œZd
S )&z
C++ code printer
é    )Úchain)ÚTypeÚnoneé   )Úrequires)ÚC89CodePrinterÚC99CodePrinter)ÚcxxcodeúC++98)JÚandÚand_eqÚasmÚautoÚbitandÚbitorÚboolÚbreakÚcasezcatch,ÚcharÚclassÚcomplÚconstÚ
const_castÚcontinueÚdefaultÚdeleteÚdoÚdoubleÚdynamic_castÚelseÚenumÚexplicitÚexportÚexternÚfalseÚfloatÚforÚfriendÚgotoÚifÚinlineÚintÚlongÚmutableÚ	namespaceÚnewÚnotÚnot_eqÚoperatorÚorÚor_eqÚprivateÚ	protectedÚpublicÚregisterÚreinterpret_castÚreturnÚshortÚsignedÚsizeofÚstaticÚstatic_castÚstructÚswitchÚtemplateÚthisÚthrowÚtrueÚtryÚtypedefÚtypeidÚtypenameÚunionÚunsignedÚusingÚvirtualÚvoidÚvolatileÚwchar_tÚwhileÚxorÚxor_eqN)
ÚalignasÚalignofÚchar16_tÚchar32_tÚ	constexprÚdecltypeÚnoexceptÚnullptrÚstatic_assertÚthread_localúC++11úC++17r9   ÚfmodÚceil)ÚModÚceilingÚgammaÚtgammaÚbetaÚexpintÚriemann_zeta)rg   ÚEiÚzeta)r   r_   r`   )ÚAbsÚexpÚlogÚlog10ÚsqrtÚsinÚcosÚtanÚasinÚacosÚatanÚatan2ÚsinhÚcoshÚtanhÚfloor)ÚasinhÚacoshÚatanhÚerfÚerfcc                 óš   ‡— d|z  }t          | |¦  «        rt          d¦  «        ‚ˆfd„}dt          z  |_        t	          | ||¦  «         d S )Nz	_print_%sz1Edit method (or subclass) instead of overwriting.c           
      ó’   •— d                      | j        ‰d                     t          | j        |j        ¦  «        ¦  «        ¦  «        S )Nz{}{}({})ú, )ÚformatÚ_nsÚjoinÚmapÚ_printÚargs)ÚselfÚexprÚ	func_names     €úP/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/printing/cxx.pyÚ_print_methodz+_attach_print_method.<locals>._print_methodG   s9   ø€ Ø× Ò  ¤¨9°d·i²iÅÀDÄKÐQUÔQZÑ@[Ô@[Ñ6\Ô6\Ñ]Ô]Ð]ó    zPrints code for %s)ÚhasattrÚ
ValueErrorÚkÚ__doc__Úsetattr)ÚclsÚ
sympy_namerŒ   Ú	meth_namerŽ   s     `  r�   Ú_attach_print_methodr˜   C   sr   ø€ Ø˜jÑ(€IÝˆs�IÑÔð NÝÐLÑMÔMÐMð^ð ^ð ^ð ^ð ^à0µ1Ñ4€MÔÝˆC�˜MÑ*Ô*Ð*Ð*Ð*r�   c                 ór   — || j                                       ¦   «         D ]\  }}t          | ||¦  «         Œd S ©N)ÚstandardÚitemsr˜   )r•   Úcontr–   Úcxx_names       r�   Ú_attach_print_methodsrŸ   M   sH   € Ø $ S¤\Ô 2× 8Ò 8Ñ :Ô :ð 8ð 8Ñˆ
�HÝ˜S *¨hÑ7Ô7Ð7Ð7ð8ð 8r�   c                   ó¼   ‡ — e Zd ZdZdZdZdˆ fd„	Z edh¬¦  «        d„ ¦   «         Z edh¬¦  «        d	„ ¦   «         Z	d
„ Z
d„ Z edh¬¦  «        d„ ¦   «         Zˆ xZS )Ú_CXXCodePrinterBaseÚ_cxxcodezC++zstd::Nc                 óN   •— t          ¦   «                              |pi ¦  «         d S rš   )ÚsuperÚ__init__)rŠ   ÚsettingsÚ	__class__s     €r�   r¥   z_CXXCodePrinterBase.__init__W   s%   ø€ Ý‰Œ×Ò˜˜ RÑ(Ô(Ð(Ð(Ð(r�   Ú	algorithm)Úheadersc                 ó   — ddl m} t          |j        ¦  «        dk    r |                      |j        d         ¦  «        S | j        ›d|                      |j        d         ¦  «        ›d|                       ||j        dd …         Ž ¦  «        ›d�S )Nr   )ÚMaxr   zmax(rƒ   ú))Ú(sympy.functions.elementary.miscellaneousr«   Úlenr‰   rˆ   r…   )rŠ   r‹   r«   s      r�   Ú
_print_Maxz_CXXCodePrinterBase._print_MaxZ   ó”   € à@Ð@Ð@Ð@Ð@Ð@ÝˆtŒy‰>Œ>˜QÒÐØ—;’;˜tœy¨œ|Ñ,Ô,Ð,Ø"&¤( ( (¨D¯KªK¸¼	À!¼Ñ,EÔ,EÐ,EÐ,EØ"&§+¢+¨c¨c°4´9¸Q¸R¸R´=Ð.AÑ"BÔ"BÐ"BÐ"BðDð 	Dr�   c                 ó   — ddl m} t          |j        ¦  «        dk    r |                      |j        d         ¦  «        S | j        ›d|                      |j        d         ¦  «        ›d|                       ||j        dd …         Ž ¦  «        ›d�S )Nr   )ÚMinr   zmin(rƒ   r¬   )r­   r²   r®   r‰   rˆ   r…   )rŠ   r‹   r²   s      r�   Ú
_print_Minz_CXXCodePrinterBase._print_Minb   r°   r�   c                 óT   — |j         t          k    r
d|j        z  S t          d¦  «        ‚)Nzusing %sz#C++98 does not support type aliases)Úaliasr   Útyper‘   ©rŠ   r‹   s     r�   Ú_print_usingz _CXXCodePrinterBase._print_usingj   s+   € ØŒ:�ÒÐØ ¤	Ñ)Ð)åÐBÑCÔCÐCr�   c                 óD   — |j         \  }d|                      |¦  «        z  S )Nzthrow %s)r‰   rˆ   )rŠ   ÚrsÚargs      r�   Ú_print_Raisez _CXXCodePrinterBase._print_Raisep   s"   € ØŒw‰ˆØ˜DŸKšK¨Ñ,Ô,Ñ,Ð,r�   Ú	stdexceptc                 óT   — |j         \  }| j        ›d|                      |¦  «        ›d�S )Nzruntime_error(r¬   )r‰   r…   rˆ   )rŠ   ÚreÚmessages      r�   Ú_print_RuntimeError_z(_CXXCodePrinterBase._print_RuntimeError_t   s.   € à”7‰ˆØ(,¬¨¨°$·+²+¸gÑ2FÔ2FÐ2FÐ2FÐGÐGr�   rš   )Ú__name__Ú
__module__Ú__qualname__ÚprintmethodÚlanguager…   r¥   r   r¯   r³   r¸   r¼   rÁ   Ú__classcell__©r§   s   @r�   r¡   r¡   R   sû   ø€ € € € € Ø€KØ€HØ
€Cð)ð )ð )ð )ð )ð )ð €X�{�mÐ$Ñ$Ô$ðDð Dñ %Ô$ðDð €X�{�mÐ$Ñ$Ô$ðDð Dñ %Ô$ðDðDð Dð Dð-ð -ð -ð €X�{�mÐ$Ñ$Ô$ðHð Hñ %Ô$ðHð Hð Hð Hð Hr�   r¡   c                   ó4   — e Zd ZdZ eed         ¦  «        ZdS )ÚCXX98CodePrinterr   N)rÂ   rÃ   rÄ   r›   ÚsetÚreservedÚreserved_words© r�   r�   rÊ   rÊ   z   s'   € € € € € Ø€HØ�S˜ 'Ô*Ñ+Ô+€N€N€Nr�   rÊ   c                   óî  ‡ — e Zd ZdZ eed         ¦  «        Z e ee	j
                             ¦   «          ed¦  «        ddhf ed¦  «        ddhf ed¦  «        ddhf ed	¦  «        d
dhf ed¦  «        ddhf ed¦  «        ddhf ed¦  «        ddhf ed¦  «        ddhf ed¦  «        ddhf ed¦  «        ddhf ed¦  «        di                     ¦   «         ¦  «        ¦  «        Z
ˆ fd„Zˆ xZS )ÚCXX11CodePrinterr_   Úint8Úint8_tÚcstdintÚint16Úint16_tÚint32Úint32_tÚint64Úint64_tÚuint8Úuint8_tÚuint16Úuint16_tÚuint32Úuint32_tÚuint64Úuint64_tÚ	complex64zstd::complex<float>ÚcomplexÚ
complex128zstd::complex<double>r   )r   Nc                 ó¢   •— |j         t          k    r!t          ¦   «                              |¦  «        S d|                     | j        ¬¦  «        z  S )Nzusing %(alias)s = %(type)s)Úapply)rµ   r   r¤   r¸   Úkwargsrˆ   )rŠ   r‹   r§   s     €r�   r¸   zCXX11CodePrinter._print_using–   sC   ø€ ØŒ:�ÒÐÝ‘7”7×'Ò'¨Ñ-Ô-Ð-à/°$·+²+ÀDÄK°+Ñ2PÔ2PÑPÐPr�   )rÂ   rÃ   rÄ   r›   rË   rÌ   rÍ   Údictr   rÊ   Útype_mappingsrœ   r   r¸   rÇ   rÈ   s   @r�   rÐ   rÐ   ‚   sv  ø€ € € € € Ø€HØ�S˜ 'Ô*Ñ+Ô+€NØ�D˜˜ØÔ&×,Ò,Ñ.Ô.àˆD�‰LŒL˜8 i [Ð1ØˆD�‰MŒM˜I¨	 {Ð3ØˆD�‰MŒM˜I¨	 {Ð3ØˆD�‰MŒM˜I¨	 {Ð3ØˆD�‰MŒM˜I¨	 {Ð3ØˆD�‰NŒN˜Z¨)¨Ð5ØˆD�‰NŒN˜Z¨)¨Ð5ØˆD�‰NŒN˜Z¨)¨Ð5ØˆD�ÑÔÐ 5¸	°{ÐCØˆD�ÑÔÐ!7¸)¸Ð EØˆD�‰LŒL˜.ð	
÷ Š%‰'Œ'ñô ñ ô €Mð"Qð Qð Qð Qð Qð Qð Qð Qð Qr�   rÐ   c                   ón   — e Zd ZdZ eed         ¦  «        Z eej	        fi e
d         ¤ŽZ	d„ Zd„ Zd„ ZdS )ÚCXX17CodePrinterr`   c                 ó,   — |                       |¦  «        S rš   ©Ú_print_math_funcr·   s     r�   Ú_print_betazCXX17CodePrinter._print_beta¥   ó   € Ø×$Ò$ TÑ*Ô*Ð*r�   c                 ó,   — |                       |¦  «        S rš   rí   r·   s     r�   Ú	_print_EizCXX17CodePrinter._print_Ei¨   rð   r�   c                 ó,   — |                       |¦  «        S rš   rí   r·   s     r�   Ú_print_zetazCXX17CodePrinter._print_zeta«   rð   r�   N)rÂ   rÃ   rÄ   r›   rË   rÌ   rÍ   rè   r	   Ú_kfÚ_math_functionsrï   rò   rô   rÎ   r�   r�   rë   rë   Ÿ   sy   € € € € € Ø€HØ�S˜ 'Ô*Ñ+Ô+€Nà
ˆ$ˆ~Ô!Ð
>Ð
> _°WÔ%=Ð
>Ð
>€Cð+ð +ð +ð+ð +ð +ð+ð +ð +ð +ð +r�   rë   )zc++98zc++11zc++17)r“   Ú	itertoolsr   Úsympy.codegen.astr   r   Úcodeprinterr   Úcr   r	   Úsympy.printing.codeprinterr
   rÌ   Úremoverö   r’   Úlowerr˜   rŸ   r¡   rÊ   rÐ   rë   Úcxx_code_printersrÎ   r�   r�   ú<module>rÿ      s‡  ððð ð Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø !Ð !Ð !Ð !Ð !Ð !Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ð /Ð .Ð .Ð .Ð .Ð .ð ð ð ð ð€ð  ˜WÔ% a a aÔ(ð ,ð ,ð ,ñ €ˆÑ ð ˜WÔ% a a aÔ(€ˆÑ Ø ˆÔ × Ò ˜Ñ $Ô $Ð $ð Øðð ð
 	�ðð ØØðð ðð €ð 
Lð ,ð ,€Aà"#§'¢'¡)¤)€O�GÔ˜QÑÐð 
4ð ,ð ,€AØ"#§'¢'¡)¤)€O�GÔ˜QÑÐð+ð +ð +ð8ð 8ð 8ð
%Hð %Hð %Hð %Hð %Hñ %Hô %Hð %HðP,ð ,ð ,ð ,ð ,Ð*¨Nñ ,ô ,ð ,ðQð Qð Qð Qð QÐ*¨Nñ Qô Qð Qð:+ð +ð +ð +ð +Ð*¨Nñ +ô +ð +ð& ØØðð Ð Ð Ð r�   