a
    kº”hà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sVJ ‚dt  t d  t d  t d t d   } t| t tƒddt d   d t d dfks®J ‚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 J ‚t dt  t d   } t| t tƒd u sJJ ‚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ÊJ ‚dt d dt   d  } t| t tƒd u søJ ‚t| t tddtd	t t d   d td	t t d   d  ddfksHJ ‚tdt  ƒ} t| t tƒd	t   t ddfks|J ‚tt ƒ} t| t tƒd u sšJ ‚t| t tddttt   d tt t   d  t ddfksàJ ‚t tt ƒ tdt d  ƒd  } t| t tƒd u sJ ‚t| t tddttt d   d tt t d   d  ttd   ddfkslJ ‚tdt  dt   ƒd tt ƒ } t| t tƒd u s¢J ‚t| t tddd	t   d ttt   d  tt t   d  t	j
 t ddfksþJ ‚ttt ƒt tƒd u sJ ‚d S )Né   é   r   é   iñÿÿÿé   T©Úfulléÿÿÿÿé   é
   )Úxr   Úkr   ÚzÚyÚmr   r   r   ÚHalfr   r   r   r   ©r+   © r=   úL/var/www/auris/lib/python3.9/site-packages/sympy/series/tests/test_formal.pyÚtest_rational_algorithm   sx    
,ÿ(
ÿ$
:ÿ
ÿÿþýÿ
8ÿ

ÿ
.ÿ
 ,
ÿÿÿ
 4ÿÿÿÿ
r?   c                  C   s   t } | g tƒg ksJ ‚| ttƒttƒgtƒttƒttƒgks@J ‚| td ttƒtttƒ td gtƒtd td  tttƒ ttƒ gksŽJ ‚| 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üJ ‚d S )Nr.   r/   r-   )r$   r6   r   r   r   ZOner   )Úrir=   r=   r>   Útest_rational_independentP   s    *$"ÿ42ÿrA   c                  C   s4  t ttƒttƒD ],} | ttƒ tttƒtƒ dfks8J ‚ q>qt ttƒttƒD ],} | ttƒtttƒttƒ dfksvJ ‚ q|qNt tdt ƒttƒD ]:} | td tttƒtdƒ tttƒtƒ dfksÆJ ‚ 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J ‚ 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szJ ‚ 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ÜJ ‚ qæq t t	tƒttƒD ]8} | t ttƒ tttƒttƒ dfks&J ‚ q0qöd S )Nr-   r.   )
r#   r   r6   r+   r   r   r   r   Únr   )ZDEr=   r=   r>   Útest_simpleDEZ   s.    $$2.ÿ:
 8
,rC   c                  C   sv  t tƒ tt tƒtƒ } t| ttƒttƒ ttd ƒ ks>J ‚t tƒtt tƒttƒ } t| ttƒttƒttd ƒ kszJ ‚t tƒtt tƒtƒ tt tƒttƒ } t| ttƒttƒttd ƒ ttd ƒ ksÐJ ‚tt tƒtƒtt tƒttƒ } t| ttƒttƒttd ƒ ksJ ‚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srJ ‚d S )Nr-   r.   r/   r0   )r+   r6   r   r%   r,   r7   ©Údr=   r=   r>   Útest_exp_ret   s    &$&0&,rF   c                  C   sÆ  t tƒtt tƒttƒ } t| ttƒttƒtd td  ttd ƒ  ksLJ ‚t t tƒ tt tƒttƒ } t| ttƒtd td  ttd ƒ ttƒ ksžJ ‚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J ‚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sJ ‚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J ‚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ÂJ ‚d S )	Nr-   r.   r/   éþÿÿÿr5   r0   é	   é(   )r+   r6   r   r&   r,   r7   rB   rD   r=   r=   r>   Útest_hyper_re…   s0    44.
>ÿ
*
4ÿ
:
>ÿ
2ÿ
. ÿÿrJ   c                  C   s2  t dƒdksJ ‚t dtƒdks"J ‚t dtdddks8J ‚t dtdddksNJ ‚t dt dtd   ƒdt dtd   ks~J ‚t tdt ƒdddtdt ƒks¤J ‚t td t d ƒ} t| tƒsÆJ ‚| jtd t d ksàJ ‚| d dksðJ ‚| d td ksJ ‚|  d	¡td t d ttd	 ƒ ks2J ‚|  ¡ td t d ksPJ ‚t tdt ƒƒ} t| tƒspJ ‚| jtdt ƒksˆJ ‚|  	tt
¡| ksžJ ‚| d d
… dttd  d td d td	  d	 gksÚJ ‚|  t¡tksîJ ‚|  d¡ttd d  td d  td	 d	  td
 d
  ks2J ‚| jjd }| jtd|   t|  | |dtfƒksnJ ‚| jd d| d d
