1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
U
P±dóIã@s¸dZddlZddlmZddlZddlZddlm    Z    m
Z
m Z m Z m Z mZddlmZmZmZmZddlmZe    e
e e e efZedd„eDƒƒZejeed    d
d „ƒZejjZdKd d„ZeZeZdd„Zdd„Z dd„Z!dd„Z"dd„Z#dd„Z$dd„Z%dd„Z&dd „Z'd!d"„Z(d#d$„Z)d%d&„Z*d'd(„Z+d)d*„Z,d+d,„Z-d-d.„Z.d/d0„Z/d1d2„Z0d3d4„Z1d5d6„Z2d7d8„Z3d9d:„Z4d;d<„Z5d=d>„Z6d?d@„Z7dAdB„Z8dCdD„Z9dEdF„Z:dGdH„Z;GdIdJ„dJƒZ<dS)Lz€Test inter-conversion of different polynomial classes.
 
This tests the convert and cast methods of all the polynomial classes.
 
éN)ÚNumber)Ú
PolynomialÚLegendreÚ    ChebyshevÚLaguerreÚHermiteÚHermiteE)Úassert_almost_equalÚ assert_raisesÚ assert_equalÚassert_)Ú RankWarningccs|] }|jVqdS©N)Ú__name__)Ú.0Úcls©rúZd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\numpy/polynomial/tests/test_classes.pyÚ    <genexpr>sr)ÚparamsÚidscCs|jSr)Úparam)ÚrequestrrrÚPolysrÚcCspz>tt |j|jk¡ƒtt |j|jk¡ƒt|j|jƒWn,tk
rjd|›d|›}t|ƒ‚YnXdS)NzResult: z    
Target: )r ÚnpÚallÚdomainÚwindowr    ÚcoefÚAssertionError)Úp1Úp2ÚmsgrrrÚassert_poly_almost_equal&sr$c
Csªt ddd¡}tdƒ}|jtdƒd}|jtdƒd}||||d}|jtdƒd}|jtdƒd}|j|||d}    t|    j|ƒt|    j|ƒt|    |ƒ||ƒƒdS)    Nréé
©é©éçÐ?©rr)Úkindrr)rÚlinspaceÚrandomrrÚconvertr    ©
ÚPoly1ÚPoly2ÚxrÚd1Zw1r!Zd2Zw2r"rrrÚtest_conversion8s  r6c
Csªt ddd¡}tdƒ}|jtdƒd}|jtdƒd}||||d}|jtdƒd}|jtdƒd}|j|||d}    t|    j|ƒt|    j|ƒt|    |ƒ||ƒƒdS)Nrr%r&r'r)r+r,)rr.r/rrÚcastr    r1rrrÚ    test_castIs  r8cCsr|jtdƒd}|jtdƒd}t |d|dd¡}|j||d}t|j|ƒt|j|ƒt||ƒ|ƒdS)Nr)r+rr%é r,)rr/rrr.Úidentityr r    )rÚdÚwr4ÚprrrÚ test_identity_s  r>cCsh|jtdƒd}|jtdƒd}|jd||d}t|j|ƒt|j|ƒt|jdgddgƒdS)Nr)r+ér,rr%)rr/rÚbasisr r©rr;r<r=rrrÚ
test_basisis   rBcCs¤|jtdƒd}|jtdƒd}tdƒ}|j|||d}t| ¡t|ƒƒt|j|ƒt|j|ƒt||ƒdƒtj}tj}tj    |||d}t|j
ddƒdS)Nr)r+)r?r,réÿÿÿÿr%) rr/rÚ    fromrootsr ÚdegreeÚlenr    rr7r)rr;r<Úrr!ZpdomZpwinr"rrrÚtest_fromrootsrs  rHc    CsTdddg}dddg}t t¡}| ||d¡W5QRX|djjddksPt‚dS)Nggð?g@g@r*rz!The fit may be poorly conditioned)ÚpytestZwarnsr ÚfitÚmessageÚargsr )rr4ÚyÚrecordrrrÚtest_bad_conditioned_fit…s
 
 
 rOc Csödd„}t dd¡}||ƒ}| ||d¡}t|jddgƒt||ƒ|ƒt| ¡dƒ|jtdƒd}|jtdƒd}|j||d||d}t||ƒ|ƒt|j|ƒt|j|ƒ|j||ddd    dg||d}t||ƒ|ƒt|j|ƒt|j|ƒ| ||dg¡}t|j|jƒt|j|jƒ| ||ddd    dgg¡}t|j|jƒt|j|jƒt     |¡}|t|j
