
    PiB                        d dl mZ d dlZd dlmZmZmZ d dlZd dl	Z	d dl
mZmZmZ d ej        ej                  j        z  Z ej        ddd	          Z ej        d
d dd          Z ej        eddd          d geg          Zej                            deeg          ej                            dej        ej        ej        ej        g          d                         Zej                            deeg          ej                            dej        ej        ej        g          d                         Z  G d d          Z! G d d          Z" G d d          Z#dS )    )	factorialN)assert_allcloseassert_equalassert_array_less)AAAFloaterHormannInterpolatorBarycentricInterpolatorg     @     num
     )baser   methoddtypec                    t          j        |          j        dz  dz  }| t          u r|dz  }t           j                            d          }t          j        dd|          } | |t          j        |                    }|                    ddd          	                    |          }t           ||          t          j        |          |            ||          j        |k    sJ | t          u r@|j        j        |k    sJ |j        j        |k    sJ |j        j        |j        j        k    sJ |j        j        |k    sJ |                                j        t          j        |d	          k    sJ |                                j        t          j        |d	          k    sJ |                                j        t          j        |d	          k    sJ d S )
Ng      ?d   l   dwr
   r   r   sizertol              ?)npfinfoepsr   randomdefault_rnglinspacesinuniformastyper   r   r   support_pointssupport_valueserrorsrealweightspolesresult_typeresiduesroots)r   r   r   rngzrz2s          ~/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/scipy/interpolate/tests/test_bary_rational.pytest_dtype_preservationr4   (   s    8E??$&,D+++
)

 1
2
2C
B'''Aq"&))A	R	%	%	,	,U	3	3BAAbEE26"::D11111R55;%}}%....%....x~----9?e####7799?bnUB777777::<<r!:!:::::7799?bnUB77777777    c                    t          j        d|          } | ||          }|j        j        t          j        |d          k    sJ | t
          u ro|j        j        t          j        |d          k    sJ |j        j        t          j        |d          k    sJ |j        j        t          j        |d          k    sJ |	                                j        t          j        |d          k    sJ |
                                j        t          j        |d          k    sJ |                                j        t          j        |d          k    sJ  ||          j        t          j        |d          k    sJ d S )Nr   r         ?r   )r   aranger*   r   r,   r   r&   r'   r(   r+   r-   r.   )r   r   r0   r1   s       r3   test_integer_promotionr9   A   s[    		"E"""Aq!A9?bnUC888888}}%s)C)CCCCC%s)C)CCCCCx~s!;!;;;;;7799?bnUB777777::<<r!:!:::::7799?bnUB7777771Q44:s33333333r5   c                   \   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zej                            dd ddfd ddfd ddfd ddfd ddfd ddfd ddfg          d             Zd Zej                            dd d d  d! d" d# d$ d% d& g	          d'             Zd( Zd) Zd* Zd+S ),TestAAAc                    t          j        t          d          5  t          dgddg           d d d            n# 1 swxY w Y   t          j        t          d          5  t          dgdggdgdgg           d d d            n# 1 swxY w Y   t          j        t          d          5  t          t          j        gdg           d d d            n# 1 swxY w Y   t          j        t                    5  t          dgdgd           d d d            n# 1 swxY w Y   t          j        t          d	          5  t          dgdgd
           d d d            d S # 1 swxY w Y   d S )N `x` be of size 2 but got size 1.matchr   r   z1-Dfiniter7   	max_termsgreaterr
   )pytestraises
ValueErrorr   r   inf	TypeErrorselfs    r3   test_input_validationzTestAAA.test_input_validationS   s   ]:-OPPP 	 	aV	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:U333 	( 	(!qc
aS1#J'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(]:X666 	 	1#	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9%% 	) 	)aSC((((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)]:Y777 	( 	(aSB''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(sW   <A A "BBB-CCC:DD"DE##E'*E'c                     t          j        t          d          5  t          t          t          j        t                    d           d d d            d S # 1 swxY w Y   d S )Nz
AAA failedr>   r   rA   )rD   warnsRuntimeWarningr   UNIT_INTERVALr   exprI   s    r3   test_convergence_errorzTestAAA.test_convergence_error_   s    \.=== 	D 	Drvm44CCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	Ds   /AAAc                    t          j        t                    }t          t          |          }t	           |t                    |t
                     t           |t           j                  t           j                   t          j         |t           j	                            sJ |j
        j        }t          t          |d          }|j
        j        |k     sJ d S )NatolgMbP?r   )r   rP   rO   r   r   TOLr   nanisfiniterG   r&   r   )rJ   fr1   m1s       r3   test_expzTestAAA.test_expe   s    F=!!q!!-((!#6666QQrvYY'''{11RV99%%%%%"qt,,,$r))))))r5   c                 z   t          j        t           j        t          z            }t	          t          |          }t           |t                    |dt          z  d           t          t          j        t          j        |	                                                    dd           t          t          j        t          j        |
                                dz
                      dt                     t          j        t          j        |                                                    dk    sJ d S )	Nr   gz]ʂ>rT   r   r   gLa㧝=rS         ?vIh%<=)r   tanpirO   r   r   rU   minabsr.   r+   r-   rJ   rX   r1   s      r3   test_tanzTestAAA.test_tanq   s    F25=())q!!-((!"s(HHHHrvaggii001115AAAArvaggii#o6677EEEEvbfQZZ\\**++e333333r5   c                 Z   t          j        ddg          }t          j        ddg          }t          ||d          }t           ||          |t                     t          |                                d           t          |                                d           t          |                                d	           t          |j	        |           t          |j
        |           t          |j        d
d
g           t          |j        ddg           t          j        g d          }t          j        g d          }t          ||d          }t           ||          |t                     t          t          j        |                                          t          j        ddg                     t          t          j        |                                          t          j        ddg                     t          t          j        |                                          t          j        ddg                     t          |j	        |           t          |j
        |           t          |j        g d           t          |j        g d           d S )Nr   r      r^   r   rS   r]   g      ?gUUUUUU?g;f?)r   r   rf   )r   r   r   gȢ<?gÙt?gfMvg7п)3Ey?rg   rg   )r   r   r   )r   arrayr   r   rU   r+   r-   r.   r   r&   r'   r*   r(   sort)rJ   r0   rX   r1   s       r3   test_short_caseszTestAAA.test_short_cases{   s`    HaVHaV15!!!!ac****		3'''

