+
    eiuI  c            
       s8   R t ^ RIHt ^ RIt^ RIHu Ht ^ RI	H
t
 ^ RIHtHtHtHt ]P                   ! ^.4      t]P                   ! ^ ^.4      t]P                   ! . RO4      ^,          t]P                   ! . RO4      ^,          t]P                   ! . RO4      ^,          t]P                   ! . RO4      ^,          t]P                   ! . RO4      ^,          t]P                   ! . RO4      ^,          t]P                   ! . R O4      ^,          t]P                   ! . R!O4      ^,          t]]]]]]]]]].
tR t ! R R4      t ! R R	4      t ! R
 R4      t ! R R4      t  ! R R4      t! ! R R4      t" ! R R4      t# ! R R4      t$ ! R R4      t% ! R R4      t&R# )"zTests for legendre module.

)reduceN)polyval)assert_assert_almost_equalassert_equalassert_raisesc                 s2    \         P                  ! V R R7      # )gư>)Ztol)leglegtrimx   &K/usr/lib64/python3.14/site-packages/numpy/polynomial/tests/test_legendre.pytrimr      s    ;;qd##    c                   s8   a  ] tR t^"t o R tR tR tR tRtV t	R# )TestConstantsc                s>    \        \        P                  R^.4       R# )   N)r   r   Z	legdomainselfr
   r   test_legdomainZTestConstants.test_legdomain$   s    S]]RG,r   c                s<    \        \        P                  ^ .4       R#     N)r   r   Zlegzeror   r
   r   test_legzeroZTestConstants.test_legzero'   s    S[[1#&r   c                s<    \        \        P                  ^.4       R# r   N)r   r   Zlegoner   r
   r   test_legoneZTestConstants.test_legone*   s    SZZ!%r   c                s>    \        \        P                  ^ ^.4       R# r   )r   r   Zlegxr   r
   r   	test_legxZTestConstants.test_legx-   s    SXX1v&r    N)
__name__
__module____qualname____firstlineno__r   r   r   r   __static_attributes____classdictcell__Z__classdict__   @r   r   r   "   s     -'&' 'r   r   c                   sl   a  ] tR t^1t o ]P
                  ! R	^^d4      tR tR tR t	R t
R tR tRtV tR# )
TestArithmeticc                s   \        ^4       F  p\        ^4       F  pRV RV 2p\        P                  ! \        W4      ^,           4      pWA;;,          ^,          uu&   WB;;,          ^,          uu&   \        P
                  ! ^ .V,          ^.,           ^ .V,          ^.,           4      p\        \        V4      \        V4      VR7       K  	  K  	  R#    At i=z, j=Zerr_msgN)rangenpzerosmaxr   legaddr   r   r   ijmsgtgtres   &     r   test_legaddZTestArithmetic.test_legadd4       qA1XaSQC(hhs1y1}-!!jj!qA3a1#>T#YS	3?  r   c                s   \        ^4       F  p\        ^4       F  pRV RV 2p\        P                  ! \        W4      ^,           4      pWA;;,          ^,          uu&   WB;;,          ^,          uu&   \        P
                  ! ^ .V,          ^.,           ^ .V,          ^.,           4      p\        \        V4      \        V4      VR7       K  	  K  	  R# r$   )r(   r)   r*   r+   r   Zlegsubr   r   r-   r3   r   test_legsubZTestArithmetic.test_legsub>   r5   r   c                s   \        \        P                  ! ^ .4      ^ .4       \        \        P                  ! ^.4      ^ ^.4       \        ^^4       Ft  p^V,          ^,           p^ .V,          ^.,           p^ .V^,
          ,          W,          ^ V^,           V,          .,           p\        \        P                  ! V4      V4       Kv  	  R# r   )r   r   Zlegmulxr(   )r   r.   ZtmpZserr1      &    r   test_legmulxZTestArithmetic.test_legmulxH   s    S[[!%s+S[[!%1v.q!Aa%!)C#'QC-C#Q-17AA}"==CS)3/	 r   c                s
   \        ^4       F  p^ .V,          ^.,           p\        P                  ! V P                  V4      p\        ^4       F  pRV RV 2p^ .V,          ^.,           p\        P                  ! V P                  V4      p\        P                  ! W&4      p\        P                  ! V P                  V4      p	\        \        V4      W,           ^,           8H  V4       \        WV,          VR7       K  	  K  	  R# r$   )r(   r   legvalr	   legmulr   lenr   )
