
    g                         d dl mZmZ d dlmZ d dlmZm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 d dlmZ d Zd Zd	 Zd
 Zd Zd Zd Zd Zd ZdS )    )Rationalpi)S)Symbolsymbols)explog)	expm1log1pexp2log2fmalog10SqrtCbrthypot)
expand_logc                     t          d          dk    sJ t          dd          } t          |                               d          t          |           z
  dk    sJ t          |                               d          t          |           z
  dk    sJ t          |                               d          t          |           z
  dk    sJ t          d	                                          d
z
  d	z
  dz
  dk     rJ t          t          d	                                          d	z
  dz
            dk     sJ t          |           j        sJ t          |           j        sJ t          d| z            	                    |           dt          d| z            z  z
  dk    sJ t          d| z            	                    |           t          d| z                                d          	                    |           z
  dk    sJ d S )Nr   xTrealfunc	tractabler   g|=   g#B;g^ 9^;*   )
r
   r   expandr   rewriteevalfabsis_real	is_finitediffr   s    _/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/codegen/tests/test_cfunctions.py
test_expm1r'      s   88q====sA 88???%%A."444488K((3q661R777788E""SVV+r1111 U!!##a'5058EAAAAuU||!!##e+e344u<<<< 8888 A;;AC1II-2222A;;Ar!t!3!3!3!>!>!C!CA!F!FF!KKKKKK    c                     t          d          dk    sJ t          d          } t          t          | dz            t          | dz  dz             z
  t          | dz            z             dk    sJ t	          dd          }t          |                              d	          t          |dz             z
  dk    sJ t          |                              d
          t          |dz             z
  dk    sJ t          |                              d          t          |dz             z
  dk    sJ t          t          d                                          dz
            dk     rJ t          t          t          d                                                    dz
            dk     sJ t          dt          dd          z             j
        sJ t          d          j        rJ t          t                    j        sJ t          |          j        rJ t          t	          dd                    j        sJ t          |          j        rJ t          t	          dd                    j        sJ t          |          j        rJ t          t	          dd                    j        sJ t          d|z                                |          dd|z  dz   z  z
  dk    sJ t          d|z                                |          t          d|z                                d	                              |          z
  dk    sJ d S )Nr   
   ii  r   r   Tr   r   r   r	   g      ?g>N}a+g0.++   r   y)positivez)zeroo)nonnegativer   )r   r   r   r	   r   r   r   r!   r    r   r"   r#   r   is_positiveis_zerois_nonnegativer$   )dr   s     r&   
test_log1pr6   #   s   88q====	"AeAuHooAtGaK(8(883q$w<<GHHAMMMMsA 88???%%AE

2a777788K((3q1u::5::::88E""SQZZ/14444 3y>>''))E122V;;;;z%,,''--//%7886AAAA !Xb!__$$%%----Ryy""""99Qxx####d+++,,8888Qxx$'''((0000Qxx&&&&...//>>>> A;;ARTAX.!3333A;;Ar!t!3!3!3!>!>!C!CA!F!FF!KKKKKKr(   c                     t          d          dk    sJ t          dd          } t          |                               d          d| z  z
  dk    sJ t          d| z                                |           dt          d| z            z  t	          d          z  z
  dk    sJ t          d| z                                |           t          d| z                                |           z
  dk    sJ d S )	Nr+      r   Tr   r   r   r   )r   r   r   r$   r	   r%   s    r&   	test_exp2r9   H   s    77a<<<<sA 77>>t>$$q!t+q0000 1::??141::c!ff 4499991::??1RT

 2 22a777777r(   c                  8   t          d          dk    sJ t          t                    t          t                    t          d          z  k    sJ t          dd          } t          |           t          |           t          d          z  k    sJ t          d| z            | k    sJ t          |                               d          t          |           t          d          z  z
  dk    sJ t          d	| z                                            d
