U
    	Ç-eßW  ã                   @   s"  d dl mZ d dl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 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! d dl"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z) d dl*m+Z+ d dl,m-Z- d dl*m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 d dl7m8Z8m9Z9m:Z: edƒ\Z;Z<Z=eddd\Z>Z?Z@edƒedƒ ZAZBdd„ ZCdd„ ZDdd „ ZEd!d"„ ZFd#d$„ ZGd%d&„ ZHe:d'd(„ ƒZIe:d)d*„ ƒZJd+d,„ ZKd-d.„ ZLd/d0„ ZMd1d2„ ZNd3d4„ ZOe9d5d6„ ƒZPd7d8„ ZQd9d:„ ZRd;d<„ ZSd=d>„ ZTd?d@„ ZUdAdB„ ZVdCS )Dé    )ÚSum)ÚAdd)Ú
DerivativeÚFunction)ÚMul)ÚIÚRationalÚooÚpi)ÚS)Úsymbols)Ú	factorial)ÚexpÚlog)ÚacoshÚasech)Úsqrt)ÚacosÚasinÚatanÚcosÚsin)Úairyai)Úerf)Úgamma)Ú	integrate)Úfps)ÚO)	Úrational_algorithmÚFormalPowerSeriesÚFormalPowerSeriesProductÚFormalPowerSeriesComposeÚFormalPowerSeriesInverseÚsimpleDEÚrational_independentÚexp_reÚhyper_re)ÚraisesÚXFAILÚslowzx y zzn m kT)ÚintegerÚfÚrc                  C   s  dt d d t d   } t| t tƒdt d   d ttd ƒttƒ  ddfksVt‚dt  t d  t d  t d t d   } t| t tƒddt d   d t d dfks®t‚ttt tt   tt   t d   } t| t tƒtt d   t tt  tt d  t tt   ddfks t‚t dt  t d   } t| t tƒd ksJt‚t| t tddtd	dƒt	d
ƒd  t d  t	d
ƒ d t
j  t	d
ƒ d t
j t d  t	d
ƒd t
j   ddfksÊt‚dt d dt   d  } t| t tƒd ksøt‚t| t tddtd	t t d   d td	t t d   d  ddfksHt‚tdt  ƒ} t| t tƒd	t   t ddfks|t‚tt ƒ} t| t tƒd ksšt‚t| t tddttt   d tt t   d  t ddfksàt‚t tt ƒ tdt d  ƒd  } t| t tƒd kst‚t| t tddttt d   d tt t d   d  ttd   ddfkslt‚tdt  dt   ƒd tt ƒ } t| t tƒd ks¢t‚t| t tddd	t   d ttt   d  tt t   d  t
j t ddfksþt‚ttt ƒt tƒd kst‚d S )Né   é   r   é   iñÿÿÿé   T©Úfulléÿÿÿÿé   é
   )Úxr   Úkr   ÚAssertionErrorÚzÚyÚmr   r   r   ÚHalfr   r   r   r   ©r+   © r>   ú_/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/series/tests/test_formal.pyÚtest_rational_algorithm   s~    
,ÿ(
ÿ$
:ÿ
ÿÿþ ýÿ
8ÿ

ÿ
.ÿ
 ,
ÿ ÿÿ
 4ÿÿ ÿÿ
r@   c                  C   s   t } | g tƒg kst‚| ttƒttƒgtƒttƒttƒgks@t‚| td ttƒtttƒ td gtƒtd td  tttƒ ttƒ gksŽt‚| tjtttƒ ttƒttƒt ttƒttƒtgtƒtd tttƒ ttƒ ttƒt ttƒ ttƒgksüt‚d S )Nr.   r/   r-   )r$   r6   r8   r   r   r   ZOner   )Úrir>   r>   r?   Útest_rational_independentP   s    *$"ÿ42ÿrB   c                  C   s4  t ttƒttƒD ],} | ttƒ tttƒtƒ dfks8t‚ q>qt ttƒttƒD ],} | ttƒtttƒttƒ dfksvt‚ q|qNt tdt ƒttƒD ]:} | td tttƒtdƒ tttƒtƒ dfksÆt‚ qÌqt ttƒttƒD ]F} | ttttƒtƒ td d tttƒttƒ  dfkst‚ q$qÜt ttƒttƒ ttƒD ]F} | dttƒ dtttƒƒ  tttƒttƒ dfkszt‚ q„q<t dt dt  t	 ttƒD ]D} | dt	 ttƒ td d tttƒtƒ  dfksÜt‚ qæq t t
tƒttƒD ]8} | t ttƒ tttƒttƒ dfks&t‚ q0qöd S )Nr-   r.   )r#   r   r6   r+   r   r8   r   r   r   Únr   )ZDEr>   r>   r?   Útest_simpleDEZ   s.    $$2.ÿ:
 8
