
    Ɔc\                    ^   d Z ddlZddlZddlZddlmZ ej                            ej	        j
                  s ej        dd           d Zd Z ej        d	e
          Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d  Z&d! Z'd" Z(d# Z)d$ Z*d% Z+d& Z,d' Z-d( Z.d) Z/d* Z0d+ Z1d, Z2ej3        4                    d-.          d/             Z5d0 Z6d1 Z7d2 Z8d3 Z9d4 Z:d5 Z;d6 Z<d7 Z=d8 Z>d9 Z?d: Z@d; ZAd< ZBd= ZCd> ZDd? ZEd@ ZFdA ZGdB ZHdC ZIdD ZJdE ZKdF ZLdG ZMdH ZNdI ZOdJ ZPdK ZQdL ZRdM ZSdN ZTdO ZUdP ZVdQ ZWdR ZXdS ZYdT ZZdU Z[dV Z\dW Z]dX Z^dY Z_dZ Z`d[ Zad\ Zbd] Zcd^ Zdd_ Zed` Zfda Zgdb Zhdc Zidd Zjde Zkdf Zldg Zmdh Zndi Zodj Zpdk Zqdl Zrdm Zsdn Ztej3        4                    d-.          do             Zudp Zvdq Zwdr Zxds Zydt Zzdu Z{dv Z|dw Z}dx Z~dy Zdz Zd{ Zd| Zd} Zd~ Zd Zd Zd Zd Zd Zd Zej3        4                    d-.          d             Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdÄ ZdĄ Zdń ZdƄ ZdǄ ZdȄ ZdɄ Zdʄ Zd˄ Zd̄ Zd̈́ Zd΄ Zdτ ZdЄ Zdф Zd҄ Zdӄ ZdԄ ZdՄ Zdք Zdׄ Zd؄ Zdل Zdڄ Zdۄ Zd܄ Zd݄ Zdބ Zd߄ Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Zd Zd Zd Zd Zd  Zej3        4                    d-.          d             Zej3        4                    ej        dk     d.          d             Zej3        4                    d-.          d             Z	d Z
dS (  a  
Basic tests of the ERFA library routines.

These are just the tests bundled with ERFA itself, in ``t_erfa_c.c``,
but translated to python to make sure that the code returns the same numbers.

The viv and vid functions emulate the corresponding functions in ``t_erfa_c.c``.

The tests are skipped if a system library is used that does not match in
version number, since in that case the precise numbers may have changed
(e.g., due to the earth orientation changes between 1.7.2 and 1.7.3).
    N)ufuncz3skipping for system library with mismatched versionT)allow_module_levelc                 <    | |k    sJ | d| d| d|              dS )zValidate an integer result.	 failed:  want  got N )ivalivalokfunctest_s        5lib/python3.11/site-packages/erfa/tests/test_ufunc.pyvivr   !   s>    6>LLdLLTLLLLdLLLLLLL    c                     | |z
  }|dk    sLt          |          t          |          k    s.J | d| d|dd| ddt          ||z            dd
            d	S d	S )
zValidate a double result.        r   r   z.20gr   z (1/z.3g)N)abs)valvalokdvalr   r   r   as          r   vvdr   &   s    eA8 %s1vvT* % % 	$ 	$$ 	$ 	$eB 	$ 	$sB 	$ 	$%!)nn#	$ 	$ 	$% % % % % % %r   r	   )dtypec                  b   t          j        dd          \  } }t          | d         dddt                     t          |d         dddt                     t          |d	         d
ddt                     t          |d         dddt                     t          |d         dddt                     d S )N   g(\@r      +a2afs   0      1      2   i%  3)
erfa_ufuncr   r   status)r    idmsfs     r   	test_a2afr.   2   s    q%((HAu!dFC(((a3V,,,aBV,,,aBV,,,a$V,,,,,r   c                  b   t          j        dd          \  } }t          | d         dddt                     t          |d         dddt                     t          |d	         d
ddt                     t          |d         dddt                     t          |d         dddt                     d S )Nr   gvöEr      -a2tfr       r"   r#   r'   r%   r&      r(   r)   iT  r*   )r+   r1   r   r,   r    ihmsfs     r   	test_a2tfr6   ;   s    q(++HAu!dFC(((aBV,,,aBV,,,aBV,,,a$V,,,,,r   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }d| d<   d| d<   d| d<   d|d<   d	|d<   d
|d<   d}d}t          j        | |||          }t          |d         ddddt                     t          |d         ddddt                     t          |d         ddddt                     d S )Nr)   gݗKlr   gVplzr#   g`/˿r&   g=>gM?[gw'UTAgo?gVY?gd
k-q=abr%   gK{izr(   g}Z]ܿ˿r*   )npemptyfloatr+   r:   r   r,   )pnatvpprr    bm1s        r   test_abrB   D   s    8D%  D
uA
(4

C"DG"DG"DG!AaD!AaD!AaDA
C
-aC
(
(CA&tS&AAAA&tS&AAAA&tS&AAAAAr   c                      d} d}d}t          j        | ||          \  }}t          |ddddt                     t          |dddd	t                     d S )
Ng      @皙?gffffff?g<U?+=ae2hdhgRV@?d)r+   rF   r   r,   )r   eprG   rH   s        r   
test_ae2hdrK   V   sa    AAAAq!$$DAq %#v>>> %#v>>>>>r   c                      t          j        dddd          \  } }t          | ddddt                     t	          |d	dd
t                     d S )N--      g333333;@g`[
Br9   af2ar   r   j)r+   rP   r   r,   r   r   rQ   s     r   	test_af2arS   _   sP    ?3B--DAq!5&#v>>>1fc6"""""r   c                  \    t          t          j        d          ddddt                     d S )Ngg픻@r9   anp )r   r+   rU   r,   r	   r   r   test_anprW   e   s+    
t2E5"fMMMMMr   c                  \    t          t          j        d          ddddt                     d S )Ng      g1ZC@r9   anpmrV   )r   r+   rY   r,   r	   r   r   	test_anpmrZ   i   s+    
3UFBOOOOOr   c                     t          j        dt          j                  } t          j        dt                    }d}d}d| d         d<   d| d         d	<   d
| d         d<   d| d         d<   d| d         d	<   d| d         d<   d|d<   d|d	<   d|d<   t          j        ||| |          }|                    t           j                  }t          |j	        ddddt                     t          |j        d         ddddt                     t          |j        d	         ddddt                     t          |j        d         d
dddt                     t          |j        d         ddddt                     t          |j        d	         ddddt                     t          |j        d         dddd t                     t          |j        d!ddd"t                     t          |j        d         d#d$dd%t                     t          |j        d	         d&d$dd't                     t          |j        d         d(d$dd)t                     t          |j        d*ddd+t                     t          |j        d         d         d,d-dd.t                     t          |j        d	         d         d-d-dd/t                     t          |j        d         d         d-d-dd0t                     t          |j        d         d	         d-d-dd1t                     t          |j        d	         d	         d,d-dd2t                     t          |j        d         d	         d-d-dd3t                     t          |j        d         d         d-d-dd4t                     t          |j        d	         d         d-d-dd5t                     t          |j        d         d         d,d-dd6t                     d S )7Nr	   r8      2BA\#?t?rJ   r   q+ɩڿr#   xm*ǿr&   炐+l~?r?   0ƌ?SXNx?Ya-P?uՕڿT3ǿe=*|M)@dy=apcgpmtr9   eb(1)eb(2)eb(3)8?eh(1)琾 YOڿeh(2)뜏~ƿeh(3)1t*?em)(t}?缉ؗҜ<v(1)U ;E?v(2)K.q?v(3)Eg?rA         ?r   bpn(1,1)bpn(2,1)bpn(3,1)bpn(1,2)bpn(2,2)bpn(3,2)bpn(1,3)bpn(2,3)bpn(3,3))r;   r<   r+   dt_pvr=   ri   viewrecarrayr   rj   r,   ebehru   r?   rA   bpn)ebpvehpdate1date2astroms        r   	test_apcgr   m   sh   8B
())D
(4

CEEDIaLDIaLDIaL DIaLDIaL DIaLCFCFCF_UE455F[[%%F
(%GGG	!k5&'6BBB	!lE67FCCC	!lE67FCCC	!+UFGVLLL	!,eVWfMMM	!,eVWfMMM	'fEEE-ufffMMM-ufffMMM-ufffMMM
)5&%HHH
1a#sFJ???
1a#sFJ???
1a#sFJ???
1a#sFJ???
1a#sFJ???
1a#sFJ???
1a#sFJ???
1a#sFJ???
1a#sFJ?????r   c                     d} d}t          j        | |          }|                    t          j                  }t          |j        ddddt                     t          |j        d         dd	dd
t                     t          |j        d         dd	ddt                     t          |j        d         dd	ddt                     t          |j	        d         dd	ddt                     t          |j	        d         dd	ddt                     t          |j	        d         dd	ddt                     t          |j
        dd	ddt                     t          |j        d         ddddt                     t          |j        d         ddddt                     t          |j        d         ddddt                     t          |j        d d	dd!t                     t          |j        d         d         d"d#dd$t                     t          |j        d         d         d#d#dd%t                     t          |j        d         d         d#d#dd&t                     t          |j        d         d         d#d#dd't                     t          |j        d         d         d"d#dd(t                     t          |j        d         d         d#d#dd)t                     t          |j        d         d         d#d#dd*t                     t          |j        d         d         d#d#dd+t                     t          |j        d         d         d"d#dd,t                     d S )-Nr\   r]   rg   rh   apcg13rj   r   aP?r9   rk   r#   BUԩڿrl   r&   ҈wm*ǿrm   8?ro   I.w YOڿrq   Щ~ƿrs   @~*?ru   bt}?rw   rx   y#;E?rz   ?IԽ.q?r|   r}   rA   r~   r   r   r   r   r   r   r   r   r   r   )r+   r   r   r;   r   r   rj   r,   r   r   ru   r?   rA   r   )r   r   r   s      r   test_apcg13r      s   EEue,,F[[%%F
(%5&III	!+UHgvNNN	!,eXwOOO	!,eXwOOO	!+UHgvNNN	!,eXwOOO	!,eXwOOO	'$GGG-uhOOO-uhOOO-uhOOO
)5(E6JJJ
1a#sHj&AAA
1a#sHj&AAA
1a#sHj&AAA
1a#sHj&AAA
1a#sHj&AAA
1a#sHj&AAA
1a#sHj&AAA
1a#sHj&AAA
1a#sHj&AAAAAr   c            	         t          j        dt          j                  } t          j        dt                    }d}d}d| d         d<   d| d         d	<   d
| d         d<   d| d         d<   d| d         d	<   d| d         d<   d|d<   d|d	<   d|d<   d}d}d}t          j        ||| ||||          }|                    t           j                  }t          |j	        ddddt                     t          |j        d         ddddt                     t          |j        d	         ddddt                     t          |j        d         d
dddt                     t          |j        d         ddddt                     t          |j        d	         d ddd!t                     t          |j        d         d"ddd#t                     t          |j        d$ddd%t                     t          |j        d         d&d'dd(t                     t          |j        d	         d)d'dd*t                     t          |j        d         d+d'dd,t                     t          |j        d-ddd.t                     t          |j        d         d         d/ddd0t                     t          |j        d	         d         d1ddd2t                     t          |j        d         d         dddd3t                     t          |j        d         d	         d4ddd5t                     t          |j        d	         d	         d6ddd7t                     t          |j        d         d	         dddd8t                     t          |j        d         d         d9ddd:t                     t          |j        d	         d         d;ddd<t                     t          |j        d         d         d=ddd>t                     d S )?Nr	   r8   r\   r]   r^   rJ   r   r_   r#   r`   r&   ra   r?   rb   rc   rd   re   rf   +:U?]PN0j`>rg   rh   apcirj   r9   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   rA   !1?r   :Ěj>r   r   }pgHr   ?r   r   Kj:Ur   
3M>r   +31?r   )r;   r<   r+   r   r=   r   r   r   r   rj   r,   r   r   ru   r?   rA   r   )r   r   r   r   xyr    r   s           r   	test_apcir      s   8B
())D
(4

CEEDIaLDIaLDIaL DIaLDIaL DIaLCFCFCFAAA_UE4aA>>F[[%%F
(%GGG	!k5&'6BBB	!lE67FCCC	!lE67FCCC	!+UFGVLLL	!,eVWfMMM	!,eVWfMMM	'fEEE-ufffMMM-ufffMMM-ufffMMM
)5&%HHH
1a/
FSSS
1a2E6:vVVV
1a2E6:vVVV
1a3UFJPVWWW
1a/
FSSS
1a3UFJPVWWW
1a3UFJPVWWW
1a2E6:vVVV
1a/
FSSSSSr   c                     d} d}t          j        | |          \  }}|                    t          j                  }t          |j        ddddt                     t          |j        d         dd	dd
t                     t          |j        d         dd	ddt                     t          |j        d         dd	ddt                     t          |j	        d         dd	ddt                     t          |j	        d         dd	ddt                     t          |j	        d         dd	ddt                     t          |j
        dd	ddt                     t          |j        d         ddddt                     t          |j        d         ddddt                     t          |j        d         ddddt                     t          |j        d d	dd!t                     t          |j        d         d         d"d	dd#t                     t          |j        d         d         d$d	dd%t                     t          |j        d         d         d&d	dd't                     t          |j        d         d         d(d	dd)t                     t          |j        d         d         d*d	dd+t                     t          |j        d         d         d,d	dd-t                     t          |j        d         d         d.d	dd/t                     t          |j        d         d         d0d	dd1t                     t          |j        d         d         d2d	dd3t                     t          |d4d	dd5t                     d S )6Nr\   r]   rg   rh   apci13rj   r   r   r9   rk   r#   r   rl   r&   r   rm   r   ro   r   rq   r   rs   r   ru   r   rw   rx   r   rz   r   r|   r}   rA   g-U?r   g3MQ$f>r   gM\T?r   gFDyKr   g	?r   gC鵮r   gT4B\Tr   g.EpW>r   g<U?r   JI	geo)r+   r   r   r;   r   r   rj   r,   r   r   ru   r?   rA   r   )r   r   r   r   s       r   test_apci13r      s   EE"5%00JFB[[%%F
(%5&III	!+UHgvNNN	!,eXwOOO	!,eXwOOO	!+UHgvNNN	!,eXwOOO	!,eXwOOO	'$GGG-uhOOO-uhOOO-uhOOO
)5(E6JJJ
1a/*fUUU
1a2E8ZQWXXX
1a2E8ZQWXXX
1a3UHjRXYYY
1a/*fUUU
1a3UHjRXYYY
1a3UHjRXYYY
1a2E8ZQWXXX
1a/*fUUU%uhfEEEEEr   c                  "
   t          j        dt          j                  } t          j        dt                    }d}d}d| d         d<   d| d         d	<   d
| d         d<   d| d         d<   d| d         d	<   d| d         d<   d|d<   d|d	<   d|d<   d}d}d}d}d}d}	d}
d}d}d}d}d}t          j        ||| |||||||	|
|||||          }|                    t           j                  }t          |j	        dd d!d"t                     t          |j        d         d#d$d!d%t                     t          |j        d	         d&d$d!d't                     t          |j        d         d(d$d!d)t                     t          |j        d         d*d$d!d+t                     t          |j        d	         d,d$d!d-t                     t          |j        d         d.d$d!d/t                     t          |j        d0d$d!d1t                     t          |j        d         d2d3d!d4t                     t          |j        d	         d5d3d!d6t                     t          |j        d         d7d3d!d8t                     t          |j        d9d$d!d:t                     t          |j        d         d         d;d$d!d<t                     t          |j        d	         d         d=d$d!d>t                     t          |j        d         d         dd$d!d?t                     t          |j        d         d	         d@d$d!dAt                     t          |j        d	         d	         dBd$d!dCt                     t          |j        d         d	         dd$d!dDt                     t          |j        d         d         dEd$d!dFt                     t          |j        d	         d         dGd$d!dHt                     t          |j        d         d         dId$d!dJt                     t          |j        dKd$d!dLt                     t          |j        dMdNd!dOt                     t          |j        dPdNd!dQt                     t          |j        dRd$d!dSt                     t          |j        dTd$d!dUt                     t          |j        ddd!dVt                     t          |j        dWd$d!dXt                     t          |j        ddYd!dZt                     t          |j        dd[d!d\t                     d S )]Nr	   r8      @BAkb
?r~{g,rJ   r   Q˿r#   Ux}r&   PNm?r?   oW.''f{D&ߜ2ʿ4V8r   r   r   J)	@oQ́     d@aGd>#Y>vǒ5@: #~f*??r)<E*@rh   apcorj   g8,r9   rk   g˿rl   gڝrm   go(ro   g'rʿrq   g#ЏY;rs   g6{?ru   g3!1>rw   rx   ghؿ&yrz   gm+IAr|   繞T?rA   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   balongc>FFg<xpl¬b>ypl瘮eW5sphiVH?cphidiurab+@eralV瞯<refaC]r2<refb)r;   r<   r+   r   r=   r   r   r   r   rj   r,   r   r   ru   r?   rA   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r    thetaelongphihmxpypspr   r   r   s                    r   	test_apcor      s   8B
())D
(4

CEEDIaLDIaL DIaL DIaL DIaL!DIaLCFCFCFAAAEE
C	B	B	B	BDD_UE4aAueSRTVXZ\^`bfhlmmF[[%%F
(%GGG	!,eVWfMMM	!,eVWfMMM	!-ufgvNNN	!,eVWfMMM	!,eVWfMMM	!-ufgvNNN	(%vFFF-ufffMMM.vvvNNN.vvvNNN
)5&%HHH
1a/
FSSS
1a2E6:vVVV
1a2E6:vVVV
1a3UFJPVWWW
1a/
FSSS
1a3UFJPVWWW
1a3UFJPVWWW
1a2E6:vVVV
1a/
FSSS,eVWfMMM
,eVUFKKK
,eVUFKKK+UFFFKKK*E666JJJq!VXv666)5&&&III-ufffMMM.vvvNNNNNr   c                  h	   d} d}d}d}d}d}d}d}d	}d
}	d}
d}t          j        | |||||||||	|
|          \  }}}|                    t          j                  }t          |j        ddddt                     t          |j        d         ddddt                     t          |j        d         ddddt                     t          |j        d         ddddt                     t          |j	        d         ddddt                     t          |j	        d         ddddt                     t          |j	        d         dddd t                     t          |j
        d!ddd"t                     t          |j        d         d#d$dd%t                     t          |j        d         d&d$dd't                     t          |j        d         d(d$dd)t                     t          |j        d*ddd+t                     t          |j        d         d         d,ddd-t                     t          |j        d         d         d.ddd/t                     t          |j        d         d         d0ddd1t                     t          |j        d         d         d2ddd3t                     t          |j        d         d         d4ddd5t                     t          |j        d         d         d6ddd7t                     t          |j        d         d         d8ddd9t                     t          |j        d         d         d:ddd;t                     t          |j        d         d         d<ddd=t                     t          |j        d>ddd?t                     t          |j        d@dAddBt                     t          |j        dCdAddDt                     t          |j        dEdddFt                     t          |j        dGdddHt                     t          |j        ddddIt                     t          |j        dJdddKt                     t          |j        dLdMddNt                     t          |j        dOdPddQt                     t          |dRdSddTt                     t/          |dddUt                     d S )VNr   Q!?x@?r   r   r   r   r        ؆@皙)@zG?皙?g&<E*@rh   apco13rj   r   g]8,r9   rk   r#   g,˿rl   r&   gorm   goo(ro   g_ʿrq   gߡY;rs   gT{?ru   gM[1>rw   rx   gӎ'yrz   gy+IAr|   gT?rA   g1?r   gzĚj>r   g>g:U?r   g	gHr   r   r   gKKr   gњ:Ur   g6 y>r   g!31?r   r   r   r   r   r   r   r   r   r   r   r   r   糀@r   4;"~f*?r   r   \r   r   lˌhrE   r   rQ   )r+   r   r   r;   r   r   rj   r,   r   r   ru   r?   rA   r   r   r   r   r   r   r   r   r   r   r   )utc1utc2dut1r   r   r   r   r   phpatcrhwlr   r   rQ   s                  r   test_apco13r   3  sZ   DDDE