t          d          | z  z  z
  dk    sJ t          d	| z                                            t          d	| z                                d                              |           z
  dk    sJ d S )N      r+   r   Tr   r   r   r   r   )r   r   r	   r   r   r$   r%   s    r&   	test_log2r=   V   s[   77a<<<<88s2wws1vv~%%%%sA77c!ffSVVm####1::???? 77>>t>$$s1vvc!ff}49999 1::??q#a&&(|+q00001::??tBqDzz00d0;;@@CCCqHHHHHHr(   c                  &   t          d          \  } }}t          | ||                              d          | |z  z
  |z
  dk    sJ t          d| z  d|z  d|z            }|                    |           |                    d                              |           z
  dk    sJ |                    |          |                    d                              |          z
  dk    sJ |                    |          |                    d                              |          z
  dk    sJ |                    |           d|z  z
  dk    sJ |                    |          d| z  z
  dk    sJ |                    |          dz
  dk    sJ d S )	Nzx y zTr   r      r   e   i  )r   r   r   r$   )r   r,   r.   exprs       r&   test_fmarB   g   s   gGAq! q!Q<<D))AaC/!3q8888r!tRT3q5!!D 99Q<<$++4+0055a888A====99Q<<$++4+0055a888A====99Q<<$++4+0055a888A====99Q<<%'!Q&&&&99Q<<%'!Q&&&&99Q<<#""""""r(   c                     t          d          } t          |                               d          t          |           t          d          z  z
  dk    sJ t          d| z                                |           dt          d          | z  z  z
  dk    sJ t          d| z                                |           t          d| z                                d                              |           z
  dk    sJ d S )Nr   Tr   r*   r   r   r   )r   r   r   r	   r$   r%   s    r&   
test_log10rD   y   s    sA 88???%%As2ww6!;;;; A;;ACGGAI.!3333A;;Ar!t!3!3!3!>!>!C!CA!F!FF!KKKKKKr(   c                     t          d          } t          |                               d          | t          dd          z  z
  dk    sJ t          d| z                                |           dd| z  t          dd          dz
  z  z  dz  z
  dk    sJ t          d| z                                |           t          d| z                                d                              |           z
  dk    sJ d S )Nr   Tr   r   r<   r   r   )r   r   r   r   r$   r%   s    r&   	test_CbrtrF      s    sA 77>>t>$$q(1a..'88A==== 1::??1BqDHQNNQ,>#? ? AAQFFFF1::??1RT

 1 1t 1 < < A A! D DDIIIIIIr(   c                     t          d          } t          |                               d          | t          j        z  z
  dk    sJ t          d| z                                |           dd| z  t          j        dz
  z  z  dz  z
  dk    sJ t          d| z                                |           t          d| z                                d                              |           z
  dk    sJ d S )Nr   Tr   r   r   r   r+   )r   r   r   r   Halfr$   r%   s    r&   	test_SqrtrI      s    sA 77>>t>$$q!&y0A5555 1::??1BqDAFQJ#7 7 99Q>>>>1::??1RT

 1 1t 1 < < A A! D DDIIIIIIr(   c                  p   t          d          \  } }t          | |                              d          | dz  |dz  z   t          j        z  z
  dk    sJ t          d| z  d|z                                |                               d          t          d| z  d|z                                d                              |           z
  dk    sJ t          d| z  d|z                                |                              d          t          d| z  d|z                                d                              |          z
  dk    sJ t          d| z  d|z                                |                               d          d| z  d| z  dz  d|z  dz  z   t          d	d          z  z  dz  z
  dk    sJ t          d| z  d|z                                |                              d          d
|z  d| z  dz  d|z  dz  z   t          d	d          z  z  dz  z
  dk    sJ d S )Nzx yTr   r+   r   r?   r   iB  r   i  )r   r   r   r   rH   r$   r   )r   r,   s     r&   
test_hypotrK      sY   5>>DAq A;;4((AqD1a4K!&+@@AEEEE Ar!t!!!$$+++66r!tRT9J9J9Q9QW[9Q9\9\9a9abc9d9ddhiiiiiAr!t!!!$$+++66r!tRT9J9J9Q9QW[9Q9\9\9a9abc9d9ddhiiiiiAr!t!!!$$+++66RTAIQSTUQUXYPYDY\degij\k\kCk9klm9mmqrrrrrAr!t!!!$$+++66RTAIQSTUQUXYPYDY\degij\k\kCk9klm9mmqrrrrrrrr(   N) sympy.core.numbersr   r   sympy.core.singletonr   sympy.core.symbolr   r   &sympy.functions.elementary.exponentialr   r	   sympy.codegen.cfunctionsr
   r   r   r   r   r   r   r   r   sympy.core.functionr   r'   r6   r9   r=   rB   rD   rF   rI   rK    r(   r&   <module>rS      s   - - - - - - - - " " " " " " / / / / / / / / = = = = = = = =                      + * * * * *L L L0"L "L "LJ8 8 8I I I"# # #$L L LJ J JJ J Js s s s sr(   