,rD   c                  C   sv  t tƒ tt tƒtƒ } t| ttƒttƒ ttd ƒ ks>t‚t tƒtt tƒttƒ } t| ttƒttƒttd ƒ kszt‚t tƒtt tƒtƒ tt tƒttƒ } t| ttƒttƒttd ƒ ttd ƒ ksÐt‚tt tƒtƒtt tƒttƒ } t| ttƒttƒttd ƒ kst‚tt tƒtdƒtt tƒtdƒ tt tƒƒ } t| ttƒttƒttd ƒ ttd ƒ ksrt‚d S )Nr-   r.   r/   r0   )r+   r6   r   r%   r,   r7   r8   ©Údr>   r>   r?   Útest_exp_ret   s    &$&0&,rG   c                  C   sÆ  t tƒtt tƒttƒ } t| ttƒttƒtd td  ttd ƒ  ksLt‚t t tƒ tt tƒttƒ } t| ttƒtd td  ttd ƒ ttƒ ksžt‚dt tƒ dtt tƒtƒ  tt tƒttƒ } t| ttƒdt d ttd ƒ td td  ttd ƒ  dttƒ  kst‚dt t tƒ td d tt tƒtƒ  } t| ttƒtttƒ dt ttd ƒ  t d ttd ƒ  kst‚td d tt tƒtƒ ttd d  tt tƒttƒ  } t| ttƒttd  t ttƒ dt td td   d ttd ƒ  kst‚td d tt tƒtdƒ dt tt tƒttƒ  tt tƒtƒ } t| ttƒttd  td  dt td   t ttƒ t td  td  ttd ƒ  ksÂt‚d S )	Nr-   r.   r/   éþÿÿÿr5   r0   é	   é(   )r+   r6   r   r&   r,   r7   r8   rC   rE   r>   r>   r?   Útest_hyper_re…   s0    44.
>ÿ
*
4ÿ
:
>ÿ
2ÿ
. ÿÿrK   c                  C   s2  t dƒdkst‚t dtƒdks"t‚t dtdddks8t‚t dtdddksNt‚t dt dtd   ƒdt dtd   ks~t‚t tdt ƒdddtdt ƒks¤t‚t td t d ƒ} t| tƒsÆt‚| jtd t d ksàt‚| d dksðt‚| d td kst‚|  d	¡td t d ttd	 ƒ ks2t‚|  	¡ td t d ksPt‚t tdt ƒƒ} t| tƒspt‚| jtdt ƒksˆt‚|  
tt¡| ksžt‚| d d
… dttd  d td d td	  d	 gksÚt‚|  t¡tksît‚|  	d¡ttd d  td d  td	 d	  td
 d
  ks2t‚| jjd }| jtd|   t|  | |dtfƒksnt‚| jd d| d d
…  }}t|ƒD ],\}}|d
kr¨ q¾|| |kst‚qttƒ  t¡} t| tƒsÜt‚|  ¡ ttd d  td
 d  ttd ƒ kst‚ttdd„ ƒ ttdd„ ƒ d S )Nr-   r.   ú+©Údirú-F)ZhyperÚrationalr   r0   r4   r/   é   r3   ©rC   éx   c                   S   s   t tt ƒS ©N)r   r:   r6   r>   r>   r>   r?   Ú<lambda>Ä   ó    ztest_fps.<locals>.<lambda>c                   S   s   t tddS )Nr   rM   )r   r6   r>   r>   r>   r?   rU   Å   rV   )r   r8   r6   r   Ú