r   r.   Zpol1Zval1r/   r0   Zpol2Zval2Zpol3Zval3
   &         r   test_legmulZTestArithmetic.test_legmulQ   s    qA37aS=D::dffd+D1XaSQC(sQw!}zz$&&$/zz$-zz$&&$/D	QUQY.4#D+sC  r   c                s   \        ^4       F  p\        ^4       F  pRV RV 2p^ .V,          ^.,           p^ .V,          ^.,           p\        P                  ! WE4      p\        P                  ! Wd4      w  rx\        P                  ! \        P                  ! Wt4      V4      p	\        \        V	4      \        V4      VR7       K  	  K  	  R# r$   )r(   r   r,   Zlegdivr:   r   r   )
r   r.   r/   r0   ZciZcjr1   ZquoZremr2   r<   r   test_legdivZTestArithmetic.test_legdiv_   s    qA1XaSQC(S1Ws]S1Ws]jj(::c.jjC!4c:T#YS	3?  r   c           	     st   \        ^4       F  p\        ^4       F  pRV RV 2p\        P                  ! V^,           4      p\        \        P
                  V.V,          \        P                  ! ^.4      4      p\        P                  ! WB4      p\        \        V4      \        V4      VR7       K  	  K  	  R# r$   )
r(   r)   aranger    r   r:   arrayZlegpowr   r   )r   r.   r/   r0   cr1   r2      &      r   test_legpowZTestArithmetic.test_legpowj   s    qA1XaSQC(IIa!e$SZZ!q"((A3-@jj&T#YS	3?  r   r   Nr   )r   r   r   r   r)   linspacer	   r4   r6   r8   r=   r>   rC   r   r    r!   r"   r   r#   r#   1   s@     
B3A@@0D	@@ @r   r#   c                   s   a  ] tR t^tt o ]P
                  ! . R
O4      t]P                  ! R]]4      t]P                  ! R]]]4      t	]P                  P                  R4      ^,          ^,
          t]! ]. RO4      tR tR tR tR tR tRtV tR	# )TestEvaluationi,j->ij
i,j,k->ijkc                s   \        \        P                  ! . ^.4      P                  ^ 4       \        P
                  ! R^4      p\         Uu. uF  p\        W4      NK  	  pp\        ^
4       FD  pRV 2pW4,          p\        P                  ! V^ .V,          ^.,           4      p\        WvVR7       KF  	  \        ^4       F  p^.V,          p\        P                  ! V4      p\        \        P                  ! V^.4      P                  V4       \        \        P                  ! V^^ .4      P                  V4       \        \        P                  ! V. RO4      P                  V4       K  	  R# u upi )r   r&   r'   Nr   )r   r   r   )r   r   r9   Zsizer)   rD   Llistr   r(   r   r*   shape)	r   r	   rA   yr.   r0   r1   r2   Zdimss	   &        r   test_legvalZTestEvaluation.test_legval~   s   SZZQC(--q1 KKA$)*EqWQ]E*rA!+C$C**Qa1#.C#6	  qA37DAAs+1148A1v.44d;Ay177>  +s   E/c                s   V P                   w  rpV P                  w  rEp\        \        \        P
                  WR ,          V P                  4       WE,          p\        P
                  ! WV P                  4      p\        W4       \        P                  ! R4      p	\        P
                  ! WV P                  4      p\        VP                  R8H  4       R# :N   NNrM      )r	   rJ   r   