…  }}t|ƒD ],\}}|d
kr¨ q¾|| |ksJ ‚qttƒ  t¡} t| tƒsÜJ ‚|  ¡ ttd d  td
 d  ttd ƒ ksJ ‚ttdd„ ƒ ttdd„ ƒ d S )Nr-   r.   ú+©Údirú-F)ZhyperÚrationalr   r0   r4   r/   é   r3   ©rB   éx   c                   S   s   t tt ƒS ©N)r   r9   r6   r=   r=   r=   r>   Ú<lambda>Ä   ó    ztest_fps.<locals>.<lambda>c                   S   s   t tddS )Nr   rL   )r   r6   r=   r=   r=   r>   rT   Å   rU   )r   r6   r   Ú
isinstancer   ÚfunctionÚtruncater   Ú
polynomialÚsubsr9   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re   c                  C   sr  t dt ƒdt ksJ ‚t td t d td  ddtd t d td  ksTJ ‚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âJ ‚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~J ‚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æJ ‚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sTJ ‚tdt ƒ} t | tƒ ¡ ttd d  td d  td d  td d  ttd ƒ ks´J ‚t | tdd ¡ t | tdd ¡ ksÞJ ‚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sdJ ‚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öJ ‚ttƒ} t | tdd ¡ ttd d  td d  ttd ƒ ks>J ‚t | tddd ¡ t | tddd ¡ kslJ ‚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J ‚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ªJ ‚tttƒ tdtd  ƒd  } t | tdd ¡ td d td d   ttd ƒ ksJ ‚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snJ ‚d S )$Nr-   r.   r/   r3   rL   r4   r0   é   é   é1   é   é   é    iA  é@   rP   éq   éñ   Tr1   é   éQ   éD  é¿  )r2   rM   é   é   iw  iq  é)   i	=  é   r5   rQ   é   )	r   r6   rX   r   r   r   r;   r   r   r<   r=   r=   r>   Útest_fps__rationalÈ   s¨    <Fÿ
ÿÿ(Bÿ
ÿÿ
:ÿ
<ÿ
>ÿ
*0ÿÿÿÿÿ
4ÿÿÿÿÿ
@ÿ
8ÿÿÿÿÿ
<ÿÿÿÿÿ
 < rx   c                  C   sº  t tƒ} t| tƒ ¡ ttd d  td d  ttd ƒ ksBJ ‚ttƒ} t| tƒ ¡ dtd d  td d  ttd ƒ ks„J ‚ttƒ} t| tƒ ¡ dt td d  td d  td d  td d  ttd ƒ ksâJ ‚ttƒ} t| tƒ ¡ ttd d  td d  ttd ƒ ks&J ‚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ÒJ ‚tt
