Ë
    Bü´jõI  ã                   óÖ  — d Z ddlZddlmZ ddlZddlZddlm	Z	 ddl
mZmZmZmZmZmZ ddlmZmZmZmZ eeeeeefZ ed„ eD «       «      Z ej2                  ee¬«      d	„ «       Zej6                  j6                  Zd+d
„ZeZeZd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d „ Z4d!„ Z5d"„ Z6d#„ Z7d$„ Z8d%„ Z9d&„ Z:d'„ Z;d(„ Z< G d)„ d*«      Z=y),z€Test inter-conversion of different polynomial classes.

This tests the convert and cast methods of all the polynomial classes.

é    N)ÚNumber)ÚRankWarning)Ú	ChebyshevÚHermiteÚHermiteEÚLaguerreÚLegendreÚ
Polynomial)Úassert_Úassert_almost_equalÚassert_equalÚassert_raisesc              #   ó4   K  — | ]  }|j                   –— Œ y ­w©N)Ú__name__)Ú.0Úclss     úa/root/workspace/ytshorts/venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_classes.pyú	<genexpr>r      s   è ø€ Ò1 #�—•Ñ1ùs   ‚)ÚparamsÚidsc                 ó   — | j                   S r   )Úparam)Úrequests    r   ÚPolyr   !   s   € à�=‰=Ðó    c                 óZ  — 	 t        t        j                  | j                  |j                  k(  «      «       t        t        j                  | j                  |j                  k(  «      «       t        | j                  |j                  «       y # t        $ r d| › d|› �}t        |«      ‚w xY w)NzResult: z	
Target: )r   ÚnpÚallÚdomainÚwindowr   ÚcoefÚAssertionError)Úp1Úp2Úmsgs      r   Úassert_poly_almost_equalr'   ,   s�   € ð"Ü”—‘�r—y‘y B§I¡IÑ-Ó.Ô/Ü”—‘�r—y‘y B§I¡IÑ-Ó.Ô/Ü˜BŸG™G R§W¡WÕ-øÜò "Ø˜˜˜J r dÐ+ˆÜ˜SÓ!Ð!ð"ús   ‚B
B ÂB*c                 óæ  — t        j                  ddd«      }t        d«      }| j                  t        d«      dz  z   }| j                  t        d«      dz  z   } | |||¬«      }|j                  t        d«      dz  z   }|j                  t        d«      dz  z   }|j                  |||¬«      }	t        |	j                  |«       t        |	j                  |«       t         |	|«       ||«      «       y )	Nr   é   é
   ©é   ©é   ç      Ð?©r    r!   )Úkindr    r!   )r   ÚlinspaceÚrandomr    r!   Úconvertr   ©
ÚPoly1ÚPoly2Úxr"   Úd1Úw1r$   Úd2Úw2r%   s
             r   Útest_conversionr=   >   sÉ   € Ü
�‰�A�q˜"Ó€AÜ�$‹<€Dà	�‰œ˜t› sÑ*Ñ	*€BØ	�‰œ˜t› sÑ*Ñ	*€BÙ	ˆt˜B rÔ	*€Bà	�‰œ˜t› sÑ*Ñ	*€BØ	�‰œ˜t› sÑ*Ñ	*€BØ	�‰˜ r°"ˆÓ	5€Bä˜Ÿ	™	 2Ô&Ü˜Ÿ	™	 2Ô&Ü™˜1›™r !›uÕ%r   c                 óæ  — t        j                  ddd«      }t        d«      }| j                  t        d«      dz  z   }| j                  t        d«      dz  z   } | |||¬«      }|j                  t        d«      dz  z   }|j                  t        d«      dz  z   }|j                  |||¬«      }	t        |	j                  |«       t        |	j                  |«       t         |	|«       ||«      «       y )Nr   r)   r*   r+   r-   r/   r0   )r   r2   r3   r    r!   Úcastr   r5   s
             r   Ú	test_castr@   O   sÉ   € Ü
