
    KhH              
          S r SSKJr  SSKrSSKJs  Jr  SSK	J
r
  SSKJrJrJrJr  \R                   " S/5      r\R                   " SS/5      r\R                   " / SQ5      S-  r\R                   " / S	Q5      S-  r\R                   " / S
Q5      S-  r\R                   " / SQ5      S-  r\R                   " / SQ5      S-  r\R                   " / SQ5      S-  r\R                   " / SQ5      S-  r\R                   " / SQ5      S-  r\\\\\\\\\\/
rS r " S S5      r " S S5      r " S S5      r " S S5      r  " S S5      r! " S S5      r" " S  S!5      r# " S" S#5      r$ " S$ S%5      r% " S& S'5      r&g)(zTests for legendre module.

    )reduceN)polyval)assert_almost_equalassert_raisesassert_equalassert_   )r         )r   r      )r   r   ir   #      )r      r   ir   ?   )r   i   r   ir         )r   ir   ;  r   iKr   i  )	r   r   ir   i  r   ir   i#     )
r   r   r   ir   ibF  r   itr   i{/  c                 ,    [         R                  " U SS9$ )Ngư>)tol)leglegtrimxs    V/var/www/html/env/lib/python3.13/site-packages/numpy/polynomial/tests/test_legendre.pytrimr       s    ;;qd##    c                   ,    \ rS rSrS rS rS rS rSrg)TestConstants   c                 <    [        [        R                  SS/5        g )Nr
   r	   )r   r   	legdomainselfs    r   test_legdomainTestConstants.test_legdomain!   s    S]]RG,r!   c                 :    [        [        R                  S/5        g )Nr   )r   r   legzeror'   s    r   test_legzeroTestConstants.test_legzero$   s    S[[1#&r!   c                 :    [        [        R                  S/5        g Nr	   )r   r   legoner'   s    r   test_legoneTestConstants.test_legone'   s    SZZ!%r!   c                 <    [        [        R                  SS/5        g )Nr   r	   )r   r   legxr'   s    r   	test_legxTestConstants.test_legx*   s    SXX1v&r!    N)	__name__
__module____qualname____firstlineno__r)   r-   r2   r6   __static_attributes__r8   r!   r   r#   r#      s    -'&'r!   r#   c                   `    \ rS rSr\R
                  " SSS5      rS rS rS r	S r
