ó
    pñ:iø  ã                   ót   • S r SSKJs  Jr  SSKJrJr  S rS r	SS jr
S rS rS	 rS
 rSS.S jrSS.S jrg)a0  Partial replacements for numpy polynomial routines, with Array API compatibility.

This module contains both "old-style", np.poly1d, routines from the main numpy
namespace, and "new-style", np.polynomial.polynomial, routines.

To distinguish the two sets, the "new-style" routine names start with `npp_`
é    N)Ú
xp_promoteÚxp_default_dtypec                 óú   • UR                  U 5      n UR                  U R                  S5      (       a3  [        U 5      UR	                  U 5      -   UR                  U 5      S-  -   nOU nUR                  U5      nX   $ )Núcomplex floatingé   )ÚasarrayÚisdtypeÚdtypeÚabsÚrealÚimagÚargsort)ÚarrÚxpÚsorterÚidxss       ÚZ/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/scipy/signal/_polyutils.pyÚ_sort_cmplxr      si   € ð �*‰*�S‹/€CØ	‡z�z�#—)‘)Ð/×0Ñ0Ü�S“˜BŸG™G C›LÑ(¨2¯7©7°3«<¸©?Ñ:‰àˆà�:‰:�fÓ€DØ‰9Ðó    c                ó   • U R                   S   S:  a  UR                  / U R                  S9$ [        USS5      nU(       a  U" U 5      $ U R                   S   nUR	                  US-
  US-
  SU R                  S9nUR                  U SS 5      * U S   -  USS2S4'   [        UR                  S	5      (       a  UR                  R                  U5      $ SSK	nUR                  UR                  R                  UR                  U5      5      5      $ )
z(numpy.roots, best-effor replacement
    r   é   ©r
   ÚrootsNé   éÿÿÿÿ)Úkr
   Úeigvals)
Úshaper   r
   ÚgetattrÚeyeÚflipÚhasattrÚlinalgr   Únumpy)Úcoefr   Ú	root_funcÚnÚaÚnps         r   Ú	polyrootsr*      sò   € ð ‡z�z�!�}�qÓØ�z‰z˜" D§J¡JˆzÐ/Ð/ä˜˜G TÓ*€IÞñ ˜‹Ðð 	�
‰
�1‰€AØ
�‰ˆq�1‰u�a˜!‘e˜r¨¯©ˆÐ4€AØ—‘˜˜Q˜R˜Ó!Ð! D¨¡GÑ+€A‚aˆ€e�Hô ˆr�y‰y˜)×$Ñ$Ø�y‰y× Ñ  Ó#Ð#ãØ�z‰z˜"Ÿ)™)×+Ñ+¨B¯J©J°q«MÓ:Ó;Ð;r   c                 óÈ   • SnUR                  5       nSU;   a  U  H  nUS:w  a    O	US-   nM     U R                  S   nSU;   a  U S S S2    H  nUS:w  a    O	US-
  nM     XU $ )Nr   ÚFg        r   ÚBr   )Úupperr   )ÚfiltÚtrimÚfirstÚiÚlasts        r   Ú_trim_zerosr4   3   s~   € Ø€EØ�:‰:‹<€DØ
ˆdƒ{ÛˆAØ�B‹wÙà ™	’ñ	 ð
 �:‰:�a‰=€DØ
ˆdƒ{Ø‘d˜�d”ˆAØ�B‹wÙà˜a‘x’ñ	 ð
 �dÐÐr   c                óØ   • [         R                  " U SUS9n U R                  S:”  a  [        S5      e[	        U SS9n U R
                  S   S:X  a  UR                  S/U R                  S9n U $ )zLConstructor of np.poly1d object from an array of coefficients (r=False)
    r   ©Úndimr   zPolynomial must be 1d only.Úf)r0   r   r   )ÚxpxÚ
atleast_ndr7   Ú
ValueErrorr4   r   r   r
   )Úc_or_rr   s     r   Ú_poly1dr=   J   sf   € ô �^Š^˜F¨¨rÑ2€FØ‡{�{�QƒÜÐ6Ó7Ð7Ü˜ cÑ*€FØ‡|�|�A�˜!ÓØ—‘˜Q˜C v§|¡|�Ð4ˆØ€Mr   c                óH   • UR                  U5      nU  H
  nX1-  U-   nM     U$ )z'Old-style polynomial, `np.polyval`
    )Ú