�‰�A�q˜"Ó€AÜ�$‹<€Dà	�‰œ˜t› sÑ*Ñ	*€BØ	�‰œ˜t› sÑ*Ñ	*€BÙ	ˆt˜B rÔ	*€Bà	�‰œ˜t› sÑ*Ñ	*€BØ	�‰œ˜t› sÑ*Ñ	*€BØ	�‰�B˜r¨"ˆÓ	-€Bä˜Ÿ	™	 2Ô&Ü˜Ÿ	™	 2Ô&Ü™˜1›™r !›uÕ%r   c                 óL  — | j                   t        d«      dz  z   }| j                  t        d«      dz  z   }t        j                  |d   |d   d«      }| j                  ||¬«      }t        |j                   |«       t        |j                  |«       t         ||«      |«       y )Nr-   r/   r   r)   é   r0   )r    r3   r!   r   r2   Úidentityr   r   )r   ÚdÚwr8   Úps        r   Útest_identityrG   e   s†   € Ø�‰”f˜T“l SÑ(Ñ(€AØ�‰”f˜T“l SÑ(Ñ(€AÜ
�‰�A�a‘D˜!˜A™$ Ó#€AØ�‰˜Q qˆÓ)€AÜ�—‘˜1ÔÜ�—‘˜1ÔÜ™˜!›˜aÕ r   c                 ó,  — | j                   t        d«      dz  z   }| j                  t        d«      dz  z   }| j                  d||¬«      }t	        |j                   |«       t	        |j                  |«       t	        |j
                  dgdz  dgz   «       y )Nr-   r/   é   r0   r   r)   )r    r3   r!   Úbasisr   r"   ©r   rD   rE   rF   s       r   Ú
test_basisrL   o   sz   € Ø�‰”f˜T“l SÑ(Ñ(€AØ�‰”f˜T“l SÑ(Ñ(€AØ�
‰
�1˜Q qˆ
Ó)€AÜ�—‘˜1ÔÜ�—‘˜1ÔÜ�—‘˜!˜˜q™ A 3™Õ'r   c                 ó  — | j                   t        d«      dz  z   }| j                  t        d«      dz  z   }t        d«      }| j                  |||¬«      }t	        |j                  «       t        |«      «       t	        |j                   |«       t	        |j                  |«       t         ||«      d«       t        j                   }t        j                  }t        j                  |||¬«      }t        |j                  d   d«       y )Nr-   r/   )rI   r0   r   éÿÿÿÿr)   )r    r3   r!   Ú	fromrootsr   ÚdegreeÚlenr   r
   r?   r"   )r   rD   rE   Úrr$   ÚpdomÚpwinr%   s           r   Útest_fromrootsrU   x   sÉ   € ð 	�‰”f˜T“l SÑ(Ñ(€AØ�‰”f˜T“l SÑ(Ñ(€AÜˆt‹€AØ	�‰˜ !¨AˆÓ	.€BÜ�—‘“œc !›fÔ%Ü�—‘˜AÔÜ�—‘˜AÔÜ™˜1›˜qÔ!ô ×Ñ€DÜ×Ñ€DÜ	�‰˜ D°Ô	6€BÜ˜Ÿ™ ™ QÕ'r   c                 óØ   — g d¢}g d¢}t        j                  t        «      5 }| j                  ||d«       d d d «       d   j                  j
                  d   dk(  sJ ‚y # 1 sw Y   Œ+xY w)N)ç        rW   ç      ð?)rX   g       @g      @r.   r   z!The fit may be poorly conditioned)ÚpytestÚwarnsr   ÚfitÚmessageÚargs)r   r8   ÚyÚrecords       r   Útest_bad_conditioned_fitr`   ‹   se   € â€AÚ€Aô 
�‰”kÓ	"ð  fØ�‰��A�qÔ÷à�!‰9×Ñ×!Ñ! !Ñ$Ð(KÒKÐKÑK÷ð ús   ¢A Á A)c                 ón  — d„ }t        j                  dd«      } ||«      }| j                  ||d«      }t        |j                  ddg«       t         ||«      |«       t        |j                  «       d«       | j                  t        d«      dz  z   }| j                  t        d«      dz  z   }| j                  ||d||¬«      }t         ||«      |«       t        |j                  |«       t        |j                  |«       | j                  ||g d¢||¬«      }t         ||«      |«       t        |j                  |«       t        |j                  |«       | j                  ||dg «      }t        |j                  | j                  «       t        |j                  | j                  «       | j                  ||g d¢g «      }t        |j                  | j                  «       t        |j                  | j                  «       t        j                  |«      }|t        |j                  «      dz  z   }d|d d d	…<   | j                  |d d d	…   |d d d	…   d«      }| j                  ||d|¬
«      }	| j                  ||g d¢|¬
«      }
t         ||«       |	|«      «       t         |	|«       |
|«      «       y )Nc                 ó   — | | dz
  z  | dz
  z  S ©Nr)   r.   © )r8   s    r   Úfztest_fit.<locals>.f˜   ó   € Ø�A˜‘E‰{˜a !™eÑ$Ð$r   r   r,   r-   r/   r0   )r   r)   r.   r,   r)   r.   )rE   )r   r2   r[   r   r    r   rP   r3   r!   Ú
zeros_likeÚshape)r   re   r8   r^   rF   rD   rE   Úzr$   r%   Úp3s              r   Útest_fitrk   –   s0  € ò%ä
�‰�A�qÓ€AÙ	ˆ!‹€Að 	�‰��A�qÓ€AÜ˜Ÿ™ 1 a &Ô)Ü™˜!›˜aÔ Ü�—‘“˜QÔð 	�‰”f˜T“l SÑ(Ñ(€AØ�‰”f˜T“l SÑ(Ñ(€AØ�‰��A�q ¨1ˆÓ-€AÜ™˜!›˜aÔ Ü˜Ÿ™ !Ô$Ü˜Ÿ™ !Ô$Ø�‰��A’|¨A°aˆÓ8€AÜ™˜!›˜aÔ Ü˜Ÿ™ !Ô$Ü˜Ÿ™ !Ô$ð 	�‰��A�q˜"Ó€AÜ�—‘˜4Ÿ;™;Ô'Ü�—‘˜4Ÿ;™;Ô'Ø�‰��A’| RÓ(€AÜ�—‘˜4Ÿ;™;Ô'Ü�—‘˜4Ÿ;™;Ô'ô 	�‰�aÓ€AØ	ŒF�1—7‘7‹O˜cÑ!Ñ!€AØ€A�cˆ€c�FØ	�‰�!‘C�a�C‘&˜!™C˜a˜C™& !Ó	$€BØ	�‰�!�Q˜˜QˆÓ	€BØ	�‰�!�Qš¨ˆÓ	*€BÜ™˜1›™r !›uÔ%Ü™˜1›™r !›uÕ%r   c                 ó  —  | g d¢ddgddg¬«      } | g d¢ddgddg¬«      } | g d¢ddgddg¬«      } | g d¢ddgddg¬«      }t        ||k(  «       t        ||k(   «       t        ||k(   «       t        ||k(   «       y ©N©r)   r.   r,   r   r)   r.   r,   r0   )r)   r)   r)   ©r   ©r   r$   r%   rj   Úp4s        r   Ú
test_equalrr   Â   s�   € Ù	Ši  A °°1¨vÔ	6€BÙ	Ši  A °°1¨vÔ	6€BÙ	Ši  A °°1¨vÔ	6€BÙ	Ši  A °°1¨vÔ	6€BÜˆB�"‰HÔÜ��b‘ˆLÔÜ��b‘ˆLÔÜ��b‘ˆLÕr   c                 óþ   —  | g d¢ddgddg¬«      } | g d¢ddgddg¬«      } | g d¢ddgddg¬«      } | g d¢ddgddg¬«      }t        ||k7   «       t        ||k7  «       t        ||k7  «       t        ||k7  «       y rm   ro   rp   s        r   Útest_not_equalrt   Í   sŒ   € Ù	Ši  A °°1¨vÔ	6€BÙ	Ši  A °°1¨vÔ	6€BÙ	Ši  A °°1¨vÔ	6€BÙ	Ši  A °°1¨vÔ	6€BÜ��b‘ˆLÔÜˆB�"‰HÔÜˆB�"‰HÔÜˆB�"‰HÕr   c           
      ó^  — t        t        d«      dz   «      }t        t        d«      dz   «      } | |«      } | |«      }||z   }t        ||z   |«       t        ||z   |«       t        ||z   |«       t        |t        |«      z   |«       t        t        |«      |z   |«       t        |t	        j
                  |«      z   |«       t        t	        j
                  |«      |z   |«       t        t        t        j                  | | dg| j                  dz   ¬«      «       t        t        t        j                  | | dg| j                  dz   ¬«      «       | t        u r+t        t        t        j                  |t        dg«      «       y t        t        t        j                  |t        dg«      «       y ©N©é   ç      à?r+   r   r)   ©r    ©r!   )Úlistr3   r'   Útupler   Úarrayr   Ú	TypeErrorÚopÚaddr    r!   r
   r   ©r   Úc1Úc2r$   r%   rj   s         r   Útest_addr…   Ø   s=  € ä	Œf�T‹l˜RÑÓ	 €BÜ	Œf�T‹l˜RÑÓ	 €BÙ	ˆb‹€BÙ	ˆb‹€BØ	ˆb‰€BÜ˜R "™W bÔ)Ü˜R "™W bÔ)Ü˜R "™W bÔ)Ü˜R¤%¨£)™^¨RÔ0ÜœU 2›Y¨™^¨RÔ0Ü˜R¤"§(¡(¨2£,Ñ.°Ô3ÜœRŸX™X b›\¨BÑ.°Ô3Ü”)œRŸV™V R©¨q¨c¸$¿+¹+È¹/Ô)JÔKÜ”)œRŸV™V R©¨q¨c¸$¿+¹+È¹/Ô)JÔKØŒzÑÜ”i¤§¡¨¬Y¸°s«^Õ<ä”i¤§¡¨¬Z¸¸«_Õ=r   c           
      óf  — t        t        d«      dz   «      }t        t        d«      dz   «      } | |«      } | |«      }||z
  }t        ||z
  | «       t        ||z
  |«       t        ||z
  | «       t        |t        |«      z
  |«       t        t        |«      |z
  | «       t        |t	        j
                  |«      z
  |«       t        t	        j
                  |«      |z
  | «       t        t        t        j                  | | dg| j                  dz   ¬«      «       t        t        t        j                  | | dg| j                  dz   ¬«      «       | t        u r+t        t        t        j                  |t        dg«      «       y t        t        t        j                  |t        dg«      «       y rv   )r|   r3   r'   r}   r   r~   r   r   r€   Úsubr    r!   r
   r   r‚   s         r   Útest_subrˆ   î   sE  € ä	Œf�T‹l˜RÑÓ	 €BÜ	Œf�T‹l˜RÑÓ	 €BÙ	ˆb‹€BÙ	ˆb‹€BØ	ˆb‰€BÜ˜R "™W r cÔ*Ü˜R "™W bÔ)Ü˜R "™W r cÔ*Ü˜R¤%¨£)™^¨RÔ0ÜœU 2›Y¨™^¨b¨SÔ1Ü˜R¤"§(¡(¨2£,Ñ.°Ô3ÜœRŸX™X b›\¨BÑ.°°Ô4Ü”)œRŸV™V R©¨q¨c¸$¿+¹+È¹/Ô)JÔKÜ”)œRŸV™V R©¨q¨c¸$¿+¹+È¹/Ô)JÔKØŒzÑÜ”i¤§¡¨¬Y¸°s«^Õ<ä”i¤§¡¨¬Z¸¸«_Õ=r   c           
      óÂ  — t        t        d«      dz   «      }t        t        d«      dz   «      } | |«      } | |«      }||z  }t        ||z  |«       t        ||z  |«       t        ||z  |«       t        |t        |«      z  |«       t        t        |«      |z  |«       t        |t	        j
                  |«      z  |«       t        t	        j
                  |«      |z  |«       t        |dz  | | dg«      z  «       t        d|z  | | dg«      z  «       t        t        t        j                  | | dg| j                  dz   ¬«      «       t        t        t        j                  | | dg| j                  dz   ¬«      «       | t        u r+t        t        t        j                  |t        dg«      «       y t        t        t        j                  |t        dg«      «       y )	Nrw   ry   r+   r.   r   r)   rz   r{   )r|   r3   r'   r}   r   r~   r   r   r€   Úmulr    r!   r
   r   r‚   s         r   Útest_mulr‹     sm  € Ü	Œf�T‹l˜RÑÓ	 €BÜ	Œf�T‹l˜RÑÓ	 €BÙ	ˆb‹€BÙ	ˆb‹€BØ	ˆb‰€BÜ˜R "™W bÔ)Ü˜R "™W bÔ)Ü˜R "™W bÔ)Ü˜R¤%¨£)™^¨RÔ0ÜœU 2›Y¨™^¨RÔ0Ü˜R¤"§(¡(¨2£,Ñ.°Ô3ÜœRŸX™X b›\¨BÑ.°Ô3Ü˜R !™V R©$°¨s«)¡^Ô4Ü˜Q ™V R©$°¨s«)¡^Ô4Ü”)œRŸV™V R©¨q¨c¸$¿+¹+È¹/Ô)JÔKÜ”)œRŸV™V R©¨q¨c¸$¿+¹+È¹/Ô)JÔKØŒzÑÜ”i¤§¡¨¬Y¸°s«^Õ<ä”i¤§¡¨¬Z¸¸«_Õ=r   c           
      ó  — t        t        d«      dz   «      }t        t        d«      dz   «      }t        t        d«      dz   «      } | |«      } | |«      } | |«      }||z  |z   }t        |j                  «      }t        ||z  |«       t        ||z  |«       t        ||z  |«       t        |t	        |«      z  |«       t        t	        |«      |z  |«       t        |t        j                  |«      z  |«       t        t        j                  |«      |z  |«       t        d|z   | dg«      «       t        |dz  d|z  «       t        t        t        j                  | | dg| j                  dz   ¬«      «       t        t        t        j                  | | dg| j                  dz   ¬	«      «       | t        u r+t        t        t        j                  |t        dg«      «       y t        t        t        j                  |t        dg«      «       y ©