ƒd}d|ddd    …<| |ddd    …|ddd    …d¡}|j||d|d
}    |j||ddd    dg|d
}
t||ƒ|    |ƒƒt|    |ƒ|
|ƒƒdS) NcSs||d|dS©Nr%r*r)r4rrrÚf’sztest_fit.<locals>.frr(r)r+r,r%r*)r<) rr.rJr    rr rEr/rZ
zeros_likeÚshape) rrQr4rMr=r;r<Úzr!r"Úp3rrrÚtest_fits>     
"rUcCsª|dddgddgddgd}|dddgddgddgd}|dddgddgddgd}|dddgddgddgd}t||kƒt||k ƒt||k ƒt||k ƒdS©Nr%r*r(rr,©r ©rr!r"rTÚp4rrrÚ
test_equal¼s rZcCs¦|dddgddgddgd}|dddgddgddgd}|dddgddgddgd}|dddgddgddgd}t||k ƒt||kƒt||kƒt||kƒdSrVrWrXrrrÚtest_not_equalÇs  r[cCs*ttdƒdƒ}ttdƒdƒ}||ƒ}||ƒ}||}t|||ƒt|||ƒt|||ƒt|t|ƒ|ƒtt|ƒ||ƒt|t |¡|ƒtt |¡||ƒtttj    ||dg|j
ddƒtttj    ||dg|j ddƒ|t krtttj    |t dgƒƒntttj    |t dgƒƒdS©N©éçà?r'rr%©r©r)Úlistr/r$ÚtuplerÚarrayr
Ú    TypeErrorÚopÚaddrrrr©rÚc1Úc2r!r"rTrrrÚtest_addÒs"  
rkcCs2ttdƒdƒ}ttdƒdƒ}||ƒ}||ƒ}||}t||| ƒt|||ƒt||| ƒt|t|ƒ|ƒtt|ƒ|| ƒt|t |¡|ƒtt |¡|| ƒtttj    ||dg|j
ddƒtttj    ||dg|j ddƒ|t krtttj    |t dgƒƒntttj    |t dgƒƒdSr\)rbr/r$rcrrdr
rerfÚsubrrrrrhrrrÚtest_subès"  
rmcCsZttdƒdƒ}ttdƒdƒ}||ƒ}||ƒ}||}t|||ƒt|||ƒt|||ƒt|t|ƒ|ƒtt|ƒ||ƒt|t |¡|ƒtt |¡||ƒt|d||dgƒƒtd|||dgƒƒtttj    ||dg|j
ddƒtttj    ||dg|j ddƒ|t kr@tttj    |t dgƒƒntttj    |t dgƒƒdS)    Nr]r_r'r*rr%r`ra)rbr/r$rcrrdr
rerfÚmulrrrrrhrrrÚtest_mulþs&  
roc    Csvttdƒdƒ}ttdƒdƒ}ttdƒdƒ}||ƒ}||ƒ}||ƒ}|||}t|jƒ}t|||ƒt|||ƒt|||ƒt|t|ƒ|ƒtt|ƒ||ƒt|t |¡|ƒtt |¡||ƒtd||dgƒƒt|dd|ƒttt    j
||dg|j ddƒttt    j
||dg|j dd    ƒ|t kr\ttt    j
|tdgƒƒnttt    j
|t dgƒƒdS©
Nr]r_r'r)r*rr%r`ra)rbr/rr$rcrrdr
rerfÚfloordivrrrr©    rrirjÚc3r!r"rTrYÚc4rrrÚ test_floordivs@ 
ÿÿ
rucCs:|dddgƒ}|d}tjD]D}t|tƒrt|tƒr6q|dƒ}tt ||¡|ƒtt    tj||ƒqt
t fD].}|dƒ}tt ||¡|ƒtt    tj||ƒqjt fD]0}|ddƒ}tt ||¡|ƒtt    tj||ƒq t ƒtƒtƒtƒt dg¡fD]$}tt    tj||ƒtt    tj||ƒqðtD]}tt    tj||dƒƒqdS)Nr%r*r(r?r)rZ
ScalarTypeÚ
issubclassrÚboolr$rfÚtruedivr
reÚintÚfloatÚcomplexrcrbÚdictrdÚclasses)rr!r"ÚstypeÚsÚptyperrrÚ test_truediv1s*
 
 
"rc    Csxttdƒdƒ}ttdƒdƒ}ttdƒdƒ}||ƒ}||ƒ}||ƒ}|||}t|jƒ}t|||ƒt|||ƒt|||ƒt|t|ƒ|ƒtt|ƒ||ƒt|t |¡|ƒtt |¡||ƒtd||dgƒƒt|d|dgƒƒttt    j
||dg|j ddƒttt    j
||dg|j dd    ƒ|t kr^ttt    j
|tdgƒƒnttt    j
|t dgƒƒdSrp)rbr/rr$rcrrdr
rerfÚmodrrrrrrrrrÚtest_modLs, 
  