zeros_like)ÚpÚxr   ÚyÚpvs        r   ÚpolyvalrD   W   s,   € ð 	�‰�aÓ€AãˆØ‰E�B‰JŠñ à€Hr   c          
      óÄ  • UR                  U 5      n [        R                  " U SUS9n U R                  S   S:X  a  g[	        USS 5      nUc  SSKJn  U R                  nUR                  SUS9nUR                  U S   5      nU  H  nU" XAR                  XV* 45      S	S
9nM     UR                  UR                  S5      (       aœ  UR                  XR                  S9nUR                  UR                  UR                  U5      5      UR                  UR                  UR!                  U5      5      5      :H  5      (       a  UR                  UR#                  U5      SS9nU$ )Nr   r6   r   g      ð?Úconvolve©rF   ©r   r   Úfull)Úmoder   T)Úcopy)r   r9   r:   r   r   Úscipy.signalrF   r
   ÚonesÚ	ones_likeÚstackr	   Ú
complex128ÚallÚsortr   Úconjr   )Úseq_of_zerosr   Úconvolve_funcÚdtr(   ÚoneÚzeror   s           r   ÚpolyrY   b   s-  € à—:‘:˜lÓ+€LÜ—>’> ,°Q¸2Ñ>€Là×Ñ˜!Ñ Ó!Øô ˜B 
¨DÓ1€MØÑÝ:à	×	Ñ	€BØ
�‰�˜BˆÐ€AØ
�,‰,�| A‘Ó
'€CÛˆÙ˜!ŸX™X s¨E lÓ3¸&ÑAŠñ ð 
‡z�z�!—'‘'Ð-×.Ñ.à—
‘
˜<¯}©}�
Ð=ˆØ�6‰6�"—'‘'˜"Ÿ'™' %›.Ó)¨R¯W©W°R·W±W¸R¿W¹WÀU»^Ó5LÓ-MÑM×NÑNØ—
‘
˜2Ÿ7™7 1›:¨D�
Ð1ˆAà€Hr   c                ód   • [        XS9[        XS9p[        USS 5      nUc  SSKJn  U" X5      nU$ )N)r   rF   r   rG   )r=   r   rL   rF   )Úa1Úa2r   rU   Úvals        r   Úpolymulr^      s;   € Ü�RÑ¤¨Ñ!3ˆô ˜B 
¨DÓ1€MØÑÝ:á
˜Ó
€CØ€Jr   T)Útensorc                óè  • UR                  UR                  S5      (       a  UR                  U[        U5      5      n[        R
                  " USUS9n[        U [        [        -  5      (       a  UR                  U 5      n U(       a+  UR                  XR                  SU R                  -  -   5      n[        US   U SUS9u  pE[        SUR                  S	   S-   5       H  nX* S
4   X@-  -   nM     U$ )NÚintegralr   r6   rH   )r   .T)Ú	broadcastr   r   r   .)r	   r
   Úastyper   r9   r:   Ú
isinstanceÚtupleÚlistr   Úreshaper   r7   r   Úrange)rA   Úcr   r_   Úc0Ú_r2   s          r   Únpp_polyvalrl   �   sË   € Ø	‡z�z�!—'‘'˜:×&Ñ&Ø�I‰I�aÔ)¨"Ó-Ó.ˆä�Š�q˜q RÑ(€AÜ�!”UœT‘\×"Ñ"Ø�J‰J�q‹MˆÞØ�J‰J�qŸ7™7 T¨!¯&©&¡[Ñ0Ó2ˆä�q˜‘z 1°¸Ñ<�E€BÜ�1�a—g‘g˜a‘j 1‘nÖ%ˆØˆr�3ˆw‰Z˜"™$ÑŠñ &à€Ir   c                ó\  • [         R                  " USUS9n[        U [        [        -  5      (       a  UR                  U 5      n U(       a,  UR                  XR                  SU R                  -  -   5      nO%U R                  UR                  :¼  a  [        S5      eUR                  X-
  SS9$ )Nr   r6   rH   z,x.ndim must be < r.ndim when tensor == Falser   )Úaxis)r9   r:   rd   re   rf   r   rg   r   r7   r;   Úprod)rA   Úrr   r_   s       r   Únpp_polyvalfromrootsrq       s‡   € Ü�Š�q˜q RÑ(€Aô �!”UœT‘\×"Ñ"Ø�J‰J�q‹MˆæØ�J‰J�qŸ'™' D¨1¯6©6¡MÑ1Ó2‰Ø	
�‰�1—6‘6Ó	ÜÐGÓHÐHØ�7‰7�1‘5˜qˆ7Ð!Ð!r   )Úfb)Ú__doc__Úscipy._lib.array_api_extraÚ_libÚarray_api_extrar9   Úscipy._lib._array_apir   r   r   r*   r4   r=   rD   rY   r^   rl   rq   © r   r   Ú<module>ry      sL   ðñ÷ )Ð (ß >ò
ò<ô4ò.	òòò:	ð  %)õ ð" .2ö "r   