C	B	B	BD	B	B	B%dD$sBBPTVXZ\^`aaMFB[[%%F
(%5&III	!,eXwOOO	!,eXwOOO	!-uhPPP	!,eXwOOO	!,eXwOOO	!-uhPPP	(%4HHH-uhOOO.xPPP.xPPP
)5(E6JJJ
1a/*fUUU
1a2E8ZQWXXX
1a15(JPVWWW
1a3UHjRXYYY
1a/*fUUU
1a3UHjRXYYY
1a2E8ZQWXXX
1a2E8ZQWXXX
1a/*fUUU,eXwOOO
,eXufMMM
,eXufMMM+UHffMMM*E8VVLLLq!Xx888)5(FFKKK-uhOOO.xPPP$eXtVDDD1hV$$$$$r   c                     t          j        dt          j                  } t          j        dt          j                  }t          j        dt                    }d}d}d| d         d<   d| d         d	<   d
| d         d<   d| d         d<   d| d         d	<   d| d         d<   d|d         d<   d|d         d	<   d|d         d<   d|d         d<   d|d         d	<   d|d         d<   d|d<   d|d	<   d|d<   t          j        ||| ||          }|                    t           j                  }t          |j	        ddddt                     t          |j        d         ddddt                     t          |j        d	         d ddd!t                     t          |j        d         d"ddd#t                     t          |j        d         d$ddd%t                     t          |j        d	         d&ddd't                     t          |j        d         d(ddd)t                     t          |j        d*ddd+t                     t          |j        d         d,d-dd.t                     t          |j        d	         d/d-dd0t                     t          |j        d         d1d-dd2t                     t          |j        d3ddd4t                     t          |j        d         d         d	ddd5t                     t          |j        d	         d         dddd6t                     t          |j        d         d         dddd7t                     t          |j        d         d	         dddd8t                     t          |j        d	         d	         d	ddd9t                     t          |j        d         d	         dddd:t                     t          |j        d         d         dddd;t                     t          |j        d	         d         dddd<t                     t          |j        d         d         d	ddd=t                     d S )>Nr	   r8   r   r   gq=
<rJ   r   gQ_0Ar#   g
ף2Vr&   g$PBSr?   g~8H`gIK'?r   r   r   r   r   r   r   r   r   r   rh   apcsrj   gJ8,r9   rk   g˿rl   g_ڝrm   go(ro   grʿrq   gIޏY;rs   g{?ru   ge1>rw   rx   g&yrz   g>p+IAr|   r   rA   r   r   r   r   r   r   r   r   r   )r;   r<   r+   r   r=   r   r   r   r   rj   r,   r   r   ru   r?   rA   r   )pvr   r   r   r   r   s         r   	test_apcsr   d  s   	"j&	'	'B8B
())D
(4

CEEBsGAJBsGAJBsGAJBsGAJBsGAJBsGAJDIaLDIaL DIaL DIaL DIaL!DIaLCFCFCF_UE2tS99F[[%%F
(%GGG	!,eVWfMMM	!,eVWfMMM	!-ufgvNNN	!,eVWfMMM	!,eVWfMMM	!-ufgvNNN	(%vFFF-ufffMMM.vvvNNN.vvvNNN
)5&%HHH
1a!Q
F;;;
1a!Q
F;;;
1a!Q
F;;;
1a!Q
F;;;
1a!Q
F;;;
1a!Q
F;;;
1a!Q
F;;;
1a!Q
F;;;
1a!Q
F;;;;;r   c                  j   t          j        dt          j                  } d}d}d| d         d<   d| d         d<   d	| d         d
<   d| d         d<   d| d         d<   d| d         d
<   t          j        |||           }|                    t           j                  }t          |j        ddddt                     t          |j
        d         ddddt                     t          |j
        d         ddddt                     t          |j
        d
         ddddt                     t          |j        d         ddddt                     t          |j        d         ddddt                     t          |j        d
         ddddt                     t          |j        d ddd!t                     t          |j        d         d"d#dd$t                     t          |j        d         d%d#dd&t                     t          |j        d
         d'd#dd(t                     t          |j        d)ddd*t                     t          |j        d         d         dddd+t                     t          |j        d         d         dddd,t                     t          |j        d
         d         dddd-t                     t          |j        d         d         dddd.t                     t          |j        d         d         dddd/t                     t          |j        d
         d         dddd0t                     t          |j        d         d
         dddd1t                     t          |j        d         d
         dddd2t                     t          |j        d
         d
         dddd3t                     d S )4Nr	   r\   r]   gp=J6WrJ   r   g%Ar#   gp=
@3r&   gC=r?   gpvkYp|gQɛm@?rg   rh   apcs13rj   g݄h2?r9   rk   g['iڿrl   gL*ǿrm   g?ro   g#bmOڿrq   g\ƿrs   g#Y*?ru   gXZp?rw   rx   g?rz   g䧻1q?r|   gmRy?rA   r   r   r   r   r   r   r   r   r   )r;   r<   r+   r   r   r   r   r   rj   r,   r   r   ru   r?   rA   r   )r   r   r   r   s       r   test_apcs13r    s>   	"j&	'	'BEEBsGAJBsGAJBsGAJBsGAJBsGAJBsGAJueR00F[[%%F
(%5&III	!+UHgvNNN	!,eXwOOO	!,eXwOOO	!+UHgvNNN	!,eXwOOO	!,eXwOOO	'$GGG-uhOOO-uhOOO-uhOOO
)5(E6JJJ
1a!Q*f===
1a!Q*f===
1a!Q*f===
1a!Q*f===
1a!Q*f===
1a!Q*f===
1a!Q*f===
1a!Q*f===
1a!Q*f=====r   c                  4   t          j        dt          j                                      t           j                  } d| _        d}t          j        ||           } |                     t           j                  } t          | j	        ddddt                     d S )Nr	   X9v?gʡE@gS@r9   aperrj   )r;   zerosr+   dt_eraASTROMr   r   r   r  r   r   r,   )r   r   s     r   	test_aperr    sw    Xb*12277DDFFLE_UF++F[[%%F)5&%HHHHHr   c                  :   t          j        dt          j                                      t           j                  } d| _        d}d}t          j        |||           } |                     t           j                  } t          | j	        ddddt                     d S )	Nr	   r  r\   r]   gvA
@r9   aper13rj   )r;   r  r+   r  r   r   r   r	  r   r   r,   )r   ut11ut12s      r   test_aper13r    s    Xb*12277DDFFLDDtT622F[[%%F)5(E6JJJJJr   c                     d} d}d}d}d}d}d}d}d	}t          j        | ||||||||	  	        }	|	                    t          j                  }	t          |	j        d
dddt                     t          |	j        ddddt                     t          |	j	        ddddt                     t          |	j
        ddddt                     t          |	j        ddddt                     t          |	j        ddddt                     t          |	j        ddddt                     t          |	j        ddddt                     t          |	j        d	dddt                     d S )Nr   r   r   r   r   r   r   r   r   r   r9   apior   r   r   r   r   r   r   r   r   r   Th;>r   r   r   r   r   r   r   )r+   r  r   r;   r   r   r   r,   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   s
             r   	test_apior    sZ   	BEE
C	B	B	BDD_RsBBdKKF[[%%F,eVWfMMM
,eVUFKKK
,eVUFKKK+UFFFKKK*E666JJJ/&QQQ)5&&&III-ufffMMM.vvvNNNNNr   c                     d} d}d}d}d}d}d}d}d	}d
}	d}
d}t          j        | |||||||||	|
|          \  }}|                    t          j                  }t          |j        ddddt                     t          |j        ddddt                     t          |j	        ddddt                     t          |j
        ddddt                     t          |j        ddddt                     t          |j        ddddt                     t          |j        ddddt                     t          |j        dddd t                     t          |j        d!d"dd#t                     t!          |d$dd%t                     d S )&Nr   r   r   r   r   r   r   r   r   r   r   r   r   r9   apio13r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   rQ   )r+   r  r   r;   r   r   r   r,   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   rQ   s                 r   test_apio13r    s   DDDE
C	B	B	BD	B	B	B!$dE3BDRTVXZ\]]IFA[[%%F,eXwOOO
,eXufMMM
,eXufMMM+UHffMMM*E8VVLLL/(FSSS)5(FFKKK-uhOOO.xPPP1hV$$$$$r   c            
          d} d}d}d}d}d}d}d}t          j        | |||||||          \  }}	t          |d	d
ddt                     t          |	dd
ddt                     d S )NGz@ʡE?h㈵>h㈵>皙?     K@r\   r]   ]V@r9   atcc13raa,gG?da)r+   r  r   r,   )
rcdcprpdpxrvr   r   r  r  s
             r   test_atcc13r&    s    	B	B	B	B	B	BEEr2r2r2ueDDFB!5(D&AAA!5(D&AAAAAr   c            	          d} d}t          j        | |          \  }}d}d}d}d}d}d}	t          j        ||||||	|          \  }
}t          |
d	d
ddt                     t          |dd
ddt                     d S )Nr\   r]   r  r  r  r  r  r  r  r9   atccqr  r  r  )r+   r   r(  r   r,   )r   r   r   r   r   r!  r"  r#  r$  r%  r  r  s               r   
test_atccqr)        EE"5%00JFB	B	B	B	B	B	Bb"b"b"f==FB %$???!5'4@@@@@r   c            
          d} d}d}d}d}d}d}d}t          j        | |||||||          \  }}	}
t          |d	d
ddt                     t          |	dd
ddt                     t          |
ddddt                     d S )Nr  r  r  r  r  r  r\   r]   S 8T@r9   atci13ri	>"?dir   rE   r   )r+   r-  r   r,   )r   r!  r"  r#  r$  r%  r   r   r.  r0  r   s              r   test_atci13r1    s    	B	B	B	B	B	BEE"2r2r2r5%HHJBB %4@@@!5(D&AAA$eXtVDDDDDr   c            	          d} d}t          j        | |          \  }}d}d}d}d}d}d}	t          j        ||||||	|          \  }
}t          |
d	d
ddt                     t          |dd
ddt                     d S )Nr\   r]   r  r  r  r  r  r  r,  r9   atciqr.  r/  r0  )r+   r   r3  r   r,   )r   r   r   r   r   r!  r"  r#  r$  r%  r.  r0  s               r   
test_atciqr4  &  r*  r   c            
      "   t          j        dt          j                                      t           j                  } d}d}t          j        ||          \  }}d}d}d}d}d}	d	}
d
| d         _        d| d         _        d| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         _        d| d         _        d| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         _        d | d         _        d!| d         j	        d         d<   d"| d         j	        d         d<   d#| d         j	        d         d<   d$| d         j	        d         d<   d%| d         j	        d         d<   d&| d         j	        d         d<   t          j
        |||||	|
||           \  }}t          |d'd(d)d*t                     t          |d+d(d)d,t                     d S )-Nr)   r\   r]   r  r  r  r  r  r  M2?r   La㧝=fĢu=rJ   K&H2pr#   yj`qYr&   1b!+i?r?   2"*pdƵ]CEO?A:)>.]?q	q݋@9N?'kP~%T?MG?r~   Tqs*> B&VG篋zb'WXQO\d>@>4=7哾g؇rT@r9   atciqnr.  g82O"?r0  )r;   r<   r+   dt_eraLDBODYr   r   r   bmdlr   rM  r   r,   )br   r   r   r   r   r!  r"  r#  r$  r%  r.  r0  s                r   test_atciqnrR  5  sV   
J+,,11"+>>AEE"5%00JFB	B	B	B	B	B	BAaDGAaDG!AaDGCLO!AaDGCLO!AaDGCLO"AaDGCLO$AaDGCLO$AaDGCLOAaDGAaDG!AaDGCLO AaDGCLOAaDGCLO$AaDGCLO#AaDGCLO$AaDGCLOAaDGAaDG%AaDGCLO$AaDGCLO$AaDGCLO#AaDGCLO$AaDGCLO$AaDGCLOBBBBBFB %4@@@!5(D&AAAAAr   c                      d} d}t          j        | |          \  }}d}d}t          j        |||          \  }}t          |ddddt                     t          |d	ddd
t                     d S )Nr\   r]   r  r  gD@r9   atciqzr.  gѣҼ ?r0  )r+   r   rT  r   r,   )r   r   r   r   r   r!  r.  r0  s           r   test_atciqzrU  ]  s|    EE"5%00JFB	B	Br2v..FB %4@@@!5(D&AAAAAr   c                     d} d}d}d}d}d}d}d}d	}d
}	d}
d}d}d}d}d}d}d}t          j        | |||||||||	|
|||||||          \  }}}}}}}t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |dd dd!t                     t	          |d"dd#t                     d S )$Nr  r  r  r  r  r  r   r   r   r   r   r   r   r   r   r   r   r   gņs0>?r9   atco13aobgg6ǅ?zobghobgdq
?dobgG[@robr   rE   r   r   rQ   )r+   rW  r   r,   r   )r   r!  r"  r#  r$  r%  r   r   r   r   r   r   r   r   r   r   r   r   rX  rY  rZ  r[  r\  r   rQ   s                            r   test_atco13r]  h  sl   	B	B	B	B	B	BDDDE
C	B	B	BD	B	B	B%/%6r2r2r2tUY[_afhkmoqsuwy}  @B  DF  HJ  &K  &K"Cc3R%uhvFFF!5(E6BBB&xGGG"E8UFCCC!5(E6BBB$eXtVDDD1hV$$$$$r   c                      d} d}d}d}t          j        | |||          \  }}}t          |ddddt                     t          |d	ddd
t                     t          |ddddt                     d S )NU 8T@V="?r\   r]   dV@r9   atic13r   N,gG?r!  r   rE   r   )r+   rb  r   r,   )r.  r0  r   r   r   r!  r   s          r   test_atic13rd    s    	B	BEE"2r5%88JBB %4@@@!5(D&AAA$eXtVDDDDDr   c                      d} d}t          j        | |          \  }}d}d}t          j        |||          \  }}t          |ddddt                     t          |d	ddd
t                     d S )Nr\   r]   r_  r`  ra  r9   aticqr   rc  r!  )r+   r   rf  r   r,   )r   r   r   r   r.  r0  r   r!  s           r   
test_aticqrg    s|    EE"5%00JFB	B	Bb"f--FB %$???!5'4@@@@@r   c                  
   t          j        dt          j                                      t           j                  } d}d}t          j        ||          \  }}d}d}d| d         _        d| d         _        d	| d         j	        d
         d<   d| d         j	        d
         d<   d| d         j	        d
         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         _        d| d         _        d| d         j	        d
         d<   d| d         j	        d
         d<   d| d         j	        d
         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         _        d| d         _        d| d         j	        d
         d<   d| d         j	        d
         d<   d| d         j	        d
         d<   d | d         j	        d         d<   d!| d         j	        d         d<   d"| d         j	        d         d<   t          j
        ||||           \  }}t          |d#d$d%d&t                     t          |d'd$d%d(t                     d S ))Nr)   r\   r]   gD@ggҼ ?r6  r   r7  r8  rJ   r9  r#   r:  r&   r;  r?   r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  r~   rF  rG  rH  rI  rJ  rK  rL  gA@r9   	eraAtciqnr   gdOE?r!  )r;   r<   r+   rN  r   r   r   rO  rP  r   aticqnr   r,   )	rQ  r   r   r   r   r.  r0  r   r!  s	            r   test_aticqnrk    s:   
J+,,11"+>>AEE"5%00JFB	B	BAaDGAaDG!AaDGCLO!AaDGCLO!AaDGCLO"AaDGCLO$AaDGCLO$AaDGCLOAaDGAaDG!AaDGCLO AaDGCLOAaDGCLO$AaDGCLO#AaDGCLO$AaDGCLOAaDGAaDG%AaDGCLO$AaDGCLO$AaDGCLO#AaDGCLO$AaDGCLO$AaDGCLOr2vq11FB %dFCCC!5+tVDDDDDr   c                     d} d}d}d}d}d}d}d}d	}d
}	d}
d}d}d}t          j        | |||||||||	|
|||          \  }}}}}}t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t	          |dddt                     d S )Nr_  r`  r   r   r   r   r   r   r   r   r   r   r   r    0?r9   atio13rX  l-?rY  )rZ  9+"h?r[  JA@r\  r   rQ   )r+   rn  r   r,   r   )r.  r0  r   r   r   r   r   r   r   r   r   r   r   r   rX  rY  rZ  r[  r\  rQ   s                       r   test_atio13rs    s    	B	BDDDE
C	B	B	BD	B	B	B!+!22r4tUTWY[]_aceikmoqsu!v!vCc3Q%uhvFFF!5(E6BBB&xGGG"E8UFCCC!5(E6BBB1hV$$$$$r   c                     d} d}d}d}d}d}d}d}d	}d
}	d}
d}t          j        | |||||||||	|
|          \  }}d}d}t          j        |||          \  }}}}}t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     d S )Nr   r   r   r   r   r   r   r   r   r   r   r   r_  r`  rm  r9   atioqrX  ro  rY  rp  rZ  rq  r[  rr  r\  )r+   r  ru  r   r,   )r   r   r   r   r   r   r   r   r   r   r   r   r   rQ   r.  r0  rX  rY  rZ  r[  r\  s                        r   
test_atioqrv    s   DDDE
C	B	B	BD	B	B	B!$dE3BDRTVXZ\]]IFA	B	B(.r2v>>Cc3%ugufEEE!5'5&AAA&wvFFF"E7E6BBB!5'5&AAAAAr   c                     d} d}d}d}d}d}d}d}d	}d
}	d}
d}d}d}t          j        d||| |||||||||	|
|          \  }}}t          |ddddt                     t          |ddddt                     t	          |dddt                     d}d}t          j        d||| |||||||||	|
|          \  }}}t          |ddddt                     t          |ddddt                     t	          |dddt                     d}d}t          j        d ||| |||||||||	|
|          \  }}}t          |dddd!t                     t          |dddd"t                     t	          |ddd#t                     d S )$Nr   r   r   r   r   r   r   r   r   r   r   r   DqA@G"h?Rg?@r9   atoc13zR/rcgj0K?zR/dcr   zR/je~)Hg?@zH/rczH/dczH/j.?u-?AzA/rczA/dczA/j)r+   r{  r   r,   r   )r   r   r   r   r   r   r   r   r   r   r   r   ob1ob2r   r!  rQ   s                    r   test_atoc13r       DDDE
C	B	B	BD	B	B	B
C
C!3S$dE3PRTVXZ\`bdfhjlmmIBA %66BBB!5(FFCCC1hv&&&
!C
C!3S$dE3PRTVXZ\`bdfhjlmmIBA %66BBB!5(FFCCC1hv&&&
 C
C!3S$dE3PRTVXZ\`bdfhjlmmIBA %66BBB!5(FFCCC1hv&&&&&r   c                     d} d}d}d}d}d}d}d}d	}d
}	d}
d}d}d}t          j        d||| |||||||||	|
|          \  }}}t          |ddddt                     t          |ddddt                     t	          |dddt                     d}d}t          j        d||| |||||||||	|
|          \  }}}t          |ddddt                     t          |ddddt                     t	          |dddt                     d}d}t          j        d ||| |||||||||	|
|          \  }}}t          |dddd!t                     t          |dddd"t                     t	          |ddd#t                     d S )$Nr   r   r   r   r   r   r   r   r   r   r   r   rx  ry  rz  _}S8T@r9   atoi13R/riڔ>"?R/dir   zR/Jr|  r}  碂S8T@H/riH/dizH/Jr~  r  r  A/riA/dizA/J)r+   r  r   r,   r   )r   r   r   r   r   r   r   r   r   r   r   r   r  r  r.  r0  rQ   s                    r   test_atoi13r    r  r   c                  Z   d} d}d}d}d}d}d}d}d	}d
}	d}
d}t          j        | |||||||||	|
|          \  }}d}d}t          j        d|||          \  }}t          |ddddt                     t          |ddddt                     d}d}t          j        d|||          \  }}t          |ddddt                     t          |ddddt                     d}d}t          j        d|||          \  }}t          |ddddt                     t          |ddddt                     d S ) Nr   r   r   r   r   r   r   r   r   r   r   r   rx  ry  rz  r  r9   atoiqr  r  r  r|  r}  r  r  r  r~  r  r  r  r  )r+   r  r  r   r,   )r   r   r   r   r   r   r   r   r   r   r   r   r   rQ   r  r  r.  r0  s                     r   
test_atoiqr  1  ss   DDDE
C	B	B	BD	B	B	B!$dE3BDRTVXZ\]]IFA
C
Cc3V44FB %&&AAA"E7FFCCC
!C
Cc3V44FB %&&AAA!5'66BBB
 C
Cc3V44FB %&&AAA!5'66BBBBBr   z"do not yet support no-input ufuncs)reasonc                      t          j                    \  } }}t          | ddddt                     t          |ddddt                     t          |ddddt                     d S )	NgGM.r9   bi00dpsibig]9ɿadepsbigx/$( sdra)r+   r  r   r,   )r  r  r  s      r   	test_bi00r  P  sg    $/++FFC)5&(FKKK)5&(FKKK&vufEEEEEr   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }t          j        dd          \  } }}t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     t          |d         d         ddddt                     t          |d         d	         dddd t                     t          |d         d         d!ddd"t                     t          |d	         d         d#ddd$t                     t          |d	         d	         d%ddd&t                     t          |d	         d         d'ddd(t                     t          |d         d         d)ddd*t                     t          |d         d	         d+ddd,t                     t          |d         d         d-ddd.t                     t          |d         d         d/ddd0t                     t          |d         d	         d1ddd2t                     t          |d         d         d3ddd4t                     t          |d	         d         d5ddd6t                     t          |d	         d	         d7ddd8t                     t          |d	         d         d9ddd:t                     t          |d         d         d;ddd<t                     t          |d         d	         d=ddd>t                     t          |d         d         d?ddd@t                     d S )ANr)   r)      @OBAH.y@r   ?r9   bp00rb11r#   b/$( srw   rb12r&   Oi0u>rb13c0( s>rb21?rb22L9ɿa>rb23E0urb31ݹɿarb32?rb33giR?rp11g9~L?rE   rp12g8?rp13g8~Lrp21gx 5?rp22g4!rp23g8rp31gn+jrp32g?rp33Ș?rbp11a1<~L?rbp12wW8?rbp137<~Lrbp21G"	5?rbp22ICrbp23*W8rbp31aK?2ىrbp32yv?rbp33)r;   r<   r=   r+   r  r   r,   rbrprbps      r   	test_bp00r  X     	&%	 	 B	&%	 	 B
(65
!
!C/)Z88KBC1a'GGG1a+UFFFKKK1a*E666JJJ1a*E666JJJ1a'GGG1a*E666JJJ1a+UFFFKKK1a+UFFFKKK1a'GGG1a'GGG1a*E666JJJ1a*E666JJJ1a+UFFFKKK1a'GGG1a+UFFFKKK1a+UFFFKKK1a+UFFFKKK1a'GGGAq	(%&IIIAq	+UFGVLLLAq	+UFGVLLLAq	,eVWfMMMAq	(%&IIIAq	,eVWfMMMAq	,eVWfMMMAq	,eVWfMMMAq	(%&IIIIIr   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }t          j        dd          \  } }}t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     t          |d         d         ddddt                     t          |d         d	         ddddt                     t          |d         d         d ddd!t                     t          |d	         d         d"ddd#t                     t          |d	         d	         d$ddd%t                     t          |d	         d         d&ddd't                     t          |d         d         d(ddd)t                     t          |d         d	         d*ddd+t                     t          |d         d         d,ddd-t                     t          |d         d         d.ddd/t                     t          |d         d	         d0ddd1t                     t          |d         d         d2ddd3t                     t          |d	         d         d4ddd5t                     t          |d	         d	         d6ddd7t                     t          |d	         d         d8ddd9t                     t          |d         d         d:ddd;t                     t          |d         d	         d<ddd=t                     t          |d         d         d>ddd?t                     d S )@Nr  r  r  r   r  r9   bp06r  r#   u&7 srE   r  r&   &0u>r  3'7 s>r  r  r  @.a>r  610ur  Z7Xar  r  r  gU?r  gT~L?r  gr8?r  gt$~Lr  gQ 5?r  gʹsr  g8r  gQ2fr  gM?r  ?r  ?;~L?r  oW8?r  L;~Lr  '&	5?r  )Fr  \W8r  F+wՉr  u?r  )r;   r<   r=   r+   r  r   r,   r  s      r   	test_bp06r  z  r  r   c                     t          j        dt                    } d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   d
| d         d<   d| d         d<   d| d         d<   d| d         d<   t          j        |           \  }}t          |ddddt                     t          |ddddt                     d S )Nr  縥%?r   ǕOdr#    .Qr&   Nrgd?s=[?q ?sæSQ?GCEPrMj?r9   bpn2xyr   r   )r;   r<   r=   r+   r  r   r,   )rbpnr   r   s      r   test_bpn2xyr    s    8FE""D%DGAJ&DGAJ&DGAJ%DGAJ%DGAJ%DGAJ%DGAJ&DGAJ%DGAJT""DAq %3??? %3?????r   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r       =@r   g?r9   c2i00a11r#   gik->12r&   rlB13g43ҙY21g?22g]JY23FcBB?31+p&Z?32x鈥?33)r;   r<   r=   r+   r  r   r,   rc2is    r   test_c2i00ar    T   8FE""DY00DQ
)5(D&IIIQ
,eXtVLLLQ
-uhfMMMQ
-uhfMMMQ
)5(D&IIIQ
-uhfMMMQ
,eXtVLLLQ
,eXtVLLLQ
)5(D&IIIIIr   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   g?r9   c2i00br  r#   g{->r  r&   gݞBr  g7O>Yr  g~?r  gt{Kr  	ۘB?r  IҹK?r  e?r  )r;   r<   r=   r+   r  r   r,   r  s    r   test_c2i00br    r  r   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   g?r9   c2i06ar  r#   g4->r  r&   gBr  g<kəYr  g?r  gJnTr  籃B?r  aT?r  鈥?r  )r;   r<   r=   r+   r  r   r,   r  s    r   test_c2i06ar    r  r   c                     t          j        dt                    } t          j        dt                    }d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   d
| d         d<   d| d         d<   d| d         d<   d| d         d<   t          j        dd|           }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         dddd t                     d S )!Nr  r  r   r  r#   r  r&   r  r  r  r  r  r  r  r  g}`
?r9   c2ibpnr  g90r  gSQr  gu5k>r  g	?r  ge>Or?r  r  r  r  )r;   r<   r=   r+   r  r   r,   )r  r  s     r   test_c2ibpnr    s   8FE""D8FE""D%DGAJ&DGAJ&DGAJ%DGAJ%DGAJ%DGAJ%DGAJ&DGAJ%DGAJY
D99DQ
)5(D&IIIQ
-uhfMMMQ
-uhfMMMQ
,eXtVLLLQ
)5(D&IIIQ
,eXtVLLLQ
,eXtVLLLQ
-uhfMMMQ
)5(D&IIIIIr   c                  
   t          j        dt                    } d}d}t          j        dd||          } t          | d         d         ddd	d
