U
    9%e                     @   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   s8  t ddksttddd} t | jddt|  dks<tt | dt|  dksZtt | dt|  dksxttd	 d
 d	 d dk rttt d	 d	 d dk stt | jstt | j	stt d|  
| dtd|    dkstt d|  
| t d|  jdd
|  dks4td S )Nr   xTrealfunc	tractabler   g|=   g#B;g^ 9^;*   )r	   AssertionErrorr   expandr   rewriteevalfabsis_real	is_finitediffr    r%   b/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/codegen/tests/test_cfunctions.py
test_expm1   s       *r'   c                  C   s  t ddksttd} tt | d t| d d  t| d  dksLttddd}t |jdd	t|d  dks|tt |d
t|d  dkstt |dt|d  dkstttd	 d dk rtttt d	 d dk stt dt
dd  jstt djr(tt tjs8tt |jrHtt tdddjs`tt |jrptt tdddjstt |jrtt tdddjstt d| |dd| d   dkstt d| |t d| jdd	| dkstd S )Nr   
   ii  r   r   Tr   r   r   r   g      ?g>N}a+g0.++   r   y)Zpositivez)zeroo)Znonnegativer   )r
   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ttddd} t | jddd|   dks<tt d|  | dt d|   td  dksntt d|  | t d|  |  dkstd S )	Nr)      r   Tr   r   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tt ttttd ks,ttddd} t | t| td ksTtt d|  | kshtt | jddt| td  dkstt d	|   d
td|    dkstt d	|   t d	|  jdd|  dkstd S )N      r)   r   Tr   r   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s6ttd|  d| d| }|| |jdd|  dksrt|||jdd| dkst|||jdd| dkst|| d|  dkst||d|   dkst||d dkstd S )	Nzx y zTr   r      r   e   i  )r   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s0ttd|  | dtd|    dksZttd|  | td|  jdd|  dkstd S )Nr   Tr   r(   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.ttd|  | dd|  tddd   d  dksfttd|  | td|  jdd|  dkstd S )Nr   Tr   r   r4   r   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*ttd|  | dd|  tjd   d  dks^ttd|  | td|  jdd|  dkstd S )Nr   Tr   r   r   r   r)   )r   r   r   r   Halfr   r#   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<ttd|  d| | jddtd|  d| jdd|  dksttd|  d| |jddtd|  d| jdd| dksttd|  d| | jddd|  d|  d d| d  td	d  d  dks$ttd|  d| |jddd
| d|  d d| d  td	d  d  dks|td S )Nzx yTr   r)   r   r6   r   iB  r   i  )r   r   r   r   r<   r   r#   r   )r   r*   r%   r%   r&   
test_hypot   s    0HHXr>   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   Zsympy.core.functionr   r'   r0   r2   r5   r9   r:   r;   r=   r>   r%   r%   r%   r&   <module>   s   ,%