isinstancer   ÚfunctionÚtruncater   Ú
polynomialÚsubsr:   Zas_leading_termÚakÚ	variablesÚinfiniter   r	   Ú	enumerater   r'   ÚNotImplementedErrorÚ
ValueError)r+   r7   ÚftÚsÚiÚtr>   r>   r?   Útest_fpsŸ   s@    0&,<D0
6rf   c                  C   sr  t dt ƒdt kst‚t td t d td  ddtd t d td  ksTt‚dtd d td   } t | tƒ ¡ tddƒttddƒ  dtd  d	  d
td  d  dtd  d  dtd  d  ttd ƒ ksât‚dt td  td  td td   } t | tƒ ¡ tjttddƒ  dtd  d	  d
td  d  dtd  d  dtd  d  ttd ƒ ks~t‚tdt td   } t | tdd ¡ ttd  dtd   dtd   dtd   ttd ƒ ksæt‚dtd dt  d  } t | tdd ¡ tjtd  td d  td d	  td d	  ttd ƒ ksTt‚tdt ƒ} t | tƒ ¡ ttd d  td d  td d  td d  ttd ƒ ks´t‚t | tdd ¡ t | tdd ¡ ksÞt‚t | tdƒ ¡ tdƒtddƒ td d d  td d d  td d d  td d d  td  ttd d tdfƒ ksdt‚t | tddd ¡ tdƒtddƒ t d d d  t d d d  t d d d  t d d d  td  ttd d tdfƒ ksöt‚t	tƒ} t | tdd ¡ ttd d  td d  ttd ƒ ks>t‚t | tddd ¡ t | tddd ¡ kslt‚t | tddd ¡ t	dƒtddƒ dtd d  d  dtd d  d  dtd d  d  dtd d  d  td  ttd d tdfƒ kst‚t | tdddd ¡ t	dƒtddƒ dt d d  d  dt d d  d  dt d d  d  dt d d  d  td  ttd d tdfƒ ksªt‚tt	tƒ tdtd  ƒd  } t | tdd ¡ td d td d   ttd ƒ kst‚tdt dt  ƒd t	tƒ } t | tddjd!d"dtd  d dtd#  d#  ttd! ƒ ksnt‚d S )$Nr-   r.   r/   r3   rM   r4   r0   é   é   é1   é   é   é    iA  é@   rQ   éq   éñ   Tr1   é   éQ   éD  é¿  )r2   rN   é   é   iw  iq  é)   i	=  é   r5   rR   é   )
r   r6   r8   rY   r   r   r   r<   r   r   r=   r>   r>   r?   Útest_fps__rationalÈ   s¨    <Fÿ
ÿÿ(Bÿ
ÿÿ
:ÿ
<ÿ
>ÿ
*0ÿÿÿÿÿ
4ÿÿÿÿÿ
@ÿ
8ÿÿÿÿÿ
<ÿÿÿÿÿ
 < ry   c                  C   sº  t tƒ} t| tƒ ¡ ttd d  td d  ttd ƒ ksBt‚ttƒ} t| tƒ ¡ dtd d  td d  ttd ƒ ks„t‚ttƒ} t| tƒ ¡ dt td d  td d  td d  td d  ttd ƒ ksât‚ttƒ} t| tƒ ¡ ttd d  td d  ttd ƒ ks&t‚tt	tƒƒ} t| tƒ ¡ tt