t                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     d S )Nr  mB?oBT?r    r   ?r9   c2ixyr  r#   g->r  r&   gvTBr  g{ҿ˙Yr  ?r  gvTr  r  r  鈥?r  )r;   r<   r=   r+   r  r   r,   )r  r   r   s      r   
test_c2ixyr    sb   8FE""D A AIua33DQ
)5'4HHHQ
,eWdFKKKQ
-ugtVLLLQ
-ugtVLLLQ
)5'4HHHQ
-ugtVLLLQ
,eWdFKKKQ
,eWdFKKKQ
)5'4HHHHHr   c                     t          j        dt                    } d}d}d}t          j        |||          } t          | d         d         dddd	t                     t          | d         d
         ddddt                     t          | d         d         ddddt                     t          | d
         d         ddddt                     t          | d
         d
         ddddt                     t          | d
         d         ddddt                     t          | d         d         ddddt                     t          | d         d
         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  2>3Jr   r  r9   c2ixysr  r#   gu?->r  r&   gTBr  gΙYr  r  r  g]ޏvTr  r  r  r  r  )r;   r<   r=   r+   r   r   r,   )r  r   r   r    s       r   test_c2ixysr!    se   8FE""D A A!AQ1%%DQ
)5(D&IIIQ
,eXtVLLLQ
-uhfMMMQ
-uhfMMMQ
)5(D&IIIQ
-uhfMMMQ
,eXtVLLLQ
,eXtVLLLQ
)5(D&IIIIIr   c                      t          j        dt                    } d| d<   d| d<   d| d<   t          j        |           \  }}t          |dd	d
dt                     t          |dd	d
dt                     d S )Nr8         Y@r         Ir#         9@r&   OagݿrE   c2sr   碝6(?r   )r;   r<   r=   r+   r'  r   r,   )rJ   r   r   s      r   test_c2sr)    sy    
uAAaDAaDAaD""JE3%ueWfEEE"E5%@@@@@r   c                     t          j        dt                    } d}d}d}d}d}d}t          j        ||||||          } t          | d         d         ddd	d
t                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     d S )Nr  r  r  4>.6>r   gԂL,ǿr9   c2t00ar  r#   gQ]x?r  r&   gqrX/?r  gڊ]xr  gz,ǿr  g:cHB?r  g6$B?r  g g>{?r  ?r  )r;   r<   r=   r+   r-  r   r,   rc2tttautattbutbr   r   s          r   test_c2t00ar5    z   8FE""D
C
C
C
C	B	BS#sCR88DQ
*E8T6JJJQ
)5(D&IIIQ
,eXtVLLLQ
*E8T6JJJQ
*E8T6JJJQ
,eXtVLLLQ
,eXtVLLLQ
,eXtVLLLQ
)5(D&IIIIIr   c                     t          j        dt                    } d}d}d}d}d}d}t          j        ||||||          } t          | d         d         ddd	d
t                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     d S )Nr  r  r  r+  r,  r   gS,ǿr9   c2t00br  r#   gx?r  r&   g*hd]/?r  gB]xr  g䁸,ǿr  g9FB?r  g< "B?r  gl?r  g?r  )r;   r<   r=   r+   r8  r   r,   r/  s          r   test_c2t00br9  -  r6  r   c                     t          j        dt                    } d}d}d}d}d}d}t          j        ||||||          } t          | d         d         ddd	d
t                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     d S )Nr  r  r  r+  r,  r   gpL,ǿr9   c2t06ar  r#   g]x?r  r&   gki[/?r  g]xr  g|zz,ǿr  gQTHB?r  g$$B?r  g@8u?r  g?r  )r;   r<   r=   r+   r;  r   r,   r/  s          r   test_c2t06ar<  A  r6  r   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   d
| d         d<   d| d         d<   d| d         d<   d| d         d<   d}d|d         d<   d|d         d<   d|d         d<   d|d         d<   d|d         d<   d|d         d<   d|d         d<   d|d         d<   d|d         d<   t          j        | ||          }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         d ddd!t                     t          |d         d         d"ddd#t                     t          |d         d         d$ddd%t                     t          |d         d         d&ddd't                     t          |d         d         d(ddd)t                     t          |d         d         d*ddd+t                     d S ),Nr  g?r   g  \->r#   r  r&   g 3ҙYg?g}kJYr  p&Z?r   g-??+N74>Eg=?.6L,4.6>?gЁL,ǿr9   c2tcior  g\]x?r  gprX/?r  g势]xr  g~z,ǿr  g
:cHB?r  g7$B?r  gcu>{?r  r.  r  )r;   r<   r=   r+   rH  r   r,   )r  rpomr0  eras       r   test_c2tciorK  U  sg   8FE""D8FE""D8FE""D&DGAJ)DGAJ*DGAJ*DGAJ&DGAJ*DGAJ)DGAJ)DGAJ&DGAJ
C&DGAJ+DGAJ)DGAJ*DGAJ&DGAJ*DGAJ*DGAJ)DGAJ&DGAJT3--DQ
*E8T6JJJQ
)5(D&IIIQ
,eXtVLLLQ
*E8T6JJJQ
*E8T6JJJQ
,eXtVLLLQ
,eXtVLLLQ
,eXtVLLLQ
)5(D&IIIIIr   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   d
| d         d<   d| d         d<   d| d         d<   d| d         d<   d}d|d         d<   d|d         d<   d|d         d<   d|d         d<   d|d         d<   d|d         d<   d|d         d<   d|d         d<   d|d         d<   t          j        | ||          }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         d ddd!t                     t          |d         d         d"ddd#t                     t          |d         d         d$ddd%t                     t          |d         d         d&ddd't                     t          |d         d         d(ddd)t                     t          |d         d         d*ddd+t                     d S ),Nr  7?r   ŻUr#   _i֥Br&   2iU?^"?mk{r  r>  r   g@+*?r?  r@  rA  rB  rC  rD  rE  rF  rG  g5X,ǿr9   c2teqxr  g͍x?r  gyrX/?r  gd]xr  gY,ǿr  g2:cHB?r  g$B?r  g9^>{?r  r.  r  )r;   r<   r=   r+   rS  r   r,   )r  rI  r0  gsts       r   test_c2teqxrU  x  sg   8FE""D8FE""D8FE""D&DGAJ*DGAJ*DGAJ)DGAJ&DGAJ*DGAJ)DGAJ)DGAJ&DGAJ
C&DGAJ+DGAJ)DGAJ*DGAJ&DGAJ*DGAJ*DGAJ)DGAJ&DGAJT3--DQ
*E8T6JJJQ
)5(D&IIIQ
,eXtVLLLQ
*E8T6JJJQ
*E8T6JJJQ
,eXtVLLLQ
,eXtVLLLQ
,eXtVLLLQ
)5(D&IIIIIr   c            
      *   t          j        dt                    } d}d}d}d}d}d}d}d}t          j        ||||||||          } t          | d         d         d	d
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     d S )Nr  r  r  5Y.?2r+  r,  r   gf%_7ǿr9   c2tper  r#   g1.`	?r  r&   g L'ٿr  g^M="xr  g7wP?ſr  g?r  gX3\Q?r  g@bt?r  g+\?r  )r;   r<   r=   r+   rY  r   r,   )	r0  r1  r2  r3  r4  depsdpsir   r   s	            r   
test_c2tper\    s   8FE""D
C
C
C
C D$D	B	BCc3dBCCDQ
*E7D&IIIQ
)5'4HHHQ
*E7D&IIIQ
*E7D&IIIQ
*E7D&IIIQ
,eWdFKKKQ
,eWdFKKKQ
)5'4HHHQ
)5'4HHHHHr   c            
      *   t          j        dt                    } d}d}d}d}d}d}d}d}t          j        ||||||||          } t          | d         d         d	d
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     d S )Nr  r  r  r  r  r+  r,  r   gvL,ǿr9   c2txyr  r#   g]x?r  r&   g [/?r  gh]xr  gz,ǿr  g?THB?r  g]B[$B?r  gDu?r  g
?r  )r;   r<   r=   r+   r^  r   r,   )	r0  r1  r2  r3  r4  r   r   r   r   s	            r   
test_c2txyr_    s   8FE""D
C
C
C
C A A	B	BCc31b"==DQ
*E7D&IIIQ
)5'4HHHQ
,eWdFKKKQ
*E7D&IIIQ
*E7D&IIIQ
,eWdFKKKQ
,eWdFKKKQ
,eWdFKKKQ
)5'4HHHHHr   c                      t          j        ddd          \  } }}t          | ddddt                     t          |dddd	t                     t	          |d
ddt                     d S )N     r#   r  r   cal2jddjm0g    @djmr   rQ   )r+   rc  r   r,   r   )rd  re  rQ   s      r   test_cal2jdrf    sh    $T1a00LD#qih777hv6661hV$$$$$r   c                  n   t          j        dt                    } t          j        dt                    }d| d<   d| d<   d| d<   t          j        |           }t          |d         ddd	d
t                     t          |d         ddd	dt                     t          |d         ddd	dt                     d S )Nr8   333333?r   333333?r#         r&   r   cpr%   r(   r*   )r;   r<   r=   r+   rk  r   r,   )rJ   cs     r   test_cprm    s    
uA
uAAaDAaDAaDaA!sCsF+++!sCsF+++!dCsF+++++r   c                     t          j        dt          j                  } t          j        dt          j                  }d| d         d<   d| d         d<   d| d         d<   d	| d
         d<   d| d
         d<   d| d
         d<   t          j        |           }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         d	dddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     d S )Nr	   rh  rJ   r   ri  r#   rj  r&         r?   @?r   cpvp1p2p3v1v2v3)r;   r<   r+   r   rr  r   r,   )r   rl  s     r   test_cpvry    sM   	"j&	'	'B