ValueErrorr   legval2dc2dr   r)   onesr   rI   
r   x1x2x3Zy1Zy2Zy3r1   r2   Zzr<   r   test_legval2dZTestEvaluation.test_legval2d   s    VV
VV
 	j#,,rFDHHE gll2488,C% GGFOll1*		V#$r   c                s   V P                   w  rpV P                  w  rEp\        \        \        P
                  WVR ,          V P                  4       WE,          V,          p\        P
                  ! WW0P                  4      p\        W4       \        P                  ! R4      p	\        P
                  ! WWP                  4      p\        VP                  R8H  4       R# rL   )r	   rJ   r   rP   r   legval3dc3dr   r)   rS   r   rI   rT   r<   r   test_legval3dZTestEvaluation.test_legval3d   s    VV
VV
 	j#,,2I glll22xx0C% GGFOll1HH-		V#$r   c                sf   V P                   w  rpV P                  w  rEp\        P                  ! R WE4      p\        P
                  ! WV P                  4      p\        W4       \        P                  ! R4      p	\        P
                  ! WV P                  4      p\        VP                  R8H  4       R# )rF   NrN   )rM   rO   rM   rO   )r	   rJ   r)   einsumr   Z	leggrid2drR   r   rS   r   rI   rT   r<   r   test_leggrid2dZTestEvaluation.test_leggrid2d   s~    VV
VV
 ii	2*mmBDHH-C% GGFOmmA$((+		Z'(r   c                sh   V P                   w  rpV P                  w  rEp\        P                  ! R WEV4      p\        P
                  ! WW0P                  4      p\        W4       \        P                  ! R4      p	\        P
                  ! WWP                  4      p\        VP                  R8H  4       R# )rG   NrN   )rM   rO   rM   rO   rM   rO   )r	   rJ   r)   r\   r   Z	leggrid3drZ   r   rS   r   rI   rT   r<   r   test_leggrid3dZTestEvaluation.test_leggrid3d   s    VV
VV
 iibb1mmBB1C% GGFOmmA!XX.		Z'(r   r   N)       @r_   r_   rO   r%   )      ?r_   g      @)r   r   r   r   r)   r@   Zc1dr\   rR   rZ   randomr	   r   rJ   rK   rX   r[   r]   r^   r   r    r!   r"   r   rE   rE   t   s     
((<
 C
))IsC
(C
))L#sC
0C 			 1$q(A< A?*%"%")) )r   rE   c                   s2   a  ] tR t^t o R tR tR tRtV tR# )TestIntegralc                s   \        \        \        P                  ^ .R4       \        \        \        P                  ^ .R4       \        \        \        P                  ^ .^^ ^ .4       \        \        \        P                  ^ .^ .R7       \        \        \        P                  ^ .^ .R7       \        \        \        P                  ^ .RR7       \        ^^4       FC  p^ .V^,
          ,          ^.,           p\        P                  ! ^ .WR7      p\        V^ ^.4       KE  	  \        ^4       F  pV^,           p^ .V,          ^.,           pV.^ .V,          ,           ^V,          .,           p\        P                  ! V4      p\        P                  ! V^V.R7      p\        P                  ! V4      p\        \        V4      \        V4      4       K  	  \        ^4       Fp  pV^,           p^ .V,          ^.,           p\        P                  ! V4      p\        P                  ! V^V.RR7      p\        \        P                  ! RV4      V4       Kr  	  \        ^4       F  pV^,           p^ .V,          ^.,           pV.^ .V,          ,           ^V,          .,           p\        P                  ! V4      p\        P                  ! V^V.^R7      p\        P                  ! V4      p\        \        V4      \        V4      4       K  	  \        ^4       F  p\        ^^4       F}  p	^ .V,          ^.,           pVR,          p\        V	4       F  p\        P                  ! V^R	7      pK  	  \        P                  ! WYR	7      p\        \        V4      \        V4      4       K  	  K  	  \        ^4       F  p\        ^^4       F  p	^ .V,          ^.,           pVR,          p\        V	4       F  p\        P                  ! V^V.R7      pK  	  \        P                  ! WY\        \        V	4      4      R7      p\        \        V4      \        V4      4       K  	  K  	  \        ^4       F  p\        ^^4       F  p	^ .V,          ^.,           pVR,          p\        V	4       F  p\        P                  ! V^V.RR7      pK   	  \        P                  ! WY\        \        V	4      4      RR7      p\        \        V4      \        V4      4       K  	  K  	  \        ^4       F  p\        ^^4       F  p	^ .V,          ^.,           pVR,          p\        V	4       F  p\        P                  ! V^V.^R7      pK   	  \        P                  ! WY\        \        V	4      4      ^R7      p\        \        V4      \        V4      4       K  	  K  	  R