d ƒttt
d ƒ  td tt
d ƒ d  td tt
d ƒ d  dtd  tt
d ƒ d  td tt
d ƒ d  ttd ƒ ksÒt‚tttƒƒ} t| tƒ ¡ tt ttd  d  ttd  d	  ttd ƒ ks&t‚tdt ƒ} t| tƒ ¡ t
d t td d  td d  ttd ƒ ksvt‚tttƒ tdtd  ƒd  } t| td
d ¡ td d td d  ttd ƒ ksÒt‚tdt ƒ} t| td
d ¡ ttd d  td d  td d  td d  ttd ƒ ks6t‚ttd ƒ} t| tƒ ¡ dtddƒ ttddƒƒ dt
  dtddƒ td  dttddƒƒ   ttd ƒ ks®t‚ttƒt tƒ } t| tƒ ¡ ttd  td d  td d  ttd ƒ kst‚ttƒt tƒ t } t| tƒ ¡ dt td d  td d  td d  ttd ƒ ksbt‚t tƒttƒ } t| tƒ ¡ tdtd  d  dtd  d  ttd ƒ ks¶t‚d S )Nr/   rQ   r4   rS   r-   r.   r0   é   rh   F©rP   rw   é   éZ   é   )r   r6   r   rY   r   r8   r   r   r   r   r
   r   r   r   r   r   r   r=   r>   r>   r?   Útest_fps__hyperü   sX    ::Bÿ<Jÿÿ
ÿÿ
HD <>ÿ
"&ÿ
ÿÿ
DLr   c                  C   sz  t d tt ƒ } t| t ƒ ¡ dt d  ddt d    tddƒ t d d  t d d  tt d ƒ kslt‚t d tt ƒ } t| t d	d
 ¡ t d t d d  tt d ƒ ks²t‚tt	t ƒƒt  } t| t ƒ ¡ t t d d  t d d  t d d  t d d  tt d ƒ kst‚t d tt	t ƒƒ } t| t ƒ ¡ t d t d d  t d d  t d d  tt d ƒ ksvt‚d S )Néûÿÿÿr-   r0   rQ   r.   rS   é°  é€‰ Fr{   r/   r4   rz   éÐ  é€  )
r6   r   r   rY   r   r   r8   r   r   r   r=   r>   r>   r?   Útest_fps_shift,  s     Hÿÿ>ÿ
6ÿr…   c                  C   s˜  t tt ƒ tdt d  ƒd  } t| t ƒ ¡ t d d t d d  tt d ƒ ksVt‚tt ƒtt ƒ t	t ƒ tdt  ƒ } t| t ƒ ¡ t dt d  d  t d d  t d d  tt d ƒ ksÄt‚dt  tt ƒ } t| t ƒ ¡ dt  t  t d d  t d d  tt d ƒ kst‚tt ƒtt ƒ dt d   } t| t ƒ ¡ d	t d d  d
t d  d  dt d  d  dt d  d  tt d ƒ ks”t‚d S )Nr-   r.   r0   rw   rQ   r/   r4   rS   rH   rx   rt   rz   éw   )
r6   r   r   r   rY   r   r8   r   r   r   r=   r>   r>   r?   Útest_fps__Add_expr>  s     6$JDJÿr‡   c                  C   sŠ  t tƒ} t| ttƒ| kst‚t| tt ƒ ¡ tdtd  ttfƒksHt‚ttƒ} t| ttƒ ¡ dtdtd  ttfƒ ks~t‚t| tt ƒ ¡ dtdtd  ttfƒ ks®t‚ttƒ} t| ttdd ¡ ddtd   ddtd    dt  t	d  tdtd  ttfƒ kst‚t| tt dd ¡ ddtd   ddtd    dt  t	d  tdtd  ttfƒ ksxt‚t
dt ƒ} t| ttƒddtd   dd	td	    ddtd    ddtd    dt  t
dt ƒ tdtd  ttfƒ ks t‚t| tt ƒddtd   dd	td	    ddtd    ddtd    dt  tt	  t
dt ƒ tdtd  ttfƒ ks†t‚d S )
Nr-   rQ   r3   Tr1   r4   r/   r.   r0   )r   r6   r   r	   r8   rY   r   r   r   r
   r   r   r=   r>   r>   r?   Útest_fps__asymptoticM  s4    ,.0Dÿ
Dÿ