Z%&&ABsGAJBsGAJBsGAJBsGAJBsGAJBsGAJrA!Q#sE4000!Q#sE4000!QsE4000!QsE4000!Q#sE4000!Q#sE400000r   c                     t          j        dt                    } t          j        dt                    }d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   t          j        |           }t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     d S )Nr         @r         @r#   r&         @      @r   crr  r  r  r  r  r  r  r  r  )r;   r<   r=   r+   r  r   r,   )rrl  s     r   test_crr    s   
A
AAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGaA!Qc4v...!Qc4v...!Qc4v...!Qc4v...!Qc4v...!Qc4v...!Qc4v...!Qc4v...!Qc4v.....r   c                     t          j        dddd          \  } }}}}t          | dddt                     t          |ddd	t                     t          |d
ddt                     t          |d         dddt                     t          |d         dddt                     t          |d         dddt                     t          |d         dddt                     t          |dddt                     d S )NUTC   r  gJ/@  d2dtfr   rb  mor'   rH   r      rG   r#   ;   mr&   <   r    r)   i5  frQ   )r+   r  r   r,   )iyimidr5   rQ   s        r   
test_d2dtfr    s    %+E1iMMBBqD'3'''Awf%%%Bf%%%a"gsF+++a"gsF+++a"gsF+++a%#v...1gsF#####r   c                  b   t          j        dd          \  } }t          | d         dddt                     t          |d         dddt                     t          |d	         d
ddt                     t          |d         dddt                     t          |d         dddt                     d S )Nr   gV<ݚr   r0   d2tfr    r  r"   r#   *   r%   r&   rO   r(   r)   i  r*   )r+   r  r   r,   r4   s     r   	test_d2tfr    s    q,//HAu!dFC(((a"fc6***a"fc6***a"fc6***a$V,,,,,r   c                     t          j        dddd          \  } }t          | ddddt                     t	          |ddd	t                     t          j        d
ddd          \  } }t          | ddddt                     t	          |dddt                     t          j        dddd          \  } }t          | ddddt                     t	          |dddt                     d S )Nra  rb  r#   r   g      @@datd1r   j1i     g     @@d2j2i  	   g     B@d3j3)r+   r  r   r,   r   )deltatrQ   s     r   test_datr    s    tQ3//IFAc5$///1eT6"""tQC00IFAc5$///1eT6"""tQ3//IFAc5$///1eT6"""""r   c                  j    t          j        dddddd          } t          | ddd	d
t                     d S )Ng   BArh|?g,g~?g_@gE=@g     @g@Tr   dtdbrV   )r+   r  r   r,   )r  s    r   	test_dtdbr  %  s:    ?9eWfhOOD'FCCCCCr   c            	          t          j        ddddddd          \  } }}t          | |z   dd	d
dt                     t	          |dd
dt                     d S )Nr  r  rb  r'   r  r  gJhN@g??BAư>dtf2dur   rQ   )r+   r  r   r,   r   u1u2rQ   s      r   
test_dtf2dr  *  s\     aRXFFIBA2}dGS&9991gsF#####r   c                      d} d}d}d}t          j        | |||          \  }}t          |ddddt                     t          |d	ddd
t                     d S )Nr\   r]   ffffff@ggiDC"@rE   eceq06drgT dd)r+   r  r   r,   )r   r   rP  dbr  r  s         r   test_eceq06r  0  sh    EE	B	BueR44FB %4@@@!5(D&AAAAAr   c                     t          j        dt                    } d}d}t          j        ||          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r\   r]   r   g/h?rE   ecm06rm11r#   g6 ,grm12r&   guq|#Trm13gG~Di?rm21gvH\?rm22gaT8t?rm23gҤv
>rm31gƜ/tٿrm32gtOn\?rm33)r;   r<   r=   r+   r  r   r,   )rmr   r   s      r   
test_ecm06r  :  s^   	&%	 	 BEE		%	'	'B1a'HHH1a+UGVVLLL1a+UGVVLLL1a*E7FFKKK1a'HHH1a'HHH1a*E7FFKKK1a(%&&III1a'HHHHHr   c                  n    d} d}t          j        dd| |          }t          |ddddt                     d S )	NrW  rX  r  r  g!E҆r   ee00rV   )r+   r  r   r,   )epsar[  ees      r   	test_ee00r  J  s@     D$D	GT4	8	8B%ufb&AAAAAr   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  r  g*҆r   ee00arV   )r+   r  r   r,   r  s    r   
test_ee00ar  Q  3    		)W	-	-B%ugr6BBBBBr   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  r  g^r   ee00brV   )r+   r  r   r,   r  s    r   
test_ee00br  V  r  r   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  r  g=&҆r   ee06arV   )r+   r  r   r,   r  s    r   
test_ee06ar  [  r  r   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  r  gaWLuc!>#B;eect00rV   )r+   r  r   r,   )eects    r   test_eect00r  `  3    Y00D&xVDDDDDr   c                  N   t          j        d          \  } }}t          |dddt                     t          j        t          j                  \  } }}t          |dddt                     t          | ddddt                     t          |d	d
ddt                     t          j        t          j                  \  } }}t          |dddt                     t          | ddddt                     t          |dd
ddt                     t          j        t          j                  \  } }}t          |dddt                     t          | ddddt                     t          |dd
ddt                     t          j        d          \  } }}t          |dddt                     d S )Nr   eformj0r  g   @TXA绽|=a1g)Zwk?r   f1r  a2g!6Zwk?f2g   TXAa3gv8gIwk?f3r   r  )	r+   r  r   r,   erfaWGS84r   GRS80WGS72)r   r  rQ   s      r   
test_eformr  e  s}   q!!GAq!2wf%%%tz**GAq!1gtV$$$9eWdF333#UGT6BBBtz**GAq!1gtV$$$9eWdF333#UGT6BBBtz**GAq!1gtV$$$9eWdF333#UGT6BBBq!!GAq!2wf%%%%%r   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  r  gUr   eo06arV   )r+   r  r   r,   )r   s    r   
test_eo06ar  x  r  r   c                  `   t          j        dt                    } d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   d
| d         d<   d| d         d<   d| d         d<   d| d         d<   d}t          j        | |          }t          |ddddt                     d S )Nr  rM  r   rN  r#   rO  r&   rP  rQ  rR  r  r>  r   r  gUrE   eorsrV   )r;   r<   r=   r+   r  r   r,   )rnpbr    r   s      r   	test_eorsr  }  s    8FE""D&DGAJ*DGAJ*DGAJ)DGAJ&DGAJ*DGAJ)DGAJ)DGAJ&DGAJ!A	q	!	!B%ufb&AAAAAr   c                  b    t          j        dd          } t          | ddddt                     d S )Ng lBAgWIe@gaw@r9   epbrV   )r+   r  r   r,   )r  s    r   test_epbr    s2    
.{
3
3C!5%V<<<<<r   c                      d} t          j        |           \  }}t          |ddddt                     t          |ddddt                     d S )Ng33333@r  &.>epb2jdrd  g @mjd)r+   r  r   r,   )r  rd  re  s      r   test_epb2jdr    sR    
C!#&&ID#ix888tXuf=====r   c                  b    t          j        dd          } t          | ddddt                     d S )NiYh% g    gF
@r9   epjrV   )r+   r  r   r,   )r  s    r   test_epjr    s2    
.'
*
*C!5%V<<<<<r   c                      d} t          j        |           \  }}t          |ddddt                     t          |ddddt                     d S )Ng333333@r  r  epj2jdrd  gffff@r  )r+   r  r   r,   )r  rd  re  s      r   test_epj2jdr    sQ    
C!#&&ID#ix888x88888r   c                  \   t          j        dt          j                  } t          j        dt          j                  }t          j        dd          \  } }}t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          |d         d         ddddt                     t          |d         d	         ddddt                     t          |d         d         ddddt                     t          |d	         d         ddddt                     t          |d	         d	         ddddt                     t          |d	         d         d ddd!t                     t          |ddd"t                     d S )#Nr	   r  g%p@r   g9jrE   epv00zph(x)r#   gt9?zph(y)r&   g?zph(z)g	f\r   zvh(x)g1ejڊzvh(y)gͱ\?&vzvh(z)g{dzpb(x)g68?zpb(y)gFۦ-?zpb(z)gՐ\zvb(x)gW'bzvb(y)gmP#vzvb(z)rQ   )r;   r<   r+   r   r  r   r,   r   )pvhpvbrQ   s      r   
test_epv00r     s   
(2z'
(
(C
(2z'
(
(C"9n==KCaAq	)5'7FKKKAq	(%'6JJJAq	(%'6JJJAq	,eWgvNNNAq	,eWgvNNNAq	,eWgvNNNAq	)5'7FKKKAq	(%'6JJJAq	(%'6JJJAq	,eWgvNNNAq	,eWgvNNNAq	,eWgvNNN1gsF#####r   c                      d} d}d}d}t          j        | |||          \  }}t          |ddddt                     t          |d	ddd
t                     d S )Ng     J@g   @BAr  /$?g3Jz?rE   eqec06rP  g\k?r  )r+   r  r   r,   )r   r   r  r  rP  r  s         r   test_eqec06r    sh    EE	B	BueR44FB %4@@@!5(D&AAAAAr   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  g    @"@gK?r   eqeq94rV   )r+   r  r   r,   )eqeqs    r   test_eqeq94r    r  r   c                  b    t          j        dd          } t          | ddddt                     d S )Nr      @g#;?r9   era00rV   )r+   r  r   r,   )r  s    r   
test_era00r    s3    Y00E$eWb&AAAAAr   c                  \    t          t          j        d          ddddt                     d S )N皙?g@%?r9   fad03rV   )r   r+   r  r,   r	   r   r   
test_fad03r    ,    
 4eWb&QQQQQr   c                  \    t          t          j        d          ddddt                     d S )Nr  g7X?r9   fae03rV   )r   r+   r  r,   r	   r   r   
test_fae03r    r  r   c                  \    t          t          j        d          ddddt                     d S )Nr  ge?r9   faf03rV   )r   r+   r  r,   r	   r   r   
test_faf03r    s,    
 5ugr6RRRRRr   c                  \    t          t          j        d          ddddt                     d S )Nr  gr(T@r9   faju03rV   )r   r+   r  r,   r	   r   r   test_faju03r    ,    
$!5uhFSSSSSr   c                  \    t          t          j        d          ddddt                     d S )Nr  gA@r9   fal03rV   )r   r+   r  r,   r	   r   r   
test_fal03r    r  r   c                  \    t          t          j        d          ddddt                     d S )Nr  g[\=@r9   falp03rV   )r   r+   r   r,   r	   r   r   test_falp03r!    r  r   c                  \    t          t          j        d          ddddt                     d S )Nr  g&<4
@r9   fama03rV   )r   r+   r#  r,   r	   r   r   test_fama03r$    r  r   c                  \    t          t          j        d          ddddt                     d S )Nr  g,sZ@r9   fame03rV   )r   r+   r&  r,   r	   r   r   test_fame03r'    r  r   c                  \    t          t          j        d          ddddt                     d S )Nr  gz @r9   fane03rV   )r   r+   r)  r,   r	   r   r   test_fane03r*    r  r   c                  \    t          t          j        d          ddddt                     d S )Nr  gd;r9   faom03rV   )r   r+   r,  r,   r	   r   r   test_faom03r-    s,    
$!6xVTTTTTr   c                  \    t          t          j        d          ddddt                     d S )Nr  g[ ?r9   fapa03rV   )r   r+   r/  r,   r	   r   r   test_fapa03r0    s-    
$!95(BPVWWWWWr   c                  \    t          t          j        d          ddddt                     d S )Nr  gβ;	~|@r9   fasa03rV   )r   r+   r2  r,   r	   r   r   test_fasa03r3    r  r   c                  \    t          t          j        d          ddddt                     d S )Nr  g.@r9   faur03rV   )r   r+   r5  r,   r	   r   r   test_faur03r6    r  r   c                  \    t          t          j        d          ddddt                     d S )Nr  gap62f@r9   fave03rV   )r   r+   r8  r,   r	   r   r   test_fave03r9     r  r   c                     d} d}d}d}d}d}t          j        | |||||          \  }}}}	}
}t          |ddd	d
t                     t          |ddd	dt                     t          |ddd	dt                     t          |	ddd	dt                     t          |
ddd	dt                     t          |ddd	dt                     d S )Ng r]?g?Uh2gGt">>gٖ>gx&?gffffff!@gnk?rE   fk425r2000gZr9   d2000g
19X|>r   dr2000g k>r   dd2000geYR&?vIh%<=p2000gHXy!@v2000)r+   r;  r   r,   )r1950d1950dr1950dd1950p1950v1950r<  r=  r>  r?  rA  rB  s               r   
test_fk425rI    s    "E!E%F%FEE1;1A%PVX^`egl1m1m.E5&&%%ugwGGG$eWgvFFF(%(FKKK(%(FKKK$eWgvFFF#UGWfEEEEEr   c                      d} d}d}t          j        | ||          \  }}t          |ddddt                     t          |dd	dd
t                     d S )Ngƹ>Kh?g9νgeᵊ@gWx؛?r   fk45zr<  g㫸Hr@  r=  )r+   rK  r   r,   )rC  rD  bepochr<  r=  s        r   
test_fk45zrM    sa    "E"E!F#E5&99LE5%ugwGGG%ugwGGGGGr   c                     d} d}d}d}d}d}t          j        | |||||          \  }}}}	}
}t          |ddd	d
t                     t          |ddd	dt                     t          |ddd	dt                     t          |	ddd	dt                     t          |
ddd	dt                     t          |ddd	dt                     d S )Ng*LK?g#a_,g34,>g$]s>g#?gHzU@g?r@  fk524rC  g?p0)rD  g탴"8>r   rE  gwg>r   rF  gf?rG  g{wU@rh   rH  )r+   rO  r   r,   )r<  r=  r>  r?  rA  rB  rC  rD  rE  rF  rG  rH  s               r   
test_fk524rP    s    !E"E%F%FEE1;1A%PVX^`egl1m1m.E5&&%$eWgvFFF%ugwGGG(%(FKKK(%(FKKK$eWgvFFF#UGWfEEEEEr   c                     d} d}d}d}d}d}t          j        | |||||          \  }}}}	}
}t          |ddd	d
t                     t          |ddd	dt                     t          |ddd	dt                     t          |	ddd	dt                     t          |
ddd	dt                     t          |ddd	dt                     d S )NwH?礘]ҿgFg +3ؾ;D?ffffffgA@H?rE   fk52hr  gIҿdecg(!TgҶOɃ;dr5g3ؾdd5r$  gNlffrh   r%  )r+   rV  r   r,   )r5d5rX  rY  px5rv5r   dhdrhddhpxhrvhs               r   
test_fk52hrc  -  s    
B
B
C
C
C
C!+!1"b#sC!M!MBCc3 %$???#UGUFCCC&ugufEEE$eWeVDDDgugtV444 %$?????r   c                     d} d}d}t          j        | ||          \  }}}}t          |ddddt                     t          |dd	dd
t                     t          |ddddt                     t          |ddddt                     d S )Ng̷Cכ?gĜ6g~7E@gdvg?rE   fk54zrC  g*νr@  rD  gؤs?Ir  rE  gÄݹV>rF  )r+   re  r   r,   )r<  r=  rL  rC  rD  rE  rF  s          r   
test_fk54zrf  =  s    "E"E!F#-#3E5&#I#I E5&&%ugwGGG%ugwGGG)5'8VLLL(%(FKKKKKr   c                     t          j        dt                    } t          j        dt                    }t          j                    \  } }t          | d         d         ddddt                     t          | d         d         d	d
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         ddddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         ddddt                     t          |d         dd
ddt                     t          |d         dd
ddt                     t          |d         dd
dd t                     d S )!Nr  r8   r   g?rE   fk5hipr  r#   ge}>r   r  r&   g\g>r  ge}r  g?r  gnyr  g扯gr  gy>r  g?r  gS	s1gS	(>s2g&->s3)r;   r<   r=   r+   rh  r   r,   )r5hs5hs     r   test_fk5hiprn  H  s   
(65
!
!C
(4

C ""HCAq	(%4HHHAq	+UHdFKKKAq	+UHdFKKKAq	,eXtVLLLAq	(%4HHHAq	,eXtVLLLAq	,eXtVLLLAq	+UHdFKKKAq	(%4HHHA)5(D&IIIA(%4HHHA(%4HHHHHr   c                      d} d}t          j        | |dd          \  }}t          |ddddt                     t          |d	ddd
t                     d S )NrR  rS  r      @g`H?r9   fk5hzr  gKQҿrW  )r+   rq  r   r,   )rZ  r[  r   r^  s       r   
test_fk5hzrr  [  s^    	B	Bb"i99FB!5'4@@@"E7E6BBBBBr   c                     t          j        dt                    } d}d}d}d}t          j        ||||          } t          | d         d         ddd	d
t                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     t          | d         d         ddd	dt                     d S )Nr  ;9j¾6D.?D"O%nŷ.?r   r  r9   fw2mr  r#   g?;~L?r  r&   goW8?r  g>;~Lr  r  r  g
)Fr  \W8r  MՉr  r  r  )r;   r<   r=   r+   rx  r   r,   )r  gambphibpsiepss        r   	test_fw2mr  c  sk   
A$D D$C CdC--A!Q&vtVDDD!Q)5&$GGG!Q)5&$GGG!Q*E64HHH!Q&vtVDDD!Q*E64HHH!Q*E64HHH!Q*E64HHH!Q&vtVDDDDDr   c                      d} d}d}d}t          j        | |||          \  }}t          |ddddt                     t          |d	ddd
t                     d S )Nrt  ru  rv  rw  ry  rE   fw2xyr   rz  r   )r+   r  r   r,   )r{  r|  r}  r~  r   r   s         r   
test_fw2xyr  u  sh    $D D$C CD$S11DAq$eWc6BBB$eWc6BBBBBr   c                      d} d}t          j        | |          \  }}t          |ddddt                     t          |ddddt                     d S )	NDJW@-DT!F8@rE   g2icrsrz  華?D)r+   r  r   r,   )rP  r  r  r  s       r   test_g2icrsr    Z    	$B	%BB''FB%uhVDDD%uhVDDDDDr   c                  $   t          j        g d          } t          j        d|           \  }}}}t	          |dddt
                     t          j        t          j        |           \  }}}}t	          |dddt
                     t          |dddd	t
                     t          |d
dddt
                     t          |ddddt
                     t          j        t          j	        |           \  }}}}t	          |dddt
                     t          |ddddt
                     t          |ddddt
                     t          |ddddt
                     t          j        t          j
        |           \  }}}}t	          |dddt
                     t          |ddddt
                     t          |ddddt
                     t          |ddddt
                     t          j        d|           \  }}}}t	          |dddt
                     d S )Ng    >Ag    `FAg    TAr   r  gc2gdr  r  s?rE   e1g_V\?rs  gJ
t@:0yE>h1r  e2gX\?rt  gi*Ut@h2r  e3g;0\?ru  gl9nt@h3r   j4)r;   arrayr+   r  r   r,   r  r  r   r  r  )xyzrI   rJ   rG   rQ   s        r   
test_gc2gdr    s   
(&&&
'
'C!!S))JAq!Q2wf%%%!$*c22JAq!Q1gtV$$$ %$???wf===wf===!$*c22JAq!Q1gtV$$$ %$???wf===tWdF;;;!$*c22JAq!Q1gtV$$$ %$??? %$???wf===!!S))JAq!Q2wf%%%%%r   c                  6   d} d}t          j        g d          }t          j        | ||          \  }}}}t	          |dddt
                     t          |dddd	t
                     t          |d
dddt
                     t          |ddddt
                     d S )N    TXAo3Twk?r  r   gc2gderQ   r  rE   rI   g̼\?rJ   g Ht@r  rG   )r;   r  r+   r  r   r,   r   )r   r  r  rI   rJ   rG   rQ   s          r   test_gc2gder    s    AA
(&&&
'
'C"1a--JAq!Q1hV$$$ %3??? %3???tXsF;;;;;r   c                     d} d}d}t          j        dt                    }t          j        d| ||          \  }}t          |dddt                     t          j        t          j        | ||          \  }}t          |ddd	t                     t          |d         d
dddt                     t          |d         ddddt                     t          |d         ddddt                     t          j        t          j
        | ||          \  }}t          |dddt                     t          |d         ddddt                     t          |d         ddddt                     t          |d         ddddt                     t          j        t          j        | ||          \  }}t          |dddt                     t          |d         ddddt                     t          |d         ddddt                     t          |d         dddd t                     t          j        d!| ||          \  }}t          |ddd"t                     d S )#Nrp  ro       @r8   r   r  gd2gcr  r  gJp#[UHz>z1/1r#   gx`qAz2/1r&   g?F3Gz3/1r  gȱ#[Uz1/2gY`qAz2/2g<F3Gz3/2r  gΰ[Uz1/3gȱǜqAz2/3gʧWF3Gz3/3r   r  )r;   r<   r=   r+   r  r   r,   r  r  r   r  r  )rI   rJ   rG   r  rQ   s        r   