Nrw   ry   r+   r-   r.   r   r)   rz   r{   )r|   r3   r"   r'   r}   r   r~   r   r   r€   Úfloordivr    r!   r
   r   ©	r   rƒ   r„   Úc3r$   r%   rj   rq   Úc4s	            r   Útest_floordivr’     s˜  € Ü	Œf�T‹l˜RÑÓ	 €BÜ	Œf�T‹l˜RÑÓ	 €BÜ	Œf�T‹l˜RÑÓ	 €BÙ	ˆb‹€BÙ	ˆb‹€BÙ	ˆb‹€BØ	ˆb‰�2‰€BÜ	ˆb�g‰g‹€BÜ˜R 2™X rÔ*Ü˜R 2™X rÔ*Ü˜R 2™X rÔ*Ü˜R¤5¨£9™_¨bÔ1ÜœU 2›Y¨"™_¨bÔ1Ü˜R¤2§8¡8¨B£<Ñ/°Ô4ÜœRŸX™X b›\¨RÑ/°Ô4Ü˜Q "™W¡d¨A¨3£iÔ0Ü˜R 1™W c¨B¡hÔ/ÜÜ”2—;‘; ¡D¨!¨°T·[±[À1±_Ô$EôGäÜ”2—;‘; ¡D¨!¨°T·[±[À1±_Ô$EôGàŒzÑÜ”i¤§¡¨b´)¸Q¸C³.ÕAä”i¤§¡¨b´*¸a¸S³/ÕBr   c           	      óî  —  | g d¢«      }|dz  }t         j                  D ]…  }t        |t        «      r*t        |t        «      st        |t         j
                  «      rŒ> |d«      }t        t        j                  ||«      |«       t        t        t        j                  ||«       Œ‡ t        t        fD ]J  } |d«      }t        t        j                  ||«      |«       t        t        t        j                  ||«       ŒL t        fD ]K  } |dd«      }t        t        j                  ||«      |«       t        t        t        j                  ||«       ŒM t         j
                  fD ]o  } |dd«      }t        j                  t         d¬«      5  t        t        j                  ||«      |«       d d d «       t        t        t        j                  ||«       Œq dg i dt        j"                  d	g«      fD ]B  }t        t        t        j                  ||«       t        t        t        j                  ||«       ŒD t$        D ](  }t        t        t        j                  | |d	«      «       Œ* y # 1 sw Y   Œ½xY w)