# )r         ?)lbnd)sclaxis)mk)ri   rj   re   )ri   rj   rf   NNNri   Nr   )r   	TypeErrorr   legintrP   r(   r   poly2legleg2polyr   r9   Zlist)
r   r.   rj   r2   rf   polr1   Zlegpolrn   r/   r<   r   test_legintZTestIntegral.test_legint   sS   iaS"5j#**qc26j#**qc1q!f=j#**qc<j#**qcs;iaSr: q!Aq1u#A**aSA+CaV,  qAa%C#'QC-C#a-1s7)+C\\#&FZZ!s3F,,v&CS	495  qAa%C#'QC-C\\#&FZZ!s<F

2v 6:  qAa%C#'QC-C#a-1s7)+C\\#&FZZ!s:F,,v&CS	495  qA1a[cAgm!fqA**SA.C "jj*#DItCy9 !  qA1a[cAgm!fqA**SA!5C "jjT%(^<#DItCy9 !  qA1a[cAgm!fqA**SA!2>C "jjT%(^"E#DItCy9 !  qA1a[cAgm!fqA**SA!!<C "jjT%(^C#DItCy9 ! r   c           
     s   \         P                  P                  R4      p\         P                  ! VP                   Uu. uF  p\        P
                  ! V4      NK  	  up4      P                  p\        P
                  ! V^ R7      p\        WC4       \         P                  ! V Uu. uF  p\        P
                  ! V4      NK  	  up4      p\        P
                  ! V^R7      p\        WC4       \         P                  ! V Uu. uF  p\        P
                  ! V^R7      NK  	  up4      p\        P
                  ! V^^R7      p\        WC4       R# u upi u upi u upi )rO   rg   )rj   )rj   rh   NrO      )r)   rb   vstackTr   rn   r   r   rR   rA   r1   r2   r7   r   test_legint_axisZ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                sH    \        \        P                  ! R^ 4      R4       R# )r   Nr   rM   rO   )r   r   rn   r   r
   r   test_legint_zerointordZ#TestIntegral.test_legint_zerointord7  s    SZZ	1-y9r   r   N)	r   r   r   r   rr   rx   rz   r   r    r!   r"   r   rc   rc      s     Q:f& : :r   rc   c                   2   a  ] tR tRt o R tR tR tRtV tR# )TestDerivative;  c           
     sJ   \        \        \        P                  ^ .R4       \        \        \        P                  ^ .R4       \        ^4       FK  p^ .V,          ^.,           p\        P                  ! V^ R7      p\        \        V4      \        V4      4       KM  	  \        ^4       Fs  p\        ^^4       F`  p^ .V,          ^.,           p\        P                  ! \        P                  ! W$R7      VR7      p\        \        V4      \        V4      4       Kb  	  Ku  	  \        ^4       Fu  p\        ^^4       Fb  p^ .V,          ^.,           p\        P                  ! \        P                  ! W$^R7      VRR7      p\        \        V4      \        V4      4       Kd  	  Kw  	  R# )r   rd   rl   )ri   rf   Nr   )
r   rm   r   legderrP   r(   r   r   rn   r   )r   r.   r1   r2   r/   r7   r   test_legderZTestDerivative.test_legder=  s)   iaS"5j#**qc26 qA#'QC-C**SA&CcDI.  qA1a[cAgmjjC!5;#DItCy9 !  qA1a[cAgmjjC!!<rJ#DItCy9 ! r   c                s   \         P                  P                  R4      p\         P                  ! VP                   Uu. uF  p\        P
                  ! V4      NK  	  up4      P                  p\        P
                  ! V^ R7      p\        WC4       \         P                  ! V Uu. uF  p\        P
                  ! V4      NK  	  up4      p\        P
                  ! V^R7      p\        WC4       R# u upi u upi )rO   rg   Nrs   )r)   rb   ru   rv   r   r~   r   rw   r7   r   test_legder_axisZTestDerivative.test_legder_axisV  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   C0%C5c                sN    Rp\        \        P                  ! V^4      ^ .4       R# )r   N)r   rM   rO   rt   )r   r   r~   )r   rA      & r    test_legder_orderhigherthancoeffZ/TestDerivative.test_legder_orderhigherthancoeffb  s    SZZ1%s+r   r   N)	r   r   r   r   r   r   r   r   r    r!   r"   r   r|   r|   ;  s     :2
&, ,r   r|   c                   s   a  ] tR tRt o ]P
                  P                  R4      ^,          ^,
          tR tR tR t	R t
RtV tR# )	
TestVanderif  c                s`   \         P                  ! ^4      p\        P                  ! V^4      p\	        VP
                  R8H  4       \        ^4       F>  p^ .V,          ^.,           p\        VRV3,          \        P                  ! W4      4       K@  	  \         P                  ! ^^.^^.^^..4      p\        P                  ! V^4      p\	        VP
                  R8H  4       \        ^4       F>  p^ .V,          ^.,           p\        VRV3,          \        P                  ! W4      4       K@  	  R# )rO   .Nrs   )rO   rM   rt   )