rƒc Cs.ttdƒdƒ}ttdƒdƒ}ttdƒdƒ}||ƒ}||ƒ}||ƒ}|||}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|
|dgƒƒtd|ƒ\}    }
t|    |dgƒƒt|
|dgƒƒtt    t||dg|j
ddƒtt    t||dg|j dd    ƒ|t krtt    t|t dgƒƒntt    t|t dgƒƒdSrp)rbr/rÚdivmodr$rcrrdr
rerrrr) rrirjrsr!r"rTrYrtZquoÚremrrrÚ test_divmodgsP 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
r†cCsp|jdd}|j}t |d|dd¡}t |j|||d ¡¡}t||ƒt | |¡ ¡¡}t||ƒdS)Ngô?r+rr%r?r,)rrrr.ÚsortrDÚrootsr    )rr;r<ÚtgtÚresrrrÚ
test_roots”s
r‹cCs| d¡}t| ¡dƒdS©Nr?)r@r rE©rr=rrrÚ test_degreeŸs
rŽcCs^| d¡}| ¡}t||kƒt||k    ƒt|j|jk    ƒt|j|jk    ƒt|j|jk    ƒdSrŒ)r@Úcopyr rrr)rr!r"rrrÚ    test_copy¤s
  rcCsªt}| |dddgƒ¡}| | ¡¡}| | d¡¡}t||ddddgƒƒt||dddddgƒƒ| |dddgƒ¡}| |jdd¡}| |jdddgd¡}t||ddddgƒƒt||dddddgƒƒ| |dddgƒ¡}| |jdd    ¡}| |jddd    ¡}t||d