Nrn   rI   r   ÚDz4The 'generic' unit for NumPy timedelta is deprecated)Úmatchrd   Fr)   )r   Ú
ScalarTypeÚ
issubclassr   ÚboolÚtimedelta64r'   r€   Útruedivr   r   ÚintÚfloatÚcomplexrY   rZ   ÚDeprecationWarningr~   Úclasses)r   r$   r%   ÚstypeÚsÚptypes         r   Útest_truedivr£   7  sî  € ñ 
Ši‹€BØ	ˆa‰€Bä—‘ò 	4ˆä˜5¤&Ô)Ü˜%¤Ô&Ü˜%¤§¡Ô0àÙ�!‹HˆÜ ¤§¡¨B°Ó!2°BÔ7Ü”i¤§¡¨Q°Õ3ð	4ô ”u�ò 4ˆÙ�!‹HˆÜ ¤§¡¨B°Ó!2°BÔ7Ü”i¤§¡¨Q°Õ3ð4ô �ò 4ˆÙ�!�Q‹KˆÜ ¤§¡¨B°Ó!2°BÔ7Ü”i¤§¡¨Q°Õ3ð4ô —.‘.Ð!ò 4ˆÙ�!�S‹MˆÜ�\‰\ÜØHô
ñ 	<ô %¤R§Z¡Z°°AÓ%6¸Ô;÷		<ô
 	”i¤§¡¨Q°Õ3ð4ð �"�b˜%¤§¡¨1¨#£Ð/ò 4ˆÜ”i¤§¡¨R°Ô3Ü”i¤§¡¨Q°Õ3ð4ô ò ;ˆÜ”i¤§¡¨R±°q³Õ:ñ;÷	<ð 	<ús   Æ!I+É+I4	c           
      ó$  — t        t        d«      dz   «      }t        t        d«      dz   «      }t        t        d«      dz   «      } | |«      } | |«      } | |«      }||z  |z   }t        |j                  «      }t        ||z  |«       t        ||z  |«       t        ||z  |«       t        |t	        |«      z  |«       t        t	        |«      |z  |«       t        |t        j                  |«      z  |«       t        t        j                  |«      |z  |«       t        d|z   | dg«      «       t        |dz   | dg«      «       t        t        t        j                  | | dg| j                  dz   ¬«      «       t        t        t        j                  | | dg| j                  dz   ¬	«      «       | t        u r+t        t        t        j                  |t        dg«      «       y t        t        t        j                  |t        dg«      «       y r�   )r|   r3   r"   r'   r}   r   r~   r   r   r€   Úmodr    r!   r
   r   r�   s	            r   Útest_modr¦   ^  s’  € ä	Œf�T‹l˜RÑÓ	 €BÜ	Œf�T‹l˜RÑÓ	 €BÜ	Œf�T‹l˜RÑÓ	 €BÙ	ˆb‹€BÙ	ˆb‹€BÙ	ˆb‹€BØ	ˆb‰�2‰€BÜ	ˆb�g‰g‹€BÜ˜R "™W bÔ)Ü˜R "™W bÔ)Ü˜R "™W bÔ)Ü˜R¤%¨£)™^¨RÔ0ÜœU 2›Y¨™^¨RÔ0Ü˜R¤"§(¡(¨2£,Ñ.°Ô3ÜœRŸX™X b›\¨BÑ.°Ô3Ü˜Q ™V¡T¨1¨#£YÔ/Ü˜R !™V¡T¨1¨#£YÔ/Ü”)œRŸV™V R©¨q¨c¸$¿+¹+È¹/Ô)JÔKÜ”)œRŸV™V R©¨q¨c¸$¿+¹+È¹/Ô)JÔKØŒzÑÜ”i¤§¡¨¬Y¸°s«^Õ<ä”i¤§¡¨¬Z¸¸«_Õ=r   c           
      ó˜  — t        t        d«      dz   «      }t        t        d«      dz   «      }t        t        d«      dz   «      } | |«      } | |«      } | |«      }||z  |z   }t        |j                  «      }t        ||«      \  }	}
