U
    ZÊ¹j  ã                   @   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 r˜t‚tt d	ƒ ¡ d	 d ƒdk s¸t‚t | ƒjsÆt‚t | ƒj	sÔt‚t d|  ƒ 
| ¡dtd|  ƒ  dksþt‚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/bwave/python/venv/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sžt‚t |ƒ d¡t|d ƒ dksÀt‚ttdƒ 	¡ d ƒdk rÜt‚ttt dƒƒ 	¡ d ƒdk süt‚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�sˆt‚t |ƒj�r˜t‚t tddd�ƒj�s°t‚t d| ƒ |¡dd| d   dk�sÜt‚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sšt‚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s�t‚t d	|  ƒ ¡ d
tdƒ|    dks¸t‚t d	|  ƒ ¡ t d	|  ƒjdd� | ¡ dksêt‚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s–t‚| |¡|jdd� |¡ dksºt‚| | ¡d|  dksÔt‚| |¡d|   dksît‚| |¡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sŽt‚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sšt‚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s’t‚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s„t‚td|  d| ƒ |¡jdd�td|  d| ƒj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‚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   ,%