dddgƒƒt||dd
dddgƒƒd|j}|j|dddgƒ|d }| | ¡¡}| | d¡¡}t||ddddgƒƒt||dddddgƒƒdS) Nr*éé rr(r^r%©Úk)Zlbndi÷ÿÿÿr`)rr7Úintegr$r)rÚPZp0r!r"r;rrrÚ
test_integ®s,
r—cCsÞ|jtdƒd}|jtdƒd}|dddg||d}|jdddgd}|jddgd}t| d¡j|jƒt| d¡j|jƒ|dddgƒ}|jdddgd}|jddgd}t| d¡j|jƒt| d¡j|jƒdS)Nr)r+r%r*r(r,r“)rr/rr•r    Zderivr)rr;r<r!r"rTrrrÚ
test_derivËsr˜cCs¼|jtdƒd}|jtdƒd}|dddg||d}t |d|dd¡}||ƒ}| d¡\}}t||ƒt||ƒt ddd¡}||ƒ}|jdddgd    \}}t||ƒt||ƒdS)
Nr)r+r%r*r(r,rér`)rr/rrr.r    )rr;r<r=ZxtgtZytgtZxresZyresrrrÚ test_linspaceÝs
 
 
ršcCsÌ|jtdƒd}|jtdƒd}|dg||d}|dddg||d}tdƒD]}t|||ƒ||}qP|dgƒ}|dddgƒ}tdƒD]}t|||ƒ||}qŒtttj|dƒtttj|d    ƒdS)
Nr)r+r%r,r*r(r?gø?rC)    rr/rÚranger$r
Ú
ValueErrorrfÚpow)rr;r<r‰ZtstÚirrrÚtest_powïs 
 
 
rŸcCs^t}|j}t |d|dd¡}| |dddgƒ¡}d|dd|}||ƒ}t||ƒdS)Nrr%r9r*r()rrrr.r7r    )rr–r;r4r=r‰rŠrrrÚ    test_callsr cCs~|dddgƒ}tt|jdƒtt|jdƒtt| d¡ƒdƒtt| d¡ƒdƒtt| d¡ƒdƒtt| d¡ƒdƒdS)Nr%r*r(r_rCr)r
rœZcutdegr rFrrrrÚ test_cutdegsr¡cCs~|dddgƒ}tt|jdƒtt|jdƒtt| d¡ƒdƒtt| d¡ƒdƒtt| d¡ƒdƒtt| d¡ƒdƒdS)Nr%r*r(r_rr^)r
rœÚtruncater rFrrrrÚ test_truncatesr£cCsdddddg}||ƒ}t| ¡j|dd…ƒt| d¡j|dd…ƒt| d¡j|dd…ƒdS)    Nr%gíµ ÷ư>gê-™—q=rr(g»½×Ùß|Û=r*gñh㈵øä>)r Ztrimr)rÚcr=rrrÚ    test_trim"s
 r¥cCs`|j}|j}|dg||d}tddg| ¡ƒd|d}|dg||d}tddg| ¡ƒdS)Nr%r,rr*)rrr    ZmapparmsrArrrÚ test_mapparms*s r¦cCs<|dddgƒ}t d¡}tttj||ƒtttj||ƒdS)Nr%r*r()rZonesr
rerg)rr=r4rrrÚtest_ufunc_override6s
r§c@s,eZdZdd„Zdd„Zdd„Zdd„Zd    S)
ÚTestInterpolatecCs||d|dSrPr)Úselfr4rrrrQDszTestInterpolate.fcCs(tttj|jdƒtttj|jdƒdS)NrCg$@)r
rœrÚ interpolaterQre)r©rrrÚ test_raisesGszTestInterpolate.test_raisescCs.tddƒD]}tt |j|¡ ¡|kƒq
dS)Nr%r?)r›r rrªrQrE)r©ÚdegrrrÚtest_dimensionsKszTestInterpolate.test_dimensionscCsndd„}t ddd¡}tddƒD]H}td|dƒD]4}tj||ddg|fd}t||ƒ|||ƒdd    q2q dS)
NcSs||Srr)r4r=rrrÚpowxQsz0TestInterpolate.test_approximation.<locals>.powxrr*r&r%)rrLr9)Údecimal)rr.r›rrªr    )r©r®r4r¬Útr=rrrÚtest_approximationOs z"TestInterpolate.test_approximationN)rÚ
__module__Ú __qualname__rQr«r­r±rrrrr¨Bsr¨)r)=Ú__doc__ÚoperatorrfZnumbersrrIÚnumpyrZnumpy.polynomialrrrrrrZ numpy.testingr    r
r r Znumpy.polynomial.polyutilsr r}rcZclassidsZfixturerr/r$r2r3r6r8r>rBrHrOrUrZr[rkrmrorurrƒr†r‹rŽrr—r˜ršrŸr r¡r£r¥r¦r§r¨rrrrÚ<module>sf   þ 
 
 
     ,  -