o 6aG@sdZddlZddlmZddlZddlZddlm Z m Z m Z m Z m Z mZddlmZmZmZmZddlmZe e e e e efZeddeDZejeed d d ZejjZdKd dZeZeZddZddZ ddZ!ddZ"ddZ#ddZ$ddZ%ddZ&dd Z'd!d"Z(d#d$Z)d%d&Z*d'd(Z+d)d*Z,d+d,Z-d-d.Z.d/d0Z/d1d2Z0d3d4Z1d5d6Z2d7d8Z3d9d:Z4d;d<Z5d=d>Z6d?d@Z7dAdBZ8dCdDZ9dEdFZ:dGdHZ;GdIdJdJZsr)paramsidscCs|jSr)param)requestrrrPolysrcCshz tt|j|jktt|j|jkt|j|jWdSty3d|d|}t|w)NzResult: z Target: )r npalldomainwindowr coefAssertionError)p1p2msgrrrassert_poly_almost_equal&s r$c Cstddd}td}|jtdd}|jtdd}||||d}|jtdd}|jtdd}|j|||d} t| j|t| j|t| |||dS) Nr ?rr)kindrr)rlinspacerandomrrconvertr Poly1Poly2xrd1w1r!d2w2r"rrrtest_conversion8  r9c Cstddd}td}|jtdd}|jtdd}||||d}|jtdd}|jtdd}|j|||d} t| j|t| j|t| |||dS)Nrr%r&r'r)r+r,)rr.r/rrcastr r1rrr test_castIr:r<cCsr|jtdd}|jtdd}t|d|dd}|j||d}t|j|t|j|t|||dS)Nr)r+rr% r,)rr/rrr.identityr r )rdwr4prrr test_identity_s  rBcCsh|jtdd}|jtdd}|jd||d}t|j|t|j|t|jdgddgdS)Nr)r+r,rr%)rr/rbasisr rrr?r@rArrr test_basisis   rFcCs|jtdd}|jtdd}td}|j|||d}t|t|t|j|t|j|t||dtj}tj}tj |||d}t|j dddS)Nr)r+)rCr,rr%) rr/r fromrootsr degreelenr rr;r)rr?r@rr!pdompwinr"rrrtest_fromrootsrs  rNcCsdgd}gd}tt}|||dWdn1swY|djjddks0JdS)N)rO?)rPg@g@r*rz!The fit may be poorly conditioned)pytestwarnsr fitmessageargs)rr4yrecordrrrtest_bad_conditioned_fits  rXc Csdd}tdd}||}|||d}t|jddgt|||t|d|jtdd}|jtdd}|j||d||d}t|||t|j|t|j||j||gd||d}t|||t|j|t|j||||dg}t|j|jt|j|j|||gdg}t|j|jt|j|jt |}|t|j d}d |ddd <||ddd |ddd d}|j||d|d } |j||gd|d } t||| |t| || |dS) NcSs||d|dSNr%r*r)r4rrrfztest_fit..frr(r)r+r,)rr%r*r(r%r*)r@) rr.rSr rr rIr/r zeros_likeshape) rrZr4rVrAr?r@zr!r"p3rrrtest_fits>      "r`cCs|gdddgddgd}|gdddgddgd}|gdddgddgd}|gdddgddgd}t||kt||k t||k t||k dSNr%r*r(rr%r*r(r,)r%r%r%r rr!r"r_p4rrr test_equals rfcCs|gdddgddgd}|gdddgddgd}|gdddgddgd}|gdddgddgd}t||k t||kt||kt||kdSrarcrdrrrtest_not_equals  rgcCs*ttdd}ttdd}||}||}||}t|||t|||t|||t|t||tt|||t|t||tt|||tttj ||dg|j ddtttj ||dg|j dd|t urtttj |t dgdStttj |t dgdSN?r'rr%rr)listr/r$tuplerarrayr TypeErroropaddrrrrrc1c2r!r"r_rrrtest_adds"  rwcCs2ttdd}ttdd}||}||}||}t||| t|||t||| t|t||tt||| t|t||tt||| tttj ||dg|j ddtttj ||dg|j dd|t urtttj |t dgdStttj |t dgdSrh)rnr/r$rorrpr rqrrsubrrrrrtrrrtest_subs"  rycCsZttdd}ttdd}||}||}||}t|||t|||t|||t|t||tt|||t|t||tt|||t|d||dgtd|||dgtttj ||dg|j ddtttj ||dg|j dd|t urtttj |t dgdStttj |t dgdS) Nrirkr'r*rr%rlrm)rnr/r$rorrpr rqrrmulrrrrrtrrrtest_muls&  r{c Csvttdd}ttdd}ttdd}||}||}||}|||}t|j}t|||t|||t|||t|t||tt|||t|t||tt|||td||dgt|dd|ttt j ||dg|j ddttt j ||dg|j dd |t urttt j |tdgdSttt j |t dgdS Nrirkr'r)r*rr%rlrm)rnr/rr$rorrpr rqrrfloordivrrrr rrurvc3r!r"r_rec4rrr test_floordivs4  rcCs6|gd}|d}tjD]"}t|trt|trq |d}tt|||tt tj||q t t fD]}|d}tt|||tt tj||q4t fD]}|dd}tt|||tt tj||qOt ttttdgfD]}tt tj||tt tj||qwtD] }tt tj||dqdS)NrbrCrr%)r ScalarType issubclassrboolr$rrtruedivr rqintfloatcomplexrorndictrpclasses)rr!r"stypesptyperrr test_truediv1s,     "rc Csxttdd}ttdd}ttdd}||}||}||}|||}t|j}t|||t|||t|||t|t||tt|||t|t||tt|||td||dgt|d|dgttt j ||dg|j ddttt j ||dg|j dd |t urttt j |tdgdSttt j |t dgdSr|)rnr/rr$rorrpr rqrrmodrrrrr~rrrtest_modLs,    rc Cs0ttdd}ttdd}ttdd}||}||}||}|||}t|j}t||\} } t| |t| |t||\} } t| |t| |t||\} } t| |t| |t|t|\} } t| |t| |tt||\} } t| |t| |t|t|\} } t| |t| |tt||\} } t| |t| |t|d\} } t| d|t| |dgtd|\} } t| |dgt| |dgtt t||dg|j ddtt t||dg|j dd |t ur tt t|t dgdStt t|t dgdSr|)rnr/rdivmodr$rorrpr rqrrrr) rrurvrr!r"r_rerquoremrrr test_divmodgsP                 rcCsp|jdd}|j}t|d|dd}t|j|||d}t||t||}t||dS)Ng?r+rr%rCr,)rrrr.sortrHrootsr )rr?r@tgtresrrr test_rootss rcCs|d}t|ddSNrC)rDr rIrrArrr test_degrees rcCs^|d}|}t||kt||ut|j|jut|j|jut|j|judSr)rDcopyr rrr)rr!r"rrr test_copys   rcCszt}||gd}||}||d}t||gdt||gd||gd}||jdd}||jdddgd}t||gdt||gd||gd}||jdd }||jddd }t||gd t||gd d|j}|j|gd|d }||}||d}t||gdt||gddS) N)r* r*)rr*r(rj)rrr%r%r%r%k)r%r*r(rj)r%r%r%r%r%)lbnd)r*r(rj)rrr%r%r%rl)rr;integr$r)rPp0r!r"r?rrr test_integs, rcCs|jtdd}|jtdd}|gd||d}|jdddgd}|jddgd}t|dj|jt|dj|j|gd}|jdddgd}|jddgd}t|dj|jt|dj|jdS)Nr)r+rbr,r*r%r)rr/rrr derivr)rr?r@r!r"r_rrr test_derivs rcCs|jtdd}|jtdd}|gd||d}t|d|dd}||}|d\}}t||t||tddd}||}|jdddgd \}}t||t||dS) Nr)r+rbr,rr%r*rl)rr/rrr.r )rr?r@rAxtgtytgtxresyresrrr test_linspaces   rcCs|jtdd}|jtdd}|dg||d}|gd||d}tdD] }t|||||}q'|dg}|gd}tdD] }t|||||}qDtttj|dtttj|ddS) Nr)r+r%r,rbrCg?rG) rr/rranger$r ValueErrorrrpow)rr?r@rtstirrrtest_pows      rcCs\t}|j}t|d|dd}||gd}d|dd|}||}t||dS)Nrr%r=rbr*r()rrrr.r;r )rrr?r4rArrrrr test_callsrcCs||gd}tt|jdtt|jdtt|ddtt|ddtt|ddtt|dddS)NrbrkrGr(r*r%r)r rcutdegr rJrrrr test_cutdeg rcCs||gd}tt|jdtt|jdtt|ddtt|ddtt|ddtt|dddS)Nrbrkrrjr(r*r%)r rtruncater rJrrrr test_truncaterrcCs`gd}||}t|j|ddt|dj|ddt|dj|dddS)N)r%gư>g-q=rr(g|=r*gh㈵>r%)r trimr)rcrArrr test_trim"s rcCs`|j}|j}|dg||d}tddg|d|d}|dg||d}tddg|dS)Nr%r,rr*)rrr mapparmsrErrr test_mapparms*s rcCs:|gd}td}tttj||tttj||dS)Nrbr()ronesr rqrs)rrAr4rrrtest_ufunc_override6s  rc@s,eZdZddZddZddZddZd S) TestInterpolatecCs||d|dSrYr)selfr4rrrrZDr[zTestInterpolate.fcCs(tttj|jdtttj|jddS)NrGg$@)r rr interpolaterZrq)rrrr test_raisesGszTestInterpolate.test_raisescCs.tddD]}tt|j||kqdS)Nr%rC)rr rrrZrI)rdegrrrtest_dimensionsKszTestInterpolate.test_dimensionscCsndd}tddd}tddD]$}td|dD]}tj||ddg|fd}t|||||dd qqdS) NcSs||Srr)r4rArrrpowxQsz0TestInterpolate.test_approximation..powxrr*r&r%)rrUr)decimal)rr.rrrr )rrr4rtrArrrtest_approximationOsz"TestInterpolate.test_approximationN)r __module__ __qualname__rZrrrrrrrrBs  r)r)=__doc__operatorrrnumbersrrQnumpyrnumpy.polynomialrrrrrr numpy.testingr r r r numpy.polynomial.polyutilsr rroclassidsfixturerr/r$r2r3r9r<rBrFrNrXr`rfrgrwryr{rrrrrrrrrrrrrrrrrrrrrrs`         ,  -