t	        |	|«       t	        |
|«       t        ||«      \  }	}
t	        |	|«       t	        |
|«       t        ||«      \  }	}
t	        |	|«       t	        |
|«       t        |t        |«      «      \  }	}
t	        |	|«       t	        |
|«       t        t        |«      |«      \  }	}
t	        |	|«       t	        |
|«       t        |t        j                  |«      «      \  }	}
t	        |	|«       t	        |
|«       t        t        j                  |«      |«      \  }	}
t	        |	|«       t	        |
|«       t        |d«      \  }	}
t	        |	d|z  «       t	        |
 | dg«      «       t        d|«      \  }	}
t	        |	 | dg«      «       t	        |
 | dg«      «       t        t        t        | | dg| j                  dz   ¬«      «       t        t        t        | | dg| j                  dz   ¬	«      «       | t        u r!t        t        t        |t        dg«      «       y t        t        t        |t        dg«      «       y r�   )r|   r3   r"   Údivmodr'   r}   r   r~   r   r   r    r!   r
   r   )r   rƒ   r„   r�   r$   r%   rj   rq   r‘   ÚquoÚrems              r   Útest_divmodr«   y  sK  € ä	Œf�T‹l˜RÑÓ	 €BÜ	Œf�T‹l˜RÑÓ	 €BÜ	Œf�T‹l˜RÑÓ	 €BÙ	ˆb‹€BÙ	ˆb‹€BÙ	ˆb‹€BØ	ˆb‰�2‰€BÜ	ˆb�g‰g‹€BÜ�b˜"‹~�H€CˆÜ˜S "Ô%Ü˜S "Ô%Ü�b˜"‹~�H€CˆÜ˜S "Ô%Ü˜S "Ô%Ü�b˜"‹~�H€CˆÜ˜S "Ô%Ü˜S "Ô%Ü�bœ% ›)Ó$�H€CˆÜ˜S "Ô%Ü˜S "Ô%Ü”e˜B“i Ó$�H€CˆÜ˜S "Ô%Ü˜S "Ô%Ü�bœ"Ÿ(™( 2›,Ó'�H€CˆÜ˜S "Ô%Ü˜S "Ô%Ü”b—h‘h˜r“l BÓ'�H€CˆÜ˜S "Ô%Ü˜S "Ô%Ü�b˜!‹}�H€CˆÜ˜S #¨¡(Ô+Ü˜S¡$¨ s£)Ô,Ü�a˜‹}�H€CˆÜ˜S¡$¨ s£)Ô,Ü˜S¡$¨ s£)Ô,Ü”)œV R©¨q¨c¸$¿+¹+È¹/Ô)JÔKÜ”)œV R©¨q¨c¸$¿+¹+È¹/Ô)JÔKØŒzÑÜ”i¤¨¬Y¸°s«^Õ<ä”i¤¨¬Z¸¸«_Õ=r   c                 óx  — | j                   dz  dz   }| j                  }t        j                  |d   |d   d«      }t        j                  | j                  |||¬«      j                  «       «      }t        ||«       t        j                  | j                  |«      j                  «       «      }t        ||«       y )Ng      ô?r/   r   r)   rI   r0   )r    r!   r   r2   ÚsortrO   Úrootsr   )r   rD   rE   ÚtgtÚress        r   Ú
test_rootsr±   ¦  s’   € Ø�‰�dÑ˜SÑ €AØ�‰€AÜ
�+‰+�a˜‘d˜A˜a™D !Ó
$€CÜ
�'‰'�$—.‘. ¨Q°q�.Ó9×?Ñ?ÓAÓ
B€CÜ˜˜SÔ!ä
�'‰'�$—.‘. Ó%×+Ñ+Ó-Ó
.€CÜ˜˜SÕ!r   c                 óZ   — | j                  d«      }t        |j                  «       d«       y ©NrI   )rJ   r   rP   ©r   rF   s     r   Útest_degreerµ   ±  s   € Ø�
‰
�1‹€AÜ�—‘“˜QÕr   c                 óB  — | j                  d«      }|j                  «       }t        ||k(  «       t        ||u«       t        |j                  |j                  u«       t        |j                  |j                  u«       t        |j
                  |j
                  u«       y r³   )rJ   Úcopyr   r"   r    r!   )r   r$   r%   s      r   Ú	test_copyr¸   ¶  sq   € Ø	�‰�A‹€BØ	�‰‹€BÜˆB�"‰HÔÜˆB�bˆLÔÜˆB�G‰G˜2Ÿ7™7Ð"Ô#ÜˆB�I‰I˜RŸY™YÐ&Ô'ÜˆB�I‰I˜RŸY™YÐ&Õ'r   c                 óF  — t         }| j                   |g d¢«      «      }|j                  |j                  «       «      }|j                  |j                  d«      «      }t        | |g d¢«      «       t        | |g d¢«      «       | j                   |g d¢«      «      }|j                  |j                  d¬«      «      }|j                  |j                  dddg¬«      «      }t        | |g d¢«      «       t        | |g d¢«      «       | j                   |g d¢«      «      }|j                  |j                  d¬	«      «      }|j                  |j                  dd¬	«      «      }t        | |g d