Rÿÿ
N
ÿÿÿrˆ   c                  C   sr  t ttƒƒt } t| tƒ ¡ dttƒ ttƒd  ttddƒ d  ttddƒ d  ttddƒ d	  ttd
dƒ d  ttddƒ d  ttd ƒ ks t‚t ttƒƒt } t| tƒ ¡ ttddƒ ttddƒ d  ttddƒ d  ttd
dƒ d  ttddƒ d	  ttd ƒ ks&t‚tttƒƒtd  } t| tƒ ¡ ttddƒ ttddƒ d  tt	j
 d  ttddƒ d  ttddƒ d
  ttddƒ d  ttd
dƒ d  ttddƒ d  ttd ƒ ksât‚tttƒƒ} t| tƒ ¡  ¡ dtd  td d  td d  td d  td d  ttƒ ttddƒ d  ttddƒ d  ttddƒ d  ttd
dƒ d	  ttddƒ d  ttd ƒ ks°t‚tttƒƒt } t| tƒ ¡  ¡ ttd d  td d  td d  td d  ttddƒ  ttddƒ d  ttddƒ d  ttd
dƒ d  ttddƒ d	  ttd ƒ ksnt‚d S )Nr-   rQ   r/   r.   rS   r4   r   rx   r‚   rI   i aru   l    LQf éýÿÿÿr3   é   r~   rz   rƒ   r0   r„   i _7 )r   r   r6   r   rY   r   r   r8   r   r   r<   r   Úexpandr=   r>   r>   r?   Útest_fps__fractionale  sŒ    (ÿÿþþ
þÿ0ÿÿ
ÿÿ
,ÿÿÿþþ
þÿ
Bÿÿÿþþ
þÿ
@ÿÿÿþ
þÿrŒ   c                  C   sÈ   t ddt  ƒ} t| tƒt tƒ t td d  td d  td d  td d  ttd ƒ ksht‚t| tddt tƒ t td d  td d  td d  td d  ttd ƒ ksÄt‚d S )	Nr-   r.   r/   r0   r4   rQ   Fr{   )r   r6   r   r   r8   r=   r>   r>   r?   Ú!test_fps__logarithmic_singularity„  s    HÿHÿr   c                  C   sR   t tƒ} t| tƒtdƒttƒ td d  dtd  d  ttd ƒ ksNt‚d S )Nr.   r0   r/   rm   rQ   )r   r6   r   r   r   r8   r=   r>   r>   r?   Ú&test_fps__logarithmic_singularity_failŒ  s    rŽ   c                  C   sÚ  t t tt d ƒ } t| t ƒ d¡t td  t td  d  tt td  t ƒ ksVt‚t t tdt  ƒ } t| t ƒ}|jj	d }|j
td|   t |t   | |dtfƒks²t‚t d t tdt  ƒ } t| t dƒ ¡ t d t tdƒ t d td  d  t d td  d  t d td  d	  t d td
  d  t d td  d  tt d td  t dfƒ ksrt‚t td  tt ƒ } t| t ƒ ¡ t td  t t d  t td  d  tt td
  t ƒ ksÔt‚t td  tt ƒ t t tt ƒ  } t| t ƒ ¡ t td  t td   t td  d  t t  t td
  d  t td  d  tt td  t ƒ ksnt‚t t tt ƒ } t| t tƒ ¡ t td   d t td  d  t t td dt     tdt  t  t d  t tfƒ ksît‚t td  tt ƒ } t| t ƒ ¡ t td  t td d  d  t td d
  d  tt td d  t ƒ ks`t‚t tt  tt ƒ } t| t ƒ ¡ t tt d  t tt d  d  t tt d  d  tt tt d  t ƒ ksÖt‚d S )Nr.   rh   rQ   r-   r   r3   r/   rp   rq   r0   rr   r4   rs   rz   é<   rS   )r6   rC   r   r   rY   r   r8   r   r\   r]   r^   r   r	   r   r   r   r
   r;   )r+   Úfpr7   r>   r>   r?   Útest_fps_symbolic’  s\    B
&ÿNÿÿÿÿ
8ÿ
$.ÿÿÿÿ
8ÿÿ
Hÿ
Lÿr‘   c                  C   sf   t tt ƒ tdt  ƒ } t| t ƒ ¡ dt d  dt d   t d d  t d  tt d ƒ ksbt‚d S )Nr.   r/   r0   r4   rQ   )r6   r   r   r   rY   r   r8   r=   r>   r>   r?   Útest_fps__slow¸  s    r’   c                     s¨  t ttƒƒt ttƒƒ ‰ } ˆ |  }|jttƒttƒ ks<t‚| ¡ dt td d  td d  td d  td d  ttd ƒ ksŒt‚ˆ d }|jttƒd ksªt‚| ¡ dt td d  td d  ttd ƒ ksât‚d|  }|jttƒd kst‚| ¡ dtd d  td d  ttd ƒ ks8t‚ˆ t tˆ tƒksPt‚|  ¡  d	td d  td d  ttd ƒ ksˆt‚ˆ ˆ  t	j
ksœt‚ˆ |  }|jttƒttƒ ksÀt‚| ¡ d	t td d  td d  td d  td d  ttd ƒ kst‚ˆ d }|jttƒd ks2t‚| ¡ d	t td d  td d  ttd ƒ kslt‚d|  }|jttƒ d ksŽt‚| ¡ td d td d  ttd ƒ ksÀt‚tt‡ fd
d„ƒ tt‡ fdd„ƒ ˆ d }|jdttƒ kst‚| ¡ dt td d  td d  ttd ƒ ks>t‚d|  }|jdttƒ ks^t‚| ¡ ddtd  d  td d  ttd ƒ ks˜t‚ˆ |  tˆ | ƒks°t‚ˆ t tˆ tƒksÈt‚ˆ  ¡ }|jttƒksät‚| ¡ dtd d  td d  ttd ƒ kst‚|  ¡ }|jttƒ ks8t‚| ¡ t td d  td d  ttd ƒ kspt‚|  ¡  ¡ }|jttƒ ks’t‚| ¡ d	td d  td d  ttd ƒ ksÈt‚t tttƒƒƒ}| ¡ }| ¡  ¡ ddttƒ  t	j td  td d  td d  td d  td d  ttƒd  ttddƒ d  ttddƒ d  ttddƒ d  ttddƒ d  ttddƒ d  ttd ƒ ks²t‚ˆ  tddf¡tdƒ d ksÖt‚tˆ tddfƒtdƒ d ksút‚tˆ tƒ}|jttƒ kst‚| ¡ d	td d  td d  ttd ƒ ksPt‚|  t¡}|jttƒksnt‚| ¡ ttd d  td d  ttd ƒ ks¤t‚d S )Nr-   r.   r/   rQ   r0   rz   r4   rS   r3   c                      s   ˆ t ttƒdd S )Nr3   rM   ©r   r   r6   r>   ©Úf1r>   r?   rU   ß  rV   z&test_fps__operations.<locals>.<lambda>c                      s   ˆ t ttƒdd S )Nr-   ©Zx0r“   r>   r”   r>   r?   rU   à  rV   rJ   rh   rw   éð   i`'  i  i *Âé0   i   rx   i ; rI   i ¾n ru   i ø9r   )r   r   r6   r   rX   r8   rY   r   r   r   ZZeror'   ra   r   Údiffr   r   r‹   r<   r   r   )Úf2ÚfsumZfsubÚfmÚfdÚf3Úfir>   r”   r?   Útest_fps__operations½  s”    Bÿ868Bÿ
:2::686
@
ÿ
ÿÿÿþþþ
ýÿ
$$
6
r    c                     s  t ttƒƒt ttƒƒt ttƒƒ  ‰ } }tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ ˆ  | t¡‰tˆt	ƒsŠt
‚tˆjtƒsšt
‚tˆjtƒsªt
‚ˆjttƒks¼t
‚ˆjttƒksÎt
‚ˆjttƒttƒ ksèt
‚ˆ d¡ttd  td d  kst
‚ˆ d¡ttd  td d  ttd ƒ ksDt
‚ˆ d¡ttd  td d  kslt
‚tt‡fd	d„ƒ tt‡fd
d„ƒ tt‡fdd„ƒ tt‡fdd„ƒ ˆ  |t¡ d¡tdtd  d  ksàt
‚ˆ  |t¡ d¡tdtd  d  ttd ƒ kst
‚d S )Nc                      s   ˆ   ttƒt¡S rT   )Úproductr   r6   r>   r”   r>   r?   rU     rV   z#test_fps__product.<locals>.<lambda>c                      s   ˆ   tttƒddtd¡S ©Nr3   rM   r0   ©r¡   r   r   r6   r>   r”   r>   r?   rU     rV   c                      s   ˆ   tttƒddtd¡S ©Nr-   r–   r0   r£   r>   r”   r>   r?   rU     rV   c                      s   ˆ   tttƒƒtd¡S ©Nr0   )r¡   r   r   r:   r6   r>   r”   r>   r?   rU     rV   r0   r.   r/   c                      s
   ˆ   d¡S ©Nr4   ©Z