tƒƒ} t| tƒ ¡ tt ttd  d  ttd  d	  ttd ƒ ks&J ‚tdt ƒ} t| tƒ ¡ t	d t td d  td d  ttd ƒ ksvJ ‚tttƒ tdtd  ƒd  } t| td
d ¡ td d td d  ttd ƒ ksÒJ ‚tdt ƒ} t| td
d ¡ ttd d  td d  td d  td d  ttd ƒ ks6J ‚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®J ‚ttƒt tƒ } t| tƒ ¡ ttd  td d  td d  ttd ƒ ksJ ‚ttƒt tƒ t } t| tƒ ¡ dt td d  td d  td d  ttd ƒ ksbJ ‚t tƒttƒ } t| tƒ ¡ tdtd  d  dtd  d  ttd ƒ ks¶J ‚d S )Nr/   rP   r4   rR   r-   r.   r0   é   rg   F©rO   rv   é   éZ   é   )r   r6   r   rX   r   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slJ ‚t d tt ƒ } t| t d	d
 ¡ t d t d d  tt d ƒ ks²J ‚ttt ƒƒt  } t| t ƒ ¡ t t d d  t d d  t d d  t d d  tt d ƒ ksJ ‚t d ttt ƒƒ } t| t ƒ ¡ t d t d d  t d d  t d d  tt d ƒ ksvJ ‚d S )Néûÿÿÿr-   r0   rP   r.   rR   é°  é€‰ Frz   r/   r4   ry   éÐ  é€  )	r6   r   r   rX   r   r   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sVJ ‚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ÄJ ‚dt  tt ƒ } t| t ƒ ¡ dt  t  t d d  t d d  tt d ƒ ksJ ‚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”J ‚d S )Nr-   r.   r0   rv   rP   r/   r4   rR   rG   rw   rs   ry   éw   )	r6   r   r   r   rX   r   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J ‚t| tt ƒ ¡ tdtd  ttfƒksHJ ‚ttƒ} t| ttƒ ¡ dtdtd  ttfƒ ks~J ‚t| tt ƒ ¡ dtdtd  ttfƒ ks®J ‚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J ‚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sxJ ‚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 J ‚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†J ‚d S )
