o
    à8VaÝ  ã                   @   sV   d dl mZ d dlmZmZmZmZ d dlmZm	Z	 edƒ\Z
ZZdd„ Zdd„ Zd	S )
é    )Úproduct)ÚsymbolsÚexpÚlogÚS)Ú	logaddexpÚ
logaddexp2zx y zc            	      C   sä   t ttƒ} tttƒttƒ ƒ}ttttgtddƒƒD ]\}}|  ||¡| ||¡  	t¡ 
¡ dks3J ‚qdtdƒ d }dtdƒ d }t|ƒ}t|ƒ}t ||ƒ}| 	t¡dksZJ ‚| 
¡ dksbJ ‚t ddƒ 
¡ t ddƒkspJ ‚d S )Nr   é   é   é   )r   ÚxÚyr   r   r   ÚzÚrangeÚdiffÚrewriteÚsimplify)	Zlae_xyZref_xyÚwrtÚderiv_orderZone_third_eZtwo_thirds_eZ	logThirdEZlogTwoThirdsEZlae_sum_to_e© r   úF/usr/lib/python3/dist-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ƒƒD ]\}}|  ||¡| ||¡  t¡ 	¡ dks7J ‚qdd„ }t
jd d }d| }||ƒ}||ƒ}t ||ƒ}	|	 t¡dks]J ‚|	 	¡ dkseJ ‚t ttƒ 	¡ t ttƒkssJ ‚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   r   r   ZOne)
Zlae2_xyZref2_xyr   r   r   Z
two_thirdsZfour_thirdsZlbTwoThirdsZlbFourThirdsZlae2_sum_to_2r   r   r   Útest_logaddexp2   s"   


ÿ
ý
 r   N)Ú	itertoolsr   Zsympyr   r   r   r   Zsympy.codegen.numpy_nodesr   r   r   r   r   r   r   r   r   r   r   Ú<module>   s    