o
    oÇh=]  ã                   @   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)ÚintegerÚfinitezx yF)Úcommutativec                   C   s  t ttddfƒdksJ ‚t ttddfƒtd ksJ ‚t tt tddfƒtt d ks,J ‚t tt tddfƒtt d ks>J ‚t tttƒtddfƒtttƒksPJ ‚t ttttƒ tddfƒtd tttƒ kshJ ‚t tt tttƒ tddfƒtt d tttƒ ks„J ‚d S ©Né   r   é   )ÚdpÚxÚjÚyÚKDÚiÚk© r   r   ús/var/www/html/construction_image-detection-poc/venv/lib/python3.10/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J ‚t tttƒtddfƒttdƒks!J ‚t tttƒtddfƒttdƒks3J ‚t tttƒtddfƒttdƒksEJ ‚t tttƒtdtfƒttdƒttdƒ ttdƒ ksaJ ‚t tttƒttdfƒttdƒttdƒ ttdƒ ks}J ‚t tttƒtttfƒtttƒtttƒ tttd ƒ ks›J ‚d S ©Nr   r   r   é   é   )r   r   r   r   r   Úlr   r   r   r   Útest_deltaproduct_basic   s   $$$88@r#   c                   C   sn  t ttttƒ tddfƒdksJ ‚t ttttƒ tddfƒtttdƒ ks'J ‚t ttttƒ tddfƒtttdƒ ks=J ‚t ttttƒ tddfƒtttdƒ ksSJ ‚t ttttƒ tdtfƒtttdƒ ttdƒ ttdƒ kssJ ‚t ttttƒ ttdfƒtttdƒ ttdƒ ttdƒ ks“J ‚t ttttƒ tttfƒttttƒ tttƒ tttd ƒ ksµJ ‚d S r   )r   r   r   r   r   r   r"   r   r   r   r   Útest_deltaproduct_mul_x_kd    s   ",,,@@Hr$   c                   C   s¢  t tt tttƒ tddfƒdksJ ‚t tt tttƒ tddfƒtt ttdƒ ks-J ‚t tt tttƒ tddfƒtt ttdƒ ksGJ ‚t tt tttƒ tddfƒtt ttdƒ ksaJ ‚t tt tttƒ tdtfƒtt ttdƒ ttdƒ ttdƒ ks…J ‚t tt tttƒ ttdfƒtt ttdƒ ttdƒ ttdƒ ks©J ‚t tt tttƒ tttfƒtt tttƒ tttƒ tttd ƒ ksÏJ ‚d S 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J ‚t tttƒtttƒ tddfƒttdƒttdƒ ks0J ‚t tttƒtttƒ tddfƒttdƒttdƒ ksLJ ‚t tttƒtttƒ tddfƒttdƒttdƒ kshJ ‚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s±J ‚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úJ ‚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sNJ ‚d S 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J ‚t ttttƒtttƒ  tddfƒtttdƒttdƒ  ks6J ‚t ttttƒtttƒ  tddfƒtttdƒttdƒ  ksVJ ‚t ttttƒtttƒ  tddfƒtttdƒttdƒ  ksvJ ‚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ÍJ ‚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s%J ‚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‡J ‚d S r   )r   r   r   r   r   r   r"   r&   r   r   r   r   Ú!test_deltaproduct_mul_x_add_kd_kdG   s>   ,@@@*ÿÿ$þ$
