a
    kh                     @   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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d Z"dS )    )Rationalpi)S)Symbolsymbols)explog)expm1log1pexp2log2fmalog10SqrtCbrthypotisnanisinf)
expand_logc                  C   s8  t ddksJ tddd} t | jddt|  dks<J t | dt|  dksZJ t | dt|  dksxJ td	 d
 d	 d dk rJ tt d	 d	 d dk sJ t | jsJ t | jsJ t d|  	| dtd|    dksJ t d|  	| t d|  jdd	|  dks4J 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&   Q/var/www/auris/lib/python3.9/site-packages/sympy/codegen/tests/test_cfunctions.py
test_expm1   s       *r(   c                  C   s  t ddksJ td} tt | d t| d d  t| d  dksLJ tddd}t |jdd	t|d  dks|J t |d
t|d  dksJ t |dt|d  dksJ ttd d dk rJ ttt d d dk sJ t dt	dd  j
sJ t djr(J t tjs8J t |jrHJ t tdddjs`J t |jrpJ 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sJ d S )Nr   
   ii  r   r   Tr   r   r   r   g      ?g>N}a+g0.++   r   y)Zpositivez)Zzeroo)Znonnegativer   )r
   r   r   r   r   r   r   r!   r    r   r"   r#   r   Zis_positiveis_zeroZis_nonnegativer$   )dr   r&   r&   r'   
test_log1p#   s(    4$"" ,r0   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snJ t d|  | t d|  |  dksJ d S )	Nr*      r   Tr   r   r   r   )r   r   r   r$   r   r%   r&   r&   r'   	test_exp2H   s
     2r2   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sTJ t d|  | kshJ t | jddt| td  dksJ t d	|   d
td|    dksJ t d	|   t d	|  jdd|  dksJ d S )N      r*   r   Tr   r   r   r   r   )r   r   r   r   r   r$   r%   r&   r&   r'   	test_log2V   s    ((r5   c                  C   s
  t d\} }}t| ||jdd| |  | dks6J td|  d| d| }|| |jdd|  dksrJ |||jdd| dksJ |||jdd| dksJ || d|  dksJ ||d|   dksJ ||d dksJ d S )	Nzx y zTr   r      r   e   i  )r   r   r   r$   )r   r+   r,   exprr&   r&   r'   test_fmag   s    ($$$r9   c                  C   s   t d} t| jddt| td  dks0J td|  | dtd|    dksZJ td|  | td|  jdd|  dksJ d S )Nr   Tr   r)   r   r   r   )r   r   r   r   r$   r%   r&   r&   r'   
test_log10y   s    (*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sfJ td|  | td|  jdd|  dksJ d S )Nr   Tr   r   r4   r   r   )r   r   r   r   r$   r%   r&   r&   r'   	test_Cbrt   s    &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sJ d S )Nr   Tr   r   r   r   r*   )r   r   r   r   Halfr$   r%   r&   r&   r'   	test_Sqrt   s    "4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sJ td|  d| |jddtd|  d| jdd| dksJ td|  d| | jddd|  d|  d d| d  td	d  d  dks$J td|  d| |jddd
| d|  d d| d  td	d  d  dks|J d S )Nzx yTr   r*   r   r6   r   iB  r   i  )r   r   r   r   r<   r$   r   )r   r+   r&   r&   r'   
test_hypot   s    0HHXr>   c                  C   s   t d} ttj
 dksJ ttj dks0J ttjdksBJ t| }|dvsVJ |jtu sdJ |j| fkstJ ttjdksJ ttjdksJ t| }|dvsJ |jtu sJ |j| fksJ d S )Nr   TF)FT)	r   r   r   InfinityPir   argsr   NaN)r   ZisinfxZisnanxr&   r&   r'   test_isnan_isinf   s    rC   N)#Zsympy.core.numbersr   r   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z&sympy.functions.elementary.exponentialr   r   Zsympy.codegen.cfunctionsr	   r
   r   r   r   r   r   r   r   r   r   Zsympy.core.functionr   r(   r0   r2   r5   r9   r:   r;   r=   r>   rC   r&   r&   r&   r'   <module>   s   4%