test_gd2gcr    s#   AAA
(4

CaAq))FC2wf%%%dj!Q22FC1gtV$$$A#T7E6BBBA"D'5&AAAA#T7E6BBBdj!Q22FC1gtV$$$A#T7E6BBBA$dGUFCCCA#T7E6BBBdj!Q22FC1gtV$$$A#T7E6BBBA$dGUFCCCA#T7E6BBBaAq))FC2wf%%%%%r   c                  n   d} d}d}d}d}t          j        dt                    }t          j        | ||||          \  }}t          |ddd	t                     t          |d         d
dddt                     t          |d         ddddt                     t          |d         ddddt                     d S )Nr  r  rp  ro  r  r8   r   gd2gcerQ   gh [Ur  r%   r#   gqAr(   r&   g"F3Gr*   )r;   r<   r=   r+   r  r   r,   r   )r   r  rI   rJ   rG   r  rQ   s          r   test_gd2gcer    s    AAAAA
(4

Cq!Q1--FC1hV$$$A#T8S&AAAA$dHc6BBBA#T8S&AAAAAr   c                  f    t          j        dddd          } t          | ddddt                     d S )Nr  r  g?r9   gmst00rV   )r+   r  r   r,   r   s    r   test_gmst00r    7    i)WEEE#UHb&AAAAAr   c                  f    t          j        dddd          } t          | ddddt                     d S )Nr  r  gLz?r9   gmst06rV   )r+   r  r   r,   r  s    r   test_gmst06r    r  r   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  r  g(?r9   gmst82rV   )r+   r  r   r,   r  s    r   test_gmst82r    3    i11E#UHb&AAAAAr   c                  f    t          j        dddd          } t          | ddddt                     d S )Nr  r  gR(?r9   gst00arV   )r+   r  r   r,   r  s    r   test_gst00ar    r  r   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  r  gT?r9   gst00brV   )r+   r  r   r,   r  s    r   test_gst00br    r  r   c                  b   t          j        dt                    } d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   d
| d         d<   d| d         d<   d| d         d<   d| d         d<   t          j        dddd|           }t          |ddddt                     d S )Nr  rM  r   rN  r#   rO  r&   rP  rQ  rR  r  r>  r   r  r  gR(?r9   gst06rV   )r;   r<   r=   r+   r  r   r,   )r  r   s     r   
test_gst06r    s    8FE""D&DGAJ*DGAJ*DGAJ)DGAJ&DGAJ*DGAJ)DGAJ)DGAJ&DGAJYGTJJE#UGR@@@@@r   c                  f    t          j        dddd          } t          | ddddt                     d S )Nr  r  g	?r9   gst06arV   )r+   r  r   r,   r  s    r   test_gst06ar    r  r   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  r  gY?r9   gst94rV   )r+   r  r   r,   r  s    r   
test_gst94r    s3    Y00E#UGR@@@@@r   c                     d} d}d}d}d}d}t          j        | |||||          \  }}}}	}
}t          |ddd	d
t                     t          |ddd	dt                     t          |ddd	dt                     t          |	ddd	dt                     t          |
ddd	dt                     t          |ddd	dt                     d S )NKH?%lyҿgG/Ǿgͺ:ؾrT  rU  gH?r@  h2fk5r  guHҿrW  g4ݦ&Ǿr   rX  gx3$G&ؾrY  r$  g]/offrh   r%  )r+   r  r   r,   )r   r^  r_  r`  ra  rb  rZ  r[  rX  rY  r\  r]  s               r   
test_h2fk5r    s    
B
B
C
C
C
C!+!1"b#sC!M!MBCc3 %$???"E7E6BBB$eWeVDDD$eWeVDDDWeWdF333 %$?????r   c                      d} d}d}t          j        | ||          \  }}t          |ddddt                     t          |dd	dd
t                     d S )NrD   ri  rh  g@r@  hd2aer   g	:?rE   rI   )r+   r  r   r,   )rG   rH   rJ   r   rI   s        r   
test_hd2aer    sa    AAAAq!$$DAqf=== %#v>>>>>r   c                  p    d} d}d}t          j        | ||          }t          |ddddt                     d S )NrD   ri  rh  gT?r@  hd2paq)r+   r  r   r,   )rG   rH   rJ   r  s       r   
test_hd2par    sD    AAAAq!!Af=====r   c                     d} d}t          j        | |dd          \  }}}}t          |ddddt                     t          |d	d
ddt                     t          |ddddt                     t          |ddddt                     d S )Nr  r  r  rp  gc.H?r@  hfk5zr  g:ҿrE   rW  glH\2>^ 9^;rX  g]qgQ@-(;rY  )r+   r  r   r,   )r   r^  rZ  r[  rX  rY  s         r   
test_hfk5zr  $  s    	B	B!'B	7CCBC %$???"E7E6BBB%ugufEEE&wvFFFFFr   c                      d} d}t          j        | |          \  }}t          |ddddt                     t          |ddddt                     d S )	Nr  r  r  rE   icrs2gLr  B)r+   r  r   r,   )r  r  rP  r  s       r   test_icrs2gr  .  r  r   c                     t          j        dt                    } d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   t          j                    } t          | d         d         d	d
ddt                     t          | d         d         d
d
ddt                     t          | d         d         d
d
ddt                     t          | d         d         d
d
ddt                     t          | d         d         d	d
ddt                     t          | d         d         d
d
ddt                     t          | d         d         d
d
ddt                     t          | d         d         d
d
ddt                     t          | d         d         d	d
ddt                     d S )Nr  r{  r   r|  r#   r&   r}  r~  r~   r   irr  r  r  r  r  r  r  r  r  )r;   r<   r=   r+   r  r   r,   r  s    r   test_irr  6     
AAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGA!Qc4v...!Qc4v...!Qc4v...!Qc4v...!Qc4v...!Qc4v...!Qc4v...!Qc4v...!Qc4v.....r   c                  6   d} d}t          j        | |          \  }}}}}t          |dddt                     t          |dddt                     t          |ddd	t                     t	          |d
dddt                     t          |dddt                     d S )Nr  r    jd2calr   r&   r  
   rH   gH.?r  fdr   rQ   )r+   r  r   r,   r   )dj1dj2r  r  r  r  rQ   s          r   test_jd2calr  N  s    
C
C")#s33BBAD(C(((Axf%%%B#v&&&FD(D&1111hV$$$$$r   c                  `   d} d}t          j        d| |          \  }}t          |d         dddt                     t          |d         d	dd
t                     t          |d	         dddt                     t          |d         dddt                     t          |dddt                     d S )Nr  r  r   r   r  jdcalfr   r#   r&   r  r  rH   r)   i'  r  rQ   )r+   r  r   r,   )r  r  iydmfrQ   s       r   test_jdcalfr  Y  s    
C
C C--HE1a$#v...a!XsF+++a"hV,,,a$#v...1hV$$$$$r   c                  (   t          j        dt                    } t          j        dt                    }t          j        dt                    }t          j        dt                    }d}d| d<   d| d<   d| d<   d|d<   d|d<   d|d<   d	|d<   d
|d<   d|d<   d}d}t          j        || ||||          }t          |d         ddddt                     t          |d         ddddt                     t          |d         ddddt                     d S )Nr8   r6  7:!Slr   {3yr#   1l˿r&   giL?gɜRQa?g3 ?g?@1V!@r7  gSlr9   ldr%   gօyr(   g=т˿r*   )r;   r<   r=   r+   r  r   r,   )rJ   r  rI   rs  rO  ru   dlims          r   test_ldr  d  s   
uA
uA
uA	$		B	BAaDAaDAaDAaDAaDAaDAaDAaDAaD	BD	r1aB	-	-B1%udC@@@1%udC@@@1%udC@@@@@r   c                     t          j        dt          j                                      t           j                  } t          j        dt                    }t          j        dt                    }t          j        dt                    }d| d         _        d| d         _        d| d         j	        d         d<   d| d         j	        d         d	<   d
| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d	<   d| d         j	        d         d<   d| d	         _        d| d	         _        d| d	         j	        d         d<   d| d	         j	        d         d	<   d| d	         j	        d         d<   d| d	         j	        d         d<   d| d	         j	        d         d	<   d| d	         j	        d         d<   d| d         _        d| d         _        d| d         j	        d         d<   d| d         j	        d         d	<   d| d         j	        d         d<   d| d         j	        d         d<   d| d         j	        d         d	<   d| d         j	        d         d<   d |d<   d!|d	<   d"|d<   d#|d<   d$|d	<   d%|d<   t          j
        | ||          }t          |d         d&d'd(d)t                     t          |d	         d*d'd(d+t                     t          |d         d,d'd(d-t                     d S ).Nr)   r8   r6  r   r7  r8  rJ   r9  r#   r:  r&   r;  r?   r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  r~   rF  rG  rH  rI  rJ  rK  rL  gzg,g+3˿gdy}r  r  r  gYTTlr9   ldnr%   g/yr(   g2˿r*   )r;   r<   r+   rN  r   r   r=   rO  rP  r   r  r   r,   )rQ  obscsns       r   test_ldnr  {  s   
J+,,11"+>>A	$		B	$		B	$		BAaDGAaDG!AaDGCLO!AaDGCLO!AaDGCLO"AaDGCLO$AaDGCLO$AaDGCLOAaDGAaDG!AaDGCLO AaDGCLOAaDGCLO$AaDGCLO#AaDGCLO$AaDGCLOAaDGAaDG%AaDGCLO$AaDGCLO$AaDGCLO#AaDGCLO$AaDGCLO$AaDGCLOBqEBqEBqEBqEBqEBqE	2r	"	"B1%ueS&AAA1%ueS&AAA1%ueS&AAAAAr   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }d| d<   d| d<   d| d<   d|d<   d	|d<   d
|d<   d}t          j        | ||          }t          |d         ddddt                     t          |d         ddddt                     t          |d         ddddt                     d S )Nr8   r  r   r  r#   r  r&   gMc(g{ʿg99gҋo?gĘTlr9   ldsunr%   gIƲyr(   g9i=˿r*   )r;   r<   r=   r+   r  r   r,   )rJ   rI   rs  ru   s       r   
test_ldsunr    s    
uA
uA	$		BAaDAaDAaDAaDAaDAaD	B		!Q	#	#B1%ugsFCCC1%ugsFCCC1%ugsFCCCCCr   c                      d} d}d}t          j        | ||          \  }}t          |ddddt                     t          |dddd	t                     d S )
Nr        ?333333?gP3 
g?rE   lteceqr  gL?r  )r+   r  r   r,   )r  rP  r  r  r  s        r   test_lteceqr    sa    
C	B	BsB++FB %4@@@!5(D&AAAAAr   c                      t          j        dt                    } d}t          j        |          } t          | d         d         ddddt                     t          | d         d         d	ddd
t                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     d S )Nr  g     pr   gAn?rE   ltecmr  r#   ge?L?r  r&   gE=d?r  g3r  g>?r  gFw ?r  gtW?r  gB#ڿr  g6D5?r  )r;   r<   r=   r+   r  r   r,   )r  r  s     r   
test_ltecmr     sW   	&%	 	 B
C		#		B1a'HHH1a'HHH1a'HHH1a(%&&III1a'HHH1a'HHH1a*E7FFKKK1a(%&&III1a'HHHHHr   c                      d} d}d}t          j        | ||          \  }}t          |ddddt                     t          |dddd	t                     d S )
N     pr  r  gmDRX ?rE   lteqecrP  gZ?r  )r+   r  r   r,   )r  r  r  rP  r  s        r   test_lteqecr    sa    
C	B	BsB++FB!5(D&AAA!5(D&AAAAAr   c                      t          j        dt                    } d}t          j        |          } t          | d         d         ddddt                     t          | d         d         d	ddd
t                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     d S )Nr  l
@r   gͧ ?rE   ltpr  r#   gRp
?r  r&   g{?r  ge:p
r  gțM?r  go\Sr  g]՝r  gŇSr  g?r  )r;   r<   r=   r+   r  r   r,   )r  r  s     r   test_ltpr    sV   	&%	 	 B
C			B1a'vvFFF1a*E5&&III1a*E5&&III1a+UE66JJJ1a'vvFFF1a+UE66JJJ1a+UE66JJJ1a+UE66JJJ1a'vvFFFFFr   c                      t          j        dt                    } d}t          j        |          } t          | d         d         ddddt                     t          | d         d         d	ddd
t                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r   g: ?rE   ltpbrpb11r#   g ?n
?rpb12r&   gA?rpb13gIo
rpb21gM?rpb22gjx?Srpb23gl]rpb31gT{ʨSrpb32g0$
?rpb33)r;   r<   r=   r+   r
  r   r,   )rpbr  s     r   	test_ltpbr    sV   
(65
!
!C
C
/#

CAq	(%&IIIAq	+UFGVLLLAq	+UFGVLLLAq	,eVWfMMMAq	(%&IIIAq	,eVWfMMMAq	,eVWfMMMAq	,eVWfMMMAq	(%&IIIIIr   c                      t          j        dt                    } d}t          j        |          } t          | d         ddddt                     t          | d         d	ddd
t                     t          | d         ddddt                     d S )Nr8   r  r   g!m@??rE   ltpeclvec1r#   g<=8ٿvec2r&   g#BA?vec3)r;   r<   r=   r+   r  r   r,   )vecr  s     r   test_ltpeclr    s    
(4

C
C

C
 
 CA(%66JJJA&xHHHA%uhGGGGGr   c                      t          j        dt                    } d}t          j        |          } t          | d         ddddt                     t          | d         d	ddd
t                     t          | d         ddddt                     d S )Nr8   g     r   ghV5_ֿrE   ltpequveq1r#   gРSɿveq2r&   g@-?veq3)r;   r<   r=   r+   r  r   r,   )veqr  s     r   test_ltpequr#    s    
(4

C
C

C
 
 CA&xHHHA&xHHHA%uhGGGGGr   c                  *   t          j        dt          j                  } t          j        dd          } t          | d         d         dddd	t                     t          | d         d
         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d
         ddddt                     t          | d         d         ddddt                     d S )Nr	   r  {@rJ   r   gh"POerh   moon98x 4r#   g׾yeD?y 4r&   g	N1?z 4r?   g2	@O xd 4g<=Ayd 4gXb~&zd 4)r;   r<   r+   r   r&  r   r,   r   s    r   test_moon98r.    s    	"j&	'	'B		9g	.	.B3
-uhvNNN3
,eXufMMM3
,eXufMMM3
-uhOOO3
-uhOOO3
-uhOOOOOr   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   ??r9   num00ar  r#   `>r  r&   [S>r  .Շr  -?r  ;Mr  =оr  yĕM?r  C?r  )r;   r<   r=   r+   r1  r   r,   rmatns    r   test_num00ar<    T   HVU##Ei11Ea*E8T6JJJa-uhfMMMa-uhfMMMa.xvNNNa*E8T6JJJa.xvNNNa.xvNNNa-uhfMMMa*E8T6JJJJJr   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   籟?r9   num00br  r#   礬ɔ>r  r&   H>r  B.r  .?r  IyMr  </Vjоr  "PM?r  Ɖ?r  )r;   r<   r=   r+   r@  r   r,   r:  s    r   test_num00brI    T   HVU##Ei//Ea*E8T6JJJa-uhfMMMa-uhfMMMa.xvNNNa*E8T6JJJa.xvNNNa.xvNNNa-uhfMMMa*E8T6JJJJJr   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   r0  r9   num06ar  r#   T>r  r&   S>r  YFjuևr  -?r  Mr  XY}оr  ]鈕M?r  E?r  )r;   r<   r=   r+   rL  r   r,   r:  s    r   test_num06arU  -  rJ  r   c                     t          j        dt                    } d}d}d}t          j        |||          } t          | d         d         dddd	t                     t          | d         d
         ddddt                     t          | d         d         ddddt                     t          | d
         d         ddddt                     t          | d
         d
         ddddt                     t          | d
         d         ddddt                     t          | d         d         ddddt                     t          | d         d
         ddddt                     t          | d         d         ddddt                     d S )Nr  rW  rX  }uYM?r   r0  r9   numatr  r#   g|>r  r&   g6zS>r  gNO2ևr  g-?r  g;Mr  g&G+оr  g5yĕM?r  r9  r  )r;   r<   r=   r+   rX  r   r,   )r;  r  r[  rZ  s       r   