Nr-   rP   r3   Tr1   r4   r/   r.   r0   )r   r6   r   r	   rX   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 J ‚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&J ‚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âJ ‚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°J ‚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snJ ‚d S )Nr-   rP   r/   r.   rR   r4   r€   rw   r   rH   i art   l    LQf éýÿÿÿr3   é   r}   ry   r‚   r0   rƒ   i _7 )r   r   r6   r   rX   r   r   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shJ ‚t| tddt tƒ t td d  td d  td d  td d  ttd ƒ ksÄJ ‚d S )	Nr-   r.   r/   r0   r4   rP   Frz   )r   r6   r   r   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sNJ ‚d S )Nr.   r0   r/   rl   rP   )r   r6   r   r   r   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sVJ ‚t t tdt  ƒ } t| t ƒ}|jjd }|j	t
d|   t |t   | |dtfƒks²J ‚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srJ ‚t td  tt ƒ } t| t ƒ ¡ t td  t t d  t td  d  tt td
  t ƒ ksÔJ ‚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snJ ‚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îJ ‚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`J ‚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ÖJ ‚d S )Nr.   rg   rP   r-   r   r3   r/   ro   rp   r0   rq   r4   rr   ry   é<   rR   )r6   rB   r   r   rX   r   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sbJ ‚d S )Nr.   r/   r0   r4   rP   )r6   r   r   r   rX   r   r<   r=   r=   r>   Útest_fps__slow¸  s    r‘   c                     s¨  t ttƒƒt ttƒƒ ‰ } ˆ |  }|jttƒttƒ ks<J ‚| ¡ dt td d  td d  td d  td d  ttd ƒ ksŒJ ‚ˆ d }|jttƒd ksªJ ‚| ¡ dt td d  td d  ttd ƒ ksâJ ‚d|  }|jttƒd ksJ ‚| ¡ dtd d  td d  ttd ƒ ks8J ‚ˆ t tˆ tƒksPJ ‚|  ¡  d	td d  td d  ttd ƒ ksˆJ ‚ˆ ˆ  tj	u sœJ ‚ˆ |  }|jttƒttƒ ksÀJ ‚| ¡ d	t td d  td d  td d  td d  ttd ƒ ksJ ‚ˆ d }|jttƒd ks2J ‚| ¡ d	t td d  td d  ttd ƒ kslJ ‚d|  }|jttƒ d ksŽJ ‚| ¡ td d td d  ttd ƒ ksÀJ ‚t
t‡ fd
d„ƒ t
t‡ fdd„ƒ ˆ d }|jdttƒ ksJ ‚| ¡ dt td d  td d  ttd ƒ ks>J ‚d|  }|jdttƒ ks^J ‚| ¡ ddtd  d  td d  ttd ƒ ks˜J ‚ˆ |  tˆ | ƒks°J ‚ˆ t tˆ tƒksÈJ ‚ˆ  ¡ }|jttƒksäJ ‚| ¡ dtd d  td d  ttd ƒ ksJ ‚|  ¡ }|jttƒ ks8J ‚| ¡ t td d  td d  ttd ƒ kspJ ‚|  ¡  ¡ }|jttƒ ks’J ‚| ¡ d	td d  td d  ttd ƒ ksÈJ ‚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²J ‚ˆ  tddf¡tdƒ d ksÖJ ‚tˆ tddfƒtdƒ d ksúJ ‚tˆ tƒ}|jttƒ ksJ ‚| ¡ d	td d  td d  ttd ƒ ksPJ ‚|  t¡}|jttƒksnJ ‚| ¡ ttd d  td d  ttd ƒ ks¤J ‚d S )Nr-   r.   r/   rP   r0   ry   r4   rR   r3   c                      s   ˆ t ttƒdd S )Nr3   rL   ©r   r   r6   r=   ©Úf1r=   r>   rT   ß  rU   z&test_fps__operations.<locals>.<lambda>c                      s   ˆ t ttƒdd S )Nr-   ©Zx0r’   r=   r“   r=   r>   rT   à  rU   rI   rg   rv   éð   i`'  i  i *Âé0   i   rw   i ; rH   i ¾n rt   i ø9r   )r   r   r6   r   rW   rX   r   r   r   ZZeror'   r`   r   Údiffr   r   rŠ   r;   r   r   )Úf2ÚfsumZfsubZ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ŠJ ‚tˆj
tƒsšJ ‚tˆjtƒsªJ ‚ˆjttƒks¼J ‚ˆjttƒksÎJ ‚ˆjttƒttƒ ksèJ ‚ˆ d¡ttd  td d  ksJ ‚ˆ d¡ttd  td d  ttd ƒ ksDJ ‚ˆ d¡ttd  td d  kslJ ‚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àJ ‚ˆ  |t¡ d¡tdtd  d  ttd ƒ ksJ ‚d S )Nc                      s   ˆ   ttƒt¡S rS   )Úproductr   r6   r=   r“   r=   r>   rT     rU   z#test_fps__product.<locals>.<lambda>c                      s   ˆ   tttƒddtd¡S ©Nr3   rL   r0   ©rŸ   r   r   r6   r=   r“   r=   r>   rT     rU   c                      s   ˆ   tttƒddtd¡S ©Nr-   r•   r0   r¡   r=   r“   r=   r>   rT     rU   c                      s   ˆ   tttƒƒtd¡S ©Nr0   )rŸ   r   r   r9   r6   r=   r“   r=   r>   rT     rU   r0   r.   r/   c                      s
   ˆ   d¡S ©Nr4   ©Z
_eval_termr=   ©Úfprodr=   r>   rT   !  rU   c                      s   ˆ j S rS   ©r]   r=   r¦   r=   r>   rT   "  rU   c                      s
   ˆ   t¡S rS   ©Z_eval_derivativer6   r=   r¦   r=   r>   rT   #  rU   c                      s
   ˆ   t¡S rS   ©r   r6   r=   r¦   r=   r>   rT   $  rU   )r   r   r6   r   r   r'   r`   rŸ   rV   r    Úffpsr   Úgfpsr+   ÚgrW   Ú_eval_termsrX   r   rY   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²J ‚tˆj