d+++		3'''Q%q)))Q%q)))	$57H#IJJJQX1v&&& HYYYHYYY15!!!!ac****		**!24E FGG	I 	I 	I

--!35G HII	K 	K 	K		**BGQFOO<<<Q%q)))Q%q)))	 $7 $7 $7 	8 	8 	8QXyyy)))))r5   c                    t          j        dd          }t          j        |          dz  }t          ||          }t          |ddz  |z                      t           j                            }t          |d|z                      t           j                            }t           |d          d |d          z             t           |d          ddz   |d          z             d S )	Ng333333?g      ?      ?      ?rf   i7  g      ,y        ?gffffff?)r   r"   rP   r   r%   
complex128r   )rJ   r0   rX   r1r2r3s         r3   test_scale_invariancezTestAAA.test_scale_invariance   s    KS!!F1II AYYQVaZ''6677Wq[((7788RRXXwD1222RRWWafrr#ww./////r5   c                 *   t           j                            d          }|                    d          d|                    d          z  z   }d }t	          | ||                    }t           |d           |d          t                     d S )Nl   (pg98B i'  y              @c                 B    t          j        d| z
            d| dz  z   z  S )N   r   rf   )r   logr0   s    r3   rX   z TestAAA.test_log_func.<locals>.f   s!    6!a%==A1H--r5   r   rS   )r   r    r!   standard_normalr   r   rU   )rJ   r/   r0   rX   r1   s        r3   test_log_funczTestAAA.test_log_func   s    i##$788&&c.A.A%.H.H)HH	. 	. 	. 11Q44LL!aadd------r5   c                     t          j        dd          }t          |t          j                            |                    }t           |d          t          j                            d          d           d S )Nr
   r   g)\(?V瞯<rS   )r   r"   r   scipyspecialgammar   rJ   r0   r1   s      r3   test_infinite_datazTestAAA.test_infinite_data   se    KA5=&&q))**$!4!4T!:!:GGGGGGr5   c                 8   t          j        dd          }t          j        d          5  t          j        |          |z  }d d d            n# 1 swxY w Y   t	          ||          }t           |d          t          j        d          dz  d           d S )Nr      ignore)invalidrf   rz   rS   )r   r"   errstater#   r   r   )rJ   xrX   r1   s       r3   test_nanzTestAAA.test_nan   s    K2[*** 	 	q		AA	 	 	 	 	 	 	 	 	 	 	 	 	 	 	1II!bfQii!m%888888s   AAAc                 r   t          j        ddd          }t          |t          j        |          |z            }t          j        t          j        |                                          dk               }t          |                                |         dd           t          |d	t          j
                            |          z            }t          j        t          |                                d
z
            dk               }t          |                                |         dd           d S )Ng1Zdrf   i  r   :0yE>r   rz   rS   rl   r
   y            )r   r"   r   rP   flatnonzerorb   r+   r   r-   r{   r|   r}   )rJ   r   r1   iis       r3   test_residueszTestAAA.test_residues   s    Ks+++26!99q=!!^BF17799--455

R(!%8888Fem11!44455^C		R 011D899

R('>>>>>>r5   zfunc,atol,rtolc                 6    t          j        | dz   dz             S )Nr]   y        {Gz?r   rb   r   s    r3   <lambda>zTestAAA.<lambda>   s    C%)@)@ r5   g-a=gHz>c                 6    t          j        dd| z
  z            S )Nr   g?)r   r#   r   s    r3   r   zTestAAA.<lambda>   s    4!8)=)= r5   vIh%L=c                 6    t          j        d| dz  z            S )Nr
   rf   r   rP   r   s    r3   r   zTestAAA.<lambda>   s    AqD	):): r5   g8J==r   c                 6    t          j        d| dz  z            S )Nirf   r   r   s    r3   r   zTestAAA.<lambda>   s    QT	):): r5   g-=c                 6    t          j        dd| z
  z            S )Ng333333?r   r   s    r3   r   zTestAAA.<lambda>   s    S1W)>)> r5   +=c                 B    ddt          j        d| dz   z            z   z  S )Nr   r   r]   r   r   s    r3   r   zTestAAA.<lambda>   s"    AbfS!c'].C.C,C)D r5   c                 0    t          j        | dz
            S )Ngffffff?r   r   s    r3   r   zTestAAA.<lambda>   s    D)9)9 r5   ư>c           	         t          j        d          5   |t                    }d d d            n# 1 swxY w Y   t           t	          t
           |t
                              t                    |||           d S )Nr   )divider\   )r   r   PTSr   r   rO   )rJ   funcrT   r   rX   s        r3   test_basic_functionszTestAAA.test_basic_functions   s     [))) 	 	S		A	 	 	 	 	 	 	 	 	 	 	 	 	 	 	?M44+>+>??DD4	1 	1 	1 	1 	1 	1s   377c                    d }t          t           |t                              }t          t          j        |                                |                                z             dd           d }t          t           |t                              }t          |                                                                dd           t          t          t          j	        dt          j
        z  t          z                      }t          t          j        t          j        |                                                    d         d	d           d
 }t          t           |t                              }t          |                                d         |                                d         z  dd           d S )Nc                 0    | dz   | dz   z  | dz   | dz   z  z  S )Nr   rf          rv   s    r3   rX   z,TestAAA.test_poles_zeros_residues.<locals>.f   s%    aCAaC=QqSQqSM22r5   r   -q=rS   c                 $    dd| z   z  d| dz
  z  z   S )Nrf   r   rt   y               @r   rv   s    r3   rX   z,TestAAA.test_poles_zeros_residues.<locals>.f   s    a!e9q!b&z))r5   r   r      g?c                     | dz
  | dz   z  S )Ny      @      @rf   r   rv   s    r3   rX   z,TestAAA.test_poles_zeros_residues.<locals>.f   s    L1q5))r5   r   y            )r   rO   r   r   sumr+   r.   r-   prodr#   r`   ri   rb   rc   s      r3   test_poles_zeros_residuesz!TestAAA.test_poles_zeros_residues   si   	3 	3 	3qq//00qwwyy17799455sGGGG	* 	* 	*qq//00

))++Rd;;;;rvbh}&<==>>qwwyy 1 12226%HHHH	* 	* 	*qq//00		!QWWYYq\1EFFFFFFr5   r   c                 *    t          j        |           S N)r   
zeros_likerv   s    r3   r   zTestAAA.<lambda>   s    a(8(8 r5   c                     | S r   r   rv   s    r3   r   zTestAAA.<lambda>   s    A r5   c                     d| z  S )Nr   r   rv   s    r3   r   zTestAAA.<lambda>   s    QSTUQU r5   c                     | dz  | z   S )Nrf   r   rv   s    r3   r   zTestAAA.<lambda>   s    1q r5   c                     | dz  | z   S )Nr   r   rv   s    r3   r   zTestAAA.<lambda>   s    AqD1H r5   c                     dd| z   z  S )Nr   g?r   rv   s    r3   r   zTestAAA.<lambda>   s    37 r5   c                     ddd| z  z   z  S )Nr   r   r   rv   s    r3   r   zTestAAA.<lambda>   s    q!bd(| r5   c                     dd| z   | dz  z   z  S )Nr   r   rf   r   rv   s    r3   r   zTestAAA.<lambda>   s    1q51a4<(8 r5   c                     dd| dz  z   z  S )Nr   g)\(?r   r   rv   s    r3   r   zTestAAA.<lambda>   s    AtaQRd{O r5   c           	          t           t          t           |t                              t                     |t                    d           d S )Nr   rS   )r   r   rO   r   )rJ   r   s     r3    test_polynomials_and_reciprocalsz(TestAAA.test_polynomials_and_reciprocals   sS     	?M44+>+>??DDS			/ 	/ 	/ 	/ 	/ 	/r5   c                    t          j        t          j        dddt           j        z  z   d                    }t	          |t          j        t           j        |z  dz                      }t          t          j        t          j        |	                                                    d d         g dd	
           d S )N      r]                 .@r   r   rf   r   )r   r   r   r   g1E2>r   )
r   rP   r"   r`   r   r_   r   ri   rb   r+   r~   s      r3   test_spiralzTestAAA.test_spiral   s    F2;tS3ru9_$???@@26"%'!)$$%%qwwyy 1 1222A264PPPPPPr5   c                 V   t          j        t          j        dddt           j        z  z   d                    }t	          j        t                    5  t          |t          j        t           j        |z  dz            ddd	
          }d d d            n# 1 swxY w Y   t          j	        t          j
        |                                          dk               }t	          j        t                    5  |                                dk    sJ 	 d d d            n# 1 swxY w Y   t          j	        t          j
        |                                          dk               |k     sJ t           ||          t          j        t           j        |z  dz            dd           d S )Nr   r]   r   r   r   rf   r   <   F)r   rB   clean_upr   r   gAfc=gAfc=r\   )r   rP   r"   r`   rD   rM   rN   r   r_   r   rb   r-   r   r   )rJ   r0   r1   
n_spuriouss       r3   test_spiral_cleanupzTestAAA.test_spiral_cleanup   s   F2;tS3ru9_$???@@ \.)) 	P 	PArvbeAgai((qBOOOA	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	PVBF1::<<005899
\.)) 	% 	%::<<1$$$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% vbfQZZ\\**U233j@@@@!bfRU1WQY//e%HHHHHHs$   7BBB6DD"%D"c                     t          j        ddd          }t          j        |          }t          ||          }t          j        ddd          }t	           ||          t          j        |          d           d S )Nr   r   i,  r   g?̔>r   )r   logspacesqrtr   r   )rJ   r0   rX   r1   zzs        r3   test_diag_scalingzTestAAA.test_diag_scaling  sm    KQ$$GAJJ1II[a%%"rwr{{666666r5   N)__name__
__module____qualname__rK   rQ   rZ   rd   rj   rq   rx   r   r   r   rD   markparametrizer   r   r   r   r   r   r   r5   r3   r;   r;   R   s       
( 
( 
(D D D
* 
* 
*4 4 4* * *B0 0 0. . .H H H
9 9 9? ? ? [-@@%N==udK::GQG::E1E>>qIDDeTR994FHI I1 1I I1G G G& [V88++~~002D2D335K5K88:S:SUV V
/ /V V
/Q Q Q
I I I7 7 7 7 7r5   r;   c                       e Zd Zd Zd ZdS )BatchFloaterHormannc                     t          j        ||d          }|j        d d         | _        fd|                    d|j        d                   D             | _        || _        d S )Nr
   c                 0    g | ]}t          |          S r   )r   ).0yir   s     r3   
<listcomp>z0BatchFloaterHormann.__init__.<locals>.<listcomp>  s3     ? ? ? 4Ar;; ? ? ?r5   )r   moveaxisshape_batch_shapereshape_interps_axis)rJ   r   yaxiss    `  r3   __init__zBatchFloaterHormann.__init__  sq    K4$$GCRCL? ? ? ?#$99R#=#=? ? ?


r5   c                     fd| j         D             }t          j        || j        j        z             }j        rt          j        |d| j                  n|S )Nc                 &    g | ]} |          S r   r   )r   interpr   s     r3   r   z0BatchFloaterHormann.__call__.<locals>.<listcomp>  s!    3336VVAYY333r5   r
   )r   r   r   r   r   r   r   )rJ   r   r   s    ` r3   __call__zBatchFloaterHormann.__call__  s[    3333T]333Jq$+ag56612?r{1b$*---a?r5   N)r   r   r   r   r   r   r5   r3   r   r     s7          @ @ @ @ @r5   r   c            
       0   e Zd Zd Zd Zd Zej                            ddg dfdg dfd	g d
fdg dfdg dfg          d             Z	ej                            d e
d                    d             Zd Zd Zej                            dg d          ej                            dddg          d                         Zd Zd Zej                            dg d          ej                            dg d           d!                         Zd"S )#TestFloaterHormannc                     dd|dz  z   z  S )Nr   rf   r   )rJ   r0   s     r3   rungezTestFloaterHormann.runge   s    !ad(|r5   c                 V    dt          j        |          |z   z  t          |          z  S )Nr
   )r   r8   r   )rJ   nds      r3   scalezTestFloaterHormann.scale#  s%    billQ&')A,,66r5   c                    t          j        t          d          5  t          dggdgd           d d d            n# 1 swxY w Y   t          j        t          d          5  t          dgdd           d d d            n# 1 swxY w Y   t          j        t          d          5  t          dgddgddggd           d d d            n# 1 swxY w Y   t          j        t          d          5  t          t          j        gdgd           d d d            n# 1 swxY w Y   t          j        t          d	          5  t          dgdgd
           d d d            n# 1 swxY w Y   t          j        t          d	          5  t          dgdgd           d d d            n# 1 swxY w Y   t          j        t                    5  t          dgdgd           d d d            d S # 1 swxY w Y   d S )Nz`x`r>   r   r   z`y`r=   r   r@   z`d`r
   r           )rD   rE   rF   r   r   rG   rH   rI   s    r3   test_ivzTestFloaterHormann.test_iv&  s   ]:U333 	8 	8&uqcQ7777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8]:U333 	4 	4&sA3333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4]:-OPPP 	C 	C&saVaV,<BBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C]:X666 	; 	;&x!::::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;]:U333 	7 	7&sQC26666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7]:U333 	7 	7&sQC26666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7]9%% 	8 	8&sQC37777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s{   >AA$BBB*CCC6D!!D%(D%E((E,/E,F//F36F3G55G9<G9z
d,expectedr   )r   r   r   r   r   r   r   r   r   r   r   r   )r   rf   rf   rf   rf   rf   rf   rf   rf   rf   r   rf   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r         r   r   r   r   r   r   r   r   )r   rt            r   r   r   r   rt   r   c                     t          j        d          }t          |d|z  |          }t          |j                                        |                     |j        |          z  |dd           d S )Nr   r   r   rz   r   rT   )r   r8   r   r   r*   ravelr   r   )rJ   r   expectedr   r1   s        r3   test_uniform_gridz$TestFloaterHormann.test_uniform_grid7  st     IbMM&q#a%1555	))$**QVQ*?*??"	0 	0 	0 	0 	0 	0r5   r   r   c                    t          j        ddd          }t           j                            d          }|                    ddd          }|                     |          }|d         |d         z
  }t          |||          }d||dz   z  z  }t           ||          |                     |          d	|
           t           ||          |                     |                     d S )Nr   r   3   l   M+RYr   r   r   r   g|=r\   )	r   r"   r    r!   r$   r   r   r   r   )	rJ   r   r   r/   xxr   hr1   tols	            r3   
test_rungezTestFloaterHormann.test_rungeE  s    K1b!!i##$677[[AD[))JJqMMaD1Q4K&q!q111QqSk"tzz"~~EDDDDQQqTT4::a==)))))r5   c                     t          j        dd          }||dz  z   }t          |t          j        |          d          }t          j        ddd          }||dz  z   }t	           ||          t          j        |          d	           d S )
Nr
   r   r      r   r   r   r   r   )r   r"   r   r#   r   )rJ   r   r0   r1   r   r   s         r3   test_complexzTestFloaterHormann.test_complexT  s    KA"H&q"&))r:::[QD)))"R%Z"rvbzz666666r5   c                 $   t          j        ddd          }t          j        ddd          }t          j        |          }t          |||j        dz
            }t          ||          }t           ||           ||          dd           d S )Nr   r   r   i  r   r   r   )r   r"   r#   r   r   r	   r   )rJ   r   r   r   r1   ps         r3   test_polyinterpz"TestFloaterHormann.test_polyinterp\  s    K1b!![At$$F1II&q!qvax888#Aq))"qquu5u======r5   y_shape))rf   )rf   r   r   )r   rt      r   xx_shaper   )r   r   c                    t          j        dd          }t          j        t          j        t          j        |          t          t          dt          |          dz                                 |j        |z             }t          ||          }t           j
                            d          }|
                    |          }t          j        t          j        t          j        |          t          t          |j        t          |          |j        z                                 |j        |z             } ||          }	|	j        |j        |z   k    sJ t          |	|d           d S )Nr   r   l   wcBMYr   r   )r   r"   broadcast_toexpand_dimsr#   tuplerangelenr   r   r    r!   ndimr   )
rJ   r  r  r   r   r1   r/   r   yyrrs
             r3   test_trailing_dimz$TestFloaterHormann.test_trailing_dime  s3    K1ON26!99eE!S\\A5E,F,F&G&GHHGg
 

 'q!,,i##$BCCZZ!!_N26"::uU27CLL27<R-S-S'T'TUUHw
 
 QrUUx28g-----BT******r5   c                    t          j        ddd          }t          |t          j        t           j        |z                      }t          j        t           j                            |                                t          j	        d                              
                    d          }t          |d           d S )Nr   r   r   r   r   r   gh㈵>)r   r"   r   r#   r`   rb   subtractouterr.   r8   ra   r   )rJ   r   r1   errs       r3   
test_zeroszTestFloaterHormann.test_zeros{  s    K23'''&q"&q//::fR[&&qwwyy")B--@@AAEE1EMM#t$$$$$r5   c                 "   t          j        dd          }t          |d|dz  z            }|                                }|j        dk    |j        dk    z  t          j        |j                  dk     z  }t          j        |          dk    sJ d S )Nr
   r   rf   r   r   )r   r"   r   r+   r)   rb   imagr   )rJ   r   r1   r   masks        r3   test_no_polesz TestFloaterHormann.test_no_poles  s    KA&q!AqD&11GGII"1-&1HIvd||q      r5   