¢«      «       t        | |g d¢«      «       d| j                  z  }| j                   |g d¢«      |¬«      }|j                  |j                  «       «      }|j                  |j                  d«      «      }t        | |g d¢«      «       t        | |g d¢«      «       y )N)r.   é   é   r.   )r   r.   r,   rx   )r   r   r)   r)   r)   r)   ©Úk)r)   r.   r,   rx   )r)   r)   r)   r)   r)   )Úlbnd)é÷ÿÿÿr.   r,   rx   )rº   r¿   r)   r)   r)   rz   )r
   r?   Úintegr'   r    )r   ÚPÚp0r$   r%   rD   s         r   Ú
test_integrÃ   À  s�  € Ü€Aà	�‰‘1Ò*Ó+Ó	,€BØ	
�‰�—‘“
Ó	€BØ	
�‰�—‘˜“Ó	€BÜ˜R¡¢<£Ô1Ü˜R¡¢?Ó!3Ô4à	�‰‘1Ò*Ó+Ó	,€BØ	
�‰�—‘˜1�“Ó	€BØ	
�‰�—‘˜˜q !˜f�Ó%Ó	&€BÜ˜R¡¢<£Ô1Ü˜R¡¢?Ó!3Ô4à	�‰‘1Ò*Ó+Ó	,€BØ	
�‰�—‘˜a�Ó Ó	!€BØ	
�‰�—‘˜ �Ó#Ó	$€BÜ˜R¡¢=Ó!1Ô2Ü˜R¡Ò#3Ó!4Ô5à	ˆD�K‰K‰€AØ	�‰‘1Ò*Ó+°AˆÓ	6€BØ	
�‰�—‘“
Ó	€BØ	
�‰�—‘˜“Ó	€BÜ˜R¡¢<£Ô1Ü˜R¡¢?Ó!3Õ4r   c                 óº  — | j                   t        d«      dz  z   }| j                  t        d«      dz  z   } | g d¢||¬«      }|j                  dddg¬«      }|j                  ddg¬«      }t	        |j                  d«      j                  |j                  «       t	        |j                  d«      j                  |j                  «        | g d¢«      }|j                  dddg¬«      }|j                  ddg¬«      }t	        |j                  d«      j                  |j                  «       t	        |j                  d«      j                  |j                  «       y )Nr-   r/   rn   r0   r.   r)   r¼   )r    r3   r!   rÀ   r   Úderivr"   )r   rD   rE   r$   r%   rj   s         r   Ú
test_derivrÆ   Ý  s  € ð 	�‰”f˜T“l SÑ(Ñ(€AØ�‰”f˜T“l SÑ(Ñ(€AÙ	Ši ¨!Ô	,€BØ	�‰�!˜˜1�vˆÓ	€BØ	�‰�!˜�sˆÓ	€BÜ˜Ÿ™ ›×(Ñ(¨"¯'©'Ô2Ü˜Ÿ™ ›×(Ñ(¨"¯'©'Ô2á	Ši‹€BØ	�‰�!˜˜1�vˆÓ	€BØ	�‰�!˜�sˆÓ	€BÜ˜Ÿ™ ›×(Ñ(¨"¯'©'Ô2Ü˜Ÿ™ ›×(Ñ(¨"¯'©'Õ2r   c                 óÊ  — | j                   t        d«      dz  z   }| j                  t        d«      dz  z   } | g d¢||¬«      }t        j                  |d   |d   d«      } ||«      }|j	                  d«      \  }}t        ||«       t        ||«       t        j                  ddd«      } ||«      }|j	                  dddg¬	«      \  }}t        ||«       t        ||«       y )
Nr-   r/   rn   r0   r   r)   é   r.   rz   )r    r3   r!   r   r2   r   )r   rD   rE   rF   ÚxtgtÚytgtÚxresÚyress           r   Útest_linspacerÍ   ï  sÏ   € Ø�‰”f˜T“l SÑ(Ñ(€AØ�‰”f˜T“l SÑ(Ñ(€AÙŠY˜q¨Ô+€Aä�;‰;�q˜‘t˜Q˜q™T 2Ó&€DÙˆT‹7€DØ—‘˜B“�J€Dˆ$Ü˜˜dÔ#Ü˜˜dÔ#ä�;‰;�q˜!˜RÓ €DÙˆT‹7€DØ—‘˜B¨¨1 v�Ó.�J€Dˆ$Ü˜˜dÔ#Ü˜˜dÕ#r   c                 óØ  — | j                   t        d«      dz  z   }| j                  t        d«      dz  z   } | dg||¬«      } | g d¢||¬«      }t        d«      D ]  }t	        ||z  |«       ||z  }Œ  | dg«      } | g d¢«      }t        d«      D ]  }t	        ||z  |«       ||z  }Œ t        t        t        j                  |d«       t        t        t        j                  |d«       y )	Nr-   r/   r)   r0   rn   rI   g      ø?rN   )	r    r3   r!   Úranger'   r   Ú
ValueErrorr€   Úpow)r   rD   rE   r¯   ÚtstÚis         r   Útest_powrÔ     sÞ   € Ø�‰”f˜T“l SÑ(Ñ(€AØ�‰”f˜T“l SÑ(Ñ(€AÙ
�ˆs˜1 QÔ
'€CÙ
Šy ¨1Ô
-€CÜ�1‹Xò ˆÜ   a¡¨Ô-Ø�C‰i‰ðñ �ˆs‹)€CÙ
Šy‹/€CÜ�1‹Xò ˆÜ   a¡¨Ô-Ø�C‰i‰ðô ”*œbŸf™f c¨3Ô/Ü”*œbŸf™f c¨2Õ.r   c                 óØ   — t         }| j                  }t        j                  |d   |d   d«      }| j	                   |g d¢«      «      }d|dd|z  z   z  z   } ||«      }t        ||«       y )Nr   r)   rB   rn   r.   r,   )r
   r    r   r2   r?   r   )r   rÁ   rD   r8   rF   r¯   r°   s          r   Ú	test_callrÖ     sg   € Ü€AØ�‰€AÜ
