K iS 6ddlmZddlmZddlmZmZddlZddlm Z ddl m Z m Z mZddlmZmZGddZGd d ZGd d Zd ZdZej.j1de eddeddgedfe ddeddgedfe ededdgedffdZej.j1de gdedfe ddddggedffd ZGd!d"Zej.j1d#e j:d$fe j<d%fe j>d&fe j@d'fe jBd(fe jDd)ffd*Z#Gd+d,Z$Gd-d.Z%d/Z&Gd0d1Z'y)2)Decimal)Fraction)infnanN)arangearray printoptions)assert_ assert_equalceZdZejdddZej jdgddfgdd fed d ffd Z ej jdgdd fgddfed dffdZ ej jdgddfgddfed dffdZ ej jdgddfgddfed dffdZ ej jdgddfgddfed dffdZ ej jdgddfgddfed dffd Zd!Zy")#TestStrUnicodeSuperSubscriptsclassTscopeautousec.tjdyNunicodepolyset_default_printstyleselfs j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_printing.py use_unicodez)TestStrUnicodeSuperSubscripts.use_unicodes ##I.inptgt1.0 + 2.0·x + 3.0·x²rr#r&u#-1.0 + 0.0·x + 3.0·x² - 1.0·x³ u0.0 + 1.0·x + 2.0·x² + 3.0·x³ + 4.0·x⁴ + 5.0·x⁵ + 6.0·x⁶ + 7.0·x⁷ + 8.0·x⁸ + 9.0·x⁹ + 10.0·x¹⁰ + 11.0·x¹¹c\tj|}t|}t||yN)r Polynomialstrr )rrrpress rtest_polynomial_strz1TestStrUnicodeSuperSubscripts.test_polynomial_strs% OOC !fS#r!1.0 + 2.0·T₁(x) + 3.0·T₂(x)u1-1.0 + 0.0·T₁(x) + 3.0·T₂(x) - 1.0·T₃(x)u0.0 + 1.0·T₁(x) + 2.0·T₂(x) + 3.0·T₃(x) + 4.0·T₄(x) + 5.0·T₅(x) + 6.0·T₆(x) + 7.0·T₇(x) + 8.0·T₈(x) + 9.0·T₉(x) + 10.0·T₁₀(x) + 11.0·T₁₁(x)cXttj|}t||yr)r+r Chebyshevr rrrr-s rtest_chebyshev_strz0TestStrUnicodeSuperSubscripts.test_chebyshev_str s!$..%&S#ru!1.0 + 2.0·P₁(x) + 3.0·P₂(x)u1-1.0 + 0.0·P₁(x) + 3.0·P₂(x) - 1.0·P₃(x)u0.0 + 1.0·P₁(x) + 2.0·P₂(x) + 3.0·P₃(x) + 4.0·P₄(x) + 5.0·P₅(x) + 6.0·P₆(x) + 7.0·P₇(x) + 8.0·P₈(x) + 9.0·P₉(x) + 10.0·P₁₀(x) + 11.0·P₁₁(x)cXttj|}t||yr)r+rLegendrer r3s rtest_legendre_strz/TestStrUnicodeSuperSubscripts.test_legendre_str+!$--$%S#ru!1.0 + 2.0·H₁(x) + 3.0·H₂(x)u1-1.0 + 0.0·H₁(x) + 3.0·H₂(x) - 1.0·H₃(x)u0.0 + 1.0·H₁(x) + 2.0·H₂(x) + 3.0·H₃(x) + 4.0·H₄(x) + 5.0·H₅(x) + 6.0·H₆(x) + 7.0·H₇(x) + 8.0·H₈(x) + 9.0·H₉(x) + 10.0·H₁₀(x) + 11.0·H₁₁(x)cXttj|}t||yr)r+rHermiter r3s rtest_hermite_strz.TestStrUnicodeSuperSubscripts.test_hermite_str6s!$,,s#$S#ru#1.0 + 2.0·He₁(x) + 3.0·He₂(x)u4-1.0 + 0.0·He₁(x) + 3.0·He₂(x) - 1.0·He₃(x)u0.0 + 1.0·He₁(x) + 2.0·He₂(x) + 3.0·He₃(x) + 4.0·He₄(x) + 5.0·He₅(x) + 6.0·He₆(x) + 7.0·He₇(x) + 8.0·He₈(x) + 9.0·He₉(x) + 10.0·He₁₀(x) + 11.0·He₁₁(x)cXttj|}t||yr)r+rHermiteEr r3s rtest_hermiteE_strz/TestStrUnicodeSuperSubscripts.test_hermiteE_strA!$--$%S#ru!1.0 + 2.0·L₁(x) + 3.0·L₂(x)u1-1.0 + 0.0·L₁(x) + 3.0·L₂(x) - 1.0·L₃(x)u0.0 + 1.0·L₁(x) + 2.0·L₂(x) + 3.0·L₃(x) + 4.0·L₄(x) + 5.0·L₅(x) + 6.0·L₆(x) + 7.0·L₇(x) + 8.0·L₈(x) + 9.0·L₉(x) + 10.0·L₁₀(x) + 11.0·L₁₁(x)cXttj|}t||yr)r+rLaguerrer r3s rtest_laguerre_strz/TestStrUnicodeSuperSubscripts.test_laguerre_strMr9rcttjddg}d}t||ttjddgddg}d}t||y)Nrr!u 0.0 + 1.0·xr"domainu0.0 + 1.0·(-3.0 + 2.0x)r+rr*r rr-rs rtest_polynomial_str_domainsz9TestStrUnicodeSuperSubscripts.test_polynomial_str_domainsXsT$//1a&)*S#$//1a&!Q89(S#rN)__name__ __module__ __qualname__pytestfixturermark parametrizerr.r4r8r=rArFrLrrr r sV^^'40/1/ [[^ -. >? $ &.  [[^ 78 LM K M. [[^ 78 LM K M. [[^ 78 LM K M. [[^ 9: OP * ,. [[^ 78 LM K M.rr ceZdZejdddZej jdgddfgdd fed d ffd Z ej jdgdd fgddfed dffdZ ej jdgddfgddfed dffdZ ej jdgddfgddfed dffdZ ej jdgddfgddfed dffdZ ej jdgddfgddfed dffd Zd!Zy")# TestStrAsciirTrc.tjdyNasciirrs r use_asciizTestStrAscii.use_asciic ##G,rrr 1.0 + 2.0 x + 3.0 x**2r%z"-1.0 + 0.0 x + 3.0 x**2 - 1.0 x**3r'z}0.0 + 1.0 x + 2.0 x**2 + 3.0 x**3 + 4.0 x**4 + 5.0 x**5 + 6.0 x**6 + 7.0 x**7 + 8.0 x**8 + 9.0 x**9 + 10.0 x**10 + 11.0 x**11cXttj|}t||yr)rJr3s rr.z TestStrAscii.test_polynomial_strgs!$//#&'S#r1.0 + 2.0 T_1(x) + 3.0 T_2(x)z+-1.0 + 0.0 T_1(x) + 3.0 T_2(x) - 1.0 T_3(x)z0.0 + 1.0 T_1(x) + 2.0 T_2(x) + 3.0 T_3(x) + 4.0 T_4(x) + 5.0 T_5(x) + 6.0 T_6(x) + 7.0 T_7(x) + 8.0 T_8(x) + 9.0 T_9(x) + 10.0 T_10(x) + 11.0 T_11(x)cXttj|}t||yr)r1r3s rr4zTestStrAscii.test_chebyshev_strrs!$..%&S#rz1.0 + 2.0 P_1(x) + 3.0 P_2(x)z+-1.0 + 0.0 P_1(x) + 3.0 P_2(x) - 1.0 P_3(x)z0.0 + 1.0 P_1(x) + 2.0 P_2(x) + 3.0 P_3(x) + 4.0 P_4(x) + 5.0 P_5(x) + 6.0 P_6(x) + 7.0 P_7(x) + 8.0 P_8(x) + 9.0 P_9(x) + 10.0 P_10(x) + 11.0 P_11(x)cXttj|}t||yr)r6r3s rr8zTestStrAscii.test_legendre_str~rBrz1.0 + 2.0 H_1(x) + 3.0 H_2(x)z+-1.0 + 0.0 H_1(x) + 3.0 H_2(x) - 1.0 H_3(x)z0.0 + 1.0 H_1(x) + 2.0 H_2(x) + 3.0 H_3(x) + 4.0 H_4(x) + 5.0 H_5(x) + 6.0 H_6(x) + 7.0 H_7(x) + 8.0 H_8(x) + 9.0 H_9(x) + 10.0 H_10(x) + 11.0 H_11(x)cXttj|}t||yr)r;r3s rr=zTestStrAscii.test_hermite_strs!$,,s#$S#rz1.0 + 2.0 He_1(x) + 3.0 He_2(x)z.-1.0 + 0.0 He_1(x) + 3.0 He_2(x) - 1.0 He_3(x)z0.0 + 1.0 He_1(x) + 2.0 He_2(x) + 3.0 He_3(x) + 4.0 He_4(x) + 5.0 He_5(x) + 6.0 He_6(x) + 7.0 He_7(x) + 8.0 He_8(x) + 9.0 He_9(x) + 10.0 He_10(x) + 11.0 He_11(x)cXttj|}t||yr)r?r3s rrAzTestStrAscii.test_hermiteE_strrBrz1.0 + 2.0 L_1(x) + 3.0 L_2(x)z+-1.0 + 0.0 L_1(x) + 3.0 L_2(x) - 1.0 L_3(x)z0.0 + 1.0 L_1(x) + 2.0 L_2(x) + 3.0 L_3(x) + 4.0 L_4(x) + 5.0 L_5(x) + 6.0 L_6(x) + 7.0 L_7(x) + 8.0 L_8(x) + 9.0 L_9(x) + 10.0 L_10(x) + 11.0 L_11(x)cXttj|}t||yr)rDr3s rrFzTestStrAscii.test_laguerre_strrBrcttjddg}d}t||ttjddgddg}d}t||y)Nrr!z 0.0 + 1.0 xr"rHz0.0 + 1.0 (-3.0 + 2.0x)rJrKs rrLz(TestStrAscii.test_polynomial_str_domainssT$//1a&)*S#$//1a&!Q89'S#rN)rMrNrOrPrQrZrRrSrr.r4r8r=rArFrLrTrrrVrVasV^^'40-1- [[^ ,- => ; =. [[^ 34 FG % '. [[^ 34 FG % '. [[^ 34 FG % '. [[^ 56 IJ 6 8. [[^ 34 FG % '.rrVceZdZejdddZdZdZdZdZ ejjd d d Z y ) TestLinebreakingrTrc.tjdyrXrrs rrZzTestLinebreaking.use_asciir[rctjgd}ttt |dtt |dy)N)Naririri{JzJ12345678.0 + 12345678.0 x + 12345678.0 x**2 + 12345678.0 x**3 + 123.0 x**4rr*r lenr+rr,s rtest_single_line_one_lessz*TestLinebreaking.test_single_line_one_lesss6 OOI JSQ["%SV + rctjgd}ttt |dtt |dy)N)ririririiKzK12345678.0 + 12345678.0 x + 12345678.0 x**2 + 12345678.0 x**3 + 1234.0 x**4rlrns rtest_num_chars_is_linewidthz,TestLinebreaking.test_num_chars_is_linewidths6 OOJ KSQ["%SV - rctjgd}ttt |j dddtt |dy)N)ririririr!ri rrkzZ12345678.0 + 12345678.0 x + 12345678.0 x**2 + 12345678.0 x**3 + 1.0 x**4 + 12345678.0 x**5)rr*r rmr+splitrns r6test_first_linebreak_multiline_one_less_than_linewidthzGTestLinebreaking.test_first_linebreak_multiline_one_less_than_linewidthsI OOE  SQd+A./4SV < rc\tjgd}tt|dy)N)riririg= )gAr!riz[12345678.0 + 12345678.0 x + 12345678.0 x**2 + 12345678.12 x**3 + 1.0 x**4 + 12345678.0 x**5)rr*r r+rns r+test_first_linebreak_multiline_on_linewidthz>1a&)*   S#rc`ttjddg}d}t||y)Nrr!zDLegendre([0., 1.], domain=[-1., 1.], window=[-1., 1.], symbol='x'))rrr7r rKs rtest_legendre_reprzTestRepr.test_legendre_reprj/4==!Q()   S#rc`ttjddg}d}t||y)Nrr!zCHermite([0., 1.], domain=[-1., 1.], window=[-1., 1.], symbol='x'))rrr<r rKs rtest_hermite_reprzTestRepr.test_hermite_reprrs/4<<A'(   S#rc`ttjddg}d}t||y)Nrr!zDHermiteE([0., 1.], domain=[-1., 1.], window=[-1., 1.], symbol='x'))rrr@r rKs rtest_hermiteE_reprzTestRepr.test_hermiteE_reprzrrc`ttjddg}d}t||y)Nrr!z@Laguerre([0., 1.], domain=[0., 1.], window=[0., 1.], symbol='x'))rrrEr rKs rtest_laguerre_reprzTestRepr.test_laguerre_reprrrN) rMrNrOrrrrrrrTrrrrYs rrc>eZdZdZedZdZdZdZdZ dZ y) TestLatexReprz#Test the latex repr used by JupytercHdd|_ |j|`S#|`wxYw)Nct|Sr))r+)xparenss rz(TestLatexRepr.as_latex..s Qr)F)_repr_latex_scalar _repr_latex_)objs ras_latexzTestLatexRepr.as_latexs+ "@ '##%&&s!ctjgd}t|j|dtjgdddg}t|j|dtjgdddg}t|j|d tjgdd dg}t|j|d y) Nr z%$x \mapsto 1.0 + 2.0\,x + 3.0\,x^{2}$rrHzK$x \mapsto 1.0 + 2.0\,\left(1.0 + x\right) + 3.0\,\left(1.0 + x\right)^{2}$?zE$x \mapsto 1.0 + 2.0\,\left(2.0x\right) + 3.0\,\left(2.0x\right)^{2}$r&zQ$x \mapsto 1.0 + 2.0\,\left(1.0 + 2.0x\right) + 3.0\,\left(1.0 + 2.0x\right)^{2}$rr*r rrns rtest_simple_polynomialz$TestLatexRepr.test_simple_polynomials OOI &T]]1% 4 6 OOIr1g 6T]]1% Z \ OOItSk :T]]1% T V OOIr1g 6T]]1% ` brctjgd}t|j|dtjgdddg}t|j|dy)Nr z?$x \mapsto 1.0\,{T}_{0}(x) + 2.0\,{T}_{1}(x) + 3.0\,{T}_{2}(x)$r&rrHzZ$x \mapsto 1.0\,{T}_{0}(1.0 + 2.0x) + 2.0\,{T}_{1}(1.0 + 2.0x) + 3.0\,{T}_{2}(1.0 + 2.0x)$)rr2r rrns rtest_basis_funczTestLatexRepr.test_basis_funcsT NN9 %T]]1% N P NN9b!W 5T]]1% i krchtjgd}t|j|dy)Nr zB$x \mapsto 1.0\,{He}_{0}(x) + 2.0\,{He}_{1}(x) + 3.0\,{He}_{2}(x)$)rr@r rrns rtest_multichar_basis_funcz'TestLatexRepr.test_multichar_basis_funcs' MM) $T]]1% Q Srctjgdd}t|j|dtjgdddgd}t|j|dtjgdd d gd}t|j|d tjgdd dgd}t|j|d y)Nr rrz%$z \mapsto 1.0 + 2.0\,z + 3.0\,z^{2}$rr)rIrzK$z \mapsto 1.0 + 2.0\,\left(1.0 + z\right) + 3.0\,\left(1.0 + z\right)^{2}$rrzE$z \mapsto 1.0 + 2.0\,\left(2.0z\right) + 3.0\,\left(2.0z\right)^{2}$r&zQ$z \mapsto 1.0 + 2.0\,\left(1.0 + 2.0z\right) + 3.0\,\left(1.0 + 2.0z\right)^{2}$rrns rtest_symbol_basiczTestLatexRepr.test_symbol_basics OOIc 2T]]1% 4 6 OOIr1gc B MM! -  OOItSk# F MM! *  OOIr1gc B MM! 0 rcttddtdg}tj|}t |j |dy)Nr!r"z$x \mapsto 1/2 + 1\,x$)rrrr*r r)rrr,s rrz.TestLatexRepr.test_numeric_object_coefficientss=x1~x{34 OOE "T]]1%'ABrN) rMrNrO__doc__ staticmethodrrrrrrrTrrrrs5-''b*kS " HCrr)z"1.0 + (1.0e-01) x + (1.0e-02) x**2z"1.2 + (1.2e-01) x + (1.2e-02) x**2z11.23 + 0.12 x + (1.23e-02) x**2 + (1.23e-03) x**3z51.235 + 0.123 x + (1.235e-02) x**2 + (1.235e-03) x**3zG1.2346 + 0.1235 x + 0.0123 x**2 + (1.2346e-03) x**3 + (1.2346e-04) x**4zL1.23457 + 0.12346 x + 0.01235 x**2 + (1.23457e-03) x**3 + (1.23457e-04) x**4za1.234568 + 0.123457 x + 0.012346 x**2 + 0.001235 x**3 + (1.234568e-04) x**4 + (1.234568e-05) x**5zg1.2345679 + 0.1234568 x + 0.0123457 x**2 + 0.0012346 x**3 + (1.2345679e-04) x**4 + (1.2345679e-05) x**5cbeZdZdZej dddZdZdZdZ d Z d Z y ) TestPrintOptionsz Test the output is properly configured via printoptions. The exponential notation is enabled automatically when the values are too small or too large. rTrc.tjdyrXrrs rrZzTestPrintOptions.use_asciir[rctjgd}tt|dt d5tt|ddddy#1swYyxYw)Nrg$I$I?gI$Ir?kAgm۶mAzC0.5 + 0.14285714 x + 14285714.28571429 x**2 + (1.42857143e+08) x**3r# precisionz40.5 + 0.143 x + 14285714.286 x**2 + (1.429e+08) x**3rr*r r+r rns rtest_strzTestPrintOptions.test_strsV OOH ISV7 8A & 7 Q"6 7 7 7 7s AA!ctjgd}t|jdt d5t|jddddy#1swYyxYw)Nrzp$x \mapsto \text{0.5} + \text{0.14285714}\,x + \text{14285714.28571429}\,x^{2} + \text{(1.42857143e+08)}\,x^{3}$r#rza$x \mapsto \text{0.5} + \text{0.143}\,x + \text{14285714.286}\,x^{2} + \text{(1.429e+08)}\,x^{3}$)rr*r rr rns r test_latexzTestPrintOptions.test_latexsb OOH IQ^^% / 0 A & L )K L L L Ls A""A+c4tjdg}tt|dt d5tt|ddddt dd5tt|ddddy#1swY5xYw#1swYyxYw) Nrz0.5fixed) floatmodez 0.50000000r)rrz0.5000rrns r test_fixedzTestPrintOptions.test_fixeds OOUG $SVU# G , / Q . /Gq 9 + Q * + + / / + +sB#BB Bc 2ttD]t\}}t|5tjt |dzdzDcgc] }dd| zz c}}t |jdd|k(sJ dddvycc}w#1swYxYw)Nrr"r#gރB?r}rt ) enumerate SWITCH_TO_EXPr rr*ranger+replace)risr,s rtest_switch_to_expz#TestPrintOptions.test_switch_to_expsm, 6DAq* 6OO.3AFQJ.?%A)*&0"qb&%8%AB1v~~dC0A555 6 6 6%A 6 6s#B B 'B B  B ctjttg}t |dk(sJ|j dk(sJt dd5t |dk(sJ|j dk(sJ dddy#1swYyxYw)Nz nan + inf xz&$x \mapsto \text{nan} + \text{inf}\,x$NANINF)nanstrinfstrz NAN + INF xz&$x \mapsto \text{NAN} + \text{INF}\,x$)rr*rrr+rr rns rtest_non_finitez TestPrintOptions.test_non_finite$s OOS#J '1v&&&~~#LLLL u 5 :q6]* **>>#9: :: : : :s &BB N) rMrNrOrrPrQrZrrrrrrTrrrrsB V^^'40-1-7 L+6:rr)(decimalr fractionsrmathrrrPnumpy.polynomial polynomialr numpy._corerrr numpy.testingr r r rVrfrrrRrSrrrrr*r2r<r@rEr7rrrrrrTrrrs 33/QQfTTl?(?(D 5 H) HQNHQN +6: Aq(1a. !0 GFOWU^Q /v>  ,   ) ;f%':; Aq1a&>(*BC, 2 __/0 ^^89 \\67 ]]9: ]]78 ]]78 +&& //dXCXCv 3 8:8:r