test_numatrY  ;  se   HVU##E D$D#DT4..Ea*E7D&IIIa-ugtVLLLa-ugtVLLLa.wfMMMa*E7D&IIIa.wfMMMa.wfMMMa-ugtVLLLa*E7D&IIIIIr   c                      t          j        dd          \  } }t          | ddddt                     t          |ddddt                     d S )	Nr  r  2r@  nut00ar[  rW  rZ  )r+   r\  r   r,   r[  rZ  s     r   test_nut00ar^  L  P    "9g66JD$'&&III'&&IIIIIr   c                      t          j        dd          \  } }t          | ddddt                     t          |ddddt                     d S )	Nr  r  o3r@  nut00br[  E,M?rZ  )r+   rb  r   r,   r]  s     r   test_nut00brd  R  r_  r   c                      t          j        dd          \  } }t          | ddddt                     t          |ddddt                     d S )	Nr  r  qEx2r@  nut06ar[  ~M?rZ  )r+   rg  r   r,   r]  s     r   test_nut06ari  X  r_  r   c                      t          j        dd          \  } }t          | ddddt                     t          |ddddt                     d S )	Nr  r  g(Of9r@  nut80r[  gqPNI?rZ  )r+   rk  r   r,   r]  s     r   
test_nut80rl  ^  sP    !)W55JD$'HHH'HHHHHr   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   g?r9   nutm80r  r#   gh
	3>r  r&   gW>r  gu-r  gW?r  gL{|OIr  g<(оr  g\QNI?r  g#?r  )r;   r<   r=   r+   rn  r   r,   r:  s    r   test_nutm80ro  d  r=  r   c                  ^    t          t          j        dd          ddddt                     d S )Nr  r
  gЬH.?rE   obl06rV   )r   r+   rq  r,   r	   r   r   
test_obl06rr  r  s0    
G,,.CUGUWY_`````r   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  r
  g2ZyI.?rE   obl80rV   )r+   rt  r   r,   )eps0s    r   
test_obl80rv  v  s3    Iw//D#UGR@@@@@r   c                  r   t          j        dd          \  } }}}}}}}}}	}
}}}}}t          | ddddt                     t          |ddddt                     t          |d	ddd
t                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |	ddddt                     t          |
ddddt                     t          |ddddt                     t          |ddddt                     t          |dddd t                     t          |d!ddd"t                     t          |d#ddd$t                     d S )%Nr      @g]'.?rE   p06eru  g)x{zE?psiag~.?omag>bpag$?rIپbqagwmU>piag
ij@bpiag4x.?r  gLo $H>chiagr/%3?zag<wz4?zetaagY_1?thetaagุPE?pagWէt>gamgX-x.?r   goE?r}  )r+   ry  r   r,   )ru  rz  r{  r|  r}  r~  r  r  r  r  r  r  r  r  r   r}  s                   r   	test_p06er  {  s   ]g]lmvx  ^A  ^AZD$S#sD$b%SRUWZ#UFFFCCC&vvvFFF#UFE6BBB%ufeVDDD&vufEEE%ufeVDDD"E666BBB#UFFFCCC&vvvFFF$eVT6BBB'HHH(%6JJJ$eVT6BBB%ufeVDDD"E65&AAA%ufeVDDDDDr   c                     t          j        dt                    } t          j        dt          j                  }d| d<   d| d<   d| d<   d	|d
         d<   d|d
         d<   d|d
         d<   d|d         d<   d|d         d<   d|d         d<   t          j        |           }t          |d
         d         ddddt                     t          |d
         d         ddddt                     t          |d
         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     d S )Nr8   r	   g      ?r   ri  r#   r|  r&   rh  rJ   rj  ro  r?   rp  rq  r   p2pvrs  rt  ru  rv  rw  rx  )r;   r<   r=   r+   r   r  r   r,   )rJ   r   s     r   	test_p2pvr    se   
uA	"j&	'	'BAaDAaDAaDBsGAJBsGAJBsGAJBsGAJBsGAJBsGAJ			B3
D#vtV4443
C#vtV4443
C#vtV4443
C#vtV4443
C#vtV4443
C#vtV44444r   c                     t          j        dt                    } d| d<   d| d<   d| d<   t          j        |           \  }}}t          |dd	d
dt                     t          |dd	d
dt                     t          |ddd
dt                     d S )Nr8   r#  r   r$  r#   r%  r&   r&  r9   p2sr   r(  r   g0\@r  r  )r;   r<   r=   r+   r  r   r,   )rJ   r   r   r  s       r   test_p2sr    s    
uAAaDAaDAaDN1%%ME3%ueWfEEE"E5%@@@uc6:::::r   c                     t          j        dt                    } t          j        dt                    }d| d<   d| d<   d| d<   d|d<   d	|d<   d|d<   t          j        | |          }t          |d
dddt                     d S )Nr8   r~   r   r  r#   皙?r&         MbP?gx뭲h?r9   paprV   )r;   r<   r=   r+   r  r   r,   )r   rQ  r   s      r   test_papr    s    
uA
uAAaDAaDAaDAaDAaDAaDN1a  E$eUB?????r   c                  v    d} d}d}d}t          j        | |||          }t          |ddddt                     d S )	Nr~   r  r        gc5r9   pasrV   )r+   r  r   r,   )alapblbpr   s        r   test_pasr    sJ    	B	B	B	BN2r2r**E$eUB?????r   c                      t          j        dd          \  } }}t          | ddddt                     t          |ddddt                     t          |d	ddd
t                     d S )Nr  r  g@r9   pb06bzetag)Hr7bzgìMX8btheta)r+   r  r   r,   )r  r  r  s      r   	test_pb06r    sk    "	:>>E2v(%&III%ufdFCCC)5&(FKKKKKr   c                     t          j        dt                    } t          j        dt                    }d| d<   d| d<   d| d<   d|d<   d|d<   d|d<   t          j        | |          }t          |d	d
ddt                     d S )Nr8   r{  r   r#   r|  r&   r~   r}     r9   pdprV   )r;   r<   r=   r+   r  r   r,   r   rQ  adbs      r   test_pdpr    s    
uA
uAAaDAaDAaDAaDAaDAaD
.A

CRr6*****r   c                     t          j        dd          \  } }}}t          | ddddt                     t          |dddd	t                     t          |d
dddt                     t          |ddddt                     d S )Nr  r  g;9j¾rw   pfw06r{  ru  r9   r|  gD"OrE   psibrw  r  )r+   r  r   r,   )r{  r|  r  r  s       r   
test_pfw06r    s    '-iDDD$d'HHH$eWffEEE'HHH$eWffEEEEEr   c                      t          j        dt          j                  } t          j        ddd          \  } }t          | d         d         ddddt                     t          | d         d	         dddd
t                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     t          |dddt                     t          j        ddd          \  } }t          |dddt                     t          j        ddd          \  } }t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         d ddd!t                     t          | d         d         d"ddd#t                     t          |d	dd$t                     t          j        dd%d	          \  } }t          | d         d         d&ddd't                     t          | d         d	         d(ddd)t                     t          | d         d         d*ddd+t                     t          | d         d         d,ddd-t                     t          | d         d	         d.ddd/t                     t          | d         d         d0ddd1t                     t          |ddd2t                     d S )3Nr	   r  g    .Ar   rJ   r   plan94zx 1r#   zy 1r&   zz 1r?   zxd 1zyd 1zzd 1r  zj 1r  zj 2i r)   g0%?rh   zx 3g<Hn?zy 3gߩߑ66?zz 3gNUzzxd 3g?+?zyd 3g9>z?zzd 3zj 3r%  gґ?r'  gacϿr(  gN&nĿr)  g{U?r*  gs?r+  gBI?r,  zj 4)r;   r<   r+   r   r  r   r,   r   )r   rQ   s     r   test_plan94r    s    	"j&	'	'Bia00EB3
Chv6663
Chv6663
Chv6663
Ch7773
Ch7773
Ch7772x'''ib11EB2x'''i!44EB3
)5(E6JJJ3
)5(E6JJJ3
)5(E6JJJ3
-uhOOO3
,eXvvNNN3
,eXvvNNN1hv&&&i!44EB3
)5(E6JJJ3
*E8UFKKK3
*E8UFKKK3
,eXvvNNN3
,eXvvNNN3
,eXvvNNN1hv&&&&&r   c                      t          j        dt                    } d| d<   d| d<   d| d<   t          j        |           }t          |dd	d
dt                     d S )Nr8   rh  r   ri  r#   rj  r&   ^=jP@r9   pmrV   )r;   r<   r=   r+   r  r   r,   )rJ   r  s     r   test_pmr    s\    
uAAaDAaDAaDaAb&99999r   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   r  r9   pmat00r  r#   r  rE   r  r&   r  r  r  r  r  r  r  r  r  r  r  r  r  r  )r;   r<   r=   r+   r  r   r,   r  s    r   test_pmat00r  	  T   
(65
!
!C

Iz
2
2CAq	(%4HHHAq	+UHdFKKKAq	+UHdFKKKAq	,eXtVLLLAq	(%4HHHAq	,eXtVLLLAq	,eXtVLLLAq	,eXtVLLLAq	(%4HHHHHr   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   r  r9   pmat06r  r#   r  rE   r  r&   r  r  r  r  r  r  r  r  r  r  r  r  r  r  )r;   r<   r=   r+   r  r   r,   r  s    r   test_pmat06r  	  r  r   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   g?r9   pmat76r  r#   g^=׋CL?rE   r  r&   gn^8?r  gSL׋CLr  gWz4?r  gADHr  g^8r  gz[r  g@{?r  )r;   r<   r=   r+   r  r   r,   )rmatps    r   test_pmat76r  $	  sT   HVU##Ei44Ea*E8T6JJJa-uhfMMMa-uhfMMMa.xvNNNa*E8T6JJJa.xvNNNa.xvNNNa.xvNNNa*E8T6JJJJJr   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }d| d<   d| d<   d| d<   d|d<   d|d<   d|d<   t          j        | |          }t          |d         dd	d
dt                     t          |d         dd	d
dt                     t          |d         dd	d
dt                     d S )Nr8   r{  r   r#   r|  r&   r~   r}  r9   pmpr"   r  r%   r(   )r;   r<   r=   r+   r  r   r,   r   rQ  ambs      r   test_pmpr  2	  s    
uA
uA
(4

CAaDAaDAaDAaDAaDAaD
.A

CAeUC000AeUC000AeUC00000r   c            
         t          j        dt                    } t          j        dt                    }d}d}d}d}d}d}d}d	| d
<   d| d<   d| d<   t          j        ||||||||           }t          |d
         ddddt                     t          |d         ddddt                     t          |d         ddddt                     d S )Nr8   r  sh|??r  h㈵{Gz?      $@g     !@rq  r   皙?r#   r  r&   g~[c?r9   pmpxr%   gk'H?r(   g=fo?r*   )r;   r<   r=   r+   r  r   r,   )	pobpcor   r!  r"  r#  r$  r%  rj   s	            r   	test_pmpxr  B	  s    
(4

C
(4

C	B	B	B	B	B	B
CCFCFCF
/"b"b"b#s
;
;CA%ufc6BBBA%ufc6BBBA%ufc6BBBBBr   c                     d} d}d}d}d}d}d}d}d}d	}	t          j        | |||||||||	
  
        \  }
}}}}}}t          |
d
dddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t	          |dddt                     d S )Nr  r  r  r  r  r  r  g    @g    +@g=[Ҿ?r9   pmsafera2gY7>?dec2g>pmr2g rw   pmd2gɿz?px2g|فF$@r  rv2r   rQ   )r+   r  r   r,   r   )ra1dec1pmr1pmd1px1rv1ep1aep1bep2aep2br  r  r  r  r  r  rQ   s                    r   test_pmsafer  U	  s   
CDDD
C
CDDDD)3):3dDRUWZ\`bfhlnr)s)s&CtT3Q!5(E6BBB#UHffEEE&xHHH'&&III%uhvFFF!5(E6BBB!Q#v&&&&&r   c                     t          j        dt                    } t          j        dt                    }d| d<   d| d<   d| d<   t          j        |           \  }}t          |dd	d
dt                     t          |d         dd	d
dt                     t          |d         dd	d
dt                     t          |d         dd	d
dt                     d S )Nr8   rh  r   ri  r#   rj  r&   r  r9   pnr  g}\?r  g}\?r  gou3)r;   r<   r=   r+   r  r   r,   )rJ   r  r  s      r   test_pnr  j	  s    
uA
uAAaDAaDAaD=DAqc6:::!#UD$???!#UD$???!$eT4@@@@@r   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }t          j        dt                    }t          j        dt                    }d}d}t          j        dd||          \  }} }}}}t          |dddd	t                     t          | d
         d
         ddddt                     t          | d
         d         ddddt                     t          | d
         d         ddddt                     t          | d         d
         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d
         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          |d
         d
         d ddd!t                     t          |d
         d         d"d#dd$t                     t          |d
         d         d%d#dd&t                     t          |d         d
         d'd#dd(t                     t          |d         d         d)ddd*t                     t          |d         d         d+d#dd,t                     t          |d         d
         d-d#dd.t                     t          |d         d         d/d#dd0t                     t          |d         d         d1ddd2t                     t          |d
         d
         d3ddd4t                     t          |d
         d         d5d#dd6t                     t          |d
         d         d7d#dd8t                     t          |d         d
         d9d#dd:t                     t          |d         d         d;ddd<t                     t          |d         d         d=d#dd>t                     t          |d         d
         d?d#dd@t                     t          |d         d         dAd#ddBt                     t          |d         d         dCdddDt                     t          |d
         d
         dEdddFt                     t          |d
         d         dGdHddIt                     t          |d
         d         dJdHddKt                     t          |d         d
         dLdHddMt                     t          |d         d         dNdddOt                     t          |d         d         dPdHddQt                     t          |d         d
         dRdHddSt                     t          |d         d         dTdHddUt                     t          |d         d         dVdddWt                     t          |d
         d
         dXdddYt                     t          |d
         d         dZd#dd[t                     t          |d
         d         d\d#dd]t                     t          |d         d
         d^d#dd_t                     t          |d         d         d`dddat                     t          |d         d         dbd#ddct                     t          |d         d
         ddd#ddet                     t          |d         d         dfd#ddgt                     t          |d         d         dhdddit                     d S )jNr  o3+,M?r  r  voZ.?r9   pn00r  r   r  r  r#   r  r   r  r&   r  r  r  r  r  r  r  r  r  r  r  r  r  r  籢?r  GɎFUrE   r  VfeuCr  ѻFU?r  ?r  r  _uC?r  ߨ ϼr  ä?r  	?r  HݸUr  DEO|Cr  YU?r  ?r  Ooنr  6t^C?r  Am}r  fʤ?r  r?  rn11gɔ>rw   rn12g>rn13gQ.rn21rD  rn22g/yMrn23g1Vjоrn31g"PM?rn32rH  rn33;V?rbpn11gSFUrbpn12g]oBrbpn13ghU?rbpn21"?rbpn22g{rbpn23gۘB?rbpn31gIҹK?rbpn32r
  rbpn33)r;   r<   r=   r+   r  r   r,   r  r  r  rnr  r[  rZ  r  s           r   	test_pn00r  w	  o   	&%	 	 B	&%	 	 B
(65
!
!C	&%	 	 B8FE""D$D#D",/)WdD"Q"QD"b#r4#UFFFCCC1a'GGG1a+UFFFKKK1a*E666JJJ1a*E666JJJ1a'GGG1a*E666JJJ1a+UFFFKKK1a+UFFFKKK1a'GGG1a'GGG1a+UFFFKKK1a+UFFFKKK1a*E666JJJ1a'GGG1a+UFFFKKK1a*E666JJJ1a+UFFFKKK1a'GGGAq	(%&IIIAq	,eVWfMMMAq	,eVWfMMMAq	+UFGVLLLAq	(%&IIIAq	,eVWfMMMAq	+UFGVLLLAq	,eVWfMMMAq	(%&III1a'GGG1a*E666JJJ1a*E666JJJ1a+UFFFKKK1a'GGG1a+UFFFKKK1a+UFFFKKK1a*E666JJJ1a'GGGQ
)5&(FKKKQ
-ufhOOOQ
-ufhOOOQ
,eVXvNNNQ
)5&(FKKKQ
-ufhOOOQ
,eVXvNNNQ
,eVXvNNNQ
)5&(FKKKKKr   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }t          j        dt                    }t          j        dt                    }t          j        dd          \  }}}} }}}}t          |ddddt                     t          |dddd	t                     t          |d
dddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         d ddd!t                     t          |d         d         d"ddd#t                     t          |d         d         d$d%dd&t                     t          |d         d         d'd%dd(t                     t          |d         d         d)d%dd*t                     t          |d         d         d+ddd,t                     t          |d         d         d-d%dd.t                     t          |d         d         d/d%dd0t                     t          |d         d         d1d%dd2t                     t          |d         d         d3ddd4t                     t          |d         d         d5ddd6t                     t          |d         d         d7d%dd8t                     t          |d         d         d9d%dd:t                     t          |d         d         d;d%dd<t                     t          |d         d         d=ddd>t                     t          |d         d         d?d%dd@t                     t          |d         d         dAd%ddBt                     t          |d         d         dCd%ddDt                     t          |d         d         dEdddFt                     t          |d         d         dGdddHt                     t          |d         d         dId%ddJt                     t          |d         d         dKd%ddLt                     t          |d         d         dMd%ddNt                     t          |d         d         dOdddPt                     t          |d         d         dQd%ddRt                     t          |d         d         dSd%ddTt                     t          |d         d         dUd%ddVt                     t          |d         d         dWdddXt                     t          |d         d         dYdddZt                     t          |d         d         d[d%dd\t                     t          |d         d         d]d%dd^t                     t          |d         d         d_d%dd`t                     t          |d         d         dadddbt                     t          |d         d         dcd%dddt                     t          |d         d         ded%ddft                     t          |d         d         dgd%ddht                     t          |d         d         didddjt                     d S )kNr  r  r  r[  r9   pn00ar[  rW  rZ  r  r  r   r  r  r#   r  rw   r  r&   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rE   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r0  r  r2  r  r3  r  r4  r  r5  r  r6  r   r7  r  r8  r  r9  r  rM  r  gŻUr  g_i֥Br  g2iU?r  rQ  r
  gk{r  r  r  r  r  r   r  )r;   r<   r=   r+   r  r   r,   r  s           r   
test_pn00ar  	     	&%	 	 B	&%	 	 B
(65
!
!C	&%	 	 B8FE""D.8.>y'.R.R+D$b"c2t'HHH'HHH$eWffEEE1a'HHH1a+UGVVLLL1a*E7FFKKK1a*E7FFKKK1a'HHH1a*E7FFKKK1a+UGVVLLL1a+UGVVLLL1a'HHH1a'HHH1a+UGVVLLL1a+UGVVLLL1a*E7FFKKK1a'HHH1a+UGVVLLL1a*E7FFKKK1a+UGVVLLL1a'HHHAq	(%'6JJJAq	,eWgvNNNAq	,eWgvNNNAq	+UGWfMMMAq	(%'6JJJAq	,eWgvNNNAq	+UGWfMMMAq	,eWgvNNNAq	(%'6JJJ1a'HHH1a*E7FFKKK1a*E7FFKKK1a+UGVVLLL1a'HHH1a+UGVVLLL1a+UGVVLLL1a*E7FFKKK1a'HHHQ
)5'8VLLLQ
-ugxPPPQ
-ugxPPPQ
,eWhOOOQ
)5'8VLLLQ
-ugxPPPQ
,eWhOOOQ
,eWhOOOQ
)5'8VLLLLLr   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }t          j        dt                    }t          j        dt                    }t          j        dd          \  }}}} }}}}t          |ddddt                     t          |dddd	t                     t          |d
dddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         d ddd!t                     t          |d         d         d"ddd#t                     t          |d         d         d$d%dd&t                     t          |d         d         d'd%dd(t                     t          |d         d         d)d%dd*t                     t          |d         d         d+ddd,t                     t          |d         d         d-d%dd.t                     t          |d         d         d/d%dd0t                     t          |d         d         d1d%dd2t                     t          |d         d         d3ddd4t                     t          |d         d         d5ddd6t                     t          |d         d         d7d%dd8t                     t          |d         d         d9d%dd:t                     t          |d         d         d;d%dd<t                     t          |d         d         d=ddd>t                     t          |d         d         d?d%dd@t                     t          |d         d         dAd%ddBt                     t          |d         d         dCd%ddDt                     t          |d         d         dEdddFt                     t          |d         d         dGdddHt                     t          |d         d         dId%ddJt                     t          |d         d         dKd%ddLt                     t          |d         d         dMd%ddNt                     t          |d         d         dOdddPt                     t          |d         d         dQd%ddRt                     t          |d         d         dSd%ddTt                     t          |d         d         dUd%ddVt                     t          |d         d         dWdddXt                     t          |d         d         dYdddZt                     t          |d         d         d[d%dd\t                     t          |d         d         d]d%dd^t                     t          |d         d         d_d%dd`t                     t          |d         d         dadddbt                     t          |d         d         dcd%dddt                     t          |d         d         ded%ddft                     t          |d         d         dgd%ddht                     t          |d         d         didddjt                     d S )kNr  r  r  ra  r9   pn00br[  rc  rZ  r  r  r   r  r  r#   r  rw   r  r&   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rE   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r?  r  rA  r  rB  r  rC  r  rD  r  rE  r   rF  r  rG  r  rH  r  r  r  gSFUr  g]oBr  ghU?r  r	  r
  g{r  r  r  r	  r  r
  r  )r;   r<   r=   r+   r  r   r,   r  s           r   
test_pn00br  	  r  r   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }t          j        dt                    }t          j        dt                    }d}d}t          j        dd||          \  }} }}}}t          |dddd	t                     t          | d
         d
         ddddt                     t          | d
         d         ddddt                     t          | d
         d         ddddt                     t          | d         d
         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d
         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          |d
         d
         d ddd!t                     t          |d
         d         d"ddd#t                     t          |d
         d         d$ddd%t                     t          |d         d
         d&ddd't                     t          |d         d         d(ddd)t                     t          |d         d         d*ddd+t                     t          |d         d
         d,ddd-t                     t          |d         d         d.ddd/t                     t          |d         d         d0ddd1t                     t          |d
         d
         d2ddd3t                     t          |d
         d         d4ddd5t                     t          |d
         d         d6ddd7t                     t          |d         d
         d8ddd9t                     t          |d         d         d:ddd;t                     t          |d         d         d<ddd=t                     t          |d         d
         d>ddd?t                     t          |d         d         d@dddAt                     t          |d         d         dBdddCt                     t          |d
         d
         dDdddEt                     t          |d
         d         dFdddGt                     t          |d
         d         dHdddIt                     t          |d         d
         dJdddKt                     t          |d         d         dLdddMt                     t          |d         d         dNdddOt                     t          |d         d
         dPdddQt                     t          |d         d         dRdddSt                     t          |d         d         dTdddUt                     t          |d
         d
         dVdddWt                     t          |d
         d         dXdddYt                     t          |d
         d         dZddd[t                     t          |d         d
         d\ddd]t                     t          |d         d         d^ddd_t                     t          |d         d         d`dddat                     t          |d         d
         dbdddct                     t          |d         d         dddddet                     t          |d         d         dfdddgt                     d S )hNr  r  r  r  r  rW  r9   pn06r  r   r  r  r#   r  rE   r  r&   r  r  r  r  r  r  r  r  r  r  r  r  r  r  ?r  z_FUr  euCr  lC#aFU?r  $?r  Br  9`uC?r  ݪhbr  ä?r  ?r  }[Ur  /|Cr   bU?r  "?r  Ir  쉵^C?r  rr  fʤ?r  r?  r  gM>r  g-#>r  goOJr  rD  r  g{yMr   giоr  g:"PM?r  rH  r  g&f?r  g qUr  gppBr  gLMgU?r  g"?r
  g;{r  g`ӟB?r  gށF?r  g?r  )r;   r<   r=   r+   r  r   r,   r  s           r   	test_pn06r.  "
  r  r   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }t          j        dt                    }t          j        dt                    }t          j        dd          \  }}}} }}}}t          |ddddt                     t          |dddd	t                     t          |d
dddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         d ddd!t                     t          |d         d         d"ddd#t                     t          |d         d         d$ddd%t                     t          |d         d         d&ddd't                     t          |d         d         d(ddd)t                     t          |d         d         d*ddd+t                     t          |d         d         d,ddd-t                     t          |d         d         d.ddd/t                     t          |d         d         d0ddd1t                     t          |d         d         d2ddd3t                     t          |d         d         d4ddd5t                     t          |d         d         d6ddd7t                     t          |d         d         d8ddd9t                     t          |d         d         d:ddd;t                     t          |d         d         d<ddd=t                     t          |d         d         d>ddd?t                     t          |d         d         d@dddAt                     t          |d         d         dBdddCt                     t          |d         d         dDdddEt                     t          |d         d         dFdddGt                     t          |d         d         dHdddIt                     t          |d         d         dJdddKt                     t          |d         d         dLdddMt                     t          |d         d         dNdddOt                     t          |d         d         dPdddQt                     t          |d         d         dRdddSt                     t          |d         d         dTdddUt                     t          |d         d         dVdddWt                     t          |d         d         dXdddYt                     t          |d         d         dZddd[t                     t          |d         d         d\ddd]t                     t          |d         d         d^ddd_t                     t          |d         d         d`dddat                     t          |d         d         dbdddct                     t          |d         d         dddddet                     t          |d         d         dfdddgt                     t          |d         d         dhdddit                     d S )jNr  r  r  rf  r9   pn06ar[  rh  rZ  rW  r  r   r  r  r#   r  rE   r  r&   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r!  r  r"  r  r#  r  r$  r  r%  r  r&  r  r'  r  r(  r  r)  r  r*  r  r+  r  r,  r  r-  r  r0  r  rM  r  rN  r  rO  r  rP  r  rQ  r   rR  r  rS  r  rT  r  gH?r  g?hUr  g֫ץBr  gHiU?r  g"?r
  g1u{r  r  r  r  r  r  r  )r;   r<   r=   r+   r0  r   r,   r  s           r   
test_pn06ar1  [
  r  r   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   gNXF ?r9   pnm00ar  r#   gNCoK?rE   r  r&   ga`7?r  gg?doKr  g@^C?r  gSp?r  g~UW7r  gT r  g$?r  )r;   r<   r=   r+   r3  r   r,   r  s    r   test_pnm00ar5  
  T   8FE""DY
33DQ
)5(D&IIIQ
,eXtVLLLQ
,eXtVLLLQ
-uhfMMMQ
)5(D&IIIQ
,eXtVLLLQ
-uhfMMMQ
-uhfMMMQ
)5(D&IIIIIr   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   gF ?r9   pnm00br  r#   gU!{GoK?rE   r  r&   gc7?r  ggoKr  g[^C?r  gS?r  g7r  gvZr  g?r  )r;   r<   r=   r+   r8  r   r,   r4  s    r   test_pnm00br9  
  r6  r   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   g\F ?r9   pnm06ar  r#   g+CoK?rE   r  r&   g`7?r  gPcoKr  g^C?r  gh?r  g7r  gr  gH$?r  )r;   r<   r=   r+   r;  r   r,   r4  s    r   test_pnm06ar<  
  r6  r   c                     t          j        dt                    } t          j        dd          } t          | d         d         ddddt                     t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d	         d         ddddt                     t          | d	         d	         ddddt                     t          | d	         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r  r   g: ?r9   pnm80r  r#   g8TpK?rE   r  r&   g0An7?r  gKtpKr  g-@PC?r  g~v?r  g$7r  gmB\r  gQ?r  )r;   r<   r=   r+   r>  r   r,   )rmatpns    r   
test_pnm80r@  
  sT   Xfe$$Fi44Fq	!+UGT6JJJq	!.wfMMMq	!.wfMMMq	!/vNNNq	!+UGT6JJJq	!.wfMMMq	!/vNNNq	!/vNNNq	!+UGT6JJJJJr   c                     t          j        dt                    } d}d}d}t          j        |||          } t          | d         d         dddd	t                     t          | d         d
         ddddt                     t          | d         d         ddddt                     t          | d
         d         ddddt                     t          | d
         d
         ddddt                     t          | d
         d         ddddt                     t          | d         d         ddddt                     t          | d         d
         ddddt                     t          | d         d         ddddt                     d S )Nr  r+  r,  g>O7r   r?  r9   pom00r  r#   r@  rw   r  r&   g4>r  rB  r  rC  r  rD  r  rE  r  rF  r  rG  r  )r;   r<   r=   r+   rB  r   r,   )rI  r   r   r   s       r   
test_pom00rC  
  se   8FE""D	B	B	#BBB''DQ
)5'4HHHQ
.wfMMMQ
,eWdFKKKQ
-ugtVLLLQ
)5'4HHHQ
-ugtVLLLQ
-ugtVLLLQ
,eWdFKKKQ
)5'4HHHHHr   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }d| d<   d| d<   d| d<   d|d<   d|d<   d|d<   t          j        | |          }t          |d         dd	d
dt                     t          |d         dd	d
dt                     t          |d         dd	d
dt                     d S )Nr8   r{  r   r#   r|  r&   r~   r}  r9   pppr"   r~  r%         @r(   )r;   r<   r=   r+   rE  r   r,   r   rQ  apbs      r   test_ppprI  
  s    
uA
uA
(4

CAaDAaDAaDAaDAaDAaD
.A

CAUE3///AUE3///AUE3/////r   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }d| d<   d| d<   d| d<   d}d|d<   d|d<   d	|d<   t          j        | ||          }t          |d         d
dddt                     t          |d         ddddt                     t          |d         ddddt                     d S )Nr8   r{  r   r#   r|  r&   r~  r~   r}  rF  r9   ppspr"   g      1@r%   g      7@r(   )r;   r<   r=   r+   rK  r   r,   )r   rQ  apsbr    s       r   	test_ppsprM  
  s    
uA
uA8D%  DAaDAaDAaDAAaDAaDAaD?1a##DQeVS&111Qufc6222Qufc622222r   c                      t          j        dd          \  } }t          | ddddt                     t          |ddddt                     d S )	Nr  r  g}B	ewr  pr00dpsiprgzXTt?depspr)r+   rO  r   r,   )rP  rQ  s     r   	test_pr00rR  
  sO    _Y66NFF)5&(FKKK)5&(FKKKKKr   c                      d} d}d}d}t          j        | |||          \  }}}t          |ddddt                     t          |dddd	t                     t          |d