_eval_termr>   ©Úfprodr>   r?   rU   !  rV   c                      s   ˆ j S rT   ©r^   r>   r¨   r>   r?   rU   "  rV   c                      s
   ˆ   t¡S rT   ©Z_eval_derivativer6   r>   r¨   r>   r?   rU   #  rV   c                      s
   ˆ   t¡S rT   ©r   r6   r>   r¨   r>   r?   rU   $  rV   )r   r   r6   r   r   r'   ra   r¡   rW   r    r8   Úffpsr   Úgfpsr+   ÚgrX   Ú_eval_termsrY   r   rZ   r`   ©rš   rž   r>   )r•   r©   r?   Útest_fps__product  s*    ((4(,r²   c                      sÌ  t ttƒƒt ttƒƒt ttƒƒ  ‰ ‰‰tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ fdd„ƒ tt‡ ‡fdd„ƒ tt‡‡fdd„ƒ ˆ  ˆt¡‰tˆt	ƒs²t
‚tˆjtƒsÂt
‚tˆjtƒsÒt
‚ˆjttƒksät
‚ˆjttƒksöt
‚ˆjtttƒƒkst
‚ˆ d¡d	t td
 d
  td d  td d  ksJt
‚ˆ ¡ d	t td
 d
  td d  td d  ttd ƒ kst
