
    [hx                        S SK 7  S SK7  S SKrS SKrS SKrS SKr\4S jrSrSr	Sr
SrSrS	rS
rSrSrSrSrSrSrS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S  r$S! r%S" r&S# r'S$ r(S% r)S& r*S' r+S( r,S) r-S* r.S+ r/S, r0S- r1S. r2S/ r3S0 r4S1 r5S2 r6S3 r7S4 r8S5 r9S6 r:S7 r;S8 r<S9 r=S: r>S; r?S< r@S= rAS> rBS? rCg)@    )*Nc                     SnU=(       a&    U R                   R                  UR                   U5      nU=(       a&    U R                  R                  UR                  U5      nU$ )NT)realaeimag)abepsress       S/var/www/auris/envauris/lib/python3.13/site-packages/mpmath/tests/test_functions.pympc_aer      sF    
C

(!&&))AFFC(C

(!&&))AFFC(CJ    zg3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798zg2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642743zi0.0174532925199432957692369076848861271344287188854172545609719144017100911460344944368224156963450948221zh0.577215664901532860606512090082402431042159335939923598805767234884867726777664670936947063291746749516zh0.693147180559945309417232121458176568075500134360255254120680009493393621969694715605863326996418687542zg2.30258509299404568401799145468436420760110148862877297603332790096757260967735248023599720508959829834zh0.915965594177219015054603514932384110774149374281672134266498119621763019776254769479356512926115106249zg2.68545200106530644530971483548179569382038229399446295305115234555721885953715200280114117493184769800zm1.28242712910062263687534256886979172776768892732500119206374002174040630885882646112973649195820237439420646zg1.20205690315959428539973816151144999076498629234049888179227155534183820578631309018645587360933525815zj1.61803398874989484820458683436563811772030917980576286213544862270526046281890244970720720418939113748475zh0.261497212847642783755426838608695859051566648261199206192064213924924510897368209714142631434246651052zh0.660161815846869573927812110014555778432623360284733413319448423335405642304495277143760031413839867912c                     S GHD  n U [         l        [        [        [        5      :X  d   e[
        [        [        5      :X  d   e[        [        [        5      :X  d   e[        [        [        5      :X  d   e[        [        [        5      :X  d   e[        [        [        5      :X  d   e[        [        [         5      :X  d   e["        [        [$        5      :X  d   e[&        [        [(        5      :X  d   e[*        [        [,        5      :X  d   eU S:  d  GM  [.        [        [0        5      :X  d   e[2        [        [4        5      :X  a  GME   e   S[         l        [        S:  d   e[        S:  d   e[        S:  d   e[        S:  d   eg )N)	      
         %   P   d      2   r      r      )mpdpspimpftpietedegreetdegreeeulerteulerln2tln2ln10tln10catalantcatalankhinchin	tkhinchinglaisher	tglaisherphitphimertenstmertens	twinprime
ttwinprimeprecs    r   test_constantsr:   -   s#   3SX~~CG||W%%%F###c$is5z!!!#h-'''3y>)))3y>)))c$i"9c(m+++J/// 4 BF8O86M66M66M6r   c            	      \   [        S5       H  n [        [        X -  5      5      U :X  a  M   e   [        R                  " S5        S He  nU[
        l        [        S5       HH  n [        R                  " SUS-  S-
  -  SUS-  S-
  -  5      n[        [        X"-  5      5      U:X  a  MH   e   Mg     S[
        l        [        S5       Hc  n S	 HZ  n[        [        X3-  SU -  45      5      [        X045      :X  d   e[        [        X3-  S
U -  45      5      [        X0* 45      :X  a  MZ   e   Me     g )N N     r   ,    '  r   r   r   r   r   )r=         i )rangesqrtr    randomseedr   r   randint)ir9   Ar   s       r   test_exact_sqrtsrL   C   s   5\CH~""" 
KKN'rArD!GAIT1WQY@AAC>Q&&&  (
 BF3Z#AQS!A#J(CK777QS"Q$K()S!R\999 $ r   c            	         S H  n [        U 5      n S H  nU[        l        [        [	        U [        R
                  [        5      S[        R
                  [        5      n[        [	        U [        R
                  [        5      S[        R
                  [        5      n[        X 5      (       d   e[        X05      (       a  M   e   M     [        R                  " S5        Sn[        [        [        4 H=  n[        S5       H+  n [        U5      n[!        X"5      n[	        X4U5      U:X  a  M+   e   M?     S[        l        [#        S5      S-   n[#        S5      S-
  nS[        l        [%        US	S
9S:X  d   e[%        USS
9S:X  d   e[%        USS
9S:  d   e[%        US	S
9S:  d   e[%        USS
9S:X  d   e[%        USS
9S:X  d   e[%        [#        S5      5      [#        S5      :X  d   eg )N)r   r         r   rB   r               r   )r   r   S   j   i  r     r   	   goK@-r   droundingr   nuz7.0503726185518891z2.655253776675949)from_intr   r   mpf_pow_intmpf_sqrtr9   
round_downround_upmpf_ltmpf_gtrG   rH   round_nearestround_ceilingrE   mpf_randmpf_mulr    rF   )rJ   r   r   r	   r9   rnds         r   test_sqrt_roundingri   R   s   7QK)CBFHQ<a*UAHQ:ArwwQA!<<<!<<< * 8 KKDM=9sAAAAS)Q...  : BFAAAABFC A%%%C A%%%C 1$$$C 1$$$C A%%%C A%%%()*c2E.FFFFr   c                     S[         l        S H)  n [        [        U 5      5      [	        U 5      S-  :X  a  M)   e   [        S5      S:X  d   e[        S5      R                  [        R                  " S5      5      (       d   e[        S5      R                  [        R                  " S5      5      (       d   e[        S5      R                  [        R                  " S5      5      (       d   e[        S5      R                  [        R                  " S5      5      (       d   e[        S	5      R                  [        R                  " S	5      5      (       d   e[        [        R                  [        R                  S-  -   5      R                  [        R                  " [        R                  [        R                  S-  -   5      5      (       d   e[        [        R                  [        R                  S-  -
  5      R                  [        R                  " [        R                  [        R                  S-  -
  5      5      (       d   eg )
Nr   )r   gHz>皙?      ?r=   r   r   r   rN   gZd;O?g\(S@rl   r                 ?rD   y             )
r   r   rF   r    floatr   cmathmathr   r"   xs    r   test_float_sqrtru   p   su   BF=CF|uQx},,, >8r>>8;;uzz"~&&&&8;;uzz"~&&&&:==D)****8;;uzz"~&&&&9<<

3(((($&&)#$''

477TVVBY3F(GHHHH$&&)#$''

477TVVBY3F(GHHHHr   c                      [        SS5      S:X  d   e[        SS5      [        S5      :X  d   e[        SS5      [        S5      :X  d   e[        SS5      [        S5      :X  d   e[        SS5      [        S5      :X  d   eg )Nr   gQ?gQտr   r   rN   )hypotr     r   r   
test_hypotry   ~   sv    A;!D>SY&&&q>SY&&&?c$i'''A;#a&   r   c                  d   [        SSS5       H"  n [        [        X -  U -  5      5      U :X  a  M"   e   [        R                  " S5        S HV  nU[
        l        [        R                  " SUS-  S-
  -  SUS-  S-
  -  5      n[        [        X"-  U-  5      5      U:X  a  MV   e   S[
        l        g )	Nr   r<      r=   r>   r   r   r   )rE   cbrtr    rG   rH   r   r   rI   )rJ   r9   rK   s      r   test_exact_cbrtr}      s    1eS!CAJ1$$$ "
KKN'NN2a	?BqO<CAJ1$$$ ( BFr   c                     [        S5      S:X  d   e[        S5      R                  [        S5      5      (       d   e[        S5      R                  [        S5      5      (       d   e[        [        S5      5      n U R                  [	        U R
                  5      :X  d   eS[        l        [        [        S	5      5      n U R                  [	        U R
                  5      :X  d   eS
[        l        [        [        S-  5      R                  S5      (       d   e[        S5      R                  [        R                   " S5      5      (       d   eg )Nr   r=   rA   z8.8068182256629215873e4342iz1.1354838653147360985e-4343)r=   l   V= i5   C   )r=   l   G{QE i=   r   r             @       @)
expr   r    bcbitcountmanr   r9   r(   rq   )r   s    r   test_expr      s    q6Q;;u:==9:;;;;v;>>#;<====C./0A448AEE?"#"BGC123A448AEE?"#"BGsRx=D!!!!t9<<		$((((r   c                      S[         l        [        S5      n [        S5      nS[         l        U 7R                  S5      (       d   eU7R                  S5      (       d   eg )Ni   r   r=   r   g8,6V?giW
@)r   r   r   r   )r   r	   s     r   test_issue_73r      sR    BFBAAABFB77&''''B77%&&&&r   c                  
   S[         l        [        S5      S:X  d   eSSSSSS	S
-  S4 HI  n [        U 5      R                  [        R                  " U 5      5      (       d   e[        X 5      S:X  a  MI   e   [        SS5      S	:X  d   e[        S	S-  S	5      S:X  d   e[        S5      R                  [
        R                  " S5      5      (       d   e[        S5      R                  S-  R                  S5      (       d   e[        S5      R                  S-  R                  S5      (       d   e[        S5      R                  S-  R                  S5      (       d   e[        S5      R                  S-  R                  S5      (       d   e[        S5      R                  S-  R                  S5      (       d   e[        S5      R                  S-  R                  S5      (       d   e[        S5      R                  S-  R                  S5      (       d   e[        S5      R                  S-  R                  S5      (       d   e[        S5      R                  S-  R                  S5      (       d   e[        S5      R                  S-  R                  S5      (       d   e[        S5      R                  S-  R                  S5      (       d   e[        S5      R                  S	S-  -  R                  S5      (       d   e[        S 5      R                  S	S-  -  R                  S5      (       d   e[        [        S!S"5      5      R                  [        S5      S#-  5      (       d   e[        [        S!S	S$-  5      5      R                  [        S5      S%-  5      (       d   e[        [        SS5      5      [        [        * S5      :X  d   e[        [        [        [        S5      5      R                  5      (       d   e[        [        [        [        S5      5      R                  5      (       d   e[        [        [        S[        5      5      R                  5      (       d   e[        [        [        S[        5      5      R                  5      (       d   e[        [        [        [        S5      5      R                  5      (       d   e[        [        [        [        S5      5      R                  5      (       d   e[        [        [        S[        5      5      R                  5      (       d   e[        [        [        S[        5      5      R                  5      (       d   eg )&Nr   r=   r   rl         ?       @g      @r   r   r   Jz5r   r   rV   r   y333333??l     ;g 7y@y333333?y?333333y      ?:0yE>l     _y      ?:0yEy      :0yE>y      :0yEy:0yE>      ?y:0yE      ?y:0yE>      y:0yE      y      ?Ww'&l7r   yWw'&l7      ?gX9v?      Fx:^V g@xDr{   gZbti)r   r   logr   rr   rq   r   ldexpmpcinfisnannanr   rs   s    r   test_logr      s2   BFq6Q;;3S#r2vu51vyy!%%%%1yA~~ 6 tQ<2r4x$$$t9<<		$((((Mv%))*<====Mv%))*<====Mv%))*<====Lf$((----Lf$((----Mv%))#....Mv%))#....Lf$((----Lf$((----Mv%))#....Mv%))#....Mr2v%))#....Mr2v%))#....uU6"#&&s1vd{3333uU2s7#$''Au5555s1Qx=CQK'''SQZ%%&&&&SQZ%%&&&&S3Z%%&&&&S3Z%%&&&&SQZ%%&&&&SQZ%%&&&&S3Z%%&&&&S3Z%%&&&&r   c                     [        [        S5      5      [        [        SS5      5      -    GH}  n U S-  n[        [        U5      5      R	                  [
        R                  " U5      5      (       d   e[        [        U5      5      R	                  [
        R                  " U5      5      (       d   e[        [        U5      5      R	                  [
        R                  " U5      5      (       d   e[        [        U5      5      R	                  [
        R                  " U5      5      (       d   e[        [        U5      5      R	                  [
        R                  " U5      5      (       d   e[        [        U5      5      R	                  [
        R                  " U5      5      (       a  GM~   e   [        S5      R	                  [        R                  " S5      5      (       d   e[        S5      R	                  [        R                  " S5      5      (       d   e[        S5      R	                  [        R                  " S5      5      (       d   e[        S5      R	                  [        R                  " S5      5      (       d   eg )Nr   ro   r   gffffff@y      ?      ?y      )listrE   cosr    r   rr   sintancoshsinhtanhrq   )rt   ts     r   test_trig_hyperb_basicr      s   5:eDm!44G3q6{~~dhhqk****3q6{~~dhhqk****3q6{~~dhhqk****CF|tyy|,,,,CF|tyy|,,,,CF|tyy|,,,, 5 t9<<		$((((w<??599W-....t9<<		$((((w<??599W-....r   c                     [        S[        -  5      S:X  d   e[        S[        -  5      R                  S5      (       d   e[        S[        -  5      R                  S5      (       d   e[        S[        -  5      R                  S5      (       d   e[        S[        -  5      R                  S5      (       d   e[        S[        -  5      S:X  d   e[        S[        -  5      R                  S5      (       d   e[        S[        -  5      R                  S5      (       d   e[        S[        -  5      R                  S5      (       d   e[        S[        -  5      R                  S5      (       d   eg )Nr   r=   Z      r   i  ih  )r   r$   r   r   rx   r   r   test_degreesr      s&   qx=Ar&y>Qs6z?b!!!!s6z?a    s6z?a    qx=Ar&y>Qs6z?a    s6z?b!!!!s6z?a    r   c                 b   [         R                  " S5        / n[        U 5       H  n[         R                  " SS5      n[         R                  " SS5      n[         R                  " SS5      n[         R                  " SS5      n[	        X45      n[	        XV5      nUR                  Xx45        M     U$ )Nr=   r   )rG   rH   rE   uniformcomplexappend)	Nr   rJ   x1y1x2y2z1z2s	            r   random_complexesr      s    
KKN
A1X^^C$^^C$^^C$^^C$R_R_	"  Hr   c                  D   S HQ  n U [         l        [        S5      S-  nUR                  UR                  s=:X  a  [        S5      S-  S-  :X  a  MN   e   e   S[         l        [        R                  " S5        [        S5       H5  u  p#[        U5      [        U5      -  R                  X#-  S5      (       a  M5   e   [        [        * S-  -  R                  S	5      (       d   eS
[         l        [        [        * S-  -  R                  S	5      (       d   eS[         l        g )N)r      r   rm   rl   r   r   r=   r   -q=r   r   )r   r   r   r   r   r    rG   rH   r   r   r"   r   )r   r   r   r   s       r   test_complex_powersr      s    GSLvv23q63;?22222	 
 BF
KKN$S)BR $$RVU3333 *BKBBFBKBBFr   c            
         S n [         R                  " S5        SnS[        l        [        R                  nU " [	        U5       Vs/ s H1  n[         R
                  " SS5      [         R
                  " SS5      4PM3     sn5        U " [	        U5       Vs/ s H  o3S-   US-   SU-  -  4PM     sn5        S[        l        g s  snf s  snf )	Nc                    U  H  u  p[        U[        U-  -   5      n[        [        X3-  5      U5      (       d   e[        U* [        U-  -   5      n[        [        X3-  5      U* 5      (       d   e[        U[        U-  -
  5      n[        [        X3-  5      U5      (       d   e[        U* [        U-  -
  5      n[        [        X3-  5      U* 5      (       a  M   e   g )N)r   jr   rF   )lstr   r	   zs       r   test_mpc_sqrt1test_complex_sqrt_accuracy.<locals>.test_mpc_sqrt   s    DAA!GA$qs)Q''''QB1HA$qs)aR((((A!GA$qs)Q''''QB1HA$qs)aR(((( r   r   r   r   r   rk   皙?r   )rG   rH   r   r   rE   r   )r   r   r   rJ   s       r   test_complex_sqrt_accuracyr      s    	) KKN
ABF
&&C%PQ(S(QFNN1b)&..B*?@(STuQx@x!Ga#gr1u_-x@ABF T@s   8C Cc                     S[         l        [        S5      R                  [        R                  " S5      5      (       d   e[        S5      S:X  d   e[        S5      R                  [
        S-  5      (       d   e[        S5      S:X  d   e[        S5      R                  [
        * S-  5      (       d   e[        SS	-  5      R                  [
        S-  5      (       d   eS
 H6  n U [         l        S[        S5      -  R                  [
        5      (       a  M6   e   S[         l        [
        S-  n[        [        [        S5      5      R                  U5      (       d   e[        [        [        S5      5      R                  U5      (       d   e[        [        [        S5      5      R                  U5      (       d   e[        [        S[        5      5      R                  U5      (       d   e[        [        S[        5      5      R                  U5      (       d   e[        [        S[        5      5      R                  U* 5      (       d   e[        [        [        * S5      5      R                  U* 5      (       d   e[        [        [        * S5      5      R                  U* 5      (       d   e[        [        [        * S5      5      R                  U* 5      (       d   e[        [        S[        * 5      5      R                  U* 5      (       d   e[        [        S[        * 5      5      R                  U* 5      (       d   e[        [        S[        * 5      5      R                  U5      (       d   eg )Nr   gffffffr   gd~QJr   Jzgd~Qr   r@   )rC   F   r   r?   r@   r   r=   r   r   )r   r   atanr   rr   r   r   r   )r   pi2s     r   	test_atanr     s   BF:==4))));%:==A<6!!!;>>2#a%    D>RT""""'$q'	~~b!!!! ( BF
Q$CC$$$$C
s####C
s####Ac
s####Ac
s####Bs%%%%SD%%%%SD%%%%SD  #&&&&Bt  #&&&&Asd%%%%Asd$$$$r   c                     S[         l        [        SS5      R                  [        S-  5      (       d   e[        SS5      R                  S[        -  S-  5      (       d   e[        SS5      R                  S[        -  S-  5      (       d   e[        SS5      R                  [        * S-  5      (       d   e[        SS5      R                  [        * S-  5      (       d   e[        SS5      R                  [        S-  5      (       d   e[        SS5      S:X  d   e[        [
        S5      R                  [        S-  5      (       d   e[        [
        * S5      R                  [        * S-  5      (       d   e[        [        [
        [
        5      5      (       d   e[        [        [
        * [
        5      5      (       d   e[        [        [
        [
        * 5      5      (       d   e[        [        S[        5      5      (       d   e[        [        [        S5      5      (       d   e[        [        S[        5      5      (       d   e[        [        [        S5      5      (       d   e[        S[
        5      S:X  d   e[        S[
        * 5      R                  [        5      (       d   e[        S	[
        5      S:X  d   e[        S
[
        5      S:X  d   e[        S
[
        * 5      R                  [        * 5      (       d   e[        S	[
        * 5      R                  [        5      (       d   e[        [
        S	5      R                  [        S-  5      (       d   e[        [
        S
5      R                  [        S-  5      (       d   e[        [
        * S	5      R                  [        * S-  5      (       d   e[        [
        * S
5      R                  [        * S-  5      (       d   eg )Nr   r=   r   r   r   rn   r   r   r   r   )r   r   atan2r   r   r   r   r   rx   r   r   
test_atan2r   ,  s   BF1:==A2;>>!B$q&!!!!B<??2b57####A;>>2#a%    A;>>2#a%    1:==A1:??Q<??2a4    #a=RCE""""s3    tC!!!!sC4!!!!qs1qs13<1C4=BC=AS>QcT?rc""""SD>R    R=BqD!!!!S>RT""""#b>bSU#####c?rc!e$$$$r   c                     [        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        S5      5      S:X  d   e[	        [        [        S5      5      [        5      (       d   e[	        [        [        S5      5      [
        5      (       d   e[	        [        [        S5      5      [        5      (       d   e[	        [        [        S5      5      [
        5      (       d   e[	        [        [        S5      5      [        5      (       d   e[	        [        [        S5      5      [
        5      (       d   e[        R                  " S5        [        S5       GHo  n [        R                  " SS5      n[        [        U5      5      R                  [        R                   " U5      5      (       d   e[        [        U5      5      R                  [        R                  " U5      5      (       d   e[        R                  " SS	5      n[        [        U5      5      R                  [        R                  " U5      R                  5      (       d   e[	        [        [        U5      5      [        5      (       d   e[        R                  " SS	5      n[        [        U5      5      R                  [        R                  " U5      R                  5      (       d   e[	        [        [        U5      5      [        5      (       d   e[        R                  " SS
5      n[	        [        [        U5      5      [
        5      (       d   e[        R                  " SS5      n[        [        U5      5      R                  [        R                  " U5      R                  5      (       d   e[	        [        [        U5      5      [        5      (       a  GMp   e   [         R"                  nS[         l        [	        [        S5      [        5      (       d   eS[         l        [        S5      R                  [$        S-  5      (       d   e[        S5      R                  [$        * S-  5      (       d   eU[         l        g )Nr   r=   rl   r   rk   g?r   r   r   +?r   r?   r@   r   )asinr    asinhacosh
isinstancer   acosatanhrG   rH   rE   r   r   rr   rq   r   r   r   r   )rJ   rt   r   s      r   test_areal_inversesr   I  s   A<1Q=AQ=Ad3s8nc****d3s8nc****d3s8nc****d3s8nc****eCHos++++eCHos++++
KKN2YNN1a CF|tyy|,,,,CF|tyy|,,,,NN3#SV}A 3 34444%A-----NN1b!SV}A 3 34444%A-----NN3&%A-----NN2q!SV}A 3 34444%A-----! $ &&CBFd3i%%%%BF7::bd8;;s1uBFr   c                  z   S[         l        [        S5      S-  R                  S5      (       d   e[        S5      S-  R                  S5      (       d   e[        S5      S	S
-  -  R                  S5      (       d   e[        S5      S-  R                  S5      (       d   e[        S5      S-  R                  S5      (       d   e[        S5      S	S
-  -  R                  S5      (       d   e[        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   e[	        S5      S-  R                  S5      (       d   e[	        S5      S-  R                  S5      (       d   e[        S5      S-  R                  S5      (       d   e[        S5      S-  R                  S5      (       d   eg )Nr   gh㈵>i g?绽|=    d(	 r=   r   r   r   gh㈵gg|۽r   r   r   gC6W_G@l   Fx:^V gC6W_G)r   r   r   r   r   r   rx   r   r   test_invhyperb_inaccuracyr   o  s   BF$K!!"56666%L##A&&&&%LR##A&&&&%L""#78888&M& $$R((((&M"b& $$R((((=.////>01111K""1%%%%L##B''''%L##A&&&&&M& $$R((((r   c                     [        [        S5      5      [        [        SS5      5      -    GH8  n [        [        S5      5      [        [        SS5      5      -    GH  n[        X5      S-  S-   n[        [	        U5      5      R                  [        R                  " U5      5      (       d   e[        [	        U5      5      R                  [        R                  " U5      5      (       d   e[        [	        U5      5      R                  [        R                  " U5      5      (       d   e[        [	        U5      5      R                  [        R                  " U5      5      (       d   e[        [	        U5      5      R                  [        R                  " U5      5      (       d   e[        [	        U5      5      R                  [        R                  " U5      5      (       d   e[        [	        U5      5      R                  [        R                  " U5      5      (       d   e[        [	        U5      5      R                  [        R                  " U5      5      (       a  GM   e   GM;     g )Nr   r   r   g333333@y        {Gz?)r   rE   r   r   r   r   rq   r   r   r   r   r   r   r   )rt   yr   s      r   test_complex_functionsr   ~  s   59oU3q\ 22uRy/Ds1$66Ac!E)As1v;>>%))A,////s1v;>>%))A,////s1v;>>%))A,////s1v;>>%))A,////s1v;>>%))A,////A<??5::a=1111A<??5::a=1111A<??5::a=1111 7 3r   c                  Z   S[         l        S[        l        [        S5       GHB  u  p[	        [        U 5      5      R                  U 5      (       d   e[        U 5      R                  [        R                  " U 5      5      (       d   e[        U 5      R                  [        R                  " U 5      5      (       d   e[        U 5      R                  [        R                  " U 5      5      (       d   e[        U 5      R                  [        R                  " U 5      SS9(       d   e[        U 5      R                  [        R                  " U 5      SS9(       d   e[        S5      nGME     [        SSS5       H  n[        SSS5       Hv  nS	[        -  SU-  -  S
W-  SU-  -  -   n[!        [        U5      5      nUR                  U5      (       d   e[#        [        U5      5      nUR                  U5      (       a  Mv   e   M     [        S5      nSn[        SSS5       H  n[        SSS5       Hv  nSSU-  -  [        S
-  U-  SU-  -  -   n[%        [        U5      5      nUR                  XW5      (       d   e[	        [        U5      5      nUR                  XW5      (       a  Mv   e   M     g )Nr   r   r   )rel_epsr=   r   r   g?皙?gV瞯<rW   g)r   r   ivr   r   r   r   r   rq   r   r   r   r   r    rE   r   r   r   r   )r   r   onerJ   kr   r	   errs           r   test_complex_inverse_functionsr     s   BFBF$R( E"I!!"%%%%Ry||EKKO,,,,Ry||EKKO,,,,Bx{{5::b>**** Bx{{5::b>5{999Bx{{5::b>5{999!f ) 2r1r2q!AAb!ec#gb!em+ADGA4477N7DGA4477N7 "  a&C
C2q!_r1aARU
QsU3Yr1u_,AU1XA44<<<U1XA44<<< ! r   c                     [        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   e[	        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   e[        S5      R                  S	5      (       d   e[        S5      R                  S
5      (       d   e[        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   eg )Nr   gEWg)gٰ
D<X@g^f]gm?g)	荹?gL<[?g肀?gO?g&?rl   g5qB?gHy?g9B.?r   g-DT!?y        -DT!?)secr   csccotsechcschcothasecacscacotasechacschacothrx   r   r   test_reciprocal_functionsr     sn   q699)****q699())))q699)****7::+,,,,7::+,,,,7::)****7::)****7::*++++7::*++++:==,----8;;+,,,,8;;+,,,,7::+,,,,8;;-....r   c                     S[         l        [        [        S5      S5      S:X  d   e[        [        S5      S5      S:X  d   e[        [        S5      S5      S:X  d   e[        [        S5      S	5      [        S5      :X  d   eg )
Nr         @r   r   g      ?r   r   r   r   )r   r   r   r    rx   r   r   
test_ldexpr     sq    BFS1$$$S2$&&&S1###UQ3u:---r   c                      S[         l        [        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S	:X  d   e[        S
5      S:X  d   eg )Nr   r   )g        r   rW   )g      ?r   r=   )rl   r=   r   )r   rD   r@   )g     @?r   )r   r   frexprx   r   r   
test_frexpr     sc    BF8x8{"""8x:""";/)))r   c                  \   [        S5      [        S5      :X  d   e[        S5      [        SS5      :X  d   e[        S5      S[        -  :X  d   e[        S5      S[        -  :X  d   e[        SS5      [        :X  d   e[        SS5      S:X  a  [        [        SS5      [        5      (       d   eg )	Nr   g      @r   gffffff@r   rl   rC   g      @)lnr   log10degreesr$   radianspowerr   fmodr   r    rx   r   r   test_aliasesr     s    a5CF??;#d2,&&&3<3<'''3<3<'''C=A1:DAJ!<!<<<!<r   c                  &   [        S5      S:X  d   e[        S5      R                  [        5      (       d   e[        [        5      R                  [        S-  5      (       d   e[        [        * 5      R                  [        * S-  5      (       d   e[        S5      S:X  d   e[	        [        S[        5      5      (       d   e[	        [        [        S5      5      (       d   e[	        [        S[        5      5      (       d   e[	        [        [        S5      5      (       d   e[	        [        [        [        5      5      (       d   e[        [        5      S:X  d   e[        [        * 5      R                  [        5      (       d   e[	        [        [        5      5      (       d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        [        5      S:X  d   e[        [        * 5      S:X  d   e[	        [        [        5      5      (       d   e[        [        5      [        :X  d   e[        S[        -  5      [        * :X  d   e[        S[        -   5      R                  S[        -   [        S5      -  5      (       d   eg )Nr   r   rn   r   r=   r   )
argr   r   r   r   r   r   r   signrF   rx   r   r   test_arg_signr     s   q6Q;;r7::b>>>q699RT???r7::rc!eq6Q;;qs1qs1s3    s8q==t9<<S???7a<<7a<<8r>>9>>:c7a<<1:!!9<<1d1g&&&&r   c                  F    S[         l        [        S5        S[         l        g )Nr@   i  r   )r   r   r   rx   r   r   test_misc_bugsr    s    BFIBFr   c                  H   [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S	5      [        S
5      [        S5      /
:X  d   e[        SS5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      /
:X  d   e[        SSS5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      /
:X  d   e[        SS S!5      [        S"5      [        S#5      [        S$5      [        S
5      [        S5      [        S5      [        S5      [        S5      [        S%5      /	:X  d   e[        S&SS'5      [        S5      /:X  d   e[        S5      / :X  d   e[        S(S)5      / :X  d   e[        S*S+S,5      / :X  d   eg )-Nr   z0.0z1.02.03.04.05.06.07.08.09.0rN   z-5.0z-4.0z-3.0z-2.0z-1.0r   r=   rk   z0.10000000000000001z0.20000000000000001z0.30000000000000004z0.40000000000000002z0.5z0.60000000000000009z0.70000000000000007z0.80000000000000004z0.90000000000000002   r   rn   z17.0z14.0z11.0z-7.0r   gr@   r   gGzgGz	@gHz)aranger    rx   r   r   test_aranger    s   ":#e*c%j#e*c%je*c%j#e*c%je*c%j2 2 2 2 "a=S[#f+s6{ [#f+s5z ZUSZUM M M M !QUS1F-G!$%:!;!$%:!;!$%:!;!$US1F-G!$%:!;!$%:!;!$%:!;!= = = = "b"#f+s6{CK"%e*c%j#e*"%f+s6{CK"I I I I #sD!c*?&@%AAAA!9??$r!!!%z*b000r   c            
         [        SSS5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S	5      [        S
5      /:X  d   e[        SSSSS9[        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      /:X  d   e[        SSS5      [        S5      /:X  d   eg )Nr   rW   r   r  z3.166666666666667z4.3333333333333339z5.5z6.666666666666667z7.8333333333333339r  r   )endpointr  r  r  r  r	  r
  r=   )linspacer    rx   r   r   test_linspacer  	  s    Aq!US1D-E !3u:s3F/G !3u:!/ / / / Aq!a(SZUSZE
CJE
CJ-8 8 8 8Aq!Q(((r   c                     S[         l        [        SSS5       H.  n [        X -  U -  5      R	                  U [
        5      (       a  M.   e   [        S5      R	                  S[        [        S5      -  S-  -   5      (       d   e[        S	5      S-  n[        SSS
5      S/-    Hv  n [        U S-   5      n [        U 5      n[         =R                  S-  sl        [        X5      n[         =R                  S-  sl        UR	                  U[
        5      (       a  Mv   e   S[         l        [        SSS5       H;  nSU-  [        S-  -   nXU-  U-  n[        U5      n[        Xu[
        5      (       a  M;   e   S[         l        g )Nr   r   r   rk   r   rl   r   r   r=   g@gj@y        ?r   i-  gMbP?r   )r   r   r  r|   r   r
   r   rF   r    r   powrE   r   )r   	one_thirdr1r2r[   wr   rs           r   test_float_cbrtr    s:   BFAbACE{~~a%%%% 8;;sQtAwYq[())))AqIAb-DM!W
"
"uuR~~~ . BF3S!EAfHCEGaC    	 "
 BFr   c            
         S[         l        [        R                  " S5        [        R                  " SS5      n X -  U -  n[        [        U5      S5      nX :X  d   e[        SS5       H"  nX-  n[        [        U5      U5      U :X  a  M"   e   S[         l        [        SS	S
5       H  n[        R                  " 5       S-  [        R                  " 5       SS
-  -  4 H{  n [        X5      n[        U [        S5      U-  5      nUR                  U5      (       d   e[        X* 5      n[        U [        S5      * U-  5      nUR                  U5      (       a  M{   e   M     S Ho  nU[         l
        S H[  nSn[        S5       HG  nU[         l        [        5       n SU-  [         l        X-  nU[         l        [        X5      nX :X  a  MG   e   M]     Mq     S[         l        [        SS5       GH  n[        R                  " 5       [        [        R                  " 5       -  -   n [        X5      R                  [        U [        S5      U-  5      5      (       d   e[        [        X5      [        U [        S5      U-  5      5      (       d   e[        R                  " 5       SS
-  -  [        [        R                  " 5       -  -   n [        X5      n[         =R                  S-  sl        [        U [        S5      U-  5      n[         =R                  S-  sl        UR                  U5      (       d   e[        X$[        5      (       d   e[        X* 5      n[         =R                  S-  sl        [        U [        S5      * U-  5      n[         =R                  S-  sl        UR                  U5      (       d   e[        X$[        5      (       a  GM   e   S[         l        [        SS5      S:X  d   e[        SS5      S:X  d   e[        SS5      S:X  d   e[        [         S5      [         :X  d   e[        [         S5      [         :X  d   e[        [         S5      [         :X  d   e[        [         S5      S:X  d   e[        [         S5      S:X  d   e[        [         S5      S:X  d   e[        [        S5      [        :X  d   e[        [        S5      S:X  d   e[        [        S5      [        * :X  d   e[#        [        [$        S5      5      (       d   e[#        [        [$        S5      5      (       d   e[#        [        [$        S5      5      (       d   e[#        [        [         S5      5      (       d   e['        SS5      [        SS5      :X  d   e['        SSS5      S:X  d   e['        SSS5      S:X  d   e['        SSS5      S:X  d   e['        SSS5      S:X  d   e['        SSS5      S:X  d   e['        SSS5      S:X  d   eg )Nr   r=   r   rA   r   r   r   (   i  r   )nearestupdown)r  rn   r   rN   r   r      r   r   g      ?rD   rn      y               @y              ir  )r   r   rG   rH   rI   nthrootr    rE   r  r   rZ   r9   randr   r   r
   r   r   r   root)	r   pr  r[   r  rh   r9   rJ   r	   s	            r   	test_rootr'  &  s   BF
KKNq% A	AAAA6M61b\Cs1vq!Q&&&  BF2tS!--/%'S)@AAAQAq!B4488O82AQQ	"B4488O8 B " )AD2YFD&DAMvv    ) BF1b\]]_q00q}As1vax 01111gamSCF1H%56666]]_RW$q'88AM
!CF1H
!ttBxxxaS!!!!ArN
!SVGAI
!ttBxxxaS!!!!! " BF1a=A1a=A1b>T!!!3?c!!!3?c!!!3?c!!!3q   3q   3q   1a=A1a=A1b>aRa!!!!a!!!!b!""""a!!!!!9!$$$1Q<11Q<21Q<21Q<31Q<1Qq>Rr   c                     S H`  n U [         l        [        [        S5      S5      nUR	                  [        S5      S-  S[
        -   -  [        S5      S-  -  5      (       a  M`   e   S	[         l        [        S
S5      R	                  [        S5      S-  S[
        -   -  [        S5      -  5      (       d   e[        SS5      R	                  S[
        -   S[        S5      -  -  5      (       d   eS[         l        [        SS5      R	                  S[
        -   [        S5      -  [        S5      -  5      (       d   eS[         l        g )N)r   r   z-1e-20r   r   r  r=   r         r   z-1e-3g      z-1e-6r   z-1e100000000
1e25000000r   )r   r   r#  r    r   r   rF   )r   r  s     r   test_issue_136r+  r  s
   CM1%ttCGbMQU+c!ftn<====  BF7A!!#b'E"2a!e"<T!W"DEEEE7A!!1q52R="9::::BF>1%((!A#s</@)@a)HIIIIBFr   c            	         S[         l        [        S5      n [        S5      n[        [	        U S5      5      [        U 5      :X  d   e[        [	        SU5      5      [	        [        U5      [        U5      5      :X  d   e[        [	        U S5      5      [        U 5      :X  d   e[        [	        U S5      5      [        U 5      :X  d   e[        [	        SU5      5      [        U5      :X  d   e[        [	        SU5      5      [	        S[        U5      5      :X  d   e[        [	        U S5      5      [        U 5      :X  d   e[        [	        U S5      5      [        U 5      :X  d   e[        [	        SU5      5      R                  [        [        U-  5      5      (       d   e[        [	        SU5      5      R                  [	        S[        [        U-  5      5      5      (       d   e[        [	        U S5      5      u  p#U[        U 5      :X  d   eU[        U 5      :X  d   e[        [	        SU5      5      u  p#UR                  [        [        U-  5      5      (       d   eUR                  [	        S[        [        U-  5      5      5      (       d   e[        [	        U S5      5      u  p#U[        U 5      :X  d   eU[        U 5      :X  d   e[        [	        SU5      5      u  p#U[        U5      :X  d   eU[	        S[        U5      5      :X  d   eg )Nr   g333333?g?r   )r   r   r    r   r   r   r   r   r   cospisinpir   r   cospi_sinpicos_sin)rt   r   css       r   test_mpcfun_real_imagr3    sV   BFCACAs1Qx=CF"""s1Qx=CAs1v....s1Qx=CF"""s1Qx=CF"""s1Qx=DG###s1Qx=C$q'N***Qq?eAh&&&Qq?eAh&&&Qq?d2a4j))))Qq?c!DAJ/0000s1Qx DAa==a==s1Qx DA44RT
44Ad2a4j!""""3q8DAA;;A;;3q8DAQ<<Ad1gr   c                     S[         l        [        SS-  -  n [        * SS-  -  nSU -   nSU-   nS[         l        [        U 5      S:X  d   e[        U SS9S:  d   e[        USS9S:X  d   e[        U SS9S:X  d   e[        USS9S:  d   e[	        U 5      S:X  d   e[	        U SS9S:X  d   e[	        USS9S:X  d   e[	        U SS9S:  d   e[	        USS9S:  d   e[
        [        [        [        4 HU  nU" U 5      U 7:X  d   eU" U SS9U :  d   eU" U SS9U :  d   eU" U5      U7:X  d   eU" USS9U:  d   eU" USS9U:  a  MU   e   [        [        [        [        4 HU  nU" U 5      U 7:X  d   eU" U5      U7:X  d   eU" U SS9U :  d   eU" USS9U:  d   eU" U SS9U :  d   eU" USS9U:  a  MU   e   [        U5      U 7:X  d   e[        U5      U7:X  d   e[        USS9U :  d   e[        USS9U :  d   e[        USS9U:  d   e[        USS9U:  d   e[        U 5      S:X  d   e[        U5      S:X  d   e[        U SS9S:  d   e[        USS9S:  d   e[        U SS9S:X  d   e[        USS9S:X  d   eg )	Nr   r   r   r=   r   r1  rY   f)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r	   r1  rX   r5  s        r   test_perturbation_roundingr6    s   BF
2r6	A	BF
A	AA	AABFq6Q;;q3!###q31$$$q31$$$q3!###q6Q;;q31$$$q31$$$q3!###q3!###4%trzzS!A%%%S!A%%%trzzS!A%%%S!A%%% & Cu%trzztrzzS!A%%%S!A%%%S!A%%%S!A%%% & a5QB;;a5QB;;a#"""a#"""a#"""a#"""7a<<7a<<C 1$$$C 1$$$C A%%%C A%%%r   c                      [        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   eg )Ng	@r   r   y	@      @y      @      @y      @      @)floorceilrx   r   r   test_integer_partsr:    sF    :??9>>=D   <4r   c                  R   [        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S	:X  d   e[	        S5      R                  5       S:X  d   eg )
N3r         @      @rN   y      ?      @r=   r   r   y      @      )fabsreimconjr    	conjugaterx   r   r   test_complex_partsrC    s    9>>:??a5A::d8q==a5A::d8q==7a<<:q6"""r   c                  J
   [        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S5      S:X  d   e[        S	5      R                  [        S5      S-  5      (       d   e[        S
5      n U R                  R                  [        S
[        -  5      R                  5      (       d   eU R                  S:X  d   e[        S
5      nUR                  R                  [        S
[        -  5      R                  5      (       d   eUR                  S:X  d   eS[        l
        [        S5      [        S5      -
  n[        S5      [        S5      -   n[        S5      [        S5      -
  n[        S5      [        S5      -   n[        S5      [        S5      -
  n[        S5      [        S5      -   n[        S5      [        S5      -
  n[        S5      [        S5      -   n	S[        l
        Sn
[        U5      U
-  R                  [        * 5      (       d   e[        U5      U
-  R                  [        5      (       d   e[        U5      U
-  R                  [        5      (       d   e[        U5      U
-  R                  [        * 5      (       d   e[        U5      U
-  R                  [        5      (       d   e[        U5      U
-  R                  [        * 5      (       d   e[        U5      U
-  R                  [        * 5      (       d   e[        U	5      U
-  R                  [        5      (       d   eS[        USS9s=:  a  S:  d   e   eS[        USS9s=:  a  S:  d   e   eS[        USS9s=:  a  S:  d   e   eS[        USS9s=:  a  S:  d   e   eS[        USS9s=:  a  S:  d   e   eS[        USS9s=:  a  S:  d   e   eS[        USS9s=:  a  S:  d   e   eS[        U	SS9s=:  a  S:  d   e   e[        S5      U
-  R                  [        5      (       d   e[        S5      U
-  R                  [        * 5      (       d   e[        S5      S:X  d   e[        SSS9S:  d   eg )Nr   rl   r=   r   r   r   r   r)  g @ vH7B       @      @#   rA   z1e-15g    @@i'  g    @r   l     I5 r   rX   rY   g+gV瞯<gV瞯Ҽ)r.  r-  r   rF   r   r   r   r   r   r   r   r    )r   r	   r   r   x3x4x5x6x7x8Ms              r   test_cospi_sinpirN    s   8q==:??8q==:8q==:??;"8q==:??8r>>:??8q==:??;!!$$T!WQY////dA6699S$^(())))66Q;;dA6699S$^(())))66Q;;BF	Uc'l	"B	Uc'l	"B	WG	$B	WG	$B	Uc'l	"B	Uc'l	"B	WG	$B	WG	$BBFA"IaKRC    "IaKB"IaKB"IaKRC    "IaKB"IaKRC    "IaKRC    "IaKB5c*.Q.....5c*.Q.....5c*.Q.....5c*.Q.....b3'0&00000b3'0&00000b3'0&00000b3'0&00000%LNr""""&M!O$$$$<1%)))r   c                  *   [        S5      S:X  d   e[        S5      R                  [        [        5      5      (       d   e[        [        5      R                  [        S5      5      (       d   e[        S[        -   5      R                  [        [        S[        -   -  5      5      (       d   e[	        S5      S:X  d   e[	        S5      R                  [        [        [
        -  5      5      (       d   e[	        [        5      R                  [        [
        * 5      5      (       d   e[	        S[        -   5      R                  [        [        [
        -  S[        -   -  5      5      (       d   e[	        S[        -  5      R                  S5      (       d   eg )Nr   r=   r   l  I5 z%2.22579818340535731e+1364376353841841)expjr   r   r   expjpir   rx   r   r   	test_expjrR    s   7a<<7::c!f7::c"g!9<<AqsG%%%%!9>>!9<<AbD	""""!9<<RC!!!!!A#;>>#adAaCj/****'A+!!"IJJJJr   c                     [        S5      [        S5      s=:X  a  S:X  d   e   e[        [        5      [        [        5      s=:X  a  S:X  d   e   e[        [        * 5      [        [        * 5      s=:X  a  S:X  d   e   e[        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   e[        S5      S:X  d   e[        S5      R                  S5      (       d   eg )	Nr   r=   r   gF?rE  y?\ar   g)˿)sincsincpir   r   rx   r   r   	test_sincrV    s    7fQi$1$$$$$9s(q(((((:******7::,----:==EFFFF!9>>#;>>/0000r   c                  ,   S[         l        [        SS5       V s/ s H  n [        U 5      PM     sn / SQ:X  d   e[	        S5      R                  S5      (       d   e[	        S5      R                  S5      (       d   e[	        S	5      R                  S
5      (       d   e[        [	        SS-  5      5      S:X  d   eS[         l        [	        S5      nUS-  S:X  d   eS[         l        [        [        5      [        :X  d   e[	        S5      S:X  d   eg s  sn f )Nr   r  r   )rN   rn   r   r   r=   r   r=   r=   r   r   rN   rB   rR   r!  "   r   g 3?r=  yɽ傀C,r@   gaڃe@kr   zv6.24499112864607e+2089876402499787337692720892375554168224592399182109535392875613974104853496745963277658556235103534i4  rA   r   l   E!	 y      @        r   )r   r   rE   	fibonaccifibr   strr   )r[   r   s     r   test_fibonaccir\  !  s    BF"'B-0-QIaL-0:; ; ;s8;;)****t9<<<====t9<</0000s2s7|  !Y  Y  Y  YBFE
Av:###BFS>S   t9>> 1s   Dc                  `    S[         l        [        [        SSS9[	        SS9-
  5      S:  d   eg )Nr   r=   r   )r   rF  gG^Z9)r   r   absr   r"   rx   r   r   test_call_with_dpsr_  0  s+    BFs1"~aBi'(5000r   c                     S[         l        [        S5      S:X  d   e[        [        5      S:X  d   e[        [        * 5      S:X  d   e[	        [        [
        5      5      (       d   e[        [        SS5      5      S:X  d   eg )Nr   r   r=   r   r   0)r   r   r   r   r   r   r   rx   r   r   	test_tanhrb  4  sk    BF7a<<9>>:cE3 A%%%r   c                     S[         l        [        S5      S:X  d   e[        S5      R                  S5      (       d   e[        S5      R                  S5      (       d   e[        S5      [        :X  d   e[        S5      [        * :X  d   e[        [        [        5      5      (       d   e[        [        S5      [        5      (       d   e[        [        S5      [        5      (       d   e[        [        -  S	-  n [        [        5      R                  U * 5      (       d   e[        [        * 5      R                  U 5      (       d   e[        [        [        S5      5      R                  U * 5      (       d   e[        [        [        S5      5      R                  U * 5      (       d   e[        [        [        S5      5      R                  U 5      (       d   e[        [        S[        5      5      R                  U 5      (       d   e[        [        S[        5      5      R                  U 5      (       d   e[        [        S[        5      5      R                  U 5      (       d   e[        [        [        * S5      5      R                  U 5      (       d   e[        [        [        * S5      5      R                  U 5      (       d   e[        [        [        * S5      5      R                  U * 5      (       d   e[        [        S[        * 5      5      R                  U * 5      (       d   e[        [        S[        * 5      5      R                  U * 5      (       d   e[        [        S[        * 5      5      R                  U * 5      (       d   eg )
Nr   r   rl   gz?r)  gzr=   r   r   )r   r   r   r   r   r   r   r   r    r   r   r   )jpi2s    r   
test_atanhre  <  s   BF8q==:==/0000;>>122228s??9seAh$$$$eBi%%%%R46D:==$#;>>$S  $''''S&&&&S%%%%Qs%%%%Qs%%%%R  &&&&cT!  &&&&cT!  &&&&cT"!!4%((((R!!4%((((Qt  $''''Qt  $''''r   c                  R   S[         l        [        S5      S:X  d   e[        S5      R                  [	        S5      S-
  5      (       d   e[        [
        5      [
        :X  d   e[        S5      R                  S5      (       d   e[        S5      S-  R                  S5      (       d   eg )	Nr   r   r   r=   r   r       _Bgo   ?)r   r   expm1r   r   r   rx   r   r   
test_expm1ri  W  s    BF8q==8;;s1vax    :<??5!!!!%L!!-0000r   c                  L   S[         l        [        S5      S:X  d   e[        S5      R                  [	        S5      5      (       d   e[        [
        5      [
        :X  d   e[        S5      R                  S5      (       d   e[        S5      S-  R                  S5      (       d   eg )	Nr   r   r   r   r   r   rg  g ?)r   r   log1pr   r   r   rx   r   r   
test_log1prl  _  s    BF8q==8;;s3x    :<??5!!!!%L!!-0000r   c                     S[         l        [        SS5      S:X  d   e[        SS5      S:X  d   e[        SS5      S:X  d   e[        SS5      S:X  d   e[        SS5      S:X  d   e[        SS	5      S:X  d   e[        SS5      S:X  d   e[        S	S5      S:X  d   e[        S	S5      S:X  d   e[        S	S5      S:X  d   e[        S	S
5      S:X  d   e[        [        S5      S:X  d   e[        [        * S5      S:X  d   e[        SS5      S-  R	                  [
        5      (       d   e[        SS5      S:w  d   e[        [        S	SSS9S
5      S-  R	                  S
5      (       d   eg )Nr   r   r   r   r   r   rD   r=  r=   rN   r   g0.++g}Ô%ITz1e-100000000000T)exact)r   r   powm1r   r   r(   faddrx   r   r   
test_powm1rq  g  sg   BF1:??A;!A;!A;!a=A1:1:??1:??1:??4=A1:??1:??!A;!!FOE!%%c****$%***$qd+Q/599!<<<<r   c                     [        S5      S/:X  d   e[        S5      SS/:X  d   e[        S5      u  pnU S:X  d   eUR                  S5      (       d   eUR                  S5      (       d   e[        SSS9S/:X  d   e[        SSS9S/:X  d   e[        SSS9[        S5      SS  :X  d   e[        S	SS9[        [        * /:X  d   e[        [        S
SS95      S:X  d   e[        [        SSS95      S:X  d   eg )Nr=   r   r   r   y      ࿪LXz?y      ࿪LXzT)	primitiver   r  r"  rB   )	unitrootsr   r   len)r   r	   r1  s      r   test_unitrootsrv  z  s   Q<A3Q<Ar7"""lGA!6M644.////44.////Q$'A3...Q$'B4///Q$'9Q<+;;;;Q$'Ar7222yt,-333yt,-222r   c                     S[         l        [        S5       V s/ s H  n [        U S5      PM     sn / SQ:X  d   e[        S5       V s/ s H  n [        U S5      PM     sn / SQ:X  d   e[        S5       V s/ s H  n [        U [        5      PM     sn SS[        -   S[        -   [        SS[        * [        S	[        * S[        S
S[        * SS	S[        [        S/:X  d   e[        S5       V s/ s H  n [        U [        * 5      PM     sn SS[        -
  S[        -
  [        * SS[        [        * S	[        S[        * S
S[        SS	S[        * [        * S/:X  d   e[        S[        5      S:X  d   e[        S[        5      S:X  d   e[        [        SS9n[        SU5      R                  S5      (       d   e[        SU5      R                  S5      (       d   e[        SU5      R                  S5      (       d   e[        SS5      S:X  d   e[        SS5      S:X  d   e[        S	S5      S:X  d   e[        S
S5      S:X  d   e[        SS5      S:X  d   eg s  sn f s  sn f s  sn f s  sn f )Nr      r=   )r=   r   r   r   r   rN   r=   r   r   r   r=   rP   r=   rR   r=   r=   r   r  r=      r=   r=   r=      r=   rN   r=   r   r=   r   r=   r   )r=   rD   r   r=   r   r=   r   r=   r   r=   rN   r=   r=   r=   r   r=   r   r=   r   r=   r=   r=   rP   r=   r=   r=   rR   r=   r=   r=   r=   r!  r   r   r   rN   iX  i@  i  r8   rB   r   g?3OP@i  r   r   g      @g     #@r   g    cy@)r   r   rE   
cyclotomicr   rF   r   )r[   r\   s     r   test_cyclotomicr|    sC   BF%*2Y/YJqOY/3xxxx&+Bi0iJqi04vvvv%*2Y/YJqOY/Abd1Q3q1aR!QBqQRSTUVXYWYZ[\]^_`abcde3ffff&+Bi0iJq!i0Qr!tAaC1Qq!AaPQSTRTUVWXYZ[\]^_`bcacefdfgh4iiiid1"""eA!###QSAaq!!!!b! 56666dA!!!$$$$a!!!a%%%a%%%a 0000a
*** 00/0s   II5I+I!)Dmpmath.libmpmpmathrG   timerr   rq   r
   r   r!   r#   r%   r'   r)   r+   r-   r/   r1   taperyr3   r5   r7   r:   rL   ri   ru   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+  r3  r6  r:  rC  rN  rR  rV  r\  r_  rb  re  ri  rl  rq  rv  r|  rx   r   r   <module>r     so         $#*
(&	&**	0	
'(*,
,:G<I!)'#'J/
!&%4%:$L)2 B/ .*='21.)*J X6*&X 	#4*l	K11&(611=&3+r   