o
    FZh                     @   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 ]\}}| ||||| 	t
 dks2J qdtd d }dtd d }t|}t|}t ||}|	tdksYJ |
 dksaJ t dd}	t|	t|	
 ksrJ 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   S/var/www/auris/lib/python3.10/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 ]\}}| ||||| t	 dks6J qdd }t
jd d }d| }||}||}t ||}	|	tdks\J |	 dksdJ t tt}
t|
t|
 ksuJ 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 ]9} | tjtksJ | tjd ksJ | tddjdks#J tt | ttt W d    n1 s8w   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     