dddt                     d S )Nr  g    @@@g     +@g+wsv?r9   prec76zetag3=[uv?zgxM>s?r   )r+   rT  r   r,   )ep01ep02ep11ep12rU  rV  r   s          r   test_prec76r[    s    DDDD&tT4>>ND!U'&6JJJ'#6JJJ''6JJJJJr   c                     t          j        dt          j                  } t          j        dt                    }d| d         d<   d| d         d<   d| d         d	<   d
| d         d<   d| d         d<   d| d         d	<   t          j        |           }t          |d         ddddt                     t          |d         ddddt                     t          |d	         ddddt                     d S )Nr	   r8   rh  rJ   r   ri  r#   rj  r&   ro  r?   rp  rq  r   pv2pr%   r(   r*   )r;   r<   r+   r   r=   r]  r   r,   r   rJ   s     r   	test_pv2pr_    s    	"j&	'	'B
uABsGAJBsGAJBsGAJBsGAJBsGAJBsGAJA!sCf---!sCf---!dCf-----r   c                  *   t          j        dt          j                  } d| d         d<   d| d         d<   d| d         d<   d	| d
         d<   d| d
         d<   d| d
         d<   t          j        |           \  }}}}}}t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     d S )Nr	   Z:lpQܿrJ   r   g:[1%?r#   J?r&   g-~>r?   g\~@>gK"X>g-@r9   pv2sr   r  r   gv/?r  J֗[rw   tdgc74>r#  goP rd)r;   r<   r+   r   rc  r   r,   )r   r   r   r  re  r#  rf  s          r   	test_pv2srg    s   	"j&	'	'B$BsGAJ$BsGAJ$BsGAJ%BsGAJ%BsGAJ%BsGAJ * 3 3E32r2#UFGVDDD"E65&AAA %f===%ufdFCCC$eVT6BBB%ufdFCCCCCr   c                  n   t          j        dt          j                  } t          j        dt          j                  }t          j        dt          j                  }d| d         d<   d| d         d<   d| d         d<   d| d	         d<   d
| d	         d<   d| d	         d<   d|d         d<   d|d         d<   d|d         d<   d
|d	         d<   d|d	         d<   d|d	         d<   t          j        | |          }t          |d         ddddt                     t          |d         ddddt                     d S )Nr	   r{  rJ   r   r#   r|  r&         @r?   r   r}  r~          @      4@r9   pvdpvr%   g      I@r(   )r;   r<   r+   r   dt_pvdpvrl  r   r,   r  s      r   
test_pvdpvrn  /  s*   
Z%&&A
Z%&&A
(2z*
+
+CAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1I

1a
 
 CAeWc6222AeWc622222r   c                  Z   t          j        dt          j                  } d| d         d<   d| d         d<   d| d         d<   d	| d
         d<   d| d
         d<   d| d
         d<   t          j        |           \  }}t          |ddddt                     t          |ddddt                     d S )Nr	   rh  rJ   r   ri  r#   rj  r&   g?r?   g      пrD   r  r9   pvmr  gT n?r    )r;   r<   r+   r   rp  r   r,   )r   r  r    s      r   test_pvmrq  D  s    	"j&	'	'BBsGAJBsGAJBsGAJBsGAJBsGAJBsGAJ>"DAqsF;;;sF;;;;;r   c                     t          j        dt          j                  } t          j        dt          j                  }t          j        dt          j                  }d| d         d<   d| d         d<   d| d         d<   d| d	         d<   d
| d	         d<   d| d	         d<   d|d         d<   d|d         d<   d|d         d<   d|d	         d<   d|d	         d<   d|d	         d<   t          j        | |          }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     d S )Nr	   r{  rJ   r   r#   r|  r&   r~  r?   ri  r~   r}  r9   pvmpvr  r  r  r  r  r  r  )r;   r<   r+   r   rs  r   r,   r  s      r   
test_pvmpvrt  Q  s   
Z%&&A
Z%&&A
(2z'
(
(CAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1I

1a
 
 CAq	Cv666Aq	4v666Aq	4v666Aq	Cv666Aq	Cv666Aq	Cv66666r   c                     t          j        dt          j                  } t          j        dt          j                  }t          j        dt          j                  }d| d         d<   d| d         d<   d| d         d<   d| d	         d<   d
| d	         d<   d| d	         d<   d|d         d<   d|d         d<   d|d         d<   d|d	         d<   d|d	         d<   d|d	         d<   t          j        | |          }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     d S )Nr	   r{  rJ   r   r#   r|  r&   r~  r?   ri  r~   r}  r9   pvppvrs  rt  rF  ru  rj  rv  rw  rx  )r;   r<   r+   r   rv  r   r,   rG  s      r   
test_pvppvrw  j  s   
Z%&&A
Z%&&A
(2z'
(
(CAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1I

1a
 
 CAq	3wf555Aq	3wf555Aq	3wf555Aq	3wf555Aq	3wf555Aq	3wf55555r   c                  \   t          j        dt          j                  } d| d         d<   d| d         d<   d| d         d<   d	| d
         d<   d| d
         d<   d| d
         d<   t          j        |           \  }}}}}}}t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |ddddt                     t          |dddt                     d S )Nr	   u@rJ   r   Mޕ@r#   24r&   焑%Ipr?   gIt͵ygkb[?_@ʺE?r9   pvstarr  穪VzrW  gղrw   pmrg͒>pmdN?r$  gK5rh   r%  rQ   )r;   r<   r+   r   r~  r   r,   r   r   r  rW  r  r  r$  r%  rQ   s           r   test_pvstarr    s2   	"j&	'	'B%BsGAJ%BsGAJ&BsGAJ*BsGAJ*BsGAJ)BsGAJ#-#4R#8#8 BS#r2qL%4888\5(E6:::&xGGG%uhvFFFGUHdF333!5(D&AAA1hV$$$$$r   c            	      P   t          j        dt          j                  } d}d}d}d}d}d}d}t          j        |||||||          } t          | d	         d
         ddddt                     t          | d	         d         ddddt                     t          | d	         d         ddddt                     t          | d         d
         ddddt                     t          | d         d         ddddt                     t          | d         d         d
d
ddt                     d S )Nr	   r{        ?g     p@r  gƠr  r~  rJ   r   g~WPAr  pvtobzp(1)r#   g-KLAzp(2)r&   goV3GAzp(3)r?   gWpr  rx   gAs@rz   r|   )r;   r<   r+   r   r  r   r,   )r   r   r   r   r   r   r   r   s           r   
test_pvtobr    s    	"j&	'	'BE
C	B	B	B	BE		%b"b"e	<	<B3
($HHH3
($HHH3
($HHH3
)4&&III3
($HHH3
Aq'6622222r   c                     t          j        dt          j                  } t          j        dt          j                  }d| d         d<   d| d         d<   d| d         d<   d	| d
         d<   d| d
         d<   d| d
         d<   t          j        d|           }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d
         d         d	dddt                     t          |d
         d         ddddt                     t          |d
         d         ddddt                     d S )Nr	   u@rJ   r   Mޕ@r#   r{  r&   r|  r?   Kt͵ykb[?     Ц@Sc(@r  pvurs  N@r  rt  翌	ru  r9   rv  rw  rx  )r;   r<   r+   r   r  r   r,   )r   upvs     r   test_pvur    sU   	"j&	'	'B
(2z'
(
(C%BsGAJ%BsGAJ&BsGAJ*BsGAJ*BsGAJ)BsGAJ
.
$
$CC)4fEEEC)4fEEEC*D%vFFFC.udFKKKC.udFKKKC-ueT6JJJJJr   c                     t          j        dt          j                  } t          j        dt                    }d| d         d<   d| d         d<   d| d         d	<   d
| d         d<   d| d         d<   d| d         d	<   t          j        d|           }t          |d         ddddt                     t          |d         ddddt                     t          |d	         ddddt                     d S )Nr	   r8   r  rJ   r   r  r#   r{  r&   r|  r?   r  r  r  r  r  pvupr%   r  r  r(   r  r*   )r;   r<   r+   r   r=   r  r   r,   r^  s     r   	test_pvupr    s    	"j&	'	'B
uA%BsGAJ%BsGAJ&BsGAJ*BsGAJ*BsGAJ)BsGAJ##A!#tVS&AAA!%tVS&AAA!#tVS&AAAAAr   c                     t          j        dt          j                  } t          j        dt          j                  }t          j        dt          j                  }d| d         d<   d| d         d<   d| d         d<   d| d	         d<   d
| d	         d<   d| d	         d<   d|d         d<   d|d         d<   d|d         d<   d
|d	         d<   d|d	         d<   d|d	         d<   t          j        | |          }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     d S )Nr	   r{  rJ   r   r#   r|  r&   ri  r?   r   r}  r~   rj  r  r9   pvxpvrs        rt  ru  g       rv  g      Brw  g      6@rx  )r;   r<   r+   r   r  r   r,   r   rQ  axbs      r   
test_pvxpvr    s   
Z%&&A
Z%&&A
(2z'
(
(CAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1IAcF1I

1a
 
 CAq	D%$777Aq	D%$777Aq	S%$777Aq	D%$777Aq	5%$777Aq	D%$77777r   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }d| d<   d| d<   d| d<   d|d<   d|d<   d|d<   t          j        | |          }t          |d         d	d
ddt                     t          |d         dd
ddt                     t          |d         dd
ddt                     d S )Nr8   r{  r   r#   r|  r&   r~   r}  r  r9   pxpr%   r  r(   r*   )r;   r<   r=   r+   r  r   r,   r  s      r   test_pxpr    s    
uA
uA
(4

CAaDAaDAaDAaDAaDAaD
.A

CAeUC000AeUC000AeUC00000r   c                      d} d}d}d}t          j        | |||          \  }}t          |ddddt                     t          |d	d
ddt                     d S )Ng      @r  rq  r  gNŤ2-?r   refcor   gzupr   r   )r+   r  r   r,   )r   r   r   r   r   r   s         r   
test_refcor    sh    D	B	B	B!$B33JD$&wGGG'HHHHHr   c                     t          j        dt                    } t          j        dt                    }d| d         d<   d| d         d<   d| d         d<   d	| d         d<   d
| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   t          j        |           }t          |d         ddddt                     t          |d         ddddt                     t          |d         ddddt                     d S )Nr  r8   r   r   gr#   g333333r&   r  g
ףp=
׿gQ?r  g{Gzr9   rm2vr%   gpe?r(   gPi1(r*   )r;   r<   r=   r+   r  r   r,   )r  ws     r   	test_rm2vr    s   
A
uAAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGA!sUFC@@@!#UFC@@@!#UFC@@@@@r   c                  N   t          j        dt                    } t          j        dt                    }d| d<   d| d<   d| d<   t          j        |           }t          |d         d         d	d
ddt                     t          |d         d         dd
ddt                     t          |d         d         dd
ddt                     t          |d         d         dd
ddt                     t          |d         d         dd
ddt                     t          |d         d         dd
ddt                     t          |d         d         dd
ddt                     t          |d         d         dd
ddt                     t          |d         d         dd
ddt                     d S )Nr8   r  r   r   gUd?r#   geW1(r&   gdrE   rv2mr  gOvSr  gd|$'ۿr  gOvS?r  g/@{?r  g8r  gd|$'?r  r  go ?r  )r;   r<   r=   r+   r  r   r,   )r  r  s     r   	test_rv2mr    s}   
uA
AAaDAaDAaDA!Q'fEEE!Q'fEEE!Q'fEEE!Q'fEEE!Q'fEEE!Q'fEEE!Q'fEEE!Q'fEEE!Q'fEEEEEr   c                     t          j        dt                    } d}d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   t          j        ||           } t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         dd
ddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     d S )Nr  Ld?r{  r   r|  r#   r&   r}  r~  r   rxr  r  r  g-Ca\@r9   r  g8q	@r  g@r  gء?&?r  g@r  gz9t@r  )r;   r<   r=   r+   r  r   r,   )r  r   s     r   test_rxr    s   
A
CAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGc1A!Qc4v...!Qc4v...!Qc4v...!Q%udD&AAA!Q%udD&AAA!Q%udD&AAA!Q%udD&AAA!Q%udD&AAA!Q%udD&AAAAAr   c                  j   t          j        dt                    } t          j        dt                    }t          j        dt                    }d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   d
|d<   d|d<   d|d<   t          j        | |          }t          |d         ddddt                     t          |d         ddddt                     t          |d         ddddt                     d S )Nr  r8   r{  r   r|  r#   r&   r}  r~  r  r  r  r  r9   rxpr%   333333@r(   ffffff@r*   )r;   r<   r=   r+   r  r   r,   )r  rJ   r  s      r   test_rxpr  7  s0   
A
uA	$		BAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDAaDAaD	1		B1sE5#v...1sE5#v...1sE5#v.....r   c                     t          j        dt                    } t          j        dt          j                  }t          j        dt          j                  }d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   d
|d         d<   d|d         d<   d|d         d<   d|d         d<   d
|d         d<   d|d         d<   t          j        | |          }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     d S )Nr  r	   r{  r   r|  r#   r&   r}  r~  r  rJ   r  r  r?   r  r9   rxpvr  gffffff@r  r  r  @r  r  r  g333333@r  )r;   r<   r=   r+   r   r  r   r,   )r  r   rpvs      r   	test_rxpvr  M  s   
A	"j&	'	'B
(2z'
(
(CAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGBsGAJBsGAJBsGAJBsGAJBsGAJBsGAJ
/!R
 
 CCS%v666CS%v666CS%v666CS%v666CS%v666CS%v66666r   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	|d         d<   d|d         d<   d|d         d<   d|d         d<   d	|d         d<   d	|d         d<   d|d         d<   d
|d         d<   d	|d         d<   t          j        | |          }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     d S )Nr  r{  r   r|  r#   r&   r}  r~  r~   r   rk  r9   rxrr  rF  r  g      "@r  r  rj  r  g      &@r  g      A@r  r  r  g      .@r  )r;   r<   r=   r+   r  r   r,   )r   rQ  atbs      r   test_rxrr  i  sV   
A
A
(65
!
!CAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDG
.A

CAq	4tV444Aq	CtV444Aq	CtV444Aq	4tV444Aq	CtV444Aq	4tV444Aq	4tV444Aq	4tV444Aq	4tV44444r   c                     t          j        dt                    } d}d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   t          j        ||           } t          | d         d         d
dddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     d S )Nr  r  r{  r   r|  r#   r&   r}  r~  ?r9   ryr  g-ay?r  gM~8s ?r  r)   r  r  r  l @r  gT:@r  gْ@r  )r;   r<   r=   r+   r  r   r,   )r  r   s     r   test_ryr    s   
AEAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGeQA!Q&tT6BBB!Q%udD&AAA!Q&tT6BBB!QE4v...!QE4v...!QE4v...!Q%udD&AAA!Q%udD&AAA!Q%udD&AAAAAr   c                     t          j        dt                    } d}d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   t          j        ||           } t          | d         d         d
dddt                     t          | d         d         ddddt                     t          | d         d         d
dddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         d	dddt                     d S )Nr  r  r{  r   r|  r#   r&   r}  r~  g	XM/@r9   rzr  r  r  r  g
{u(@r  r  r  r  r  r  r  )r;   r<   r=   r+   r  r   r,   )r  r}  s     r   test_rzr    s   
A
CAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGc1A!Q%udD&AAA!Q%udD&AAA!Q%udD&AAA!Q%udD&AAA!Q%udD&AAA!Q%udD&AAA!QeT4000!QeT4000!QeT400000r   c                  n    d} d}t          j        dd| |          }t          |ddddt                     d S )	Nr  r  r  r  gBd83Jr   s00rV   )r+   r  r   r,   r   r   r    s      r   test_s00r    @     A Ay'1a00A$eUB?????r   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  rx  gĞ}Lr   s00arV   )r+   r  r   r,   r    s    r   	test_s00ar    2    	7++A$eVR@@@@@r   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  rx  gGLr   s00brV   )r+   r  r   r,   r  s    r   	test_s00br    r  r   c                  n    d} d}t          j        dd| |          }t          |ddddt                     d S )	Nr  r  r  r  gՃ23Jr   s06rV   )r+   r  r   r,   r  s      r   test_s06r    r  r   c                  b    t          j        dd          } t          | ddddt                     d S )Nr  rx  g_lwLr   s06arV   )r+   r  r   r,   r  s    r   	test_s06ar    r  r   c                     t          j        dt                    } t          j        dd          } t          | d         ddddt                     t          | d	         d
dddt                     t          | d         ddddt                     d S )Nr8   g)0@g+r   gG,r9   s2cr%   r#   gܱ?r(   r&   gLr*   )r;   r<   r=   r+   r  r   r,   )rl  s    r   test_s2cr    s    
uAvv&&A!$eUC@@@!$eUC@@@!$eUC@@@@@r   c                      t          j        dt                    } t          j        ddd          } t          | d         dddd	t                     t          | d
         ddddt                     t          | d         ddddt                     d S )Nr8   Gz	r  v/?r   ra  r9   s2pr   r#   ?[1%?r   r&   rb  rV  )r;   r<   r=   r+   r  r   r,   rJ   s    r   test_s2pr    s    
