U
    ZÊ¹j=]  ã                   @   sh  d dl mZ d dlmZmZmZ d dlm	Z	m
Z
mZmZ d dlmZmZmZ d dlmZ d dlmZ edddd	�\ZZZZZed
dd�\Z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d „ Z&d!d"„ Z'd#d$„ Z(d%d&„ Z)d'd(„ Z*d)d*„ Z+d+d,„ Z,d-d.„ Z-d/d0„ Z.d1d2„ Z/d3d4„ Z0d5d6„ Z1d7d8„ Z2d9d:„ Z3d;d<„ Z4d=d>„ Z5d?d@„ Z6dAdB„ Z7dCS )Dé    )ÚSum)ÚdeltaproductÚdeltasummationÚ_extract_delta)ÚEqÚSÚsymbolsÚoo)ÚKroneckerDeltaÚ	PiecewiseÚpiecewise_fold)ÚAnd)Úraisesz	i j k l mT)ÚintegerZfinitezx yF)Zcommutativec                   C   s  t ttddfƒdkst‚t ttddfƒtd ks4t‚t tt tddfƒtt d ksXt‚t tt tddfƒtt d ks|t‚t tttƒtddfƒtttƒks t‚t ttttƒ tddfƒtd tttƒ ksÐt‚t tt tttƒ tddfƒtt d tttƒ k�s
t‚d S ©Né   r   é   )ÚdpÚxÚjÚAssertionErrorÚyÚKDÚiÚk© r   r   ú^/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/concrete/tests/test_delta.pyÚtest_deltaproduct_trivial   s    $$$0r   c                   C   s<  t tttƒtddfƒdkst‚t tttƒtddfƒttdƒksBt‚t tttƒtddfƒttdƒksft‚t tttƒtddfƒttdƒksŠt‚t tttƒtdtfƒttdƒttdƒ ttdƒ ksÂt‚t tttƒttdfƒttdƒttdƒ ttdƒ ksút‚t tttƒtttfƒtttƒtttƒ tttd ƒ k�s8t‚d S ©Nr   r   r   é   é   )r   r   r   r   r   r   Úlr   r   r   r   Útest_deltaproduct_basic   s    $$$88r"   c                   C   sr  t ttttƒ tddfƒdks"t‚t ttttƒ tddfƒtttdƒ ksNt‚t ttttƒ tddfƒtttdƒ kszt‚t ttttƒ tddfƒtttdƒ ks¦t‚t ttttƒ tdtfƒtttdƒ ttdƒ ttdƒ ksæt‚t ttttƒ ttdfƒtttdƒ ttdƒ ttdƒ k�s(t‚t ttttƒ tttfƒttttƒ tttƒ tttd ƒ k�snt‚d S r   )r   r   r   r   r   r   r   r!   r   r   r   r   Útest_deltaproduct_mul_x_kd    s    ",,,@Br#   c                   C   s¨  t tt tttƒ tddfƒdks&t‚t tt tttƒ tddfƒtt ttdƒ ksZt‚t tt tttƒ tddfƒtt ttdƒ ksŽt‚t tt tttƒ tddfƒtt ttdƒ ksÂt‚t tt tttƒ tdtfƒtt ttdƒ ttdƒ ttdƒ k�st‚t tt tttƒ ttdfƒtt ttdƒ ttdƒ ttdƒ k�sVt‚t tt tttƒ tttfƒtt tttƒ tttƒ tttd ƒ k�s¤t‚d S r   )	r   r   r   r   r   r   r   r   r!   r   r   r   r   Ú test_deltaproduct_mul_add_x_y_kd*   s    &444$ÿ
$ÿ
(ÿr$   c                   C   s¤  t tttƒtttƒ tddfƒdks(t‚t tttƒtttƒ tddfƒttdƒttdƒ ks`t‚t tttƒtttƒ tddfƒttdƒttdƒ ks˜t‚t tttƒtttƒ tddfƒttdƒttdƒ ksÐt‚t tttƒtttƒ tdtfƒttdƒttdƒttdƒ  ttdƒttdƒ  ttdƒttdƒ ttdƒ  ttdƒttdƒ ttdƒ  k�sdt‚t tttƒtttƒ ttdfƒttdƒttdƒttdƒ  ttdƒttdƒ  ttdƒttdƒ ttdƒ  ttdƒttdƒ ttdƒ  k�søt‚t tttƒtttƒ tttfƒtttd ƒtttƒtttƒ  tttƒtttƒ  tttƒtttd ƒ tttd ƒ  tttd ƒtttƒ tttd ƒ  k�s t‚d S r   )r   r   r   r   r   r   r!   Úmr   r   r   r   Útest_deltaproduct_add_kd_kd7   s>    (888&ÿÿþþ&ÿÿþþ*ÿÿ$þ$þr&   c                   C   s  t ttttƒtttƒ  tddfƒdks,t‚t ttttƒtttƒ  tddfƒtttdƒttdƒ  kslt‚t ttttƒtttƒ  tddfƒtttdƒttdƒ  ks¬t‚t ttttƒtttƒ  tddfƒtttdƒttdƒ  ksìt‚t ttttƒtttƒ  tdtfƒttdƒtttdƒ ttdƒ  tttdƒ ttdƒ  td ttdƒ ttdƒ ttdƒ  td ttdƒ ttdƒ ttdƒ  k�sœt‚t ttttƒtttƒ  ttdfƒttdƒtttdƒ ttdƒ  tttdƒ ttdƒ  td ttdƒ ttdƒ ttdƒ  td ttdƒ ttdƒ ttdƒ  k�sLt‚t ttttƒtttƒ  tttfƒtttd ƒttttƒ tttƒ  ttttƒ tttƒ  td tttd ƒ tttƒ tttd ƒ  td tttƒ tttd ƒ tttd ƒ  k�st‚d S r   )	r   r   r   r   r   r   r   r!   r%   r   r   r   r   Ú!test_deltaproduct_mul_x_add_kd_kdG   s>    ,@@@*ÿÿ$þ$þ*ÿÿ$þ$þ.ÿÿ,þ,ýr'   c                   C   sn  t tt tttƒtttƒ  tddfƒdks0t‚t tt tttƒtttƒ  tddfƒtt ttdƒttdƒ  ksxt‚t tt tttƒtttƒ  tddfƒtt ttdƒttdƒ  ksÀt‚t tt tttƒtttƒ  tddfƒtt ttdƒttdƒ  k�s
t‚t tt tttƒtttƒ  tdtfƒttdƒtt ttdƒ ttdƒ  tt ttdƒ ttdƒ  tt d ttdƒ ttdƒ ttdƒ  tt d ttdƒ ttdƒ ttdƒ  k�sÎt‚t tt tttƒtttƒ  ttdfƒttdƒtt ttdƒ ttdƒ  tt ttdƒ ttdƒ  tt d ttdƒ ttdƒ ttdƒ  tt d ttdƒ ttdƒ ttdƒ  k�s’t‚t tt tttƒtttƒ  ttt	fƒttt	d ƒtt ttt	ƒ ttt	ƒ  tt ttt	ƒ ttt	ƒ  tt d ttt	d ƒ ttt	ƒ ttt	d ƒ  tt d ttt	ƒ ttt	d ƒ ttt	d ƒ  k�sjt‚d S r   )
r   r   r   r   r   r   r   r   r!   r%   r   r   r   r   Ú'test_deltaproduct_mul_add_x_y_add_kd_kdX   sJ    0&ÿ&ÿ&ÿ
.ÿÿ(þ(ý.ÿÿ(þ(ý2ÿÿ0þ0ýr(   c                   C   sž  t tt ttttƒ  tddfƒtt d ttt d  ttdƒ  tt t tt  ttdƒ  tt d t ttdƒ  ks„t‚t tt ttttƒ  tddfƒtt tttdƒ  ksÀt‚t tt ttttƒ  tddfƒtt tttdƒ  ksüt‚t tt ttttƒ  tddfƒtt tttdƒ  k�s:t‚t tt ttttƒ  tdtfƒtt t ttt td  t tt tt   t	dtkttkƒfdƒ k�sªt‚t tt ttttƒ  ttdfƒtt t d  ttt tt  t tt dt   t	ttktdkƒfdƒ k�s t‚t tt ttttƒ  ttt
fƒtt t t
 d  ttt tt  t tt t
t   t	ttktt
kƒfdƒ k�sšt‚d S ©Nr   r   r   ©r   Tr    )r   r   r   r   r   r   r   r   r   r   r!   r   r   r   r   Ú&test_deltaproduct_add_mul_x_y_mul_x_kdn   s8    *ÿÿÿ
<<> 4þÿ
 4þÿ
 4þÿr+   c                   C   s‚  t tttttƒ  tddfƒtt d ttt d  ttdƒ  tt t tt  ttdƒ  tt d t ttdƒ  ks€t‚t tttttƒ  tddfƒttttdƒ  ks´t‚t tttttƒ  tddfƒttttdƒ  ksèt‚t tttttƒ  tddfƒttttdƒ  k�st‚t tttttƒ  tdtfƒtt t ttt td  t tt tt   t	dtkttkƒfdƒ 
¡  k�sŽt‚t tttttƒ  ttdfƒtt t d  ttt tt  t tt dt   t	ttktdkƒfdƒ  
¡ k�st‚t tttttƒ  tttfƒtt t t d  ttt tt  t tt tt   t	ttkttkƒfdƒ  
¡ k�s~t‚d S r)   ©r   r   r   r   r   r   r   r   r   r   Úexpandr!   r   r   r   r   Ú test_deltaproduct_mul_x_add_y_kd…   s8    &ÿÿÿ
4464þÿ
4þÿ
4þÿr.   c                   C   sÄ  t ttdtttƒ   tddfƒtt d dt tt d  ttdƒ  dt t t t t ttdƒ  dtt d  t ttdƒ  ks�t‚t ttdtttƒ   tddfƒttdttdƒ   ksÌt‚t ttdtttƒ   tddfƒttdttdƒ   k�s
t‚t ttdtttƒ   tddfƒttdttdƒ   k�sHt‚t ttdtttƒ   tdtfƒtt t tdtt td   t tt tt   t	dtkttkƒfdƒ 
¡  k�sÀt‚t ttdtttƒ   ttdfƒtt t d  tdtt tt   t tt dt   t	ttktdkƒfdƒ  
¡ k�s>t‚t ttdtttƒ   tttfƒtt t t d  tdtt tt   t tt tt   t	ttkttkƒfdƒ  
¡ k�sÀt‚d S )Nr   r   r   r*   r    r,   r   r   r   r   Ú#test_deltaproduct_mul_x_add_y_twokdœ   s8    *ÿ ÿÿ
<>> 8þÿ
 8þÿ
 8þÿr/   c                   C   sX  t tt ttttƒ  tddfƒtt t d tt tt t d  ttdƒ  tt t tt d  t ttdƒ  tt t d tt  ttdƒ  ks t‚t tt ttttƒ  tddfƒtt tttdƒ  ksÜt‚t tt ttttƒ  tddfƒtt tttdƒ  k�st‚t tt ttttƒ  tddfƒtt tttdƒ  k�sXt‚t tt ttttƒ  tdtfƒtt t t ttt t d tt t t  tt  tt t t  tt t t   tdkttk@ fdƒ k�sðt‚t tt ttttƒ  ttdfƒtt t d tt t t   ttt t t tt t t   tt  tt t d  tt t t   ttktdk@ fdƒ k�sœt‚t tt ttttƒ  ttt	fƒtt t tt t t	  tt t t   ttt t t tt t t   tt  tt t t	  tt t t   ttktt	k@ fdƒ k�sTt‚d S ©Nr   r   r   éÿÿÿÿr*   r    )
r   r   r   r   r   r   r   r   r   r!   r   r   r   r   Ú&test_deltaproduct_mul_add_x_y_add_y_kd³   sn    . ÿ$þ ý
<>> 0ÿÿÿþÿ
 
 ÿÿ
 ÿÿÿÿþþÿ .2ÿÿÿþÿr2   c                   C   s>  t ttttƒ ttttƒ  tddfƒttdƒtttƒt  tttƒt t d  ttdƒtttƒt  t tttƒt d  t  ttdƒtttƒt t d  tttƒt   tttƒt t d  ksÐt‚t ttttƒ ttttƒ  tddfƒttttƒ tttdƒ  k�st‚t ttttƒ ttttƒ  tddfƒttttƒ tttdƒ  k�sdt‚t ttttƒ ttttƒ  tddfƒttttƒ tttdƒ  k�s®t‚t ttttƒ ttttƒ  tdtfƒtttƒt t t ttttƒt t d tttƒt t t  tttƒt  tttƒt t t  tttƒt t t   tdkttk@ fdƒ k�spt‚t ttttƒ ttttƒ  ttdfƒtttƒt t d tttƒt t t   ttttƒt t t tttƒt t t   tttƒt  tttƒt t d  tttƒt t t   ttktdk@ fdƒ k�sLt‚t ttttƒ ttttƒ  ttt	fƒtttƒt t tttƒt t t	  tttƒt t t   ttttƒt t t tttƒt t t   tttƒt  tttƒt t t	  tttƒt t t   ttktt	k@ fdƒ k�s:t‚d S r0   )
r   r   r   r   r   r   r   r   r   r!   r   r   r   r   Ú'test_deltaproduct_mul_add_x_kd_add_y_kdÉ   s¢    &,0ÿ,þýÿ&ÿ
&ÿ
&ÿ
&8ÿÿÿÿýÿ
& ÿÿ4ÿÿÿþýÿ& ÿÿÿÿ"ÿÿÿÿÿÿÿþþþr3   c                   C   s  t ttddfƒdkst‚t ttddfƒdt ks4t‚t tt tddfƒdtt  ksXt‚t tt tddfƒdt t ks|t‚t tttƒtddfƒdtttƒ ks¤t‚t ttttƒ tddfƒdt tttƒ ksÔt‚t tt tttƒ tddfƒdt t tttƒ k�st‚d S r   )Údsr   r   r   r   r   r   r   r   r   r   r   Útest_deltasummation_trivialæ   s    $$(0r5   c                  C   s@  t dddd�} tt| dƒ| ddfƒdks,t‚tttd td ƒtt tfƒtttd td ƒtt tfƒkspt‚tttt	ƒt
dtktdkƒfdƒttttƒttt	ƒ tddfƒ  krÚtttt	ƒtttƒ tddfƒksàn t‚tttt	ƒt	t tfƒdk�st‚tttt	ƒt	dtfƒtdtjtkfdƒk�s2t‚tttt	ƒt	ddfƒtdt
dtktdkƒfdƒk�sjt‚tt	tttƒ ttt	ƒ t	t tfƒttttƒ k�s¤t‚tttttƒ tt tfƒtk�sÊt‚tttttƒ tt tfƒtk�sðt‚tttddfƒdt k�st‚ttt tttƒ tt tfƒdt k�s<t‚d S )	NÚnT)r   Znonzeror   r   r   r   r*   )r   r4   r   r   r   r   r	   r   r   r   r   r   ZZeror   )r6   r   r   r   Ú#test_deltasummation_basic_numericalð   s(    ÿ ÿþ"0ÿ
:&&r7   c                   C   sj  t tttƒtddfƒtdtdtktdkƒfdƒks6t‚t tttƒtddfƒtdttdƒfdƒksdt‚t tttƒtddfƒtdttdƒfdƒks’t‚t tttƒtddfƒtdttdƒfdƒksÀt‚t tttƒtdtfƒtdtdtkttkƒfdƒksöt‚t tttƒttdfƒtdtttktdkƒfdƒk�s.t‚t tttƒttt	fƒtdtttktt	kƒfdƒk�sft‚d S ©Nr   r   r*   r   )
r4   r   r   r   r   r   r   r   r   r!   r   r   r   r   Ú"test_deltasummation_basic_symbolic  s    ÿ...ÿÿ
ÿr9   c                   C   sˆ  t ttttƒ tddfƒtttdtktdkƒfdƒks:t‚t ttttƒ tddfƒttttdƒfdƒkslt‚t ttttƒ tddfƒttttdƒfdƒksžt‚t ttttƒ tddfƒttttdƒfdƒksÐt‚t ttttƒ tdt	fƒtttdtktt	kƒfdƒk�st‚t ttttƒ tt	dfƒtttt	tktdkƒfdƒk�sHt‚t ttttƒ tt	t
fƒtttt	tktt
kƒfdƒk�s„t‚d S r8   )r4   r   r   r   r   r   r   r   r   r   r!   r   r   r   r   Útest_deltasummation_mul_x_kd  s    ÿ222ÿ
ÿ
ÿr:   c                   C   sÀ  t tt tttƒ tddfƒttt tdtktdkƒfdƒksBt‚t tt tttƒ tddfƒttt t	tdƒfdƒks|t‚t tt tttƒ tddfƒttt t	tdƒfdƒks¶t‚t tt tttƒ tddfƒttt t	tdƒfdƒksðt‚t tt tttƒ tdt
fƒttt tdtktt
kƒfdƒk�s4t‚t tt tttƒ tt
dfƒttt tt
tktdkƒfdƒk�sxt‚t tt tttƒ tt
tfƒttt tt
tkttkƒfdƒk�s¼t‚d S r8   ©r4   r   r   r   r   r   r   r   r   r   r   r!   r   r   r   r   Ú"test_deltasummation_mul_add_x_y_kd#  s*    ÿÿÿÿÿ
ÿ
ÿr<   c                	   C   s~  t tttƒtttƒ tddfƒttdtdtktdkƒfdƒtdtdtktdkƒfdƒ ƒks`t‚t tttƒtttƒ tddfƒttdt	tdƒfdƒtdt	tdƒfdƒ ƒks°t‚t tttƒtttƒ tddfƒttdt	tdƒfdƒtdt	tdƒfdƒ ƒk�st‚t tttƒtttƒ tddfƒttdt	tdƒfdƒtdt	tdƒfdƒ ƒk�sTt‚t tttƒtttƒ tdt
fƒttdtdtktt
kƒfdƒtdtdtktt
kƒfdƒ ƒk�s¶t‚t tttƒtttƒ tt
dfƒttdtt
tktdkƒfdƒtdtt
tktdkƒfdƒ ƒk�st‚t tttƒtttƒ tt
tfƒttdtt
tkttkƒfdƒtdtt
tkttkƒfdƒ ƒk�szt‚d S r8   )r4   r   r   r   r   r   r   r   r   r   r!   r%   r   r   r   r   Útest_deltasummation_add_kd_kd4  sF     ÿÿ
 ÿÿ
 ÿÿ ÿÿ ÿÿ ÿÿ ÿÿr=   c                	   C   sš  t ttttƒ tttƒ tddfƒttttdtktdkƒfdƒtdtdtktdkƒfdƒ ƒksdt	‚t ttttƒ tttƒ tddfƒtttt
tdƒfdƒtdt
tdƒfdƒ ƒks¸t	‚t ttttƒ tttƒ tddfƒtttt
tdƒfdƒtdt
tdƒfdƒ ƒk�st	‚t ttttƒ tttƒ tddfƒtttt
tdƒfdƒtdt
tdƒfdƒ ƒk�sdt	‚t ttttƒ tttƒ tdtfƒttttdtkttkƒfdƒtdtdtkttkƒfdƒ ƒk�sÊt	‚t ttttƒ tttƒ ttdfƒttttttktdkƒfdƒtdtttktdkƒfdƒ ƒk�s0t	‚t ttttƒ tttƒ tttfƒttttttkttkƒfdƒtdtttkttkƒfdƒ ƒk�s–t	‚d S r8   ©r4   r   r   r   r   r   r   r   r   r   r   r!   r%   r   r   r   r   Ú#test_deltasummation_add_mul_x_kd_kdL  sF    $ÿÿ
$ÿÿ
$ÿÿ$ÿÿ$ÿÿ$ÿÿ$ÿÿr?   c                	   C   sš  t ttttƒtttƒ  tddfƒttttdtktdkƒfdƒtttdtktdkƒfdƒ ƒksdt	‚t ttttƒtttƒ  tddfƒtttt
tdƒfdƒttt
tdƒfdƒ ƒks¸t	‚t ttttƒtttƒ  tddfƒtttt
tdƒfdƒttt
tdƒfdƒ ƒk�st	‚t ttttƒtttƒ  tddfƒtttt
tdƒfdƒttt
tdƒfdƒ ƒk�sdt	‚t ttttƒtttƒ  tdtfƒttttdtkttkƒfdƒtttdtkttkƒfdƒ ƒk�sÊt	‚t ttttƒtttƒ  ttdfƒttttttktdkƒfdƒtttttktdkƒfdƒ ƒk�s0t	‚t ttttƒtttƒ  tttfƒttttttkttkƒfdƒtttttkttkƒfdƒ ƒk�s–t	‚d S r8   r>   r   r   r   r   Ú#test_deltasummation_mul_x_add_kd_kdd  sF    $ÿÿ
$ÿÿ
$ÿÿ$ÿÿ$ÿÿ$ÿÿ$ÿÿr@   c                	   C   sî  t tt tttƒtttƒ  tddfƒtttt t	dtktdkƒfdƒttt t	dtktdkƒfdƒ ƒkspt
‚t tt tttƒtttƒ  tddfƒtttt ttdƒfdƒttt ttdƒfdƒ ƒksÐt
‚t tt tttƒtttƒ  tddfƒtttt ttdƒfdƒttt ttdƒfdƒ ƒk�s2t
‚t tt tttƒtttƒ  tddfƒtttt ttdƒfdƒttt ttdƒfdƒ ƒk�s”t
‚t tt tttƒtttƒ  tdtfƒtttt t	dtkttkƒfdƒttt t	dtkttkƒfdƒ ƒk�st
‚t tt tttƒtttƒ  ttdfƒtttt t	ttktdkƒfdƒttt t	ttktdkƒfdƒ ƒk�sxt
‚t tt tttƒtttƒ  tttfƒtttt t	ttkttkƒfdƒttt t	ttkttkƒfdƒ ƒk�sêt
‚d S r8   )r4   r   r   r   r   r   r   r   r   r   r   r   r!   r%   r   r   r   r   Ú)test_deltasummation_mul_add_x_y_add_kd_kd|  sF    (ÿÿ
(ÿÿ
(ÿÿ(ÿÿ(ÿÿ(ÿÿ(ÿÿrA   c                   C   sj  t tt ttttƒ  tddfƒtdt t t tdtktdkƒfdt t dfƒksZt‚t tt ttttƒ  tddfƒttt t t	tdƒftt dfƒks¤t‚t tt ttttƒ  tddfƒttt t t	tdƒftt dfƒksît‚t tt ttttƒ  tddfƒttt t t	tdƒftt dfƒk�s:t‚t tt ttttƒ  tdt
fƒtt
t t t tdtktt
kƒft
t t dfƒk�s–t‚t tt ttttƒ  tt
dfƒtdt
 t t t tt
tktdkƒfdt
 t t dfƒk�sút‚t tt ttttƒ  tt
tfƒttt
 d t t t tt
tkttkƒftt
 d t t dfƒk�sft‚d S ©Nr   r   Tr   r    r;   r   r   r   r   Ú(test_deltasummation_add_mul_x_y_mul_x_kd”  s,     2ÿ "ÿ "ÿ "ÿ
 2ÿ
 :ÿ
"( ÿrC   c                   C   sN  t tttttƒ  tddfƒtdt t t tdtktdkƒfdt t dfƒksVt‚t tttttƒ  tddfƒttt t t	tdƒftt dfƒksœt‚t tttttƒ  tddfƒttt t t	tdƒftt dfƒksât‚t tttttƒ  tddfƒttt t t	tdƒftt dfƒk�s*t‚t tttttƒ  tdt
fƒtt
t t t tdtktt
kƒft
t t dfƒk�s‚t‚t tttttƒ  tt
dfƒtdt
 t t t tt
tktdkƒfdt
 t t dfƒk�sât‚t tttttƒ  tt
tfƒttt
 d t t t tt
tkttkƒftt
 d t t dfƒk�sJt‚d S rB   r;   r   r   r   r   Ú"test_deltasummation_mul_x_add_y_kd¥  s,    2ÿ"ÿ"ÿ"ÿ
2ÿ
:ÿ
( ÿrD   c                   C   s†  t ttdtttƒ   tddfƒtdt t dt  tdtktdkƒfdt t dfƒks^t‚t ttdtttƒ   tddfƒttt dt  t	tdƒftt dfƒks¬t‚t ttdtttƒ   tddfƒttt dt  t	tdƒftt dfƒksút‚t ttdtttƒ   tddfƒttt dt  t	tdƒftt dfƒk�sJt‚t ttdtttƒ   tdt
fƒtt
t t dt  tdtktt
kƒft
t t dfƒk�sªt‚t ttdtttƒ   tt
dfƒtdt
 t t dt  tt
tktdkƒfdt
 t t dfƒk�st‚t ttdtttƒ   tt
tfƒttt
 d t t dt  tt
tkttkƒftt
 d t t dfƒk�s‚t‚d S )Nr   r   r   Tr    r;   r   r   r   r   Ú%test_deltasummation_mul_x_add_y_twokd¶  s.     6ÿ &ÿ &ÿ &ÿ
 6ÿ
"( ÿ", ÿrE   c                   C   sÀ  t tt ttttƒ  tddfƒtdtt  t t t tdtktdkƒfdtt  t dfƒksft‚t tt ttttƒ  tddfƒttt t t t t	tdƒftt t dfƒks¼t‚t tt ttttƒ  tddfƒttt t t t t	tdƒftt t dfƒk�st‚t tt ttttƒ  tddfƒttt t t t t	tdƒftt t dfƒk�slt‚t tt ttttƒ  tdt
fƒtt
tt  t t t tdtktt
kƒft
tt  t dfƒk�sÔt‚t tt ttttƒ  tt
dfƒtdt
 tt  t t t tt
tktdkƒfdt
 tt  t dfƒk�sDt‚t tt ttttƒ  tt
tfƒttt
 d tt  t t t tt
tkttkƒftt
 d tt  t dfƒk�s¼t‚d S rB   r;   r   r   r   r   Ú(test_deltasummation_mul_add_x_y_add_y_kdÇ  s2    "( ÿ
 .ÿ .ÿ
 .ÿ
"( ÿ",þ"0þrF   c                   C   sê  t ttttƒ ttttƒ  tddfƒtttttƒt t	dtktdkƒfdƒdtttƒt  t  ƒkslt
‚t ttttƒ ttttƒ  tddfƒtttttƒt ttdƒfdƒtttƒt t  ƒksÌt
‚t ttttƒ ttttƒ  tddfƒtttttƒt ttdƒfdƒtttƒt t  ƒk�s.t
‚t ttttƒ ttttƒ  tddfƒtttttƒt ttdƒfdƒtttƒt t  ƒk�s�t
‚t ttttƒ ttttƒ  tdtfƒtttttƒt t	dtkttkƒfdƒttttƒt  t  ƒk�sþt
‚t ttttƒ ttttƒ  ttdfƒtttttƒt t	ttktdkƒfdƒdt tttƒt  t  ƒk�spt
‚t ttttƒ ttttƒ  tttfƒtttttƒt t	ttkttkƒfdƒtt d tttƒt  t  ƒk�sæt
‚d S )Nr   r   r*   r   r    )r4   r   r   r   r   r   r   r   r   r   r   r   r!   r   r   r   r   Ú)test_deltasummation_mul_add_x_kd_add_y_kdÚ  sF    ($ÿÿ
(ÿÿ
(ÿÿ(ÿÿ($ÿÿ($ÿÿ($ÿÿrG   c                   C   s   t tdd„ ƒ d S )Nc                   S   s   t tttƒtttƒ tƒS )N)r   r   r   r   r   r!   r   r   r   r   Ú<lambda>ó  ó    z$test_extract_delta.<locals>.<lambda>)r   Ú
ValueErrorr   r   r   r   Útest_extract_deltaò  s    rK   N)8Zsympy.concreter   Zsympy.concrete.deltar   r   r   r4   r   Z
sympy.corer   r   r   r	   Zsympy.functionsr
   r   r   r   Zsympy.logicr   Zsympy.testing.pytestr   r   r   r   r!   r%   r   r   r   r"   r#   r$   r&   r'   r(   r+   r.   r/   r2   r3   r5   r7   r9   r:   r<   r=   r?   r@   rA   rC   rD   rE   rF   rG   rK   r   r   r   r   Ú<module>   sD   