�‰�A�a‘D˜!˜A™$ Ó#€Að 	�	‰	‘!’I“,Ó€AØ
ˆa�1�q˜1‘u‘9‰oÑ
€CÙ
ˆA‹$€CÜ˜˜SÕ!r   c                 óz   —  | g d¢«      }g d¢} ||«      }t        | |t        j                  |«      «      «       y )Nrn   )rN   r   r.   )r   r   r~   )r   rF   r8   r°   s       r   Útest_call_with_listrØ      s/   € ÙŠY‹€AÚ€AÙ
ˆA‹$€CÜ�‘aœŸ™ ›“nÕ%r   c                 ó¤  —  | g d¢«      }t        t        |j                  d«       t        t        |j                  d«       t        t	        |j                  d«      «      d«       t        t	        |j                  d«      «      d«       t        t	        |j                  d«      «      d«       t        t	        |j                  d«      «      d«       y )Nrn   ry   rN   r,   r.   r)   r   )r   rÐ   Úcutdegr   rQ   r´   s     r   Útest_cutdegrÛ   '  s‡   € ÙŠY‹€AÜ”*˜aŸh™h¨Ô+Ü”*˜aŸh™h¨Ô+Ü”�Q—X‘X˜a“[Ó! 1Ô%Ü”�Q—X‘X˜a“[Ó! 1Ô%Ü”�Q—X‘X˜a“[Ó! 1Ô%Ü”�Q—X‘X˜a“[Ó! 1Õ%r   c                 ó¤  —  | g d¢«      }t        t        |j                  d«       t        t        |j                  d«       t        t	        |j                  d«      «      d«       t        t	        |j                  d«      «      d«       t        t	        |j                  d«      «      d«       t        t	        |j                  d«      «      d«       y )Nrn   ry   r   rx   r,   r.   r)   )r   rÐ   Útruncater   rQ   r´   s     r   Útest_truncaterÞ   1  s‡   € ÙŠY‹€AÜ”*˜aŸj™j¨"Ô-Ü”*˜aŸj™j¨!Ô,Ü”�Q—Z‘Z “]Ó# QÔ'Ü”�Q—Z‘Z “]Ó# QÔ'Ü”�Q—Z‘Z “]Ó# QÔ'Ü”�Q—Z‘Z “]Ó# QÕ'r   c                 ó
  — g d¢} | |«      }t        |j                  «       j                  |d d «       t        |j                  d«      j                  |d d «       t        |j                  d«      j                  |d d «       y )N)r)   g�íµ ÷Æ°>gê-�™—q=r   r,   g»½×Ùß|Û=r.   gñhãˆµøä>r)   )r   Útrimr"   )r   ÚcrF   s      r   Ú	test_trimrâ   ;  sf   € Ú€AÙˆQ‹€AÜ�—‘“—‘  " 1 Ô&Ü�—‘˜“×#Ñ# Q r¨ UÔ+Ü�—‘˜“×"Ñ" A b q EÕ*r   c                 óä   — | j                   }| j                  } | dg||¬«      }t        ddg|j                  «       «       d|z  dz   } | dg||¬«      }t        ddg|j                  «       «       y )Nr)   r0   r   r.   )r    r!   r   ÚmapparmsrK   s       r   Útest_mapparmsrå   C  si   € à�‰€AØ�‰€AÙˆaˆS˜ 1Ô%€AÜ˜˜A˜ §
