o
    jg                     @   s   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d Zd	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )    )Rationalpi)S)Symbolsymbols)explog)	expm1log1pexp2log2fmalog10SqrtCbrthypot)
expand_logc                  C   s6  t ddksJ tddd} t | jddt|  dksJ t | dt|  dks-J t | dt|  dks<J td	 d
 d	 d dk rLJ tt d	 d	 d dk s\J t | jscJ t | jsjJ t d|  	| dtd|    dksJ t d|  	| t d|  jdd	|  dksJ d S )Nr   xTrealfunc	tractabler   g|=   g#B;g^ 9^;*   )
r	   r   expandr   rewriteevalfabsis_real	is_finitediffr    r$   [/var/www/html/zoom/venv/lib/python3.10/site-packages/sympy/codegen/tests/test_cfunctions.py
test_expm1   s      *8r&   c                  C   s   t ddksJ td} tt | d t| d d  t| d  dks&J tddd}t |jdd	t|d  dks>J t |d
t|d  dksOJ t |dt|d  dks`J ttd d dk rnJ ttt d d dk s~J t dt	dd  j
sJ t djrJ t tjsJ t |jrJ t tdddjsJ t |jrJ t tdddjsJ t |jrJ t tdddjsJ t d| |dd| d   dksJ t d| |t d| jdd	| dksJ 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   r$   r$   r%   
test_log1p#   s(   4$"" *8r3   c                  C   s   t ddksJ tddd} t | jddd|   dksJ t d|  | dt d|   td  dks7J t d|  | t d|  |  dksMJ d S )	Nr(      r   Tr   r   r   r   )r   r   r   r"   r   r#   r$   r$   r%   	test_exp2H   s
    20r5   c                  C   s   t ddksJ t ttttd ksJ tddd} t | t| td ks*J t d|  | ks4J t | jddt| td  dksHJ t d	|   d
td|    dks\J t d	|   t d	|  jdd|  dksuJ d S )N      r(   r   Tr   r   r   r   r   )r   r   r   r   r   r"   r#   r$   r$   r%   	test_log2V   s   ((6r8   c                  C   s  t d\} }}t| ||jdd| |  | dksJ td|  d| d| }|| |jdd|  dks9J |||jdd| dksKJ |||jdd| dks]J || d|  dksjJ ||d|   dkswJ ||d dksJ d S )	Nzx y zTr   r      r   e   i  )r   r   r   r"   )r   r)   r+   exprr$   r$   r%   test_fmag   s   ($$$r<   c                  C   s   t d} t| jddt| td  dksJ td|  | dtd|    dks-J td|  | td|  jdd|  dksGJ d S )Nr   Tr   r'   r   r   r   )r   r   r   r   r"   r#   r$   r$   r%   
test_log10y   s   (*8r=   c                  C   s   t d} t| jdd| tdd  dksJ td|  | dd|  tddd   d  dks3J td|  | td|  jdd|  dksMJ d S )Nr   Tr   r   r7   r   r   )r   r   r   r   r"   r#   r$   r$   r%   	test_Cbrt   s   &88r>   c                  C   s   t d} t| jdd| tj  dksJ td|  | dd|  tjd   d  dks/J td|  | td|  jdd|  dksIJ d S )Nr   Tr   r   r   r   r(   )r   r   r   r   Halfr"   r#   r$   r$   r%   	test_Sqrt   s   "48r@   c                  C   s|  t d\} }t| |jdd| d |d  tj  dksJ td|  d| | jddtd|  d| jdd|  dksBJ td|  d| |jddtd|  d| jdd| dksfJ td|  d| | jddd|  d|  d d| d  td	d  d  dksJ td|  d| |jddd
| d|  d d| d  td	d  d  dksJ d S )Nzx yTr   r(   r   r9   r   iB  r   i  )r   r   r   r   r?   r"   r   )r   r)   r$   r$   r%   
test_hypot   s   0HHVZrA   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&   r3   r5   r8   r<   r=   r>   r@   rA   r$   r$   r$   r%   <module>   s    ,%