tƒsÂJ ‚tˆjtƒsÒJ ‚ˆjttƒksäJ ‚ˆjttƒksöJ ‚ˆjtttƒƒksJ ‚ˆ d¡d	t td
 d
  td d  td d  ksJJ ‚ˆ ¡ d	t td
 d
  td d  td d  ttd ƒ ksJ ‚ˆ d¡d	t td
 d
  td d  ttd ƒ ksÌJ ‚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sLJ ‚ˆ  ˆt¡ d¡d	t td
 d
  td d  td d  td d  td d  ttd ƒ ks´J ‚ˆ  ˆt¡ d¡d	t td
 d
  td d  td d  ttd ƒ ksJ ‚ˆ ˆt¡ d¡ttd d  ttd ƒ ks8J ‚ˆ ˆt¡ d¡ttd d  td d  dtd  d  ttd ƒ ksˆJ ‚ˆ ˆt¡ d¡ttd d  td d  ttd ƒ ksÈJ ‚d S )Nc                      s   ˆ   ttƒt¡S rS   )Úcomposer   r6   r=   r“   r=   r>   rT   -  rU   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>   rT   .  rU   c                      s   ˆ   tttƒddtd¡S r¢   r²   r=   r“   r=   r>   rT   /  rU   c                      s   ˆ   tttƒƒtd¡S r£   )r±   r   r   r9   r6   r=   r“   r=   r>   rT   0  rU   c                      s   ˆ   ˆt¡S rS   ©r±   r6   r=   )r”   rœ   r=   r>   rT   2  rU   c                      s   ˆ   ˆt¡S rS   r³   r=   r¯   r=   r>   rT   3  rU   rP   r-   r.   r0   rg   r4   r}   c                      s
   ˆ   d¡S r¤   r¥   r=   ©Úfcompr=   r>   rT   @  rU   c                      s   ˆ j S rS   r¨   r=   r´   r=   r>   rT   A  rU   c                      s
   ˆ   t¡S rS   r©   r=   r´   r=   r>   rT   B  rU   c                      s
   ˆ   t¡S rS   rª   r=   r´   r=   r>   rT   C  rU   r–   rw   r|   r/   r5   i;  )r   r   r6   r   r   r'   r`   r±   rV   r!   r«   r   r¬   r+   r­   rW   r®   rX   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	ƒsRJ ‚tˆj
tƒsbJ ‚tt‡fdd„ƒ ˆjttƒks†J ‚ˆjtt ƒksšJ ‚ˆ d¡dt td d  td d  td	 d
  ksÔJ ‚ˆ ¡ dt td d  td d  td	 d
  td d  ttd ƒ ks&J ‚ˆ d¡dt td d  td d  td	 d
  ttd ƒ ksnJ ‚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:J ‚| t¡ ¡ dtd d  dtd	  d
  ttd ƒ kszJ ‚| t¡ d¡dtd d  dtd	  d
  dtd  d  ttd ƒ ksÌJ ‚d S )Nc                      s
   ˆ   t¡S rS   )Úinverser6   r=   r“   r=   r>   rT   S  rU   z#test_fps__inverse.<locals>.<lambda>c                      s   ˆ j S rS   )r¬   r=   ©Úfinvr=   r>   rT   X  rU   r4   r-   r.   r/   rP   r0   ry   rR   c                      s
   ˆ   d¡S r¤   r¥   r=   r¸   r=   r>   rT   `  rU   c                      s   ˆ j S rS   )r­   r=   r¸   r=   r>   rT   a  rU   c                      s   ˆ j S rS   r¨   r=   r¸   r=   r>   rT   b  rU   c                      s
   ˆ   t¡S rS   r©   r=   r¸   r=   r>   rT   c  rU   c                      s
   ˆ   t¡S rS   rª   r=   r¸   r=   r>   rT   d  rU   rg   r‚   rw   r€   é=   )r   r   r6   r   r   r'   r`   r·   rV   r"   r«   r   r+   rW   r®   rX   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   r9   r8   rB   r:   r7   r+   r,   r?   rA   rC   rF   rJ   re   rx   r~   r„   r†   r‡   r‹   rŒ   r   r   r‘   rž   r°   r¶   r»   r=   r=   r=   r>   Ú<module>   sZ   ,2
)
3
/
&Q&