‚ˆ d¡d	t td
 d
  td d  ttd ƒ ksÌt
‚tt‡fdd„ƒ tt‡fdd„ƒ tt‡fdd„ƒ tt‡fdd„ƒ ˆ  ˆt¡ d¡d	t td
 d
  ttd ƒ ksLt
‚ˆ  ˆt¡ d¡d	t td
 d
  td d  td d  td d  td d  ttd ƒ ks´t
‚ˆ  ˆt¡ d¡d	t td
 d
  td d  td d  ttd ƒ kst
‚ˆ ˆt¡ d¡ttd d  ttd ƒ ks8t
‚ˆ ˆt¡ d¡ttd d  td d  dtd  d  ttd ƒ ksˆt
‚ˆ ˆt¡ d¡ttd d  td d  ttd ƒ ksÈt
‚d S )Nc                      s   ˆ   ttƒt¡S rT   )Úcomposer   r6   r>   r”   r>   r?   rU   -  rV   z#test_fps__compose.<locals>.<lambda>c                      s   ˆ   tttƒddtd¡S r¢   ©r³   r   r   r6   r>   r”   r>   r?   rU   .  rV   c                      s   ˆ   tttƒddtd¡S r¤   r´   r>   r”   r>   r?   rU   /  rV   c                      s   ˆ   tttƒƒtd¡S r¥   )r³   r   r   r:   r6   r>   r”   r>   r?   rU   0  rV   c                      s   ˆ   ˆt¡S rT   ©r³   r6   r>   )r•   rž   r>   r?   rU   2  rV   c                      s   ˆ   ˆt¡S rT   rµ   r>   r±   r>   r?   rU   3  rV   rQ   r-   r.   r0   rh   r4   r~   c                      s
   ˆ   d¡S r¦   r§   r>   ©Úfcompr>   r?   rU   @  rV   c                      s   ˆ j S rT   rª   r>   r¶   r>   r?   rU   A  rV   c                      s
   ˆ   t¡S rT   r«   r>   r¶   r>   r?   rU   B  rV   c                      s
   ˆ   t¡S rT   r¬   r>   r¶   r>   r?   rU   C  rV   r—   rx   r}   r/   r5   i;  )r   r   r6   r   r   r'   ra   r³   rW   r!   r8   r­   r   r®   r+   r¯   rX   r°   rY   r   r`   r>   r>   )r•   rš   rž   r·   r?   Útest_fps__compose*  s>    (<F<8Nÿ