r)   r?   r   	legvanderr   rI   r(   r   r9   r@   )r   r	   vr.   coefr7   r   test_legvanderZTestVander.test_legvanderj  s    IIaLMM!Q6!"qA37aS=D#q&	3::a+>? 
 HHq!fq!fq!f-.MM!Q9$%qA37aS=D#q&	3::a+>? r   c                s   V P                   w  rp\        P                  P                  R4      p\        P                  ! W^^.4      p\        P
                  ! WV4      p\        P                  ! WTP                  4      p\        Wv4       \        P                  ! V.V.^^.4      p\        VP                  R8H  4       R# )rM   NrN   )r   r%      )r	   r)   rb   r   Zlegvander2drQ   dotflatr   r   rI   r   rU   rV   rW   rA   Zvanr1   r2      &       r   test_legvander2dZTestVander.test_legvander2d{  s    VV
IIV$oobq!f-ll21%ffS&&!C% oordRD1a&1		Y&'r   c                s   V P                   w  rp\        P                  P                  R4      p\        P                  ! WV. RO4      p\        P
                  ! WW44      p\        P                  ! WTP                  4      p\        Wv4       \        P                  ! V.V.V.. RO4      p\        VP                  R8H  4       R# )rM   N)rM   rO   rt   ry   )r   r%   i   )r	   r)   rb   r   Zlegvander3drY   r   r   r   r   rI   r   r   r   test_legvander3dZTestVander.test_legvander3d  s    VV