¡
£Ô-à	ˆA‰�‰	€AÙˆaˆS˜ 1Ô%€AÜ˜˜A˜ §
¡
£Õ-r   c                 óÂ   —  | g d¢«      }t        j                  d«      }t        t        t         j                  ||«       t        t        t         j                  ||«       y )Nrn   r,   )r   Úonesr   r   r�   )r   rF   r8   s      r   Útest_ufunc_overriderè   O  s<   € ÙŠY‹€AÜ
�‰�‹
€AÜ”)œRŸV™V Q¨Ô*Ü”)œRŸV™V Q¨Õ*r   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestInterpolatec                 ó   — ||dz
  z  |dz
  z  S rc   rd   )Úselfr8   s     r   re   zTestInterpolate.f]  rf   r   c                 ó¬   — t        t        t        j                  | j                  d«       t        t
        t        j                  | j                  d«       y )NrN   g      $@)r   rÐ   r   Úinterpolatere   r   )rì   s    r   Útest_raiseszTestInterpolate.test_raises`  s2   € Ü”j¤)×"7Ñ"7¸¿¹ÀÔDÜ”i¤×!6Ñ!6¸¿¹ÀÕDr   c                 óš   — t        dd«      D ]<  }t        t        j                  | j                  |«      j                  «       |k(  «       Œ> y )Nr)   rI   )rÏ   r   r   rî   re   rP   )rì   Údegs     r   Útest_dimensionszTestInterpolate.test_dimensionsd  s@   € Ü˜˜A“;ò 	HˆCÜ”I×)Ñ)¨$¯&©&°#Ó6×=Ñ=Ó?À3ÑFÕGñ	Hr   c           	      óì   — d„ }t        j                  ddd«      }t        d«      D ]L  }t        |dz   «      D ]9  }t        j                  ||ddg|f¬«      }t         ||«       |||«      d¬«       Œ; ŒN y )	Nc                 ó   — | |z  S r   rd   )r8   rF   s     r   Úpowxz0TestInterpolate.test_approximation.<locals>.powxj  s   € Ø�a‘4ˆKr   r   r.   r*   r)   )r    r]   rB   )Údecimal)r   r2   rÏ   r   rî   r   )rì   rõ   r8   rñ   ÚtrF   s         r   Útest_approximationz"TestInterpolate.test_approximationh  s{   € ò	ô �K‰K˜˜1˜bÓ!ˆÜ˜“9ò 	BˆCÜ˜3 ™7“^ò B�Ü×)Ñ)¨$°¸QÀ¸FÈ!ÈÔN�Ü#¡A a£D©$¨q°!«*¸bÖAñBñ	Br   N)r   Ú
__module__Ú__qualname__re   rï   rò   rø   rd   r   r   rê   rê   [  s   „ ò%òEòHó	Br   rê   )Ú )>Ú__doc__Úoperatorr€   Únumbersr   rY   Únumpyr   Únumpy.exceptionsr   Únumpy.polynomialr   r   r   r   r	   r
   Únumpy.testingr   r   r   r   rŸ   r}   ÚclassidsÚfixturer   r3   r'   r6   r7   r=   r@   rG   rL   rU   r`   rk   rr   rt   r…   rˆ   r‹   r’   r£   r¦   r«   r±   rµ   r¸   rÃ   rÆ   rÍ   rÔ   rÖ   rØ   rÛ   rÞ   râ   rå   rè   rê   rd   r   r   ú<module>r     s?  ðñó
 Ý ã ã Ý (÷÷ ÷ TÓ Sð �˜) XØˆXð€ñ Ñ1¨Ô1Ó1€à€‡��w HÔ-ñó .ðð 
�‰×	Ñ	€ó"ð 	€Ø€ò&ò"&ò,!ò(ò(ò&Lò)&òXòò>ò,>ò,>ò.Cò8$;òN>ò6*>òZ"ò ò
(ò5ò:3ò$$ò$/ò&	"ò&ò&ò(ò+ò	.ò+÷Bò Br   