
    Kh6S                        S SK JrJr  S SKrS SKJrJrJr  S SKJ	r
  S SKJrJr  S SKJr  S SKJr   " S S5      r " S	 S
5      r " S S5      rS rS r\R.                  R1                  S\" \" SS5      \" SS5      /\S9S4\" SS\" SS5      /\S9S4\" \" S5      \" S5      S/\S9S445      S 5       r\R.                  R1                  S\" / SQ\S9S4\" SSSS//\S9S445      S  5       r " S! S"5      r\R.                  R1                  S#\
R:                  S$4\
R<                  S%4\
R>                  S&4\
R@                  S'4\
RB                  S(4\
RD                  S)445      S* 5       r# " S+ S,5      r$ " S- S.5      r%S/r& " S0 S15      r'g)2    )naninfN)arrayarangeprintoptions)assert_equalassert_)Fraction)Decimalc                      \ rS rSr\R
                  " SSS9S 5       r\R                  R                  S/ SQS4/ S	QS
4\	" S5      S445      S 5       r
\R                  R                  S/ SQS4/ S	QS4\	" S5      S445      S 5       r\R                  R                  S/ SQS4/ S	QS4\	" S5      S445      S 5       r\R                  R                  S/ SQS4/ S	QS4\	" S5      S445      S 5       r\R                  R                  S/ SQS4/ S	QS4\	" S5      S445      S 5       r\R                  R                  S/ SQS4/ S	QS4\	" S5      S445      S  5       rS! rS"rg#)$TestStrUnicodeSuperSubscripts   classTscopeautousec                 0    [         R                  " S5        g Nunicodepolyset_default_printstyleselfs    V/var/www/html/env/lib/python3.13/site-packages/numpy/polynomial/tests/test_printing.pyuse_unicode)TestStrUnicodeSuperSubscripts.use_unicode   s    ##I.    inptgt            1.0 + 2.0·x + 3.0·x²r   r%   r(   u#   -1.0 + 0.0·x + 3.0·x² - 1.0·x³u   0.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                 \    [         R                  " U5      n[        U5      n[        XB5        g N)r   
Polynomialstrr   )r   r    r!   press        r   test_polynomial_str1TestStrUnicodeSuperSubscripts.test_polynomial_str   s#     OOC !fS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)u   0.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)c                 X    [        [        R                  " U5      5      n[        X25        g r*   r,   r   	Chebyshevr   r   r    r!   r.   s       r   test_chebyshev_str0TestStrUnicodeSuperSubscripts.test_chebyshev_str   s     $..%&Sr   u!   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)u   0.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)c                 X    [        [        R                  " U5      5      n[        X25        g r*   r,   r   Legendrer   r5   s       r   test_legendre_str/TestStrUnicodeSuperSubscripts.test_legendre_str)        $--$%Sr   u!   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)u   0.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)c                 X    [        [        R                  " U5      5      n[        X25        g r*   r,   r   Hermiter   r5   s       r   test_hermite_str.TestStrUnicodeSuperSubscripts.test_hermite_str4   s     $,,s#$Sr   u#   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)u   0.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)c                 X    [        [        R                  " U5      5      n[        X25        g r*   r,   r   HermiteEr   r5   s       r   test_hermiteE_str/TestStrUnicodeSuperSubscripts.test_hermiteE_str?        $--$%Sr   u!   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)u   0.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)c                 X    [        [        R                  " U5      5      n[        X25        g r*   r,   r   Laguerrer   r5   s       r   test_laguerre_str/TestStrUnicodeSuperSubscripts.test_laguerre_strK   r=   r   c                     [        [        R                  " SS/5      5      nSn[        X5        [        [        R                  " SS/SS/S95      nSn[        X5        g )Nr   r#   u   0.0 + 1.0·xr$   domainu   0.0 + 1.0·(-3.0 + 2.0x)r,   r   r+   r   r   r.   r!   s      r   test_polynomial_str_domains9TestStrUnicodeSuperSubscripts.test_polynomial_str_domainsV   sP    $//1a&)*S$//1a&!Q89(Sr    N)__name__
__module____qualname____firstlineno__pytestfixturer   markparametrizer   r/   r6   r;   rA   rF   rL   rS   __static_attributes__rU   r   r   r   r      s   ^^'40/ 1/ [[^	-.	>?	 $ 	&. 
 [[^	78	LM	 K 	M.  [[^	78	LM	 K 	M.  [[^	78	LM	 K 	M.  [[^	9:	OP	 * 	,.  [[^	78	LM	 K 	M. r   r   c                      \ rS rSr\R
                  " SSS9S 5       r\R                  R                  S/ SQS4/ S	QS
4\	" S5      S445      S 5       r
\R                  R                  S/ SQS4/ S	QS4\	" S5      S445      S 5       r\R                  R                  S/ SQS4/ S	QS4\	" S5      S445      S 5       r\R                  R                  S/ SQS4/ S	QS4\	" S5      S445      S 5       r\R                  R                  S/ SQS4/ S	QS4\	" S5      S445      S 5       r\R                  R                  S/ SQS4/ S	QS4\	" S5      S 445      S! 5       rS" rS#rg$)%TestStrAscii_   r   Tr   c                 0    [         R                  " S5        g Nasciir   r   s    r   	use_asciiTestStrAscii.use_asciia       ##G,r   r   r"   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**11c                 X    [        [        R                  " U5      5      n[        X25        g r*   rQ   r5   s       r   r/    TestStrAscii.test_polynomial_stre   s     $//#&'Sr   1.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)c                 X    [        [        R                  " U5      5      n[        X25        g r*   r3   r5   s       r   r6   TestStrAscii.test_chebyshev_strp   s     $..%&Sr   z1.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)c                 X    [        [        R                  " U5      5      n[        X25        g r*   r9   r5   s       r   r;   TestStrAscii.test_legendre_str|   rH   r   z1.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)c                 X    [        [        R                  " U5      5      n[        X25        g r*   r?   r5   s       r   rA   TestStrAscii.test_hermite_str   s     $,,s#$Sr   z1.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)c                 X    [        [        R                  " U5      5      n[        X25        g r*   rD   r5   s       r   rF   TestStrAscii.test_hermiteE_str   rH   r   z1.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)c                 X    [        [        R                  " U5      5      n[        X25        g r*   rJ   r5   s       r   rL   TestStrAscii.test_laguerre_str   rH   r   c                     [        [        R                  " SS/5      5      nSn[        X5        [        [        R                  " SS/SS/S95      nSn[        X5        g )Nr   r#   z0.0 + 1.0 xr$   rO   z0.0 + 1.0 (-3.0 + 2.0x)rQ   rR   s      r   rS   (TestStrAscii.test_polynomial_str_domains   sP    $//1a&)*S$//1a&!Q89'Sr   rU   N)rV   rW   rX   rY   rZ   r[   re   r\   r]   r   r/   r6   r;   rA   rF   rL   rS   r^   rU   r   r   r`   r`   _   s   ^^'40- 1- [[^	,-	=>	 ; 	=.  [[^	34	FG	 % 	'.  [[^	34	FG	 % 	'.  [[^	34	FG	 % 	'.  [[^	56	IJ	 6 	8.  [[^	34	FG	 % 	'. r   r`   c                       \ rS rSr\R
                  " SSS9S 5       rS rS rS r	S	 r
\R                  R                  S
S5      S 5       rSrg)TestLinebreaking   r   Tr   c                 0    [         R                  " S5        g rc   r   r   s    r   re   TestLinebreaking.use_ascii   rg   r   c                     [         R                  " / SQ5      n[        [        [	        U5      5      S5        [        [	        U5      S5        g )N)Na r~   r~   r~   {   J   zJ12345678.0 + 12345678.0 x + 12345678.0 x**2 + 12345678.0 x**3 + 123.0 x**4r   r+   r   lenr,   r   r-   s     r   test_single_line_one_less*TestLinebreaking.test_single_line_one_less   s6    OOIJSQ["%SV+	r   c                     [         R                  " / SQ5      n[        [        [	        U5      5      S5        [        [	        U5      S5        g )N)r~   r~   r~   r~   i  K   zK12345678.0 + 12345678.0 x + 12345678.0 x**2 + 12345678.0 x**3 +
1234.0 x**4r   r   s     r   test_num_chars_is_linewidth,TestLinebreaking.test_num_chars_is_linewidth   s6    OOJKSQ["%SV-	r   c                     [         R                  " / SQ5      n[        [        [	        U5      R                  S5      S   5      S5        [        [	        U5      S5        g )N)r~   r~   r~   r~   r#   r~   
r   r   zZ12345678.0 + 12345678.0 x + 12345678.0 x**2 + 12345678.0 x**3 + 1.0 x**4 +
12345678.0 x**5)r   r+   r   r   r,   splitr   s     r   6test_first_linebreak_multiline_one_less_than_linewidthGTestLinebreaking.test_first_linebreak_multiline_one_less_than_linewidth   sI    OOE 	SQd+A./4SV<	r   c                 ^    [         R                  " / SQ5      n[        [        U5      S5        g )N)r~   r~   r~   g=
)gAr#   r~   z[12345678.0 + 12345678.0 x + 12345678.0 x**2 + 12345678.12 x**3 +
1.0 x**4 + 12345678.0 x**5)r   r+   r   r,   r   s     r   +test_first_linebreak_multiline_on_linewidth<TestLinebreaking.test_first_linebreak_multiline_on_linewidth   s(    OOH 	SV=	r   )lwr!   ))r   z0.0 + 10.0 x + 200.0 x**2 + 3000.0 x**3 + 40000.0 x**4 + 500000.0 x**5 +
600000.0 x**6 + 70000.0 x**7 + 8000.0 x**8 + 900.0 x**9)-   z0.0 + 10.0 x + 200.0 x**2 + 3000.0 x**3 +
40000.0 x**4 + 500000.0 x**5 +
600000.0 x**6 + 70000.0 x**7 + 8000.0 x**8 +
900.0 x**9)   z0.0 + 10.0 x + 200.0 x**2 + 3000.0 x**3 + 40000.0 x**4 + 500000.0 x**5 + 600000.0 x**6 + 70000.0 x**7 + 8000.0 x**8 + 900.0 x**9c                    [         R                  " / SQ5      n[        US9   [        [	        U5      U5        [	        U5      R                  S5       H  n[        [        U5      U:  5        M     S S S 5        g ! , (       d  f       g = f)N)
r   
      i  i@  i  i'	 ip i@  i  )	linewidthr   )r   r+   r   r   r,   r   r	   r   )r   r   r!   r-   lines        r   test_linewidth_printoption+TestLinebreaking.test_linewidth_printoption   s`     OOG
 B'Q%AT*D	B' + (''s   AA99
BrU   N)rV   rW   rX   rY   rZ   r[   re   r   r   r   r   r\   r]   r   r^   rU   r   r   ry   ry      s]    ^^'40- 1-	 [[] 
- 
(
(r   ry   c                     [         R                  " / SQ5      n [         R                  " / SQ5      n[         R                  " S5        [	        [        U 5      S5        [	        [        U5      S5        [         R                  " S5        [	        [        U 5      S5        [	        [        U5      S5        [        R                  " [        5         [         R                  " S5        S S S 5        g ! , (       d  f       g = f)	Nr"   rd   rh   rk   r   r&   r1   invalid_input)	r   r+   r4   r   r   r,   rZ   raises
ValueError)r-   cs     r   test_set_default_printoptionsr      s    	"Ay!A(Q12Q89	*Q23Q<=	z	"##O4 
#	"	"s   C++
C9c                  |   / SQn [         R                  " U 5      n[         R                  " [        U [        S95      n[         R                  " S5        [        [        U5      S5        [        [        U5      S5        [         R                  " S5        [        [        U5      S5        [        [        U5      S5        g	)
z%Test both numpy and built-in complex.)y              ?y      ?      ?y              @y      @        dtyper   u*   1j + (1+1j)·x - (2-2j)·x² + (3+0j)·x³u+   1j + (1+1j)·x + (-2+2j)·x² + (3+0j)·x³rd   z)1j + (1+1j) x - (2-2j) x**2 + (3+0j) x**3z*1j + (1+1j) x + (-2+2j) x**2 + (3+0j) x**3N)r   r+   r   objectr   r   r,   )coefsp1p2s      r   test_complex_coefficientsr     s    %E		B	uF3	4B	*RFGRGH(REFRFGr   )r   r!   r#   r$   r%      r   u   1/2 + 3/4·x      u   1 + 2·x + 5/7·x²z1.00z2.2u   1.00 + 2.2·x + 3·x²c                     [         R                  " U 5      n[         R                  " S5        [        [	        U5      U5        g r   r   r+   r   r   r,   r   r!   r-   s      r    test_numeric_object_coefficientsr     s.     	A	*Qr   )r#   r$   fu   1 + 2·x + f·x²u   1 + 2·x + [3, 4]·x²c                     [         R                  " U 5      n[         R                  " S5        [        [	        U5      U5        g)zC
Test coef fallback for object arrays of non-numeric coefficients.
r   Nr   r   s      r   #test_nonnumeric_object_coefficientsr   $  s.     	A	*Qr   c                   ,    \ rS rSrS rS rS rS rSrg)
TestFormati1  c                     [         R                  " S5        [         R                  " / SQ5      n[        [	        US5      S5        g )Nrd   r#   r$   r   r(   r   u"   1.0 + 2.0·x + 0.0·x² - 1.0·x³r   r   r+   r   formatr   s     r   test_format_unicodeTestFormat.test_format_unicode2  s0    ##G,OOM*VAy)+OPr   c                     [         R                  " S5        [         R                  " / SQ5      n[        [	        US5      S5        g )Nr   r   rd   z!1.0 + 2.0 x + 0.0 x**2 - 1.0 x**3r   r   s     r   test_format_asciiTestFormat.test_format_ascii7  s3    ##I.OOM*1g C	
r   c                     [         R                  " S5        [         R                  " / SQ5      n[        [	        U5      S5        [        U S5        g )Nrd   r"   rh   r   r   s     r   test_empty_formatstrTestFormat.test_empty_formatstr>  s:    ##G,OOI&VAY 89s56r   c                     [         R                  " / SQ5      n[        R                  " [        5         [        US5        S S S 5        g ! , (       d  f       g = f)Nr   z.2f)r   r+   rZ   r   r   r   r   s     r   test_bad_formatstrTestFormat.test_bad_formatstrD  s2    OOM*]]:&1e '&&s   A		
ArU   N)	rV   rW   rX   rY   r   r   r   r   r^   rU   r   r   r   r   1  s    Q

7r   r   )r   r!   u   1.0 + 2.0·z + 3.0·z²u!   1.0 + 2.0·T₁(z) + 3.0·T₂(z)u!   1.0 + 2.0·H₁(z) + 3.0·H₂(z)u#   1.0 + 2.0·He₁(z) + 3.0·He₂(z)u!   1.0 + 2.0·L₁(z) + 3.0·L₂(z)u!   1.0 + 2.0·P₁(z) + 3.0·P₂(z)c                 2    U " / SQSS9n[        US U5        g )Nr"   zsymbolr   )r   )r   r!   r-   s      r   test_symbolr   J  s     	Ys#AAg;%r   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestRepriW  c                 `    [        [        R                  " SS/5      5      nSn[        X5        g )Nr   r#   zFPolynomial([0., 1.], domain=[-1.,  1.], window=[-1.,  1.], symbol='x'))reprr   r+   r   rR   s      r   test_polynomial_reprTestRepr.test_polynomial_reprX  s-    4??Aq6*+ 	 	Sr   c                 `    [        [        R                  " SS/5      5      nSn[        X5        g )Nr   r#   zEChebyshev([0., 1.], domain=[-1.,  1.], window=[-1.,  1.], symbol='x'))r   r   r4   r   rR   s      r   test_chebyshev_reprTestRepr.test_chebyshev_repr`  s-    4>>1a&)* 	 	Sr   c                 `    [        [        R                  " SS/5      5      nSn[        X5        g )Nr   r#   zDLegendre([0., 1.], domain=[-1.,  1.], window=[-1.,  1.], symbol='x'))r   r   r:   r   rR   s      r   test_legendre_reprTestRepr.test_legendre_reprh  -    4==!Q() 	 	Sr   c                 `    [        [        R                  " SS/5      5      nSn[        X5        g )Nr   r#   zCHermite([0., 1.], domain=[-1.,  1.], window=[-1.,  1.], symbol='x'))r   r   r@   r   rR   s      r   test_hermite_reprTestRepr.test_hermite_reprp  s-    4<<A'( 	 	Sr   c                 `    [        [        R                  " SS/5      5      nSn[        X5        g )Nr   r#   zDHermiteE([0., 1.], domain=[-1.,  1.], window=[-1.,  1.], symbol='x'))r   r   rE   r   rR   s      r   test_hermiteE_reprTestRepr.test_hermiteE_reprx  r   r   c                 `    [        [        R                  " SS/5      5      nSn[        X5        g )Nr   r#   z@Laguerre([0., 1.], domain=[0., 1.], window=[0., 1.], symbol='x'))r   r   rK   r   rR   s      r   test_laguerre_reprTestRepr.test_laguerre_repr  r   r   rU   N)rV   rW   rX   rY   r   r   r   r   r   r   r^   rU   r   r   r   r   W  s     r   r   c                   F    \ rS rSrSr\S 5       rS rS rS r	S r
S rS	rg
)TestLatexRepri  z#Test the latex repr used by Jupyterc                 J    SS jU l          U R                  5       U ? $ ! U ? f = f)Nc                     [        U 5      $ r*   )r,   )xparenss     r   <lambda>(TestLatexRepr.as_latex.<locals>.<lambda>  s    Qr   )F)_repr_latex_scalar_repr_latex_)objs    r   as_latexTestLatexRepr.as_latex  s+    
 "@	'##%&&s    "c                    [         R                  " / SQ5      n[        U R                  U5      S5        [         R                  " / SQSS/S9n[        U R                  U5      S5        [         R                  " / SQSS/S9n[        U R                  U5      S	5        [         R                  " / SQS
S/S9n[        U R                  U5      S5        g )Nr"   z%$x \mapsto 1.0 + 2.0\,x + 3.0\,x^{2}$r   rO   zK$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}$r   r+   r   r   r   s     r   test_simple_polynomial$TestLatexRepr.test_simple_polynomial  s    OOI&T]]1%4	6 OOIr1g6T]]1%Z	\ OOItSk:T]]1%T	V OOIr1g6T]]1%`	br   c                     [         R                  " / SQ5      n[        U R                  U5      S5        [         R                  " / SQSS/S9n[        U R                  U5      S5        g )Nr"   z?$x \mapsto 1.0\,{T}_{0}(x) + 2.0\,{T}_{1}(x) + 3.0\,{T}_{2}(x)$r(   r   rO   zZ$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)$)r   r4   r   r   r   s     r   test_basis_funcTestLatexRepr.test_basis_func  sT    NN9%T]]1%N	P NN9b!W5T]]1%i	kr   c                 j    [         R                  " / SQ5      n[        U R                  U5      S5        g )Nr"   zB$x \mapsto 1.0\,{He}_{0}(x) + 2.0\,{He}_{1}(x) + 3.0\,{He}_{2}(x)$)r   rE   r   r   r   s     r   test_multichar_basis_func'TestLatexRepr.test_multichar_basis_func  s'    MM)$T]]1%Q	Sr   c                    [         R                  " / SQSS9n[        U R                  U5      S5        [         R                  " / SQSS/SS9n[        U R                  U5      S5        [         R                  " / SQS	S
/SS9n[        U R                  U5      S5        [         R                  " / SQSS/SS9n[        U R                  U5      S5        g )Nr"   r   r   z%$z \mapsto 1.0 + 2.0\,z + 3.0\,z^{2}$r   r   )rP   r   zK$z \mapsto 1.0 + 2.0\,\left(1.0 + z\right) + 3.0\,\left(1.0 + z\right)^{2}$r   r   zE$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}$r   r   s     r   test_symbol_basicTestLatexRepr.test_symbol_basic  s    OOIc2T]]1%4	6 OOIr1gcBMM!-	
 OOItSk#FMM!*	
 OOIr1gcBMM!0	
r   c                     [        [        SS5      [        S5      /5      n[        R                  " U5      n[	        U R                  U5      S5        g )Nr#   r$   z$x \mapsto 1/2 + 1\,x$)r   r
   r   r+   r   r   )r   r   r-   s      r   r   .TestLatexRepr.test_numeric_object_coefficients  s=    x1~x{34OOE"T]]1%'ABr   rU   N)rV   rW   rX   rY   __doc__staticmethodr   r   r   r   r   r   r^   rU   r   r   r   r     s5    -' 'b*kS
"
HCr   r   )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**5c                   d    \ rS rSrSr\R                  " SSS9S 5       rS rS r	S	 r
S
 rS rSrg)TestPrintOptionsi  z
Test the output is properly configured via printoptions.
The exponential notation is enabled automatically when the values
are too small or too large.
r   Tr   c                 0    [         R                  " S5        g rc   r   r   s    r   re   TestPrintOptions.use_ascii  rg   r   c                     [         R                  " / SQ5      n[        [        U5      S5        [	        SS9   [        [        U5      S5        S S S 5        g ! , (       d  f       g = f)Nr   g$I$I?gI$Ir?kAgm۶mAzC0.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**3r   r+   r   r,   r   r   s     r   test_strTestPrintOptions.test_str  sM    OO<=SV 7 	8 A&Q "6 7 '&&s   A
A$c                     [         R                  " / SQ5      n[        UR                  5       S5        [	        SS9   [        UR                  5       S5        S S S 5        g ! , (       d  f       g = f)Nr  zp$x \mapsto \text{0.5} + \text{0.14285714}\,x + \text{14285714.28571429}\,x^{2} + \text{(1.42857143e+08)}\,x^{3}$r%   r  za$x \mapsto \text{0.5} + \text{0.143}\,x + \text{14285714.286}\,x^{2} + \text{(1.429e+08)}\,x^{3}$)r   r+   r   r   r   r   s     r   
test_latexTestPrintOptions.test_latex  sU    OO<=Q^^%/	0
 A&)KL '&&s   A  
A.c                 >   [         R                  " S/5      n[        [        U5      S5        [	        SS9   [        [        U5      S5        S S S 5        [	        SSS9   [        [        U5      S5        S S S 5        g ! , (       d  f       N7= f! , (       d  f       g = f)	Nr   z0.5fixed)	floatmodez
0.50000000r   )r  r  z0.5000r	  r   s     r   
test_fixedTestPrintOptions.test_fixed  so    OOSE"SVU#G,Q. - Gq9Q* :9 -, :9s   A=B=
B
Bc           
      D   [        [        5       Hv  u  p[        US9   [        R                  " [        US-  S-   5       Vs/ s H  nSSU* -  -  PM     sn5      n[        U5      R                  SS5      U:X  d   e S S S 5        Mx     g s  snf ! , (       d  f       M  = f)Nr  r$   r%   gރB?r   r    )	enumerateSWITCH_TO_EXPr   r   r+   ranger,   replace)r   isr-   s       r   test_switch_to_exp#TestPrintOptions.test_switch_to_exp  s    m,DA*OO.3AqDFm%=.; &0QB%6.;%= >1v~~dC0A555 +* -%= +*s   $BB(BB
B	c                 *   [         R                  " [        [        /5      n[	        U5      S:X  d   eUR                  5       S:X  d   e[        SSS9   [	        U5      S:X  d   eUR                  5       S:X  d   e S S S 5        g ! , (       d  f       g = f)Nznan + inf xz&$x \mapsto \text{nan} + \text{inf}\,x$NANINF)nanstrinfstrzNAN + INF xz&$x \mapsto \text{NAN} + \text{INF}\,x$)r   r+   r   r   r,   r   r   r   s     r   test_non_finite TestPrintOptions.test_non_finite!  s    OOS#J'1v&&&~~#LLLLu5q6]***>>#9: : : 655s   (B
BrU   N)rV   rW   rX   rY   r   rZ   r[   re   r
  r  r  r  r#  r^   rU   r   r   r  r    s@     ^^'40- 1-7
L+6:r   r  )(mathr   r   rZ   numpy._corer   r   r   numpy.polynomial
polynomialr   numpy.testingr   r	   	fractionsr
   decimalr   r   r`   ry   r   r   r\   r]   r   r   r   r   r+   r4   r@   rE   rK   r:   r   r   r   r  r  rU   r   r   <module>r,     s     3 3  /  Q QfT Tl?( ?(D
5H )
HQNHQN+6: Aq(1a.!0 GFOWU^Q/v> 
, 

 )
;f%':;
Aq1a&>(*BC, 	 2 	__/0	^^89	\\67	]]9:	]]78	]]78+ &&
/ /dXC XCt38: 8:r   