a
    kh                     @   s   d dl mZ d dl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 d dlmZmZmZmZmZmZ d dlmZ ed	\ZZZd
d Zdd Zdd Zdd ZdS )    )product)S)symbols)explog)MaxMin)srepr)	logaddexp
logaddexp2minimummaximumamaxamin)raiseszx y zc            
      C   s   t tt} ttttt }ttttgtdD ]2\}}| ||||| 	t
 dks2J q2dtd d }dtd d }t|}t|}t ||}|	tdksJ |
 dksJ t dd}	t|	t|	
 ksJ d S )N   r         )r
   xyr   r   r   zrangediffrewritesimplifyr	   )
Zlae_xyZref_xywrtderiv_orderZone_third_eZtwo_thirds_eZ	logThirdEZlogTwoThirdsEZlae_sum_to_ewas r   R/var/www/auris/lib/python3.9/site-packages/sympy/codegen/tests/test_numpy_nodes.pytest_logaddexp   s(    





r    c                  C   s   t tt} tdt dt  td }ttttgtdD ]2\}}| ||||| t	 dks:J q:dd }t
jd d }d| }||}||}t ||}	|	tdksJ |	 dksJ t tt}
t|
t|
 ksJ d S )Nr   r   r   c                 S   s   t | t d S )Nr   )r   )r   r   r   r   lb)   s    ztest_logaddexp2.<locals>.lbr   )r   r   r   r   r   r   r   r   r   cancelr   ZOner   r	   )Zlae2_xyZref2_xyr   r   r!   Z
two_thirdsZfour_thirdsZlbTwoThirdsZlbFourThirdsZlae2_sum_to_2r   r   r   r   test_logaddexp2    s*    





r#   c                  C   sV   t ttgttgD ]>\} }| ttt}|ttt}||ks>J || |ksJ qd S )N)	zipr   r   r   r   r   r   r   r   )ZMMmmrefmr   r   r   test_minimum_maximum7   s
    r(   c               	   C   s   t tfD ]r} | tjtksJ | tjd ks0J | tddjdksFJ tt | ttt W d    q1 sp0    Y  qd S )Nr   )axis)	r   r   r   arrayr)   r   
ValueErrorr   r   )amr   r   r   test_amin_amax?   s    
r-   N)	itertoolsr   Zsympy.core.singletonr   Zsympy.core.symbolr   Z&sympy.functions.elementary.exponentialr   r   Z(sympy.functions.elementary.miscellaneousr   r   Zsympy.printing.reprr	   Zsympy.codegen.numpy_nodesr
   r   r   r   r   r   Zsympy.testing.pytestr   r   r   r   r    r#   r(   r-   r   r   r   r   <module>   s    