
    go                         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mZmZ d dlmZmZmZmZ d dlmZ  ed          \  ZZZZd Zd Zd	 Zd
 Zd Zd Zd Z d Z!dS )    )FloatIntegerRational)symbols)betaEizetaMaxMinsqrt
riemann_xifrac)CXX98CodePrinterCXX11CodePrinterCXX17CodePrintercxxcode)log1pzx y u vc            	         t                                          t          t          d                    dv sJ t                                          t	          t          dt          t                                        dk    sJ t                      } | j        dk    sJ | j        dk    sJ d| j        v sJ d| j        vsJ d S )N   )zstd::max(x, 3)zstd::max(3, x)z&std::min(3, std::min(x, std::sqrt(x)))C++zC++98templatealignas)	r   doprintr
   xr   r   languagestandardreserved_words)cxx98printers    Y/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/printing/tests/test_cxx.pytest_CXX98CodePrinterr       s    %%c!Qii004XXXXX%%c!QQ&8&899=eeeee#%%L E)))) G++++44444L7777777    c                  
   t                                          t          t                              dk    sJ t                      } | j        dk    sJ | j        dk    sJ d| j        v sJ d| j        v sJ d| j        vsJ d S )Nstd::log1p(x)r   zC++11operatornoexceptconcept)r   r   r   r   r   r   r   )cxx11printers    r   test_CXX11CodePrinterr(      s    %%eAhh//?BBBB#%%L E)))) G++++4444444444L7777777r!   c                       G d dt                     }  |                                 t          t                              dk    sJ d S )Nc                       e Zd Zd ZdS )-test_subclass_print_method.<locals>.MyPrinterc                 b    dd                     t          | j        |j                            z  S )Nzmy_library::log1p(%s), )joinmap_printargs)selfexprs     r   _print_log1pz:test_subclass_print_method.<locals>.MyPrinter._print_log1p"   s'    *TYYs4;	7R7R-S-SSSr!   N)__name__
__module____qualname__r4    r!   r   	MyPrinterr+   !   s(        	T 	T 	T 	T 	Tr!   r9   my_library::log1p(x)r   r   r   r   )r9   s    r   test_subclass_print_methodr<       si    T T T T T$ T T T 9;;uQxx((,BBBBBBBr!   c                      G d dt                     } t                      } |             }|                    t          t                              dk    sJ |                    t          t                              dk    sJ d S )Nc                       e Zd ZdZdS )1test_subclass_print_method__ns.<locals>.MyPrinterzmy_library::N)r5   r6   r7   _nsr8   r!   r   r9   r?   )   s        r!   r9   r#   r:   r;   )r9   pmyps      r   test_subclass_print_method__nsrC   (   s        $    	A
)++C99U1XX/1111;;uQxx  $:::::::r!   c                  L   t                                          t          t          t                              dk    sJ t                                          t          t                              dk    sJ t                                          t          t                              dk    sJ t                                          t          t                              dk    sJ t                                          t          t                              dk    sJ d S )Nzstd::beta(x, y)zstd::expint(x)zstd::riemann_zeta(x)z(x - std::floor(x))z^((1.0/2.0)*std::pow(M_PI, -1.0/2.0*x)*x*(x - 1)*std::tgamma((1.0/2.0)*x)*std::riemann_zeta(x)))	r   r   r   r   yr   r	   r   r   r8   r!   r   test_CXX17CodePrinterrF   3   s    %%d1ajj115FFFFF%%bee,,0@@@@@%%d1gg..2HHHHH %%d1gg..2GGGGG%%jmm44  9Y  Y  Y  Y  Y  Y  Yr!   c                      t          t          t          t                    dz                                d                    t          ddg          k    sJ d S )N      ?*z0.5zstd::sqrt(x))sortedr   r   r   splitr8   r!   r   test_cxxcoderL   =   sN    '$q''"*%%++C0011VUN<S5T5TTTTTTTr!   c            	      R   t          t          t          t          t                    t          t
          t                                        dk    sJ t          t          t          t          t                    t          t
          t                                        dk    sJ d S )Nz(std::max(std::min(u, v), std::min(x, y))z(std::min(std::max(u, v), std::max(x, y)))r   r
   r   r   rE   uvr8   r!   r   test_cxxcode_nested_minmaxrP   @   s    3s1ayy#a)),,--56 6 6 63s1ayy#a)),,--56 6 6 6 6 6r!   c                  6    G d dt                     }  |             }t          d          D ] }|                    |          d|z  k    sJ !|                    t          d                    dk    sJ |                    t          dz            dk    sJ d S )	Nc                   $     e Zd Z fdZd Z xZS ).test_subclass_Integer_Float.<locals>.MyPrinterc                 L    dt                                          |          z  S )NzbigInt("%s"))super_print_Integer)r2   arg	__class__s     r   rV   z=test_subclass_Integer_Float.<locals>.MyPrinter._print_IntegerH   s     !EGG$:$:3$?$???r!   c                     t          |          }d|                     t          |j                            d|                     t          |j                            dS )Nz	bigFloat(r-   ))r   r0   r   rA   q)r2   rW   rats      r   _print_Floatz;test_subclass_Integer_Float.<locals>.MyPrinter._print_FloatK   sS    3--CCGCENN++++GCENN++++ r!   )r5   r6   r7   rV   r]   __classcell__)rX   s   @r   r9   rS   G   sL        	@ 	@ 	@ 	@ 	@	 	 	 	 	 	 	r!   r9      zbigInt("%d")rH   z"bigFloat(bigInt("1"), bigInt("2"))g      z$bigFloat(bigInt("1"), bigInt("1"))/x)r   ranger   r   r   )r9   rA   is      r   test_subclass_Integer_Floatrb   F   s    	 	 	 	 	$ 	 	 	 		A2YY 2 2yy||~11111199U3ZZ  $HHHHH99QW!GGGGGGGr!   N)"sympy.core.numbersr   r   r   sympy.core.symbolr   sympy.functionsr   r   r	   r
   r   r   r   r   sympy.printing.cxxr   r   r   r   sympy.codegen.cfunctionsr   r   rE   rN   rO   r    r(   r<   rC   rF   rL   rP   rb   r8   r!   r   <module>rh      sP   7 7 7 7 7 7 7 7 7 7 % % % % % % L L L L L L L L L L L L L L L L L L L L \ \ \ \ \ \ \ \ \ \ \ \ * * * * * * WY
1a8 8 88 8 8C C C; ; ;Y Y YU U U6 6 6H H H H Hr!   