U
    —9%e=]  ã                   @   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/Darija-Ai-API/env/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st‚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st
‚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   



