
    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y)    )Rationalpi)S)Symbolsymbols)explog)	expm1log1pexp2log2fmalog10SqrtCbrthypot)
expand_logc                  N   t        d      dk(  sJ t        dd      } t        |       j                  d      t        |       z
  dk(  sJ t        |       j	                  d      t        |       z
  dk(  sJ t        |       j	                  d      t        |       z
  dk(  sJ t        d	      j                         d
z
  d	z
  dz
  dk  rJ t        t        d	      j                         d	z
  dz
        dk  sJ t        |       j                  sJ t        |       j                  sJ t        d| z        j                  |       dt        d| z        z  z
  dk(  sJ t        d| z        j                  |       t        d| z        j                  d      j                  |       z
  dk(  sJ y )Nr   xTrealfunc	tractabler   g|=   g#B;g^ 9^;*   )
r
   r   expandr   rewriteevalfabsis_real	is_finitediffr   s    X/var/www/openai/venv/lib/python3.12/site-packages/sympy/codegen/tests/test_cfunctions.py
test_expm1r'      s   8q==sA 8???%A."4448K(3q61R7778E"SV+r111 U!!#a'5058EAAAuU|!!#e+e34u<<< 88 A;AC1I-222A;Ar!t!3!3!3!>!C!CA!FF!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        |      j                  d	      t        |dz         z
  dk(  sJ t        |      j                  d
      t        |dz         z
  dk(  sJ t        |      j                  d      t        |dz         z
  dk(  sJ t        t        d      j                         dz
        dk  rJ t        t        t        d            j                         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        j!                  |      dd|z  dz   z  z
  dk(  sJ t        d|z        j!                  |      t        d|z        j                  d	      j!                  |      z
  dk(  sJ y )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   8q==	"AeAuHoAtGaK(883q$w<GHAMMMsA 8???%AE
2a7778K(3q1u:5:::8E"SQZ/1444 3y>'')E12V;;;z%,'--/%786AAA !Xb!_$$%----Ry""""9Qx####d+,8888Qx$'(0000Qx&&&&./>>>> A;ARTAX.!333A;Ar!t!3!3!3!>!C!CA!FF!KKKr(   c                     t        d      dk(  sJ t        dd      } t        |       j                  d      d| z  z
  dk(  sJ t        d| z        j                  |       dt        d| z        z  t	        d      z  z
  dk(  sJ t        d| z        j                  |       t        d| z        j                  |       z
  dk(  sJ y )	Nr+      r   Tr   r   r   r   )r   r   r   r$   r	   r%   s    r&   	test_exp2r9   H   s    7a<<sA 7>>t>$q!t+q000 1:??141:c!f 449991:??1RT
 22a777r(   c                  |   t        d      dk(  sJ t        t              t        t              t        d      z  k7  sJ t        dd      } t        |       t        |       t        d      z  k7  sJ t        d| z        | k(  sJ t        |       j	                  d      t        |       t        d      z  z
  dk(  sJ t        d	| z        j                         d
t        d      | z  z  z
  dk(  sJ t        d	| z        j                         t        d	| z        j	                  d      j                  |       z
  dk(  sJ y )N      r+   r   Tr   r   r   r   r   )r   r   r	   r   r   r$   r%   s    r&   	test_log2r=   V   s   7a<<8s2ws1v~%%%sA7c!fSVm###1:?? 7>>t>$s1vc!f}4999 1:??q#a&(|+q0001:??tBqDz00d0;@@CCqHHHr(   c                     t        d      \  } }}t        | ||      j                  d      | |z  z
  |z
  dk(  sJ t        d| z  d|z  d|z        }|j                  |       |j                  d      j                  |       z
  dk(  sJ |j                  |      |j                  d      j                  |      z
  dk(  sJ |j                  |      |j                  d      j                  |      z
  dk(  sJ |j                  |       d|z  z
  dk(  sJ |j                  |      d| z  z
  dk(  sJ |j                  |      dz
  dk(  sJ y )	Nzx y zTr   r      r   e   i  )r   r   r   r$   )r   r,   r.   exprs       r&   test_fmarB   g   sN   gGAq! q!Q<D)AaC/!3q888r!tRT3q5!D 99Q<$++4+055a88A===99Q<$++4+055a88A===99Q<$++4+055a88A===99Q<%'!Q&&&99Q<%'!Q&&&99Q<#"""r(   c                     t        d      } t        |       j                  d      t        |       t        d      z  z
  dk(  sJ t        d| z        j	                  |       dt        d      | z  z  z
  dk(  sJ t        d| z        j	                  |       t        d| z        j                  d      j	                  |       z
  dk(  sJ y )Nr   Tr   r*   r   r   r   )r   r   r   r	   r$   r%   s    r&   
test_log10rD   y   s    sA 8???%As2w6!;;; A;ACGAI.!333A;Ar!t!3!3!3!>!C!CA!FF!KKKr(   c                     t        d      } t        |       j                  d      | t        dd      z  z
  dk(  sJ t        d| z        j	                  |       dd| z  t        dd      dz
  z  z  dz  z
  dk(  sJ t        d| z        j	                  |       t        d| z        j                  d      j	                  |       z
  dk(  sJ y )Nr   Tr   r   r<   r   r   )r   r   r   r   r$   r%   s    r&   	test_CbrtrF      s    sA 7>>t>$q(1a.'88A=== 1:??1BqDHQNQ,>#? ? AAQFFF1:??1RT
 1 1t 1 < A A! DDIIIr(   c                     t        d      } t        |       j                  d      | t        j                  z  z
  dk(  sJ t        d| z        j                  |       dd| z  t        j                  dz
  z  z  dz  z
  dk(  sJ t        d| z        j                  |       t        d| z        j                  d      j                  |       z
  dk(  sJ y )Nr   Tr   r   r   r   r+   )r   r   r   r   Halfr$   r%   s    r&   	test_SqrtrI      s    sA 7>>t>$q!&&y0A555 1:??1BqDAFFQJ#7 7 99Q>>>1:??1RT
 1 1t 1 < A A! DDIIIr(   c                     t        d      \  } }t        | |      j                  d      | dz  |dz  z   t        j                  z  z
  dk(  sJ t        d| z  d|z        j                  |       j                  d      t        d| z  d|z        j                  d      j                  |       z
  dk(  sJ t        d| z  d|z        j                  |      j                  d      t        d| z  d|z        j                  d      j                  |      z
  dk(  sJ t        d| z  d|z        j                  |       j                  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        j                  |      j                  d      d
|z  d| z  dz  d|z  dz  z   t        d	d      z  z  dz  z
  dk(  sJ y )Nzx yTr   r+   r   r?   r   iB  r   i  )r   r   r   r   rH   r$   r   )r   r,   s     r&   
test_hypotrK      s   5>DAq A;4(AqD1a4K!&&+@@AEEE Ar!t!!!$+++6r!tRT9J9Q9QW[9Q9\9a9abc9ddhiiiiAr!t!!!$+++6r!tRT9J9Q9QW[9Q9\9a9abc9ddhiiiiAr!t!!!$+++6RTAIQSTUQUXYPYDY\degij\kCk9klm9mmqrrrrAr!t!!!$+++6RTAIQSTUQUXYPYDY\degij\kCk9klm9mmqr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      sZ    - " / =   +L0"LJ8I"#$LJJsr(   