eval_shape)r   )r   )r   r   )r
   r   r   c                    t           j                            d          }d}ddd|f}d}t          j        g ||R  }t          j        |                    |          d|          }t          |||          }	t          |||          }
 |j        |d	|i}t           |	|           |
|                     t          j
        t          |	j                   t          j
        t          |	j                   d S )
Nl   UU{ r   rf   r   r   )r   r   r
   r  r   )r   r    r!   r"   r   r   r   r$   r   rD   rE   NotImplementedErrorr.   r-   )rJ   r  r   r/   r   r   domainr   r   resrefs              r3   
test_batchzTestFloaterHormann.test_batch  s     i##$455Aq!K#####K

5))2t44(AD999!!QT222CK1j11AA''')39555)3<88888r5   N)r   r   r   r   r   r   rD   r   r   r   r	  r   r   r  r  r  r  r  r   r5   r3   r   r     s         7 7 78 8 8" [\	
---.	
---.	
---.	
---.	
4445,  0 0 0 [S%%)),,* * -,*7 7 7> > > [Y(G(G(GHH[Z3):;;+ + <; IH+(% % %! ! ! [\+;+;+;<<[VZZZ009 9 10 =<9 9 9r5   r   )$mathr   numpyr   numpy.testingr   r   r   rD   r{   scipy.interpolater   r   r	   r   float64r   rU   r"   rO   r   r   concatenater   r   float32	complex64rm   r4   int16int32int64r9   r;   r   r   r   r5   r3   <module>r+     sG  4           J J J J J J J J J J   V V V V V V V V V V	HBHRZ  $$Bt,,,bk#qrs+++bns44R4yj1#s+,, C)C#DEE2:rz2<"WXX8 8 YX FE8. C)C#DEE28RXrx"@AA4 4 BA FE4{7 {7 {7 {7 {7 {7 {7 {7|@ @ @ @ @ @ @ @|9 |9 |9 |9 |9 |9 |9 |9 |9 |9r5   