þ*ÿÿ$þ$þ.ÿÿ,þ,ýr(   c                   C   sj  t tt tttƒtttƒ  tddfƒdksJ ‚t tt tttƒtttƒ  tddfƒtt ttdƒttdƒ  ks<J ‚t tt tttƒtttƒ  tddfƒtt ttdƒttdƒ  ks`J ‚t tt tttƒtttƒ  tddfƒtt ttdƒttdƒ  ks„J ‚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åJ ‚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sGJ ‚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s³J ‚d S 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sBJ ‚t tt ttttƒ  tddfƒtt tttdƒ  ks`J ‚t tt ttttƒ  tddfƒtt tttdƒ  ks~J ‚t tt ttttƒ  tddfƒtt tttdƒ  ksœJ ‚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ÓJ ‚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J ‚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sKJ ‚d S ©Nr   r   r    ©r   Tr!   )
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@J ‚t tttttƒ  tddfƒttttdƒ  ksZJ ‚t tttttƒ  tddfƒttttdƒ  kstJ ‚t tttttƒ  tddfƒttttdƒ  ksŽJ ‚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ÅJ ‚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ÿJ ‚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<J ‚d S r*   ©r   r   r   r   r   r   r   r   r   Úexpandr"   r   r   r   r   Ú test_deltaproduct_mul_x_add_y_kd…   s@   &ÿÿ
ÿ444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sHJ ‚t ttdtttƒ   tddfƒttdttdƒ   ksfJ ‚t ttdtttƒ   tddfƒttdttdƒ   ks„J ‚t ttdtttƒ   tddfƒttdttdƒ   ks¢J ‚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ÝJ ‚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J ‚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]J ‚d S )Nr    r   r   r+   r!   r-   r   r   r   r   Ú#test_deltaproduct_mul_x_add_y_twokdœ   s@   *ÿ ÿ
ÿ<<< 8þýÿ 8þ
ü 8þür0   c                   C   sR  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sPJ ‚t tt ttttƒ  tddfƒtt tttdƒ  ksnJ ‚t tt ttttƒ  tddfƒtt tttdƒ  ksŒJ ‚t tt ttttƒ  tddfƒtt tttdƒ  ksªJ ‚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õJ ‚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sKJ ‚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s§J ‚d S ©Nr   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³   sj   . ÿ$þ 
ý<<< 0ÿÿÿþÿ ÿÿÿÿÿÿþþÿ .2ÿÿÿþÿr3   c                   C   s8  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shJ ‚t ttttƒ ttttƒ  tddfƒttttƒ tttdƒ  ksŒJ ‚t ttttƒ ttttƒ  tddfƒttttƒ tttdƒ  ks°J ‚t ttttƒ ttttƒ  tddfƒttttƒ tttdƒ  ksÔJ ‚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s5J ‚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s£J ‚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J ‚d S r1   )	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ÿÿÿþýÿ&ÿÿÿÿ"ÿÿÿÿÿÿÿþþþr4   c                   C   s  t ttddfƒdksJ ‚t ttddfƒdt ksJ ‚t tt tddfƒdtt  ks,J ‚t tt tddfƒdt t ks>J ‚t tttƒtddfƒdtttƒ ksRJ ‚t ttttƒ tddfƒdt tttƒ ksjJ ‚t tt tttƒ tddfƒdt t tttƒ ks†J ‚d S r   )Údsr   r   r   r   r   r   r   r   r   r   Útest_deltasummation_trivialæ   s   $$(0<r6   c                  C   s6  t dddd} tt| dƒ| ddfƒdksJ ‚tttd td ƒtt tfƒtttd td ƒtt tfƒks8J ‚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rnttttƒtttƒ tddfƒksqJ ‚ J ‚ttttƒtt tfƒdksJ ‚ttttƒtdtfƒtdt
jtkfdƒks˜J ‚ttttƒtddfƒtdt	dtktdkƒfdƒks³J ‚tttttƒ tttƒ tt tfƒttttƒ ksÏJ ‚tttttƒ tt tfƒtksáJ ‚tttttƒ tt tfƒtksóJ ‚tttddfƒdt ksJ ‚ttt tttƒ tt tfƒdt ksJ ‚d S )	NÚnT)r   Únonzeror   r   r   r    r+   )r   r5   r   r   r   r	   r   r   r   r   r   ÚZeror   )r7   r   r   r   Ú#test_deltasummation_basic_numericalð   s(   ÿ ÿþ .ÿ8$$2r:   c                   C   sf  t tttƒtddfƒtdtdtktdkƒfdƒksJ ‚t tttƒtddfƒtdttdƒfdƒks2J ‚t tttƒtddfƒtdttdƒfdƒksIJ ‚t tttƒtddfƒtdttdƒfdƒks`J ‚t tttƒtdtfƒtdtdtkttkƒfdƒks{J ‚t tttƒttdfƒtdtttktdkƒfdƒks–J ‚t tttƒtttfƒtdtttkttkƒfdƒks±J ‚d S ©Nr   r   r+   r    )	r5   r   r   r   r   r   r   r   r"   r   r   r   r   Ú"test_deltasummation_basic_symbolic  s   ÿ...ÿÿÿr<   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J ‚t ttttƒ tddfƒttttdƒfdƒks6J ‚t ttttƒ tddfƒttttdƒfdƒksOJ ‚t ttttƒ tddfƒttttdƒfdƒkshJ ‚t ttttƒ tdtfƒtttdtkttkƒfdƒks…J ‚t ttttƒ ttdfƒtttttktdkƒfdƒks¢J ‚t ttttƒ ttt	fƒtttttktt	kƒfdƒks¿J ‚d S r;   )
r5   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s!J ‚t tt tttƒ tddfƒttt ttdƒfdƒks>J ‚t tt tttƒ tddfƒttt ttdƒfdƒks[J ‚t tt tttƒ tddfƒttt ttdƒfdƒksxJ ‚t tt tttƒ tdt	fƒttt tdtktt	kƒfdƒks™J ‚t tt tttƒ tt	dfƒttt tt	tktdkƒfdƒksºJ ‚t tt tttƒ tt	t
fƒttt tt	tktt
kƒfdƒksÛJ ‚d S r;   ©r5   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   sx  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s0J ‚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sXJ ‚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€J ‚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¨J ‚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ØJ ‚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	J ‚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s:J ‚d S r;   )r5   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s2J ‚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\J ‚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†J ‚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°J ‚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âJ ‚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sJ ‚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sHJ ‚d S r;   ©r5   r   r   r   r   r   r   r   r   r   r"   r&   r   r   r   r   Ú#test_deltasummation_add_mul_x_kd_kdL  óF   $ÿ
ÿ$ÿ
ÿ$ÿ
ÿ$ÿ
ÿ$ÿ
ÿ$ÿÿ$ÿÿrB   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s2J ‚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\J ‚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†J ‚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°J ‚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âJ ‚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sJ ‚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sHJ ‚d S r;   rA   r   r   r   r   Ú#test_deltasummation_mul_x_add_kd_kdd  rC   rD   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s8J ‚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shJ ‚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˜J ‚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ÈJ ‚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J ‚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s:J ‚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ssJ ‚d S r;   )r5   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   (ÿ
ÿ(ÿ
ÿ(ÿ
ÿ(ÿ
ÿ(ÿÿ(ÿÿ(ÿÿrE   c                   C   sd  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s-J ‚t tt ttttƒ  tddfƒttt t ttdƒftt dfƒksRJ ‚t tt ttttƒ  tddfƒttt t ttdƒftt dfƒkswJ ‚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œJ ‚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ÉJ ‚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úJ ‚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s0J ‚d S ©Nr   r   Tr    r!   r>   r   r   r   r   Ú(test_deltasummation_add_mul_x_y_mul_x_kd”  s*    2ÿ "ÿ "ÿ "ÿ 2ÿ :ÿ">ÿrG   c                   C   sH  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s+J ‚t tttttƒ  tddfƒttt t ttdƒftt dfƒksNJ ‚t tttttƒ  tddfƒttt t ttdƒftt dfƒksqJ ‚t tttttƒ  tddfƒttt t ttdƒftt dfƒks”J ‚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¿J ‚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îJ ‚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s"J ‚d S rF   r>   r   r   r   r   Ú"test_deltasummation_mul_x_add_y_kd¥  s*   2ÿ"ÿ"ÿ"ÿ2ÿ:ÿ>ÿrH   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/J ‚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sVJ ‚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}J ‚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¤J ‚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ÓJ ‚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J ‚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?J ‚d S )Nr    r   r   Tr!   r>   r   r   r   r   Ú%test_deltasummation_mul_x_add_y_twokd¶  s*    6ÿ &ÿ &ÿ &ÿ 6ÿ":ÿ"BÿrI   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s3J ‚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^J ‚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‰J ‚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´J ‚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çJ ‚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sJ ‚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[J ‚d S rF   r>   r   r   r   r   Ú(test_deltasummation_mul_add_x_y_add_y_kdÇ  s.   ":
ÿ .ÿ .ÿ .ÿ":
ÿ",þ"0þrJ   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s6J ‚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sfJ ‚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–J ‚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ÆJ ‚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üJ ‚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s5J ‚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spJ ‚d S )Nr   r   r+   r    r!   )r5   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   ($ÿ
ÿ(ÿ
ÿ(ÿ
ÿ(ÿ
ÿ($ÿ
ÿ($ÿÿ($ÿÿrK   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>ó  s    z$test_extract_delta.<locals>.<lambda>)r   Ú
ValueErrorr   r   r   r   Útest_extract_deltaò  s   rN   N)8Úsympy.concreter   Úsympy.concrete.deltar   r   r   r5   r   Ú
sympy.corer   r   r   r	   Úsympy.functionsr
   r   r   r   Úsympy.logicr   Úsympy.testing.pytestr   r   r   r   r"   r&   r   r   r   r#   r$   r%   r'   r(   r)   r,   r/   r0   r3   r4   r6   r:   r<   r=   r?   r@   rB   rD   rE   rG   rH   rI   rJ   rK   rN   r   r   r   r   Ú<module>   sF    



