U
    ZÊ¹jß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/bwave/python/venv/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Ìq�t 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�s�t‚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�s�t‚�q�t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�s�t
‚ˆ 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&