S	 rS
 rSrg)TestArithmetic.   r
   r	   d   c                 X   [        S5       H  n[        S5       H  nSU SU 3n[        R                  " [        X5      S-   5      nXA==   S-  ss'   XB==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M     M     g Nr   At i=, j=r	   r   err_msg)rangenpzerosmaxr   legaddr   r    r(   ijmsgtgtress         r   test_legaddTestArithmetic.test_legadd1       qA1XaSQC(hhs1y1}-!!jj!Q!qc!eqck:T#YS	3?  r!   c                 X   [        S5       H  n[        S5       H  nSU SU 3n[        R                  " [        X5      S-   5      nXA==   S-  ss'   XB==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M     M     g rC   )rH   rI   rJ   rK   r   legsubr   r    rM   s         r   test_legsubTestArithmetic.test_legsub;   rU   r!   c                 F   [        [        R                  " S/5      S/5        [        [        R                  " S/5      SS/5        [        SS5       HL  nSU-  S-   nS/U-  S/-   nS/US-
  -  X-  SUS-   U-  /-   n[        [        R                  " U5      U5        MN     g )Nr   r	   r   r   )r   r   legmulxrH   )r(   rN   tmpserrQ   s        r   test_legmulxTestArithmetic.test_legmulxE   s    S[[!%s+S[[!%1v.q!AA#'C#a%1#+C#q1u+AE3; 77CS)3/	 r!   c                    [        S5       H  nS/U-  S/-   n[        R                  " U R                  U5      n[        S5       H  nSU SU 3nS/U-  S/-   n[        R                  " U R                  U5      n[        R                  " X&5      n[        R                  " U R                  U5      n	[        [        U5      X-   S-   :H  U5        [        XU-  US9  M     M     g )Nr   r   r	   rD   rE   rF   )rH   r   legvalr   legmulr   lenr   )
r(   rN   pol1val1rO   rP   pol2val2pol3val3s
             r   test_legmulTestArithmetic.test_legmulN   s    qA3q5A3;D::dffd+D1XaSQC(s1us{zz$&&$/zz$-zz$&&$/D	QUQY.4#Dt)SA  r!   c                 p   [        S5       H  n[        S5       H  nSU SU 3nS/U-  S/-   nS/U-  S/-   n[        R                  " XE5      n[        R                  " Xd5      u  px[        R                  " [        R                  " Xt5      U5      n	[        [        U	5      [        U5      US9  M     M     g )Nr   rD   rE   r   r	   rF   )rH   r   rL   legdivrb   r   r    )
r(   rN   rO   rP   cicjrQ   quoremrR   s
             r   test_legdivTestArithmetic.test_legdiv\   s    qA1XaSQC(SUaS[SUaS[jj(::c.jjC!4c:T#YS	3?  r!   c           	      \   [        S5       H  n[        S5       H  nSU SU 3n[        R                  " US-   5      n[        [        R
                  U/U-  [        R                  " S/5      5      n[        R                  " XB5      n[        [        U5      [        U5      US9  M     M     g )Nr   rD   rE   r	   rF   )
rH   rI   aranger   r   rb   arraylegpowr   r    )r(   rN   rO   rP   crQ   rR   s          r   test_legpowTestArithmetic.test_legpowg   s    qA1XaSQC(IIa!e$SZZ!Q!>jj&T#YS	3?  r!   r8   N)r9   r:   r;   r<   rI   linspacer   rS   rX   r^   rj   rr   ry   r=   r8   r!   r   r?   r?   .   s7    
B3A@@0B	@@r!   r?   c                      \ rS rSr\R
                  " / SQ5      r\R                  " S\\5      r\R                  " S\\\5      r	\R                  R                  S5      S-  S-
  r\" \/ SQ5      rS	 rS
 rS rS rS rSrg)TestEvaluationq   )       @r   r   i,j->ij
i,j,k->ijkr   r   r   r	   )      ?r   g      @c                    [        [        R                  " / S/5      R                  S5        [        R
                  " SS5      n[         Vs/ s H  n[        X5      PM     nn[        S5       H5  nSU 3nX4   n[        R                  " US/U-  S/-   5      n[        XvUS9  M7     [        S5       H  nS/U-  n[        R                  " U5      n[        [        R                  " US/5      R                  U5        [        [        R                  " USS/5      R                  U5        [        [        R                  " U/ S	Q5      R                  U5        M     g s  snf )
Nr	   r   r
   
   rD   rF   r   r   )r	   r   r   )r   r   ra   sizerI   r{   Llistr   rH   r   rJ   shape)	r(   r   rx   yrN   rP   rQ   rR   dimss	            r   test_legvalTestEvaluation.test_legval{   s   SZZQC(--q1 KKA$)*EqWQ]E*rA!+C$C**QA,C#6	  qA3q5DAAs+1148A1v.44d;Ay177>  +s   Ec                    U R                   u  pnU R                  u  pEn[        [        [        R
                  XS S U R                  5        XE-  n[        R
                  " XU R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XU R                  5      n[        UR                  S:H  5        g Nr   r   r   )r   r   r   
ValueErrorr   legval2dc2dr   rI   onesr   r   
r(   x1x2x3y1y2y3rQ   rR   zs
             r   test_legval2dTestEvaluation.test_legval2d   s    VV
VV
 	j#,,rFDHHE ell2488,C% GGFOll1*		V#$r!   c           	         U R                   u  pnU R                  u  pEn[        [        [        R
                  XUS S U R                  5        XE-  U-  n[        R
                  " XX0R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XXR                  5      n[        UR                  S:H  5        g r   )r   r   r   r   r   legval3dc3dr   rI   r   r   r   r   s
             r   test_legval3dTestEvaluation.test_legval3d   s    VV
VV
 	j#,,2AI eBhll22xx0C% GGFOll1HH-		V#$r!   c                 d   U R                   u  pnU R                  u  pEn[        R                  " SXE5      n[        R
                  " XU R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XU R                  5      n[        UR                  S:H  5        g )Nr   r   )r   r   r   r   )r   r   rI   einsumr   	leggrid2dr   r   r   r   r   r   s
             r   test_leggrid2dTestEvaluation.test_leggrid2d   s~    VV
VV
 ii	2*mmBDHH-C% GGFOmmA$((+		X%&r!   c                 f   U R                   u  pnU R                  u  pEn[        R                  " SXEU5      n[        R
                  " XX0R                  5      n[        X5        [        R                  " S5      n	[        R
                  " XXR                  5      n[        UR                  S:H  5        g )Nr   r   )r   r   r   r   r   r   )r   r   rI   r   r   	leggrid3dr   r   r   r   r   r   s
             r   test_leggrid3dTestEvaluation.test_leggrid3d   s    VV
VV
 iibb1mmBB1C% GGFOmmA!XX.		X%&r!   r8   N)r9   r:   r;   r<   rI   rv   c1dr   r   r   randomr   r   r   r   r   r   r   r   r=   r8   r!   r   r}   r}   q   s{    
((<
 C
))IsC
(C
))L#sC
0C 			 "Q&A< A?*%"%"''r!   r}   c                   &    \ rS rSrS rS rS rSrg)TestIntegral   c                 2
   [        [        [        R                  S/S5        [        [        [        R                  S/S5        [        [        [        R                  S/SSS/5        [        [        [        R                  S/S/S9  [        [        [        R                  S/S/S9  [        [        [        R                  S/SS9  [        SS	5       H4  nS/US-
  -  S/-   n[        R                  " S/XS
9n[        USS/5        M6     [        S	5       H  nUS-   nS/U-  S/-   nU/S/U-  -   SU-  /-   n[        R                  " U5      n[        R                  " USU/S
9n[        R                  " U5      n[        [        U5      [        U5      5        M     [        S	5       Ha  nUS-   nS/U-  S/-   n[        R                  " U5      n[        R                  " USU/SS9n[        [        R                  " SU5      U5        Mc     [        S	5       H  nUS-   nS/U-  S/-   nU/S/U-  -   SU-  /-   n[        R                  " U5      n[        R                  " USU/SS9n[        R                  " U5      n[        [        U5      [        U5      5        M     [        S	5       H~  n[        SS	5       Hk  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USS9nM     [        R                  " XYS9n[        [        U5      [        U5      5        Mm     M     [        S	5       H  n[        SS	5       H  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/S
9nM     [        R                  " XY[        [        U	5      5      S
9n[        [        U5      [        U5      5        M     M     [        S	5       H  n[        SS	5       H  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/SS9nM     [        R                  " XY[        [        U	5      5      SS9n[        [        U5      [        U5      5        M     M     [        S	5       H  n[        SS	5       H  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/SS9nM     [        R                  " XY[        [        U	5      5      SS9n[        [        U5      [        U5      5        M     M     g )Nr         ?r
   r	   )lbnd)sclaxisr   r   )mk)r   r   r   )r   r   r   r   )r   	TypeErrorr   legintr   rH   r   poly2legleg2polyr    ra   list)
r(   rN   r   rR   r   polrQ   legpolr   rO   s
             r   test_legintTestIntegral.test_legint   sS   iaS"5j#**qc26j#**qc1q!f=j#**qc<j#**qcs;iaSr: q!AQUqc!A**aSA+CaV,  qAa%C#a%1#+C#A+3'C\\#&FZZ!s3F,,v&CS	495  qAa%C#a%1#+C\\#&FZZ!s<F

2v 6:  qAa%C#a%1#+C#A+3'C\\#&FZZ!s:F,,v&CS	495  qA1a[c!eqck!fqA**SA.C "jj*#DItCy9 !  qA1a[c!eqck!fqA**SA!5C "jjT%(^<#DItCy9 !  qA1a[c!eqck!fqA**SA!2>C "jjT%(^"E#DItCy9 !  qA1a[c!eqck!fqA**SA!!<C "jjT%(^C#DItCy9 ! r!   c           
         [         R                  R                  S5      n[         R                  " UR                   Vs/ s H  n[        R
                  " U5      PM     sn5      R                  n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " U5      PM     sn5      n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " USS9PM     sn5      n[        R
                  " USSS9n[        XC5        g s  snf s  snf s  snf )Nr      r   r   r	   r   )r   )r   r   )rI   r   vstackTr   r   r   r(   r   rx   rQ   rR   s        r   test_legint_axisTestIntegral.test_legint_axis$  s    iiv&ii61A6799jj1%C%ii41A45jj1%C%iiS9SA+S9:jj*C% 7 5 :s    E# E>Ec                 F    [        [        R                  " SS5      S5        g )Nr	   r   r   r   )r   r   r   r'   s    r   test_legint_zerointord#TestIntegral.test_legint_zerointord4  s    SZZ	1-y9r!   r8   N)r9   r:   r;   r<   r   r   r   r=   r8   r!   r   r   r      s    Q:f& :r!   r   c                   &    \ rS rSrS rS rS rSrg)TestDerivativei8  c           
         [        [        [        R                  S/S5        [        [        [        R                  S/S5        [        S5       H@  nS/U-  S/-   n[        R                  " USS9n[        [        U5      [        U5      5        MB     [        S5       He  n[        SS5       HR  nS/U-  S/-   n[        R                  " [        R                  " X$S9US9n[        [        U5      [        U5      5        MT     Mg     [        S5       Hg  n[        SS5       HT  nS/U-  S/-   n[        R                  " [        R                  " X$SS9USS9n[        [        U5      [        U5      5        MV     Mi     g )	Nr   r   r
   r   r	   r   r   )r   r   )
r   r   r   legderr   rH   r   r    r   r   )r(   rN   rQ   rR   rO   s        r   test_legderTestDerivative.test_legder:  s)   iaS"5j#**qc26 qA#a%1#+C**SA&CcDI.  qA1a[c!eqckjjC!5;#DItCy9 !  qA1a[c!eqckjjC!!<rJ#DItCy9 ! r!   c                    [         R                  R                  S5      n[         R                  " UR                   Vs/ s H  n[        R
                  " U5      PM     sn5      R                  n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " U5      PM     sn5      n[        R
                  " USS9n[        XC5        g s  snf s  snf )Nr   r   r   r	   )rI   r   r   r   r   r   r   r   s        r   test_legder_axisTestDerivative.test_legder_axisS  s    iiv&ii61A6799jj1%C%ii41A45jj1%C% 7 5s    C+# C0c                 L    Sn[        [        R                  " US5      S/5        g )N)r	   r   r   r   r   r   )r   r   r   )r(   rx   s     r    test_legder_orderhigherthancoeff/TestDerivative.test_legder_orderhigherthancoeff_  s    SZZ1%s+r!   r8   N)r9   r:   r;   r<   r   r   r   r=   r8   r!   r   r   r   8  s    :2
&,r!   r   c                   n    \ rS rSr\R
                  R                  S5      S-  S-
  rS rS rS r	S r
S	rg
)
TestVanderic  r   r   r	   c                 .   [         R                  " S5      n[        R                  " US5      n[	        UR
                  S:H  5        [        S5       H2  nS/U-  S/-   n[        USU4   [        R                  " X5      5        M4     [         R                  " SS/SS/SS	//5      n[        R                  " US5      n[	        UR
                  S
:H  5        [        S5       H2  nS/U-  S/-   n[        USU4   [        R                  " X5      5        M4     g )Nr   r   r   r   r	   .r   r      )r   r   r   )
rI   ru   r   	legvanderr   r   rH   r   ra   rv   )r(   r   vrN   coefs        r   test_legvanderTestVander.test_legvanderg  s    IIaLMM!Q6!"qA3q5A3;D#q&	3::a+>? 
 HHq!fq!fq!f-.MM!Q9$%qA3q5A3;D#q&	3::a+>? r!   c                 ~   U R                   u  pn[        R                  R                  S5      n[        R                  " XSS/5      n[        R
                  " XU5      n[        R                  " XTR                  5      n[        Xv5        [        R                  " U/U/SS/5      n[        UR                  S:H  5        g )Nr   r	   r   )r	   r   r   )r   rI   r   r   legvander2dr   dotflatr   r   r   r(   r   r   r   rx   vanrQ   rR   s           r   test_legvander2dTestVander.test_legvander2dx  s    VV
IIV$oobq!f-ll21%ffS&&!C% oordRD1a&1		Y&'r!   c                    U R                   u  pn[        R                  R                  S5      n[        R                  " XU/ SQ5      n[        R
                  " XX45      n[        R                  " XTR                  5      n[        Xv5        [        R                  " U/U/U// SQ5      n[        UR                  S:H  5        g )N)r   r   r   r   )r	   r      )r   rI   r   r   legvander3dr   r   r   r   r   r   r   s           r   test_legvander3dTestVander.test_legvander3d  s    VV
IIY'oobb)4ll22)ffS&&!C% oordRD2$	:		Z'(r!   c                 D    [        [        [        R                  SS5        g )Nr   r
   )r   r   r   r   r'   s    r   test_legvander_negdeg TestVander.test_legvander_negdeg  s    j#--B?r!   r8   N)r9   r:   r;   r<   rI   r   r   r   r   r   r   r=   r8   r!   r   r   r   c  s6    
		 "Q&A@"()@r!   r   c                       \ rS rSrS rSrg)TestFittingi  c           	      :   S nS n[        [        [        R                  S/S/S5        [        [        [        R                  S//S/S5        [        [        [        R                  / S/S5        [        [        [        R                  S/S///S5        [        [        [        R                  SS/S/S5        [        [        [        R                  S/SS/S5        [        [        [        R                  S/S/SS//S9  [        [        [        R                  S/S/SSS/S9  [        [        [        R                  S/S/S/5        [        [        [        R                  S/S// SQ5        [        [        [        R                  S/S// 5        [
        R                  " SS5      nU" U5      n[        R                  " X4S	5      n[        [        U5      S
5        [        [        R                  " X55      U5        [        R                  " X4/ SQ5      n[        [        U5      S
5        [        [        R                  " X55      U5        [        R                  " X4S
5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " X4/ SQ5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " X4/ SQ5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " U[
        R                  " XD/5      R                  S	5      n[        U[
        R                  " XU/5      R                  5        [        R                  " U[
        R                  " XD/5      R                  / SQ5      n[        U[
        R                  " XU/5      R                  5        [
        R                  " U5      nUR                  5       n	SUSS S2'   SUSS S2'   [        R                  " X9S	US9n
[        X5        [        R                  " X9/ SQUS9n
[        X5        [        R                  " U[
        R                  " X/5      R                  S	US9n[        U[
        R                  " XU/5      R                  5        [        R                  " U[
        R                  " X/5      R                  / SQUS9n[        U[
        R                  " XU/5      R                  5        / SQn[        [        R                  " X3S5      SS/5        [        [        R                  " X3SS/5      SS/5        [
        R                  " SS5      nU" U5      n[        R                  " X4S
5      n[        [        R                  " X<5      U5        [        R                  " X4/ SQ5      n[        [        R                  " X=5      U5        [        X5        g )Nc                     X S-
  -  U S-
  -  $ )Nr	   r   r8   r   s    r   f"TestFitting.test_legfit.<locals>.f  s    !e9a!e$$r!   c                     U S-  U S-  -   S-   $ )Nr   r   r	   r8   r   s    r   f2#TestFitting.test_legfit.<locals>.f2  s    a4!Q$;?"r!   r	   r
   r   r   )w)r   r
   r   r   r   )r   r	   r   r   r   )r   r	   r   r   r   )r   r   r   r	   r   )r	   y              ?r
   y             )r   r   r   )r   r   r   legfitr   rI   r{   r   rc   r   ra   rv   r   
zeros_likecopy)r(   r   r   r   r   coef3coef4coef2dr   ywwcoef3wcoef2dcoef1coef2s                 r   test_legfitTestFitting.test_legfit  sG   	%	# 	j#**qcA3;iqcUQC;iR!a8iaSQC5'1=iaVaS!<iaS1a&!<iaS1#qaSEBiaS1#qQFCj#**qcA3>j#**qcA3
CiaS1#r: KK1aD

1#SZ#CJJq0!4

1.SZ#CJJq0!4

1#SZ#CJJq0!4

11SZ#CJJq0!4

11SZ#CJJq0!4Arxx/1115FBHHe^$<$>$>?Arxx/11<@FBHHe^$<$>$>?MM!VVX!$Q$!$Q$A1*F*A<15F***Q" 2 4 4a1=GRXXun%=%?%?@**Q" 2 4 4laHGRXXun%=%?%?@ CJJqQ/!Q8CJJqaV4q!f=KKAqE

1#CJJq0!4

1+CJJq0!4E)r!   r8   N)r9   r:   r;   r<   r	  r=   r8   r!   r   r   r     s    H*r!   r   c                   &    \ rS rSrS rS rS rSrg)TestCompanioni  c                     [        [        [        R                  / 5        [        [        [        R                  S/5        g r0   )r   r   r   legcompanionr'   s    r   test_raisesTestCompanion.test_raises  s(    j#"2"2B7j#"2"2QC8r!   c                     [        SS5       H:  nS/U-  S/-   n[        [        R                  " U5      R                  X4:H  5        M<     g )Nr	   r   r   )rH   r   r   r  r   )r(   rN   r   s      r   test_dimensionsTestCompanion.test_dimensions  sC    q!A3q5A3;DC$$T*00QF:; r!   c                 R    [        [        R                  " SS/5      S   S:H  5        g )Nr	   r   )r   r         )r   r   r  r'   s    r   test_linear_rootTestCompanion.test_linear_root  s#      !Q(.#56r!   r8   N)r9   r:   r;   r<   r  r  r  r=   r8   r!   r   r  r    s    9<
7r!   r  c                       \ rS rSrS rSrg)	TestGaussi  c                    [         R                  " S5      u  p[         R                  " US5      n[        R                  " UR
                  U-  U5      nS[        R                  " UR                  5       5      -  nUS S 2S 4   U-  U-  n[        U[        R                  " S5      5        Sn[        UR                  5       U5        g )NrA   c   r	   r   )r   leggaussr   rI   r   r   sqrtdiagonalr   eyesum)r(   r   r   r   vvvdrQ   s          r   test_100TestGauss.test_100  s    ||C 
 MM!R VVACC!GQrwwr{{}%%4[2"Bs, AEEGS)r!   r8   N)r9   r:   r;   r<   r#  r=   r8   r!   r   r  r    s    *r!   r  c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestMisci  c           	         [         R                  " / 5      n[        [        U5      S/5        [	        SS5       H  n[
        R                  " [
        R                  " [
        R                  * SSU-  S-   5      SS S2   5      n[         R                  " U5      n[         R                  " X45      nSn[        [        U5      US-   :H  5        [        [         R                  " U5      S   S5        [        X5        M     g )Nr	   r   r   r   r
   )r   legfromrootsr   r    rH   rI   cosr{   pira   r   rc   r   )r(   rR   rN   rootsr   rQ   s         r   test_legfromrootsTestMisc.test_legfromroots  s    r"DIs+q!AFF2;;vq!A#':14a4@AE""5)C**U(CCCHA%&S 1" 5q9) r!   c                 r   [        [        R                  " S/5      / 5        [        [        R                  " SS/5      S/5        [        SS5       Hc  n[        R
                  " SSU5      n[        R                  " [        R                  " U5      5      n[        [        U5      [        U5      5        Me     g )Nr	   r   r  r   r
   )r   r   legrootsrH   rI   r{   r(  r    )r(   rN   rQ   rR   s       r   test_legrootsTestMisc.test_legroots  s}    CLL!-r2CLL!Q03%8q!A++b!Q'C,,s//45CS	495 r!   c                    / SQn[        [        [        R                  US5        [	        [        R                  " U5      US S 5        [	        [        R                  " US5      US S 5        [	        [        R                  " US5      S/5        g )N)r   r
   r	   r   r
   r	   r   r   r   )r   r   r   r   r   )r(   r   s     r   test_legtrimTestMisc.test_legtrim  sh     	j#++tR8 	S[[&Sb	2S[[q)495S[[q)A3/r!   c                 J    [        [        R                  " SS5      SS/5        g )Nr   r   r   r   legliner'   s    r   test_leglineTestMisc.test_legline&  s    S[[A&A/r!   c                 H    [        [        R                  " SS5      S/5        g )Nr   r   r6  r'   s    r   test_legline_zerosclTestMisc.test_legline_zeroscl)  s    S[[A&,r!   c                     [        S5       H2  n[        [        R                  " S/U-  S/-   5      [        U   5        M4     g Nr   r   r	   )rH   r   r   r   r   r(   rN   s     r   test_leg2polyTestMisc.test_leg2poly,  s3    rAaSUaS[ 958D r!   c                     [        S5       H2  n[        [        R                  " [        U   5      S/U-  S/-   5        M4     g r>  )rH   r   r   r   r   r?  s     r   test_poly2legTestMisc.test_poly2leg0  s3    rAU1X 6AD r!   c                 z    [         R                  " SSS5      nSn[        R                  " U5      n[	        X25        g )Nr
   r	      r   )rI   r{   r   	legweightr   )r(   r   rQ   rR   s       r   test_weightTestMisc.test_weight4  s/    KKAr"mmAC%r!   r8   N)r9   r:   r;   r<   r,  r0  r3  r8  r;  r@  rC  rH  r=   r8   r!   r   r&  r&    s,    
*6	00-EE&r!   r&  )'__doc__	functoolsr   numpyrI   numpy.polynomial.legendre
polynomiallegendrer   numpy.polynomial.polynomialr   numpy.testingr   r   r   r   rv   L0L1L2L3L4L5L6L7L8L9r   r    r#   r?   r}   r   r   r   r   r  r  r&  r8   r!   r   <module>r\     s{     ' ' /  XXqc]XXq!fXXj!XXmQXX !!#XX$%a'XX+,R/XX/03XX9:3>XX?@D	RRRRR0$' '@@ @@F[' ['|f: f:R), ),V0@ 0@fJ* J*Z7 7* *&3& 3&r!   