Ë
    Bü´jƒ^  ã            
       ó¶  — d Z ddlZddlmZ ddlmZ ddlmZ ddlZddl	Z
ddlmc mZ ddlmZmZmZmZmZmZ d„ ZdgZddgZg d	¢Zg d
¢Zg d¢Zg d¢Zg d¢Zg d¢Zg d¢Zg d¢Zeeeeeeeeeeg
Z  G d„ d«      Z! G d„ d«      Z" G d„ d«      Z# G d„ d«      Z$ G d„ d«      Z% G d„ d«      Z& G d„ d«      Z' G d„ d «      Z( G d!„ d"«      Z) G d#„ d$«      Z*d%„ Z+d&„ Z,y)'zTests for polynomial module.

é    N)Údeepcopy)ÚFraction)Úreduce)Úassert_Úassert_almost_equalÚassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regexc                 ó0   — t        j                  | d¬«      S )Ng�íµ ÷Æ°>)Útol)ÚpolyÚpolytrim©Úxs    úd/root/workspace/ytshorts/venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_polynomial.pyÚtrimr      s   € Ü�=‰=˜ Ô%Ð%ó    é   )éÿÿÿÿr   é   )r   éýÿÿÿr   é   )r   r   iøÿÿÿr   é   )r   é   r   iìÿÿÿr   é   )r   r   é   r   iÐÿÿÿr   é    )r   iùÿÿÿr   é8   r   i�ÿÿÿr   é@   )	r   r   iàÿÿÿr   é    r   i ÿÿÿr   é€   )
r   é	   r   iˆÿÿÿr   i°  r   iÀýÿÿr   é   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestConstantsc                 ó<   — t        t        j                  ddg«       y )Nr   r   )r	   r   Ú
polydomain©Úselfs    r   Útest_polydomainzTestConstants.test_polydomain+   s   € Ü”T—_‘_ r¨1 gÕ.r   c                 ó:   — t        t        j                  dg«       y )Nr   )r	   r   Úpolyzeror)   s    r   Útest_polyzerozTestConstants.test_polyzero.   s   € Ü”T—]‘] Q CÕ(r   c                 ó:   — t        t        j                  dg«       y ©Nr   )r	   r   Úpolyoner)   s    r   Útest_polyonezTestConstants.test_polyone1   s   € Ü”T—\‘\ A 3Õ'r   c                 ó<   — t        t        j                  ddg«       y )Nr   r   )r	   r   Úpolyxr)   s    r   Ú
test_polyxzTestConstants.test_polyx4   s   € Ü”T—Z‘Z ! Q Õ(r   c                 ó`   — t        j                  g d¢«      }t        |«      }t        ||«       y ©N©r   r   é   )r   Ú
Polynomialr   r	   ©r*   r   Úys      r   Ú	test_copyzTestConstants.test_copy7   s#   € Ü�O‰OšIÓ&ˆÜ�Q‹KˆÜ�Q˜Õr   c                 óš   — t        j                  g d¢«      }t        j                  t        j                  |«      «      }t        ||«       y r7   )r   r:   ÚpickleÚloadsÚdumpsr	   r;   s      r   Útest_picklezTestConstants.test_pickle<   s0   € Ü�O‰OšIÓ&ˆÜ�L‰LœŸ™ a›Ó)ˆÜ�Q˜Õr   N)	Ú__name__Ú
__module__Ú__qualname__r+   r.   r2   r5   r=   rB   © r   r   r&   r&   )   s    „ ò/ò)ò(ò)òó
r   r&   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestArithmeticc                 óX  — t        d«      D ]œ  }t        d«      D ]Œ  }d|› d|› �}t        j                  t        ||«      dz   «      }||xx   dz  cc<   ||xx   dz  cc<   t	        j
                  dg|z  dgz   dg|z  dgz   «      }t        t        |«      t        |«      |¬«       ŒŽ Œž y ©Nr   úAt i=ú, j=r   r   ©Úerr_msg)ÚrangeÚnpÚzerosÚmaxr   Úpolyaddr	   r   ©r*   ÚiÚjÚmsgÚtgtÚress         r   Útest_polyaddzTestArithmetic.test_polyaddC   ó¬   € Ü�q“ò 	@ˆAÜ˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—h‘hœs 1 a›y¨1™}Ó-�Ø�A“˜!‘“Ø�A“˜!‘“Ü—l‘l A 3¨¡7¨a¨S¡=°1°#¸±'¸Q¸C±-Ó@�ÜœT #›Y¬¨S«	¸3Ö?ñ@ñ	@r   c                 óX  — t        d«      D ]œ  }t        d«      D ]Œ  }d|› d|› �}t        j                  t        ||«      dz   «      }||xx   dz  cc<   ||xx   dz  cc<   t	        j
                  dg|z  dgz   dg|z  dgz   «      }t        t        |«      t        |«      |¬«       ŒŽ Œž y rJ   )rO   rP   rQ   rR   r   Úpolysubr	   r   rT   s         r   Útest_polysubzTestArithmetic.test_polysubM   r[   r   c                 ó  — t        t        j                  dg«      dg«       t        t        j                  dg«      ddg«       t        dd«      D ]8  }dg|z  dgz   }dg|dz   z  dgz   }t        t        j                  |«      |«       Œ: y )Nr   r   r   )r	   r   ÚpolymulxrO   )r*   rU   ÚserrX   s       r   Útest_polymulxzTestArithmetic.test_polymulxW   s�   € Ü”T—]‘] A 3Ó'¨!¨Ô-Ü”T—]‘] A 3Ó'¨!¨Q¨Ô0Ü�q˜!“ò 	2ˆAØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜Q™‘- 1 #Ñ%ˆCÜœŸ™ sÓ+¨SÕ1ñ	2r   c                 ó6  — t        d«      D ]‹  }t        d«      D ]{  }d|› d|› �}t        j                  ||z   dz   «      }|||z   xx   dz  cc<   t        j                  dg|z  dgz   dg|z  dgz   «      }t        t        |«      t        |«      |¬«       Œ} Œ� y rJ   )rO   rP   rQ   r   Úpolymulr	   r   rT   s         r   Útest_polymulzTestArithmetic.test_polymul_   s¡   € Ü�q“ò 	@ˆAÜ˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—h‘h˜q 1™u q™yÓ)�Ø�A˜‘E“
˜a‘“
Ü—l‘l A 3¨¡7¨a¨S¡=°1°#¸±'¸Q¸C±-Ó@�ÜœT #›Y¬¨S«	¸3Ö?ñ@ñ	@r   c                 ó8  — t        t        t        j                  dgdg«       t        j                  dgdg«      \  }}t	        ||fd«       t        j                  ddgdg«      \  }}t	        ||fd«       t        d«      D ]—  }t        d«      D ]‡  }d|› d|› �}dg|z  ddgz   }dg|z  ddgz   }t        j                  ||«      }t        j                  ||«      \  }}t        j                  t        j                  ||«      |«      }	t	        |	||¬	«       Œ‰ Œ™ y )
Nr   r   r   )r   r   ))r   r   r   r   rK   rL   rM   )r
   ÚZeroDivisionErrorr   Úpolydivr	   rO   rS   rd   )
r*   ÚquoÚremrU   rV   rW   ÚciÚcjrX   rY   s
             r   Útest_polydivzTestArithmetic.test_polydivh   s  € äÔ'¬¯©¸°s¸Q¸CÔ@ô —<‘<   a SÓ)‰ˆˆSÜ�c˜3�Z Ô(Ü—<‘<  A ¨¨Ó,‰ˆˆSÜ�c˜3�Z Ô-ô �q“ò 	4ˆAÜ˜1“Xò 4�Ø˜a˜S  Q CÐ(�Ø�S˜1‘W  1˜vÑ%�Ø�S˜1‘W  1˜vÑ%�Ü—l‘l 2 rÓ*�ÜŸ<™<¨¨RÓ0‘��SÜ—l‘l¤4§<¡<°°RÓ#8¸#Ó>�Ü˜S #¨sÖ3ñ4ñ	4r   c           	      óV  — t        d«      D ]›  }t        d«      D ]‹  }d|› d|› �}t        j                  |dz   «      }t        t        j
                  |g|z  t        j                  dg«      «      }t	        j                  ||«      }t        t        |«      t        |«      |¬«       Œ� Œ� y )Nr   rK   rL   r   rM   )
rO   rP   Úaranger   r   rd   ÚarrayÚpolypowr	   r   )r*   rU   rV   rW   ÚcrX   rY   s          r   Útest_polypowzTestArithmetic.test_polypow}   s–   € Ü�q“ò 	@ˆAÜ˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—I‘I˜a !™eÓ$�ÜœTŸ\™\¨A¨3°©7´B·H±H¸a¸S³MÓB�Ü—l‘l 1 aÓ(�ÜœT #›Y¬¨S«	¸3Ö?ñ@ñ	@r   N)	rC   rD   rE   rZ   r^   rb   re   rm   rs   rF   r   r   rH   rH   A   s$   „ ò@ò@ò2ò@ò4ó*@r   rH   c                   ó   — e Zd Zd„ Zy)ÚTestFractionc                 óÞ  — t        dd«      }t        dd«      }t        dd«      }t        j                  ||g||g||g¬«      }d|z  |dz  z   }t        |j                  t        j                  t        dd«      t        dd«      t        d	d«      gt        ¬
«      «       t        |j                  ||g«       t        |j                  j                  t
        j                  j                  «       «       t        t         ||«      t         «      «       t         ||«      t        dd«      «       t        j                  t        dd«      g||g||g¬«      }t        |j                  «       |«       y )Nr   r9   r   r   ©ÚdomainÚwindowr   r#   é   r   ©Údtypeé
   )r   r   r:   r	   ÚcoefrP   rp   Úobjectrx   r|   ÚdtypesÚObjectDTyper   Ú
isinstanceÚderiv)r*   ÚfÚoneÚzeroÚpr   Úp_derivs          r   Útest_FractionzTestFraction.test_Fractionˆ   s  € ä�Q˜‹NˆÜ�q˜!‹nˆÜ˜˜1‹~ˆÜ�O‰O˜Q ˜F¨D°#¨;ÀÀc¸{ÔKˆà�‰E�A˜‘F‰NˆÜ�Q—V‘VœRŸX™X¤x°°A£¼ÀÀQ»Ü'/°°1£~ð'7Ü>DôFô 	Gä�Q—X‘X  c˜{Ô+Ü�Q—V‘V—\‘\¤2§9¡9×#8Ñ#8Ó#:Ô;Ü”
™1˜Q›4¤Ó*Ô+Ü‘Q�q“Tœ8 B¨›?Ô+Ü—/‘/¤8¨A¨q£>Ð"2¸DÀ#¸;Ø*.°¨ô6ˆä�Q—W‘W“Y Õ(r   N)rC   rD   rE   r‰   rF   r   r   ru   ru   †   s   „ ó)r   ru   c                   ó  — e Zd Z ej                  g d¢«      Z ej                  dee«      Z ej                  deee«      Zej                  j                  d«      dz  dz
  Z
 ej                  e
g d¢«      Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zy)ÚTestEvaluation)ç      ð?ç       @g      @úi,j->ijú
i,j,k->ijk©r9   r   r   r   c                 ó|  — t        t        j                  g dg«      j                  d«       t	        j
                  dd«      }t        d«      D �cg c]  }||z  ‘Œ	 }}t        d«      D ]1  }||   }t        j                  |dg|z  dgz   «      }t        ||«       Œ3 ||dz  dz
  z  }t        j                  |g d¢«      }t        ||«       t        d«      D ]   }dg|z  }t	        j                  |«      }t        t        j                  |dg«      j                  |«       t        t        j                  |ddg«      j                  |«       t        t        j                  |g d¢«      j                  |«       Œ¢ g d	¢}t        j                  j                  g d
¢|¬«      }t	        j                  g d¢|«      }t        |j                  |«        G d„ dt        j                  «      }	t	        j                  g d
¢«      j                  |	«      }
t        t!        t	        j                  g d¢|
«      «      |	«       y c c}w )Nr   r   r   r   r   )r   r   r   r   r9   ©r   r   r   )FTFr8   )Úmask)é   r   r9   c                   ó   — e Zd Zy)ú&TestEvaluation.test_polyval.<locals>.CN)rC   rD   rE   rF   r   r   ÚCr–   Â   s   „ Ør   r—   ©r   r9   r   )r	   r   ÚpolyvalÚsizerP   ÚlinspacerO   r   rQ   ÚshapeÚmarp   r   r“   ÚndarrayÚviewÚtype)r*   r   rU   r<   rX   rY   Údimsr“   Úmxr—   Úcxs              r   Útest_polyvalzTestEvaluation.test_polyval¤   sÆ  € ä”T—\‘\ " q cÓ*×/Ñ/°Ô3ô �K‰K˜˜AÓˆÜ  ›8Ö$�aˆQ�‹TÐ$ˆÐ$Ü�q“ò 	*ˆAØ�A‘$ˆCÜ—,‘,˜q 1 #¨¡'¨Q¨C¡-Ó0ˆCÜ  SÕ)ð	*ð �1�a‘4˜!‘8‰nˆÜ�l‰l˜1šmÓ,ˆÜ˜C Ô%ô �q“ò 	AˆAØ�3˜‘7ˆDÜ—‘˜“ˆAÜœŸ™ a¨!¨Ó-×3Ñ3°TÔ:ÜœŸ™ a¨!¨Q¨Ó0×6Ñ6¸Ô=ÜœŸ™ aªÓ3×9Ñ9¸4Õ@ð	Aò $ˆÜ�U‰U�[‰[š¨ˆ[Ó.ˆÜ�j‰jš BÓ'ˆÜ˜3Ÿ8™8 TÔ*ô	”—
‘
ô 	ô �X‰X’iÓ ×%Ñ% aÓ(ˆÜ”Tœ"Ÿ*™*¢Y°Ó3Ó4°aÕ8ùò9 %s   ÁH9c                 óü  — t        t        t        j                  dgdgd¬«       t	        t        j                  g dg«      j
                  d«       t        t        j                  g dg«      j                  dk(  «       t	        t        j                  g dgdz  g«      j
                  d«       t        t        j                  g dgdz  g«      j                  dk(  «       t	        t        j                  dd«      d«       t        t        j                  dt        j                  d«      «      j                  d	k(  «       t        j                  d
d«      }t        d«      D �cg c]  }||z  ‘Œ	 }}t        dd«      D ]-  }||   }t        j                  |dg|z  «      }t        ||«       Œ/ ||dz
  z  |dz   z  }t        j                  |g d¢«      }t        ||«       t        d«      D ]   }dg|z  }t        j                  |«      }t	        t        j                  |dg«      j                  |«       t	        t        j                  |ddg«      j                  |«       t	        t        j                  |g d¢«      j                  |«       Œ¢ g d¢}t        j                  |«      }t        j                  d
d«      }t        t        j                  ||«      t        j                  ||«      «       d}	t        j                   dd«      }t        j"                  j%                  dd|	¬«      }t        j                  ||d¬«      }t        j&                  |j                  dd  «      }t        |j
                  «      D ]%  }
t        j                  ||
   |d d …|
f   «      ||
<   Œ' t	        ||«       t        j(                  |d|z  g«      }t        j                  ||d¬«      }t        j&                  |j                  dd  |j                  z   «      }t        |j                  d   «      D ]G  }
t        |j                  d   «      D ]*  }t        j                  ||   |d d …|
f   «      ||
|d d …f<   Œ, ŒI t	        ||«       y c c}w )Nr   F)Útensorr   )r   r   )r   r   )r9   r9   )r9   r   )r   r   r   r9   r   r’   )é   r   iðÿÿÿéþÿÿÿr   r�   r   éûÿÿÿ)rš   T)r
   Ú
ValueErrorr   Úpolyvalfromrootsr	   rš   r   rœ   rP   Úonesr›   rO   r   rQ   Ú	polyrootsr™   ro   ÚrandomÚrandintÚemptyÚvstack)r*   r   rU   r<   rX   rY   r¡   ÚptestÚrÚrshapeÚiiÚjjs               r   Útest_polyvalfromrootsz$TestEvaluation.test_polyvalfromrootsÈ   sÏ  € ô 	”j¤$×"7Ñ"7Ø�c˜A˜3 uõ	.ô 	”T×*Ñ*¨2°¨sÓ3×8Ñ8¸!Ô<Ü”×%Ñ% b¨1¨#Ó.×4Ñ4¸Ñ<Ô=ô 	”T×*Ñ*¨2°°°a±¨yÓ9×>Ñ>ÀÔBÜ”×%Ñ% b¨A¨3°©7¨)Ó4×:Ñ:¸fÑDÔEô 	”T×*Ñ*¨1¨aÓ0°!Ô4Ü”×%Ñ% a¬¯©°«Ó9×?Ñ?À4ÑGÔHô �K‰K˜˜AÓˆÜ  ›8Ö$�aˆQ�‹TÐ$ˆÐ$Ü�q˜!“ò 	*ˆAØ�A‘$ˆCÜ×'Ñ'¨¨A¨3°©7Ó3ˆCÜ  SÕ)ð	*ð �1�q‘5‰k˜Q ™UÑ#ˆÜ×#Ñ# A¢zÓ2ˆÜ˜C Ô%ô �q“ò 	JˆAØ�3˜‘7ˆDÜ—‘˜“ˆAÜœ×.Ñ.¨q°1°#Ó6×<Ñ<¸dÔCÜœ×.Ñ.¨q°1°a°&Ó9×?Ñ?ÀÔFÜœ×.Ñ.¨q²)Ó<×BÑBÀDÕIð	Jò $ˆÜ�N‰N˜5Ó!ˆÜ�K‰K˜˜AÓˆÜœDŸL™L¨¨EÓ2Ü ×1Ñ1°!°QÓ7ô	9ð
 ˆÜ�I‰I�b˜!ÓˆÜ�I‰I×Ñ˜b !¨&ÐÓ1ˆÜ×#Ñ# A q°Ô7ˆÜ�h‰h�q—w‘w˜q˜r�{Ó#ˆÜ˜Ÿ™“/ò 	=ˆBÜ×+Ñ+¨A¨b©E°1²Q¸°U±8Ó<ˆC�ŠGð	=ä�S˜#Ôô �I‰I�q˜!˜a™%�jÓ!ˆÜ×#Ñ# A q°Ô6ˆÜ�h‰h�q—w‘w˜q˜r�{ Q§W¡WÑ,Ó-ˆÜ˜Ÿ™ ™
Ó#ò 	HˆBÜ˜AŸG™G A™JÓ'ò H�Ü!%×!6Ñ!6°q¸±u¸aÂÀ2À¹hÓ!G��B˜šA�I’ñHð	Hô 	�S˜#ÕùòU %s   ÅQ9c           	      ó¢  — | j                   \  }}}| j                  \  }}}t        t        dt        j
                  ||d d | j                  «       ||z  }t	        j
                  ||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	| j                  «      }t        |j                  dk(  «       y ©NÚincompatibler   ©r   r9   )r   r<   r   rª   r   Ú	polyval2dÚc2dr   rP   r¬   r   rœ   ©
r*   Úx1Úx2Úx3Úy1Úy2Úy3rX   rY   Úzs
             r   Útest_polyval2dzTestEvaluation.test_polyval2d  s§   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	œJ¨Ü ŸN™N¨B°°2°A°¸¿¹ô	Bð �2‰gˆÜ�n‰n˜R  T§X¡XÓ.ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�n‰n˜Q  4§8¡8Ó,ˆÜ�—	‘	˜VÑ#Õ$r   c           
      ó®  — | j                   \  }}}| j                  \  }}}t        t        dt        j
                  |||d d | j                  «       ||z  |z  }t	        j
                  |||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	|	| j                  «      }t        |j                  dk(  «       y r¹   )r   r<   r   rª   r   Ú	polyval3dÚc3dr   rP   r¬   r   rœ   r¾   s
             r   Útest_polyval3dzTestEvaluation.test_polyval3d  s±   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	œJ¨Ü—n‘n b¨"¨b°°!¨f°d·h±hô	@ð �2‰g˜‰lˆÜ�n‰n˜R  R¨¯©Ó2ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�n‰n˜Q  1 d§h¡hÓ/ˆÜ�—	‘	˜VÑ#Õ$r   c           
      ó  — | j                   \  }}}| j                  \  }}}|||f}t        t        dt        j
                  |||d d f| j                  «       ||z  |z  }t	        j
                  || j                  «      }	t        |	|«       t        j                  d«      }
t	        j
                  |
|
|
f| j                  «      }	t        |	j                  dk(  «       t        t	        j
                  |f| j                  «      |«       y r¹   )r   r<   r   rª   r   Ú	polyvalndrÉ   r   rP   r¬   r   rœ   Úc1d)r*   r¿   rÀ   rÁ   rÂ   rÃ   rÄ   ÚptsrX   rY   rÅ   s              r   Útest_polyvalndzTestEvaluation.test_polyvalnd,  sÚ   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�Ø�2�rˆlˆô 	œJ¨Ü ŸN™N¨R°°R¸¸°VÐ,<¸d¿h¹hô	Hð �2‰g˜‰lˆÜ�n‰n˜S $§(¡(Ó+ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�n‰n˜a  A˜Y¨¯©Ó1ˆÜ�—	‘	˜VÑ#Ô$ô 	œDŸN™N¨B¨5°$·(±(Ó;¸RÕ@r   c                 óh  — | j                   \  }}}| j                  \  }}}t        j                  d||«      }t	        j
                  ||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	| j                  «      }t        |j                  dk(  «       y )NrŽ   r»   )r   r9   r   r9   )r   r<   rP   Úeinsumr   Ú
polygrid2dr½   r   r¬   r   rœ   r¾   s
             r   Útest_polygrid2dzTestEvaluation.test_polygrid2dB  sŠ   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜	 2 rÓ*ˆÜ�o‰o˜b " d§h¡hÓ/ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�o‰o˜a  D§H¡HÓ-ˆÜ�—	‘	˜ZÑ'Õ(r   c                 ón  — | j                   \  }}}| j                  \  }}}t        j                  d|||«      }t	        j
                  |||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	|	| j                  «      }t        |j                  dk(  «       y )Nr�   r»   )r   r9   r   r9   r   r9   )r   r<   rP   rÑ   r   Ú
polygrid3drÉ   r   r¬   r   rœ   r¾   s
             r   Útest_polygrid3dzTestEvaluation.test_polygrid3dP  s�   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜ b¨"¨bÓ1ˆÜ�o‰o˜b " b¨$¯(©(Ó3ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�o‰o˜a  A t§x¡xÓ0ˆÜ�—	‘	˜ZÑ'Õ(r   N)rC   rD   rE   rP   rp   rÍ   rÑ   r½   rÉ   r®   r   r   r™   r<   r¤   r·   rÆ   rÊ   rÏ   rÓ   rÖ   rF   r   r   r‹   r‹   š   s”   „ à
ˆ"�(‰(’<Ó
 €CØ
ˆ"�)‰)�I˜s CÓ
(€CØ
ˆ"�)‰)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  1Ñ$ qÑ(€AØˆ�‰�QšÓ%€Aò"9òH>ò@%ò$%ò$Aò,)ó)r   r‹   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestIntegralc                 ó¤	  — t        t        t        j                  dgd«       t        t        t        j                  dgd«       t        t        t        j                  dgdddg«       t        t        t        j                  dgdg¬«       t        t        t        j                  dgdg¬«       t        t        t        j                  dgd¬«       t        t        t        j                  ddgd«       t        d	d
«      D ]6  }dg|d	z
  z  dgz   }t        j                  dg||¬«      }t        |ddg«       Œ8 t        d
«      D ]Y  }|dz   }dg|z  dgz   }|gdg|z  z   d|z  gz   }t        j                  |d|g¬«      }t        t        |«      t        |«      «       Œ[ t        d
«      D ]K  }|dz   }dg|z  dgz   }t        j                  |d|gd¬«      }t        t        j                  d|«      |«       ŒM t        d
«      D ]Z  }|dz   }dg|z  dgz   }|gdg|z  z   d	|z  gz   }t        j                  |d|gd	¬«      }t        t        |«      t        |«      «       Œ\ t        d
«      D ]~  }t        d	d
«      D ]m  }dg|z  dgz   }|d d  }t        |«      D ]  }t        j                  |d¬«      }Œ t        j                  ||¬«      }t        t        |«      t        |«      «       Œo Œ€ t        d
«      D ]“  }t        d	d
«      D ]‚  }dg|z  dgz   }|d d  }t        |«      D ]  }t        j                  |d|g¬«      }Œ t        j                  ||t        t        |«      «      ¬«      }t        t        |«      t        |«      «       Œ„ Œ• t        d
«      D ]•  }t        d	d
«      D ]„  }dg|z  dgz   }|d d  }t        |«      D ]  }t        j                  |d|gd¬«      }Œ t        j                  ||t        t        |«      «      d¬«      }t        t        |«      t        |«      «       Œ† Œ— t        d
«      D ]•  }t        d	d
«      D ]„  }dg|z  dgz   }|d d  }t        |«      D ]  }t        j                  |d|gd	¬«      }Œ t        j                  ||t        t        |«      «      d	¬«      }t        t        |«      t        |«      «       Œ† Œ— y )Nr   ç      à?r   r   )Úlbnd)Úscl©ÚaxisrŒ   r   r   )ÚmÚk)rß   rà   rÛ   )rß   rà   rÜ   ©rß   )
r
   Ú	TypeErrorr   Úpolyintrª   rO   r   r   r™   Úlist)r*   rU   rà   rY   rÜ   ÚpolrX   rV   s           r   Útest_polyintzTestIntegral.test_polyinta  s  € ä”i¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8Ü”j¤$§,¡,°°°Q¸¸A¸Ô?Ü”j¤$§,¡,°°¸1¸#Õ>Ü”j¤$§,¡,°°¸!¸Õ=Ü”i¤§¡°¨s¸Õ<Ü”i¤§¡°°1¨v°rÔ:ô �q˜!“ò 	-ˆAØ��q˜1‘u‘  Ñ#ˆAÜ—,‘, ˜s a¨1Ô-ˆCÜ  a¨ VÕ,ð	-ô �q“ò 	6ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ—,‘,˜s a¨A¨3Ô/ˆCÜ¤ S£	¬4°«9Õ5ð	6ô �q“ò 	:ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCÜ—,‘,˜s a¨A¨3°RÔ8ˆCÜ¤§¡¨R°Ó 5°qÕ9ð		:ô �q“ò 	6ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ—,‘,˜s a¨A¨3°AÔ6ˆCÜ¤ S£	¬4°«9Õ5ð	6ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜q›ò 1�AÜŸ,™, s¨aÔ0‘Cð1ä—l‘l 3¨!Ô,�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜q›ò 8�AÜŸ,™, s¨a°A°3Ô7‘Cð8ä—l‘l 3¨!¬t´E¸!³H«~Ô>�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜q›ò A�AÜŸ,™, s¨a°A°3¸RÔ@‘CðAä—l‘l 3¨!¬t´E¸!³H«~ÀBÔG�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜q›ò ?�AÜŸ,™, s¨a°A°3¸AÔ>‘Cð?ä—l‘l 3¨!¬t´E¸!³H«~À1ÔE�Ü#¤D¨£I¬t°C«yÕ9ñ:ñ	:r   c           	      ó¤  — t         j                  j                  d«      }t        j                  |j                  D �cg c]  }t	        j
                  |«      ‘Œ c}«      j                  }t	        j
                  |d¬«      }t        ||«       t        j                  |D �cg c]  }t	        j
                  |«      ‘Œ c}«      }t	        j
                  |d¬«      }t        ||«       t        j                  |D �cg c]  }t	        j
                  |d¬«      ‘Œ c}«      }t	        j
                  |dd¬«      }t        ||«       y c c}w c c}w c c}w )N©r9   r   r   rÝ   r   r9   )rà   )rà   rÞ   )rP   r®   r±   ÚTr   rã   r   ©r*   r½   rr   rX   rY   s        r   Útest_polyint_axiszTestIntegral.test_polyint_axis°  så   € ä�i‰i×Ñ˜vÓ&ˆä�i‰i°#·%±%Ö8¨QœŸ™ a�Ò8Ó9×;Ñ;ˆÜ�l‰l˜3 QÔ'ˆÜ˜C Ô%ä�i‰i°#Ö6¨QœŸ™ a�Ò6Ó7ˆÜ�l‰l˜3 QÔ'ˆÜ˜C Ô%ä�i‰i°sÖ;°!œŸ™ a¨1Ö-Ò;Ó<ˆÜ�l‰l˜3 !¨!Ô,ˆÜ˜C Õ%ùò 9ùò 7ùò <s   ½EÂ EÃ9EN)rC   rD   rE   ræ   rë   rF   r   r   rØ   rØ   _  s   „ òM:ó^&r   rØ   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestDerivativec           	      óþ  — t        t        t        j                  dgd«       t        t        t        j                  dgd«       t        d«      D ]A  }dg|z  dgz   }t        j                  |d¬«      }t        t        |«      t        |«      «       ŒC t        d«      D ]g  }t        dd«      D ]V  }dg|z  dgz   }t        j                  t        j                  ||¬«      |¬«      }t        t        |«      t        |«      «       ŒX Œi t        d«      D ]i  }t        dd«      D ]X  }dg|z  dgz   }t        j                  t        j                  ||d¬«      |d¬«      }t        t        |«      t        |«      «       ŒZ Œk y )	Nr   rÚ   r   r   r   rá   r   )rß   rÜ   )
r
   râ   r   Úpolyderrª   rO   r	   r   rã   r   )r*   rU   rX   rY   rV   s        r   Útest_polyderzTestDerivative.test_polyderÃ  sF  € ä”i¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8ô �q“ò 	/ˆAØ�#˜‘'˜Q˜C‘-ˆCÜ—,‘,˜s aÔ(ˆCÜœ˜c›¤D¨£IÕ.ð	/ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ü—l‘l¤4§<¡<°°qÔ#9¸QÔ?�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜A‘g  ‘m�Ü—l‘l¤4§<¡<°°q¸aÔ#@ÀAÈ2ÔN�Ü#¤D¨£I¬t°C«yÕ9ñ:ñ	:r   c                 óâ  — t         j                  j                  d«      }t        j                  |j                  D �cg c]  }t	        j
                  |«      ‘Œ c}«      j                  }t	        j
                  |d¬«      }t        ||«       t        j                  |D �cg c]  }t	        j
                  |«      ‘Œ c}«      }t	        j
                  |d¬«      }t        ||«       y c c}w c c}w )Nrè   r   rÝ   r   )rP   r®   r±   ré   r   rï   r   rê   s        r   Útest_polyder_axisz TestDerivative.test_polyder_axisÜ  s    € ä�i‰i×Ñ˜vÓ&ˆä�i‰i°#·%±%Ö8¨QœŸ™ a�Ò8Ó9×;Ñ;ˆÜ�l‰l˜3 QÔ'ˆÜ˜C Ô%ä�i‰i°#Ö6¨QœŸ™ a�Ò6Ó7ˆÜ�l‰l˜3 QÔ'ˆÜ˜C Õ%ùò 9ùò 7s   ½C'Â C,N)rC   rD   rE   rð   rò   rF   r   r   rí   rí   Á  s   „ ò:ó2
&r   rí   c                   óf   — e Zd Zej                  j	                  d«      dz  dz
  Zd„ Zd„ Zd„ Zd„ Z	y)	Ú
TestVanderr�   r   r   c                 ó  — t        j                  d«      }t        j                  |d«      }t	        |j
                  dk(  «       t        d«      D ]1  }dg|z  dgz   }t        |d|f   t        j                  ||«      «       Œ3 t        j                  ddgddgdd	gg«      }t        j                  |d«      }t	        |j
                  d
k(  «       t        d«      D ]1  }dg|z  dgz   }t        |d|f   t        j                  ||«      «       Œ3 y )Nr9   rè   r   r   r   .r   r   é   )r9   r   r   )
rP   ro   r   Ú
polyvanderr   rœ   rO   r   r™   rp   )r*   r   ÚvrU   r~   s        r   Útest_polyvanderzTestVander.test_polyvanderí  sú   € ä�I‰I�a‹LˆÜ�O‰O˜A˜qÓ!ˆÜ�—‘˜6Ñ!Ô"Ü�q“ò 	BˆAØ�3˜‘7˜a˜S‘=ˆDÜ  # q &¡	¬4¯<©<¸¸4Ó+@ÕAð	Bô
 �H‰H�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�O‰O˜A˜qÓ!ˆÜ�—‘˜9Ñ$Ô%Ü�q“ò 	BˆAØ�3˜‘7˜a˜S‘=ˆDÜ  # q &¡	¬4¯<©<¸¸4Ó+@ÕAñ	Br   c                 ó€  — | j                   \  }}}t        j                  j                  d«      }t        j                  ||ddg«      }t        j
                  |||«      }t        j                  ||j                  «      }t        ||«       t        j                  |g|gddg«      }t        |j                  dk(  «       y )Nr»   r   r   )r   r   rö   )r   rP   r®   r   Úpolyvander2dr¼   ÚdotÚflatr   r   rœ   ©r*   r¿   rÀ   rÁ   rr   ÚvanrX   rY   s           r   Útest_polyvander2dzTestVander.test_polyvander2dþ  sœ   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜VÓ$ˆÜ×Ñ  B¨¨A¨Ó/ˆÜ�n‰n˜R  QÓ'ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô ×Ñ   r d¨Q°¨FÓ3ˆÜ�—	‘	˜YÑ&Õ'r   c                 óˆ  — | j                   \  }}}t        j                  j                  d«      }t        j                  |||g d¢«      }t        j
                  ||||«      }t        j                  ||j                  «      }t        ||«       t        j                  |g|g|gg d¢«      }t        |j                  dk(  «       y )Nr˜   r8   )r   r   é   )r   rP   r®   r   Úpolyvander3drÈ   rü   rý   r   r   rœ   rþ   s           r   Útest_polyvander3dzTestVander.test_polyvander3d  sœ   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜YÓ'ˆÜ×Ñ  B¨ªIÓ6ˆÜ�n‰n˜R  R¨Ó+ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô ×Ñ   r d¨R¨D²)Ó<ˆÜ�—	‘	˜ZÑ'Õ(r   c                 ón   — t        j                  d«      }t        t        t        j
                  |d«       y )Nr9   r   )rP   ro   r
   rª   r   r÷   )r*   r   s     r   Útest_polyvandernegdegz TestVander.test_polyvandernegdeg  s!   € Ü�I‰I�a‹LˆÜ”j¤$§/¡/°1°bÕ9r   N)
rC   rD   rE   rP   r®   r   rù   r   r  r  rF   r   r   rô   rô   é  s5   „ à
�	‰	×Ñ˜Ó  1Ñ$ qÑ(€AòBò"(ò)ó:r   rô   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestCompanionc                 ó‚   — t        t        t        j                  g «       t        t        t        j                  dg«       y r0   )r
   rª   r   Úpolycompanionr)   s    r   Útest_raiseszTestCompanion.test_raises  s(   € Ü”j¤$×"4Ñ"4°bÔ9Ü”j¤$×"4Ñ"4°q°cÕ:r   c                 ó”   — t        dd«      D ]9  }dg|z  dgz   }t        t        j                  |«      j                  ||fk(  «       Œ; y )Nr   r   r   )rO   r   r   r
  rœ   )r*   rU   r~   s      r   Útest_dimensionszTestCompanion.test_dimensions#  sJ   € Ü�q˜!“ò 	>ˆAØ�3˜‘7˜a˜S‘=ˆDÜ”D×&Ñ& tÓ,×2Ñ2°q¸!°fÑ<Õ=ñ	>r   c                 óP   — t        t        j                  ddg«      d   dk(  «       y )Nr   r   )r   r   ç      à¿)r   r   r
  r)   s    r   Útest_linear_rootzTestCompanion.test_linear_root(  s#   € Ü”×"Ñ" A q 6Ó*¨4Ñ0°CÑ7Õ8r   N)rC   rD   rE   r  r  r  rF   r   r   r  r    s   „ ò;ò>ó
9r   r  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚTestMiscc           	      ó�  — t        j                  g «      }t        t        |«      dg«       t	        dd«      D ]Œ  }t        j                  t        j                  t
        j                   dd|z  dz   «      dd d…   «      }t        |   }t        j                  |«      d|dz
  z  z  }t        t        |«      t        |«      «       ŒŽ y )Nr   r   r   r   )
r   Úpolyfromrootsr   r   rO   rP   Úcosr›   ÚpiÚTlist)r*   rY   rU   ÚrootsrX   s        r   Útest_polyfromrootszTestMisc.test_polyfromroots.  s£   € Ü× Ñ  Ó$ˆÜœD ›I¨ sÔ+Ü�q˜!“ò 	6ˆAÜ—F‘Fœ2Ÿ;™;¬¯© v¨q°!°a±%¸!±)Ó<¸Q¸TÀ¸TÑBÓCˆEÜ˜‘(ˆCÜ×$Ñ$ UÓ+¨a°!°a±%©jÑ8ˆCÜ¤ S£	¬4°«9Õ5ñ		6r   c                 óŒ  — t        t        j                  dg«      g «       t        t        j                  ddg«      dg«       t        dd«      D ]_  }t	        j
                  dd|«      }t        j                  t        j                  |«      «      }t        t        |«      t        |«      «       Œa t	        j                  dddd¬	«      D ]n  }t	        j                  dd|g«      }t        j                  t        j                  |«      «      }t        ||d
t        t	        j                  |«      «      z
  «       Œp t	        j                  dddd¬	«      D ]n  }t	        j                  dd|g«      }t        j                  t        j                  |«      «      }t        ||dt        t	        j                  |«      «      z
  «       Œp y )Nr   r   r  r   r   r}   é   iè  )ÚnumÚbaser§   g)\�Âõ(ð?é   )r   r   r­   rO   rP   r›   r  r   Úlogspacerp   ÚintÚlog10)r*   rU   rX   rY   s       r   Útest_polyrootszTestMisc.test_polyroots7  s`  € ÜœDŸN™N¨A¨3Ó/°Ô4ÜœDŸN™N¨A¨q¨6Ó2°S°EÔ:Ü�q˜!“ò 	6ˆAÜ—+‘+˜b ! QÓ'ˆCÜ—.‘.¤×!3Ñ!3°CÓ!8Ó9ˆCÜ¤ S£	¬4°«9Õ5ð	6ô —‘˜R ¨°BÔ7ò 	AˆAÜ—(‘(˜B  1˜:Ó&ˆCÜ—.‘.¤×!3Ñ!3°CÓ!8Ó9ˆCô    S¨"¬s´2·8±8¸A³;Ó/?Ñ*?Õ@ð	Aô —‘˜R ¨°BÔ7ò 	AˆAÜ—(‘(˜B  a˜=Ó)ˆCÜ—.‘.¤×!3Ñ!3°CÓ!8Ó9ˆCô    S¨"¬s´2·8±8¸A³;Ó/?Ñ*?Õ@ñ	Ar   c           	      óº  — d„ }d„ }t        t        t        j                  dgdgd«       t        t        t        j                  dggdgd«       t        t        t        j                  g dgd«       t        t        t        j                  dgdgggd«       t        t        t        j                  ddgdgd«       t        t        t        j                  dgddgd«       t        t        t        j                  dgdgddgg¬«       t        t        t        j                  dgdgdddg¬«       t        t        t        j                  dgdgdg«       t        t        t        j                  dgdgg d¢«       t        t        t        j                  dgdgg «       t        j                  dd«      } ||«      }t        j                  ||d	«      }t        t        |«      d
«       t        t        j                  ||«      |«       t        j                  ||g d¢«      }t        t        |«      d
«       t        t        j                  ||«      |«       t        j                  ||d
«      }t        t        |«      d«       t        t        j                  ||«      |«       t        j                  ||g d¢«      }t        t        |«      d«       t        t        j                  ||«      |«       t        j                  |t        j                  ||g«      j                  d	«      }t        |t        j                  ||g«      j                  «       t        j                  |t        j                  ||g«      j                  g d¢«      }t        |t        j                  ||g«      j                  «       t        j                  |«      }|j                  «       }	d|dd d…<   d|	dd d…<   t        j                  ||	d	|¬«      }
t        |
|«       t        j                  ||	g d¢|¬«      }
t        |
|«       t        j                  |t        j                  |	|	g«      j                  d	|¬«      }t        |t        j                  ||g«      j                  «       t        j                  |t        j                  |	|	g«      j                  g d¢|¬«      }t        |t        j                  ||g«      j                  «       g d¢}t        t        j                  ||d«      ddg«       t        t        j                  ||ddg«      ddg«       t        j                  dd«      } ||«      }t        j                  ||d
«      }t        t        j                  ||«      |«       t        j                  ||g d¢«      }t        t        j                  ||«      |«       t        ||«       y )Nc                 ó   — | | dz
  z  | dz
  z  S )Nr   r   rF   r   s    r   r„   z TestMisc.test_polyfit.<locals>.fN  s   € Ø˜˜A™‘; ! a¡%Ñ(Ð(r   c                 ó   — | dz  | dz  z   dz   S )Nr   r   r   rF   r   s    r   Úf2z!TestMisc.test_polyfit.<locals>.f2Q  s   € Ø�a‘4˜!˜Q™$‘; ‘?Ð"r   r   r   r   r   )Úw)r   r   rö   r9   r   )r   r   r   r9   r   )r   r   r   r9   r   )r   y              ð?r   y       €      ð¿)r   r   r   )r
   rª   r   Úpolyfitrâ   rP   r›   r	   Úlenr   r™   rp   ré   Ú
zeros_likeÚcopy)r*   r„   r&  r   r<   Úcoef3Úcoef4Úcoef2dr'  ÚywÚwcoef3Úwcoef2dÚcoef1Úcoef2s                 r   Útest_polyfitzTestMisc.test_polyfitM  sL  € ò	)ò	#ô 	”j¤$§,¡,°°°a°S¸"Ô=Ü”i¤§¡°°¨u°q°c¸1Ô=Ü”i¤§¡¨r°A°3¸Ô:Ü”i¤§¡°¨s°q°c°U°G¸QÔ?Ü”i¤§¡°°1¨v¸°s¸AÔ>Ü”i¤§¡°¨s°Q¸°F¸AÔ>Ü”i¤§¡°¨s°Q°C¸À¸s¸eÕDÜ”i¤§¡°¨s°Q°C¸¸qÀ!¸fÕEÜ”j¤$§,¡,°°°a°S¸2¸%Ô@Ü”j¤$§,¡,°°°a°Sº*ÔEÜ”i¤§¡°¨s°Q°C¸Ô<ô �K‰K˜˜1ÓˆÙˆa‹Dˆä—‘˜Q  1Ó%ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6Ü—‘˜Q ¢<Ó0ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6ä—‘˜Q  1Ó%ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6Ü—‘˜Q ¢?Ó3ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6ä—‘˜a¤§¡¨1¨a¨&Ó!1×!3Ñ!3°QÓ7ˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?Ü—‘˜a¤§¡¨1¨a¨&Ó!1×!3Ñ!3²\ÓBˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?ä�M‰M˜!ÓˆØ�V‰V‹XˆØˆˆ!ˆ$ˆQˆ$‰Øˆˆ1ˆ4ˆaˆ4‰Ü—‘˜a  Q¨!Ô,ˆÜ˜F EÔ*Ü—‘˜a ¢\°QÔ7ˆÜ˜F EÔ*ä—,‘,˜q¤"§(¡(¨B°¨8Ó"4×"6Ñ"6¸¸QÔ?ˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@Ü—,‘,˜q¤"§(¡(¨B°¨8Ó"4×"6Ñ"6ºÈÔJˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@ò ˆÜœDŸL™L¨¨A¨qÓ1°A°q°6Ô:ÜœDŸL™L¨¨A°°1¨vÓ6¸¸A¸Ô?ä�K‰K˜˜AÓˆÙˆq‹EˆÜ—‘˜Q  1Ó%ˆÜœDŸL™L¨¨EÓ2°AÔ6Ü—‘˜Q ¢9Ó-ˆÜœDŸL™L¨¨EÓ2°AÔ6Ü˜E 5Õ)r   c                 ó  — g d¢}t        t        t        j                  |d«       t	        t        j                  |«      |d d «       t	        t        j                  |d«      |d d «       t	        t        j                  |d«      dg«       y )N)r   r   r   r   r   r   r   r   r   )r
   rª   r   r   r	   )r*   r~   s     r   Útest_polytrimzTestMisc.test_polytrim“  sh   € Úˆô 	”j¤$§-¡-°°rÔ:ô 	”T—]‘] 4Ó(¨$¨s°¨)Ô4Ü”T—]‘] 4¨Ó+¨T°#°2¨YÔ7Ü”T—]‘] 4¨Ó+¨a¨SÕ1r   c                 óH   — t        t        j                  dd«      ddg«       y )Nr9   r   ©r	   r   Úpolyliner)   s    r   Útest_polylinezTestMisc.test_polylinež  s   € Ü”T—]‘] 1 aÓ(¨1¨a¨&Õ1r   c                 óF   — t        t        j                  dd«      dg«       y )Nr9   r   r8  r)   s    r   Útest_polyline_zerozTestMisc.test_polyline_zero¡  s   € Ü”T—]‘] 1 aÓ(¨1¨#Õ.r   c                 óÄ  — t         j                  j                  dgdgd¬«      }t        |j                  dg«       t         j                  j                  ddgddgd¬«      }t        |j                  dg«       t        j                  t        j                  j                  «      5  t         j                  j                  ddgddgd¬«      }d d d «       y # 1 sw Y   y xY w)Nr   r   r   )Údegr�   gÍÌÌÌÌÌ @gffffff @)r   r:   Úfitr	   r~   r   ÚpytestÚwarnsrP   Ú