IIY'oobb)4ll22)ffS&&!C% oordRD2$	:		Z'(r   c                sF    \        \        \        P                  RR4       R# )r   Nry   r   )r   rP   r   r   r   r
   r   test_legvander_negdegZ TestVander.test_legvander_negdeg  s    j#--B?r   r   Nr`   )r   r   r   r   r)   rb   r	   r   r   r   r   r   r    r!   r"   r   r   r   f  s?     
		 1$q(A@"()@ @r   r   c                   &   a  ] tR tRt o R tRtV tR# )TestFittingi  c           	     sT   R  pR p\        \        \        P                  ^.^.R4       \        \        \        P                  ^..^.^ 4       \        \        \        P                  . ^.^ 4       \        \        \        P                  ^.^...^ 4       \        \        \        P                  ^^.^.^ 4       \        \        \        P                  ^.^^.^ 4       \        \        \        P                  ^.^.^ ^..R7       \        \        \        P                  ^.^.^ ^^.R7       \        \        \        P                  ^.^.R.4       \        \        \        P                  ^.^.. RO4       \        \        \        P                  ^.^.. 4       \
        P                  ! ^ ^4      pV! V4      p\        P                  ! W4^4      p\        \        V4      ^4       \        \        P                  ! W54      V4       \        P                  ! W4. RO4      p\        \        V4      ^4       \        \        P                  ! W54      V4       \        P                  ! W4^4      p\        \        V4      ^4       \        \        P                  ! W64      V4       \        P                  ! W4. R	O4      p\        \        V4      ^4       \        \        P                  ! W64      V4       \        P                  ! W4. R
O4      p\        \        V4      ^4       \        \        P                  ! W64      V4       \        P                  ! V\
        P                  ! WD.4      P                  ^4      p\        V\
        P                  ! WU.4      P                  4       \        P                  ! V\
        P                  ! WD.4      P                  . RO4      p\        V\
        P                  ! WU.4      P                  4       \
        P                  ! V4      pVP                  4       p	^VR&   ^ VR&   \        P                  ! W9^VR7      p
\        W4       \        P                  ! W9. ROVR7      p
\        W4       \        P                  ! V\
        P                  ! W.4      P                  ^VR7      p\        V\
        P                  ! WU.4      P                  4       \        P                  ! V\
        P                  ! W.4      P                  . ROVR7      p\        V\
        P                  ! WU.4      P                  4       . ROp\        \        P                  ! W3^4      ^ ^.4       \        \        P                  ! W3^ ^.4      ^ ^.4       \
        P                  ! R^4      pV! V4      p\        P                  ! W4^4      p\        \        P                  ! W<4      V4       \        P                  ! W4. RO4      p\        \        P                  ! W=4      V4       \        W4       R# )c                 s<    W ^,
          ,          V ^,
          ,          # )r   r   r   r
   r   fZ"TestFitting.test_legfit.<locals>.f  s    A;!a%((r   c                 s>    V ^,          V ^,          ,           ^,           # )rt   r   r   r
   r   f2Z#TestFitting.test_legfit.<locals>.f2  s    a4!Q$;?"r   )wr   NrM   :r   NrM   Nr   )rM   r   r   )r   r   rM   rO   )r   r   rM   rO   rt   )rM   rO   rt   r   r   )r   y              ?r   y             )r   rM   rt   )r   rP   r   Zlegfitrm   r)   rD   r   r;   r   r9   r@   rv   Z
zeros_likeZcopy)r   r   r   r	   rJ   Zcoef3Zcoef4Zcoef2dr   ZywZwcoef3Zwcoef2dZcoef1Zcoef2s   &             r   test_legfitZTestFitting.test_legfit  s;   	)	# 	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$$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   r   N)r   r   r   r   r   r   r    r!   r"   r   r   r     s     H* H*r   r   c                   r{   )TestCompanioni  c                s    \        \        \        P                  . 4       \        \        \        P                  ^.4       R# r   )r   rP   r   legcompanionr   r
   r   test_raisesZTestCompanion.test_raises  s(    j#"2"2B7j#"2"2QC8r   c                s    \        ^^4       FB  p^ .V,          ^.,           p\        \        P                  ! V4      P                  W38H  4       KD  	  R# r   )r(   r   r   r   rI   )r   r.   r   s   &  r   test_dimensionsZTestCompanion.test_dimensions  sC    q!A37aS=DC$$T*00QF:; r   c                s\    \        \        P                  ! ^^.4      R,          R8H  4       R# )r   N)r   r         )r   r   r   r   r
   r   test_linear_rootZTestCompanion.test_linear_root  s#      !Q(.#56r   r   N)	r   r   r   r   r   r   r   r   r    r!   r"   r   r   r     s     9<
7 7r   r   c                   r   )	TestGaussi  c                s   \         P                  ! ^d4      w  r\         P                  ! V^c4      p\        P                  ! VP
                  V,          V4      p^\        P                  ! VP                  4       4      ,          pVR,          V,          V,          p\        V\        P                  ! ^d4      4       Rp\        VP                  4       V4       R# )id   Nr_   )rk   N)r   Zleggaussr   r)   r   rv   ZsqrtZdiagonalr   ZeyeZsum)r   r	   r   r   ZvvZvdr1   rB   r   test_100ZTestGauss.test_100  s    ||C 
 MM!R VVACC!GQ''[2"Bs, AEEGS)r   r   N)r   r   r   r   r   r   r    r!   r"   r   r   r     s     * *r   r   c                   sP   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestMisci  c           	     s    \         P                  ! . 4      p\        \        V4      ^.4       \	        ^^4       F  p\
        P                  ! \
        P                  ! \
        P                  ) ^ ^V,          ^,           4      R,          4      p\         P                  ! V4      p\         P                  ! W44      p^ p\        \        V4      V^,           8H  4       \        \         P                  ! V4      R,          ^4       \        W4       K  	  R# )r   r   Nr   )r   legfromrootsr   r   r(   r)   ZcosrD   Zpir9   r   r;   rp   )r   r2   r.   Zrootsrq   r1   r3   r   test_legfromrootsZTestMisc.test_legfromroots
  s    r"DIs+q!AFF2;;vq!a%!)<TBCE""5)C**U(CCCHA%&S 1" 5q9) r   c                st   \        \        P                  ! ^.4      . 4       \        \        P                  ! ^^.4      R.4       \        ^^4       Fc  p\        P
                  ! R^V4      p\        P                  ! \        P                  ! V4      4      p\        \        V4      \        V4      4       Ke  	  R# )r   Nr   r   )r   r   Zlegrootsr(   r)   rD   r   r   )r   r.   r1   r2      &   r   test_legrootsZ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    . ROp\        \        \        P                  VR4       \	        \        P                  ! V4      VRR 4       \	        \        P                  ! V^4      VRR 4       \	        \        P                  ! V^4      ^ .4       R# )rM   Nr   )rM   r   r   r   )r   rP   r   r   r   )r   r   r   r   test_legtrimZTestMisc.test_legtrim  sh     	j#++tR8 	S[[&Sb	2S[[q)495S[[q)A3/r   c                sL    \        \        P                  ! ^^4      ^^.4       R# rO   Nr   r   Zlegliner   r
   r   test_leglineZTestMisc.test_legline)  s    S[[A&A/r   c                sJ    \        \        P                  ! ^^ 4      ^.4       R# r   r   r   r
   r   test_legline_zerosclZTestMisc.test_legline_zeroscl,  s    S[[A&,r   c                s    \        ^
4       F>  p\        \        P                  ! ^ .V,          ^.,           4      \        V,          4       K@  	  R# i
   N)r(   r   r   rp   rH   r   r.   r   r   test_leg2polyZTestMisc.test_leg2poly/  s3    rAaS1Ws] ;U1XF r   c                s    \        ^
4       F>  p\        \        P                  ! \        V,          4      ^ .V,          ^.,           4       K@  	  R# r   )r(   r   r   ro   rH   r   r   r   test_poly2legZTestMisc.test_poly2leg3  s3    rAU1X 6a1#F r   c                s|    \         P                  ! R^^4      pRp\        P                  ! V4      p\	        W24       R# )r   ra   Nr   )r)   rD   r   Z	legweightr   )r   r	   r1   r2   r   r   test_weightZTestMisc.test_weight7  s/    KKAr"mmAC%r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r   r   r     s4     
*6	00-GG& &r   r   )r   r   rO   )r   r   r   r%   )rO   r   ir   #   )r   i   r   ir   i?   )ir   ii   r   ir   i   )r   ir   r}   r   iKr   i  )	r   r   ir   i  r   ir   i#  )
r   r}   r   ir   ibF  r   itr   i{/  )'Z__doc__Z	functoolsr    Znumpyr)   Znumpy.polynomial.legendreZ
polynomialZlegendrer   Znumpy.polynomial.polynomialr   Znumpy.testingr   r   r   r   r@   ZL0ZL1ZL2ZL3ZL4ZL5ZL6ZL7ZL8ZL9rH   r   r   r#   rE   rc   r|   r   r   r   r   r   r   r   r   <module>r      s{     ' ' /  XXqc]XXq!fXXjAXXmq XX !A%XX$%)XX+,r1XX/025XX9:S@XX?@3F	RRRRR0$' '@@ @@F[) [)|f: f:R), ),V0@ 0@fJ* J*Z7 7* *&3& 3&r   