6ÿ
4Pr¸   c                     sÐ  t ttƒƒt ttƒƒt ttƒƒ  ‰ } }tt‡ fdd„ƒ |  t¡‰tˆt	ƒsRt
‚tˆjtƒsbt
‚tt‡fdd„ƒ ˆjttƒks†t
‚ˆjtt ƒksšt
‚ˆ d¡dt td d  td d  td	 d
  ksÔt
‚ˆ ¡ dt td d  td d  td	 d
  td d  ttd ƒ ks&t
‚ˆ d¡dt td d  td d  td	 d
  ttd ƒ ksnt
‚tt‡fdd„ƒ tt‡fdd„ƒ tt‡fdd„ƒ tt‡fdd„ƒ tt‡fdd„ƒ |  t¡ d¡dt td d  td d  td	 d
  td d  td d  td d  ttd ƒ ks:t
‚| t¡ ¡ dtd d  dtd	  d
  ttd ƒ kszt
‚| t¡ d¡dtd d  dtd	  d
  dtd  d  ttd ƒ ksÌt
‚d S )Nc                      s
   ˆ   t¡S rT   )Úinverser6   r>   r”   r>   r?   rU   S  rV   z#test_fps__inverse.<locals>.<lambda>c                      s   ˆ j S rT   )r®   r>   ©Úfinvr>   r?   rU   X  rV   r4   r-   r.   r/   rQ   r0   rz   rS   c                      s
   ˆ   d¡S r¦   r§   r>   rº   r>   r?   rU   `  rV   c                      s   ˆ j S rT   )r¯   r>   rº   r>   r?   rU   a  rV   c                      s   ˆ j S rT   rª   r>   rº   r>   r?   rU   b  rV   c                      s
   ˆ   t¡S rT   r«   r>   rº   r>   r?   rU   c  rV   c                      s
   ˆ   t¡S rT   r¬   r>   rº   r>   r?   rU   d  rV   rh   rƒ   rx   r   é=   )r   r   r6   r   r   r'   ra   r¹   rW   r"   r8   r­   r   r+   rX   r°   rY   r   r`   r±   r>   )r•   r»   r?   Útest_fps__inverseP  s*    (
:RHZÿ
@r½   N)WZsympy.concrete.summationsr   Zsympy.core.addr   Zsympy.core.functionr   r   Zsympy.core.mulr   Zsympy.core.numbersr   r   r	   r
   Zsympy.core.singletonr   Zsympy.core.symbolr   Z(sympy.functions.combinatorial.factorialsr   Z&sympy.functions.elementary.exponentialr   r   Z%sympy.functions.elementary.hyperbolicr   r   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr   r   r   r   r   Zsympy.functions.special.besselr   Z'sympy.functions.special.error_functionsr   Z'sympy.functions.special.gamma_functionsr   Zsympy.integrals.integralsr   Zsympy.series.formalr   Zsympy.series.orderr   r   r   r    r!   r"   r#   r$   r%   r&   Zsympy.testing.pytestr'   r(   r)   r6   r:   r9   rC   r;   r7   r+   r,   r@   rB   rD   rG   rK   rf   ry   r   r…   r‡   rˆ   rŒ   r   rŽ   r‘   r’   r    r²   r¸   r½   r>   r>   r>   r?   Ú<module>   sZ   ,2
)
3
/
&Q&