uAueU++A!$eUC@@@!$eUC@@@!$eUC@@@@@r   c                  2   t          j        dt          j                  } t          j        dddddd          } t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     d S )Nr	   r  r  r  rd  gb74>gpP rJ   r   ra  r9   s2pvr   r#   r  r   r&   rb  rV  r?   g-~>rw   vxg[~@>vygK"X>vz)r;   r<   r+   r   r  r   r,   r-  s    r   	test_s2pvr    s    	"j&	'	'B	ugw	I	IB3
*E63GGG3
*E63GGG3
*E63GGG3
-ufdFKKK3
-ufdFKKK3
-ufdFKKKKKr   c                     t          j        dt          j                  } t          j        dt          j                  }d}d}d| d         d<   d| d         d<   d	| d         d
<   d| d         d<   d| d         d<   d| d         d
<   t          j        |||           }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d
         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d
         ddddt                     d S )Nr	   r{  r|  rh  rJ   r   ri  r#   rj  r&   r  r?   ffffff@gٿr  r9   s2xpvrs  333333@rt  r  ru  r  rv  g@rw  g333333rx  )r;   r<   r+   r   r  r   r,   )r   spvri  rj  s       r   
test_s2xpvr    s\   	"j&	'	'B
(2z'
(
(C	B	BBsGAJBsGAJBsGAJBsGAJBsGAJBsGAJ

2r2
&
&CCc5'4888Cc5'4888CT5'4888Cc5'4888Cc5'4888CT5'488888r   c                     t          j        dt                    } t          j        dt                    }d| d<   d| d<   d| d<   d|d<   d	|d<   d|d<   t          j        | |          }t          |d
dddt                     d S )Nr8   r~   r   r  r#   r  r&   r  r  g(@r9   sepprV   )r;   r<   r=   r+   r  r   r,   )r   rQ  r    s      r   	test_seppr    s    
uA
uAAaDAaDAaDAaDAaDAaD1AF;;;;;r   c                  v    d} d}d}d}t          j        | |||          }t          |ddddt                     d S )	Nr~   r  r  r  g/q^1@rE   sepsrV   )r+   r  r   r,   )r  r  r  r  r    s        r   	test_sepsr    sJ    	B	B	B	BBB''AF;;;;;r   c                  ^    t          t          j        dd          ddddt                     d S )Nr  rx  gBVaWr9   sp00rV   )r   r+   r  r,   r	   r   r   	test_sp00r    s0    
	7++-GPVXZ\bcccccr   c                     d} d}d}d}d}d}t          j        | |||||dddd	
  
        \  }}}}	}
}}t          |d
dddt                     t          |ddddt                     t          |ddddt                     t          |	ddddt                     t          |
ddddt                     t          |ddddt                     t	          |dddt                     d S )Nr}  r  Qղ ͒>r  皙5r  g    `t@r  g?r@  starpmr  gЉrW  g?rr   r  gv,>r  go]Q?r$  g>s[5rh   r%  r   rQ   )r+   r  r   r,   r   )r  r  r  r  r  r  r  r  r  r  r  r  rQ   s                r   test_starpmr  !  s   CDDDC
C)3):3dDRUWZ\egnpy  |C  *D  *D&CtT3Q#UHdFCCC#UHeVDDD'%HHH&xGGG"E8T6BBB"E8T6BBB1hV$$$$$r   c                     t          j        dt          j                  } d}d}d}d}d}d}t          j        ||||||          \  } }t          | d         d	         d
dddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d	         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          |d	ddt                     d S )Nr	   r}  r  r  r  r  r  rJ   r   ry  r  starpvr  r#   rz  r9   r  r&   r{  r  r?   g\\NGpr@  r  ga͵yr   r  gA[?r  rQ   )r;   r<   r+   r   r  r   r,   r   r  s           r   test_starpvr  2  s4   	"j&	'	'B
B
C
C
C
B	Bb#sCR88EB3
(%4HHH3
(%4HHH3
)5(D&III3
-uhfMMM3
-uhfMMM3
,eXtVLLL1hV$$$$$r   c                  t   t          j        dt                    } t          j        dt                    }d}d| d<   d| d<   d| d<   t          j        ||           }t          |d         d	d
ddt                     t          |d         dd
ddt                     t          |d         dd
ddt                     d S )Nr8   r{  rh  r   ri  r#   rj  r&   r  r   sxpr%   r  r(   r  r*   )r;   r<   r=   r+   r  r   r,   )rJ   r   r    s      r   test_sxpr  D  s    
uA	$		BAAaDAaDAaD	1		B1S%f---1S%f---1tS%f-----r   c                     t          j        dt          j                  } t          j        dt          j                  }d}d| d         d<   d| d         d<   d| d         d	<   d
| d         d<   d| d         d<   d| d         d	<   t          j        ||           }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d	         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d	         ddddt                     d S )Nr	   r{  rh  rJ   r   ri  r#   rj  r&   r  r?   g	@gffffffr  r   sxpvrs  r  rt  r  ru  r~   rv  g@rw  gffffffrx  )r;   r<   r+   r   r  r   r,   )r   r  r    s      r   	test_sxpvr  Q  sT   	"j&	'	'B
(2z'
(
(CABsGAJBsGAJBsGAJBsGAJBsGAJBsGAJ
/!R
 
 CCc3f555Cc3f555CT3f555Cc3f555Cc3f555CT3f55555r   c                      t          j        dd          \  } }}t          | ddddt                     t          |ddddt                     t	          |d	dd
t                     d S )N   @{BAX7?r  taittt1AD?r9   t2r   rQ   )r+   r	  r   r,   r   r
  r  rQ   s      r   
test_taittr  d  f     K88IBAItWdF333Kv6661gsF#####r   c                      t          j        ddd          \  } }}t          | ddddt                     t          |dddd	t                     t	          |d
ddt                     d S )Nr  r  46<U@r  taiut1r  gˁ?r9   r  r   rQ   )r+   r  r   r,   r   r  s      r   test_taiut1r  k  i    !)[(CCIBAItXtV444!5(D&AAA1hV$$$$$r   c                      t          j        dd          \  } }}t          | ddddt                     t          |ddddt                     t	          |d	dd
t                     d S )Nr  r  r  taiutcr  g!\{?r9   r  r   rQ   )r+   r  r   r,   r   r  s      r   test_taiutcr  r  g    !)[99IBAItXtV444!5(D&AAA1hV$$$$$r   c                      t          j        dd          \  } }}t          | ddddt                     t          |ddddt                     t	          |d	dd
t                     d S )Nr  g֝?r  tcbtdbb1gKD?r9   b2r   rQ   )r+   r  r   r,   r   r  r  rQ   s      r   test_tcbtdbr  y  r  r   c                      t          j        dd          \  } }}t          | ddddt                     t          |ddddt                     t	          |d	dd
t                     d S )Nr  gL OqT?r  tcgttr
  g`D?r9   r  r   rQ   )r+   r!  r   r,   r   r  s      r   
test_tcgttr"    sg     K88IBAItWdF333!5'4@@@1gsF#####r   c                      t          j        dd          \  } }}t          | ddddt                     t          |ddddt                     t	          |d	dd
t                     d S )Nr  aD?r  tdbtcbr  g=֝?r9   r  r   rQ   )r+   r%  r   r,   r   r  s      r   test_tdbtcbr&    sg    !)[99IBAYhf555"E8T6BBB1hV$$$$$r   c                      t          j        ddd          \  } }}t          | ddddt                     t          |dddd	t                     t	          |d
ddt                     d S )Nr  r$  ]pX*r  tdbttr
  gD?r9   r  r   rQ   )r+   r)  r   r,   r   r  s      r   
test_tdbttr*    i     KCCIBAItWdF333!5'4@@@1gsF#####r   c                      t          j        dddd          \  } }t          | ddddt                     t	          |d	dd
t                     d S )N+r   :   g3333334@g#⻐?r9   tf2ar   r   rQ   )r+   r/  r   r,   r   rR   s     r   	test_tf2ar0    sP    ?32t,,DAqV<<<1fc6"""""r   c                      t          j        dddd          \  } }t          | ddddt                     t	          |d	dd
t                     d S )N r  7   g%@g5!˖?r9   tf2drH   r   rQ   )r+   r4  r   r,   r   )rH   rQ   s     r   	test_tf2dr5    sP    ?3B--DAq %f===1fc6"""""r   c                  H   d} d}d}d}t          j        | |||          \  }}}}}t          |ddddt                     t          |d	ddd
t                     t          |ddddt                     t          |ddddt                     t	          |dddt                     d S )NQQ??r  gv!3?r@  tporsaz1gg!z?bz1g@#@az2g`
?bz2r&   n)r+   r:  r   r,   r   )	xietar  rW  r;  r<  r=  r>  r?  s	            r   
test_tporsrB    s    	B
C	B
C&,Rb#>>Cc3!5'5&AAA!5'5&AAA!5'5&AAA!5'5&AAA1gsF#####r   c                     t          j        dt                    } t          j        dt                    }t          j        dt                    }d}d}d}d}t          j        ||          } t          j        |||           \  }}}t          |d         ddd	d
t                     t          |d         ddd	dt                     t          |d         ddd	dt                     t          |d         ddd	dt                     t          |d         ddd	dt                     t          |d         ddd	dt                     t          |dd	dt                     d S )Nr8   r7  r8  r9  r  r   g=4r   tporvx1r#   go#?rE   y1r&   gc`-?z1g%inrw   x2gŢiqy2gW{?z2r?  )	r;   r<   r=   r+   r  rD  r   r,   r   )r?   vz1vz2r@  rA  r  rW  r?  s           r   
test_tporvrM    s>   
uA
(4

C
(4

C	B
C	B
Cr3A"2sA..KCaA'vFFFA%ugtVDDDA%ugtVDDDA(%$GGGA(%$GGGA%ugtVDDD1gsF#####r   c                      d} d}d}d}t          j        | |||          \  }}t          |ddddt                     t          |d	d
ddt                     d S )Nr7  r8  r  r  g6 TN?rE   tpstsr  g1餯a?r@  rW  )r+   rO  r   r,   )r@  rA  razdeczr  rW  s         r   
test_tpstsrR    sh    	B
C
CDr3T22GB!5'4@@@!5'5&AAAAAr   c                     t          j        dt                    } t          j        dt                    }d}d}d}d}t          j        ||          } t          j        |||           }t          |d         ddd	d
t                     t          |d         ddd	dt                     t          |d         ddd	dt                     d S )Nr8   r7  r8  r  r  r   ggɚ8?r   tpstvr   r#   gh?r   r&   gq"T?rE   rV  )r;   r<   r=   r+   r  rT  r   r,   )r  r?   r@  rA  rP  rQ  s         r   
test_tpstvrU    s    	$		B
uA	B
C
CD	T	"	"BS"%%A!$eWc6BBB!$eWc6BBB!#UGS&AAAAAr   c                      d} d}d}d}t          j        | |||          \  }}}t          |ddddt                     t          |d	ddd
t                     t	          |dddt                     d S )Nr9  ?r  r  "sCr   tpxesr@  A?rA  r   rQ   )r+   rY  r   r,   r   )r  rW  rP  rQ  r@  rA  rQ   s          r   
test_tpxesr[    s    	B
C
CD!"c355JBQ#UGT6BBB#UGUFCCC1gsF#####r   c                     t          j        dt                    } t          j        dt                    }d}d}d}d}t          j        ||          } t          j        ||          }t          j        | |          \  }}}t          |dddd	t                     t          |d
dddt                     t          |dddt                     d S )Nr8   r9  rW  r  r  rX  r   tpxevr@  rZ  rA  r   rQ   )	r;   r<   r=   r+   r  r]  r   r,   r   )	r?   r  r  rW  rP  rQ  r@  rA  rQ   s	            r   
test_tpxevr^    s    
uA	$		B	B
C
CDr3A	T	"	"B!!R((JBQ#UGT6BBB#UGUFCCC1gsF#####r   c                     t          j        dt                    } t          j        dt                    }d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   t          j        |           }t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     t          |d         d         dd	d
dt                     d S )Nr  r{  r   r|  r#   r&   r}  r~  r   trr  r  r  r  r  r  r  r  r  )r;   r<   r=   r+   r`  r   r,   )r  rts     r   test_trrb    s   
A	&%	 	 BAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDG	q		B1a#sD$///1a#sD$///1a#sD$///1a#sD$///1a#sD$///1a#sD$///1a#sD$///1a#sD$///1a#sD$/////r   c                  j   t          j        dt                    } t          j        dt                    }t          j        dt                    }d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   d
|d<   d|d<   d|d<   t          j        | |          }t          |d         ddddt                     t          |d         ddddt                     t          |d         ddddt                     d S )Nr  r8   r{  r   r|  r#   r&   r}  r~  r  r  r  r  r9   trxpr%   r(   皙@r*   )r;   r<   r=   r+   rd  r   r,   )r  rJ   trps      r   	test_trxprg    s0   
A
uA
(4

CAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDAaDAaD
/!Q

CAUFC000AUFC000AUFC00000r   c                     t          j        dt                    } t          j        dt          j                  }t          j        dt          j                  }d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d	| d         d<   d
|d         d<   d|d         d<   d|d         d<   d|d         d<   d
|d         d<   d|d         d<   t          j        | |          }t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     t          |d         d         ddddt                     d S )Nr  r	   r{  r   r|  r#   r&   r}  r~  r  rJ   r  r  r?   r  r9   trxpvrs  re  r  rv  g333333@rw  gffffff@rx  )r;   r<   r=   r+   r   ri  r   r,   )r  r   trpvs      r   
test_trxpvrk  !  s   
A	"j&	'	'B8B
())DAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGAaDGBsGAJBsGAJBsGAJBsGAJBsGAJBsGAJAr""DS	!c5'4888S	!c5'4888S	!c5'4888S	!c5'4888S	!c5'4888S	!c5'488888r   c                      t          j        dd          \  } }}t          | ddddt                     t          |ddddt                     t	          |d	dd
t                     d S )Nr  r  r  tttair  g*?r9   r  r   rQ   )r+   rm  r   r,   r   r  r  rQ   s      r   
test_tttairo  =  r  r   c                      t          j        dd          \  } }}t          | ddddt                     t          |ddddt                     t	          |d	dd
t                     d S )Nr  r  r  tttcgg1gOAG?r9   g2r   rQ   )r+   rq  r   r,   r   )rr  rs  rQ   s      r   
test_tttcgrt  D  sg     K88IBAYgtV444"E7D&AAA1gsF#####r   c                      t          j        ddd          \  } }}t          | ddddt                     t          |dddd	t                     t	          |d
ddt                     d S )Nr  r  r(  r  tttdbr  gID?r9   r  r   rQ   )r+   rv  r   r,   r   r  s      r   
test_tttdbrw  K  r+  r   c                      t          j        ddd          \  } }}t          | ddddt                     t          |dddd	t                     t	          |d
ddt                     d S )Nr  r  7d6P@r  ttut1r  r  r9   r  r   rQ   )r+   rz  r   r,   r   r  s      r   
test_ttut1r{  R  i     KAAIBAItWdF333!5'4@@@1gsF#####r   c                      t          j        ddd          \  } }}t          | ddddt                     t          |dddd	t                     t	          |d
ddt                     d S )Nr   pC?r  r  ut1tair  gr7?r9   r  r   rQ   )r+   r  r   r,   r   rn  s      r   test_ut1tair  Y  r  r   c                      t          j        ddd          \  } }}t          | ddddt                     t          |dddd	t                     t	          |d
ddt                     d S )Nr  r~  ry  r  ut1ttr
  gD?r9   r  r   rQ   )r+   r  r   r,   r   r  s      r   
test_ut1ttr  `  r|  r   c                      t          j        ddd          \  } }}t          | ddddt                     t          |dddd	t                     t	          |d
ddt                     d S )Nr  r~  ea?r  ut1utcr  g =?r9   r  r   rQ   )r+   r  r   r,   r   r  s      r   test_ut1utcr  g  i    !)[&AAIBAItXtV444!5(D&AAA1hV$$$$$r   c                      t          j        dd          \  } }}t          | ddddt                     t          |ddddt                     t	          |d	dd
t                     d S )Nr  B/?r  utctair  gڻ7?r9   r  r   rQ   )r+   r  r   r,   r   r  s      r   test_utctair  n  r  r   c                      t          j        ddd          \  } }}t          | ddddt                     t          |dddd	t                     t	          |d
ddt                     d S )Nr  r  r  r  utcut1r  gp5?r9   r  r   rQ   )r+   r  r   r,   r   r  s      r   test_utcut1r  u  r  r   c                      t          j        dd          \  } }t          | ddddt                     t          |dddd	t                     d S )
Nr  r  r  r   xy06r   gjBT?rw   r   )r+   r  r   r,   )r   r   s     r   	test_xy06r  |  sO    ?9g..DAq#UFC@@@#UFC@@@@@r   c                      t          j        dd          \  } }}t          | ddddt                     t          |dddd	t                     t          |d
dddt                     d S )Nr  r  r  rE   xys00ar   r  r   r   gs!>3Jr   r    )r+   r  r   r,   r  s      r   test_xys00ar    k    	733GAq!$eXsFCCC$eXsFCCC$eXsFCCCCCr   c                      t          j        dd          \  } }}t          | ddddt                     t          |dddd	t                     t          |d
dddt                     d S )Nr  r  r  rE   xys00br   r	  r   r   g.|V+3Jr   r    )r+   r  r   r,   r  s      r   test_xys00br    r  r   c                      t          j        dd          \  } }}t          | ddddt                     t          |dddd	t                     t          |d
dddt                     d S )Nr  r  r  rE   xys06ar   r  r   r   gܒ23Jr   r    )r+   r  r   r,   r  s      r   test_xys06ar    r  r   c                  8   t          j        dt                    } d| d<   d| d<   d| d<   t          j                    } t          | d         ddd	d
t                     t          | d         ddd	dt                     t          | d         ddd	dt                     d S )Nr8   rh  r   ri  r#   rj  r&   r   zpr%   r(   r*   )r;   r<   r=   r+   r  r   r,   r  s    r   test_zpr    s    
uAAaDAaDAaDA!c3c6***!c3c6***!c3c6*****r   z1.21zneeds numpy >= 1.21c                     t          j        dt          j                  } d| d         d<   d| d         d<   d| d         d<   d	| d
         d<   d| d
         d<   d| d
         d<   t          j                    } t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d         d         ddddt                     t          | d
         d         ddddt                     t          | d
         d         ddddt                     t          | d
         d         ddddt                     d S )Nr	   rh  rJ   r   ri  r#   rj  r&   ro  r?   rp  rq  r   zpvrs  rt  ru  rv  rw  rx  )r;   r<   r+   r   r  r   r,   r-  s    r   test_zpvr    s7   	"j&	'	'BBsGAJBsGAJBsGAJBsGAJBsGAJBsGAJ			B3
CeT62223
CeT62223
CeT62223
CeT62223
CeT62223
CeT622222r   c                     t          j        dt                    } d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   d| d         d<   t          j                    } t          | d         d         d	d	d
dt                     t          | d         d         d	d	d
dt                     t          | d         d         d	d	d
dt                     t          | d         d         d	d	d
dt                     t          | d         d         d	d	d
dt                     t          | d         d         d	d	d
dt                     t          | d         d         d	d	d
dt                     t          | d         d         d	d	d
dt                     t          | d         d         d	d	d
dt                     d S )Nr  r{  r   r|  r#   r&   r}  r~  r   zr00010210r  r  20r  r  )r;   r<   r=   r+   r  r   r,   r  s    r   test_zrr    r  r   c                  0    t           dk    s
J d            d S )Nr   zSanity check failed!)r,   r	   r   r   test_statusr    s!    Q;........r   (  __doc__numpyr;   pytestr  r   r+   __version__
startswithversionerfa_versionskipr   r   r  intr,   r.   r6   rB   rK   rS   rW   rZ   r   r   r   r   r   r   r   r  r  r  r  r  r&  r)  r1  r4  rR  rU  r]  rd  rg  rk  rs  rv  r  r  r  markxfailr  r  r  r  r  r  r  r  r  r!  r)  r5  r9  r<  rK  rU  r\  r_  rf  rm  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r!  r$  r'  r*  r-  r0  r3  r6  r9  rI  rM  rP  rc  rf  rn  rr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r#  r.  r<  rI  rU  rY  r^  rd  ri  rl  ro  rr  rv  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r.  r1  r5  r9  r<  r@  rC  rI  rM  rR  r[  r_  rg  rn  rq  rt  rw  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r&  r*  r0  r5  rB  rM  rR  rU  r[  r^  rb  rg  rk  ro  rt  rw  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r	   r   r   <module>r     s          $ $ $ $ $ $ ""4<#<== )FKE#') ) ) )M M M
% % % 
"C	 	 	 - - -- - -B B B$? ? ?# # #N N NP P P$@ $@ $@NB B B8'T 'T 'TTF F F:9O 9O 9Ox.% .% .%b+< +< +<\ >  >  >FI I IK K KO O O.% % %6B B BA A AE E EA A A%B %B %BPB B B% % %:E E EA A A!E !E !EH% % %0B B B0' ' 'B' ' 'BC C C> >??F F @?FJ J JDJ J JD@ @ @ J J JJ J JJ J JJ J J0I I I J J J"A A AJ J J(J J J(J J J( J  J  JF J  J  JFI I I,I I I,% % %	, 	, 	,1 1 1$/ / /0	$ 	$ 	$- - -	# 	# 	#D D D
$ $ $B B BI I I B B BC C C
C C C
C C C
E E E
& & &&C C C
B B B = = =
> > >= = =
9 9 9$ $ $&B B BE E E
B B B
R R RR R RS S ST T TR R RT T TT T TT T TT T TU U UX X XT T TT T TT T TF F F H H HF F F @ @ @ L L L >??I I @?I$C C CE E E$C C CE E E& & &.< < <& & &4B B BB B B
B B B
B B B
B B B
B B B
A A AB B B
A A A
@ @ @ ? ? ?> > >G G GE E E >??/ / @?/.% % %% % %A A A.&B &B &BRD D D"B B BI I IB B BG G GJ J JH H HH H HP P PK K KK K KK K KJ J J"J J JJ J JJ J JI I IK K Ka a aA A A
E E E(5 5 5*; ; ;
@ 
@ 
@@ @ @L L L
+ 
+ 
+F F F' ' '<: : :I I II I IK K K1 1 1 C C C&' ' '*
A 
A 
A6L 6L 6Lr6M 6M 6Mr6M 6M 6Mr6L 6L 6Lr6M 6M 6MrJ J JJ J JJ J JK K KI I I"0 0 0 3 3 3"L L LK K K. . .D D D"3 3 3*
< 
< 
<7 7 726 6 62% % %$3 3 3$K K K$B B B8 8 821 1 1 I I IA A A$F F F$B B B0/ / /,7 7 785 5 5DB B B01 1 10@ @ @A A A
A A A
@ @ @A A A
A A AA A AL L L9 9 9(
< 
< 
<< < <d d d% % %"% % %$
. 
. 
.6 6 6&$ $ $% % %% % %% % %$ $ $% % %$ $ $# # ## # #
$ 
$ 
$$ $ $&B B BB B B$ $ $$ $ $0 0 001 1 1,9 9 98$ $ $$ $ $$ $ $$ $ $% % %$ $ $% % %% % %% % %A A AD D DD D DD D D >??+ + @?+ 2>F*3HII3 3 JI3" >??/ / @?/./ / / / /r   