exceptionsÚRankWarning)r*   r‡   s     r   Útest_fit_degenerate_domainz#TestMisc.test_fit_degenerate_domain¤  s²   € Ü�O‰O×Ñ   a S¨aÐÓ0ˆÜ�Q—V‘V˜b˜TÔ"Ü�O‰O×Ñ  A ¨¨C¨°aÐÓ8ˆÜ˜AŸF™F T FÔ+Ü�\‰\œ"Ÿ-™-×3Ñ3Ó4ñ 	=Ü—‘×#Ñ# Q¨ F¨Q°¨H¸!Ð#Ó<ˆA÷	=÷ 	=ñ 	=ús   Â&'CÃCc                 óŽ  — t        j                  ddgt         j                  ¬«      }t         j                  j	                  |||¬«      } |d«      }t        |j                  t         j                  «       t        j                  dt        j                  d«      «      }t        |d   j                  t         j                  «       y )Nr   r   r{   rw   r   r   )	rP   rp   Úfloat32Ú
polynomialr:   r	   r|   rh   Úfloat64)r*   r'  r‡   rø   Úarrs        r   Útest_result_typezTestMisc.test_result_type¬  s~   € Ü�H‰H�b˜!�W¤B§J¡JÔ/ˆÜ�M‰M×$Ñ$ Q¨q¸Ð$Ó;ˆÙˆa‹DˆÜ�Q—W‘WœbŸj™jÔ)ä�j‰j˜œBŸJ™J q›MÓ*ˆÜ�S˜‘V—\‘\¤2§:¡:Õ.r   N)rC   rD   rE   r  r"  r4  r6  r:  r<  rD  rJ  rF   r   r   r  r  ,  s-   „ ò6òAò,D*òL	2ò2ò/ò=ó/r   r  c                   ó   — e Zd Zd„ Zd„ Zy)ÚArrayFunctionInterceptorc                 ó   — d| _         y )NF©Úcalledr)   s    r   Ú__init__z!ArrayFunctionInterceptor.__init__¶  s	   € Øˆ�r   c                 ó   — d| _         y)NTÚinterceptedrN  )r*   ÚfuncÚtypesÚargsÚkwargss        r   Ú__array_function__z+ArrayFunctionInterceptor.__array_function__¹  s   € ØˆŒØr   N)rC   rD   rE   rP  rW  rF   r   r   rL  rL  µ  s   „ òór   rL  c                  ó¤   — t        «       } t        «       }t        «       }t        j                  j                  j                  | ||«      }|dk(  sJ ‚y ©NrR  )rL  rP   rG  r¼   ©r   r<   rr   Úresults       r   Ú"test_polyval2d_array_function_hookr\  ½  sF   € Ü Ó"€AÜ Ó"€AÜ Ó"€AÜ�]‰]×%Ñ%×/Ñ/°°1°aÓ8€FØ�]Ò"Ð"Ñ"r   c                  ó¤   — t        «       } t        «       }t        «       }t        j                  j                  j                  | ||«      }|dk(  sJ ‚y rY  )rL  rP   rG  rÒ   rZ  s       r   Ú#test_polygrid2d_array_function_hookr^  Ä  sF   € Ü Ó"€AÜ Ó"€AÜ Ó"€AÜ�]‰]×%Ñ%×0Ñ0°°A°qÓ9€FØ�]Ò"Ð"Ñ"r   )-Ú__doc__r?   r+  r   Ú	fractionsr   Ú	functoolsr   r@  ÚnumpyrP   Únumpy.polynomial.polynomialrG  r   Únumpy.testingr   r   r   r	   r
   r   r   ÚT0ÚT1ÚT2ÚT3ÚT4ÚT5ÚT6ÚT7ÚT8ÚT9r  r&   rH   ru   r‹   rØ   rí   rô   r  r  rL  r\  r^  rF   r   r   ú<module>ro     s  ðñó Ý Ý Ý ã ã ß *Ð *÷÷ ò&ð €S€Øˆ€V€Ú€Ú€Ú€Ú€Ú€Ú#€Ú)€Ú-€à	ˆR��R˜˜R  R¨¨RÐ0€÷ñ ÷0C@ñ C@÷J)ñ )÷(B)ñ B)÷J_&ñ _&÷D%&ñ %&÷P1:ñ 1:÷h9ñ 9÷G/ñ G/÷Rñ ò#ó#r   