+
    /i                          R t ^ RIt^ RIHu Ht ^ RIHtHtH	t	H
t
Ht  ^ RIHt R tR tRR ltRR ltR tR	 tR
 tR tRR/R ltRR/R ltRR/R ltR#   ] d
    ^ RIHt  LBi ; i)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_dtypexp_size	xp_deviceis_numpy)RankWarningc                    VP                  V 4      p VP                  V P                  R 4      '       d@   \        V 4      VP	                  V 4      ,           VP                  V 4      ^,          ,           pMT pVP                  V4      pW,          # )complex floating)asarrayisdtypedtypeabsrealimagargsort)arrxpsorteridxss   &&  U/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/signal/_polyutils.py_sort_cmplxr      si     **S/C	zz#))/00SBGGCL(2773<?:::fD9    c               b   V P                   ^ ,          ^8  d   VP                  . V P                  R7      # \        VRR4      pV'       d	   V! V 4      # V P                   ^ ,          pVP	                  V^,
          V^,
          RV P                  R7      pVP                  V R,          4      ) V ^ ,          ,          VR&   \        VP                  R4      '       d   VP                  P                  V4      # ^ RI	pVP                  VP                  P                  VP                  V4      4      4      # )	z(numpy.roots, best-effor replacement
    r   rootsN)kr   :   NNeigvals)NNNr   )
shaper
   r   getattreyefliphasattrlinalgr   numpy)coefr   	root_funcnanps   &$    r   	polyrootsr,   "   s     zz!}qzz"DJJz//GT*I  	

1A
q1ua!er4AR!!DG+AeH ryy)$$yy  ##zz"))++BJJqM:;;r   c                     ^ pVP                  4       pRV9   d   V  F  pVR8w  d    MV^,           pK  	  V P                  ^ ,          pRV9   d&   V RRR1,           F  pVR8w  d    MV^,
          pK  	  WV # )    F        BNr   )upperr    )filttrimfirstilasts   &&   r   _trim_zerosr8   <   s    E::<D
d{ABw		 
 ::a=D
d{ddABwax	 
 dr   c                    \        WR VR7      w  rVfY   VP                  V P                  4      P                  \	        V P
                  R,          V P
                  R,          4      ,          p\        V4      '       d   ^ RIHp V! WVR7      # \        VP                  RR4      ;p'       d   V! WVR7      # VP                  P                  V RR7      w  rgpWs8  p	\        P                  ! W3R	 R
R7      pVP                  VP
                  ^ ,          4      V,          p
VP                  V
,          VP                  ,          V,          pVP!                  V	4      pVP#                  . 4      pWW3# )Tforce_floatingr   N)lstsq)condr<   )rcondF)full_matricesc                     R V ,          # )      ? )xs   &r   <lambda>_lstsq.<locals>.<lambda>d   s    26r   r0   )
fill_valuer   )r   finfor   epsmaxr    r   scipy.linalgr<   r!   r%   svdxpxapply_wherer"   Tcount_nonzeror
   )r*   br   r>   s_lstsq
lstsq_funcusvtsing_val_masksigmarC   rank	residualss   &&&&          r   _lstsqr[   S   s!   a4B7DA}!%%AGGBK(EE||1q%((ryy'48	8	8!e,, 99==%=8b	OOM41AbQqwwqz"Q&DD5L133". JJrN	T$$r   c                   \         P                  ! V ^VR7      p V P                  ^8  d   \        R4      h\	        V RR7      p V P
                  ^ ,          ^ 8X  d   VP                  ^ .V P                  R7      p V # )zLConstructor of np.poly1d object from an array of coefficients (r=False)
    ndimr   zPolynomial must be 1d only.f)r4   r   )rM   
atleast_ndr^   
ValueErrorr8   r    r
   r   )c_or_rr   s   &$r   _poly1drc   t   sf     ^^Fr2F{{Q677c*F||A!QCv||4Mr   c                   VP                  V 4      p VP                  V4      pVP                  V4      p\        V P                  ^ ,          4       F  pW1,          WR3,          ,           pK  	  V# )z'Old-style polynomial, `np.polyval`
    .)r
   
zeros_likeranger    )prC   r   yjs   &&$  r   polyvalrj      s\     	

1A


1A
aA 1771:EAfI Hr   c          
      P   VP                  V 4      p \        P                  ! V ^VR7      p V P                  ^ ,          ^ 8X  d-   VP                  RVP	                  V 4      P
                  R7      # \        VRR4      pVf   ^ RIHp V P
                  pVP                  RVR7      pVP                  V ^ ,          4      pV  F  pV! WAP                  WV) 34      RR7      pK   	  VP                  VP
                  R	4      '       d   VP                  WP                  R7      pVP                  VP                  VP!                  V4      4      VP                  VP!                  VP#                  V4      4      4      8H  4      '       d#   VP                  VP	                  V4      R
R7      pV# )r   r]   rA   r   convolveNrl   full)moder	   T)copyr   )r
   rM   r`   r    r   r   r!   scipy.signalrl   ones	ones_likestackr   
complex128allsortr   conj)seq_of_zerosr   convolve_funcdtr*   onezeror   s   &$      r   polyr      sL   ::l+L>>,Q2>L!!zz#RWW\%:%@%@zAA B
D1M:			B
BA
,,|A
'C!XXsEl3&A  
zz!''-..

<}}
=66"''"''%.)RWWRWWRWWU^5L-MMNN

2771:D
1AHr   c                r    \        WR 7      \        WR 7      r\        VRR4      pVf   ^ RIHp V! W4      pV# ))r   rl   Nrm   )rc   r!   rr   rl   )a1a2r   r{   vals   &&$  r   polymulr      s;    R!3 B
D1M:

CJr   r>   c          	          \        V4      ^,           pVP                  V 4      p VP                  V4      p\        WRVR7      w  rV^ 8  d   \        R4      hV P                  ^8w  d   \        R4      h\        V 4      ^ 8X  d   \        R4      hVP                  ^8  g   VP                  ^8  d   \        R4      hV P                  ^ ,          VP                  ^ ,          8w  d   \        R4      hVf>   V P                  ^ ,          VP                  V P                  4      P                  ,          pVP                  VP                  WPP                  \        V 4      R7      4      pV R,          VR,          ,          pVP                  VP                  Ww,          ^ R	7      4      pWx,          p\!        WqWCR
7      w  rrV	P"                  V,          P"                  p	W8w  d    Rp\$        P&                  ! V\(        ^R7       V	# )r   Tr:   zexpected deg >= 0zexpected 1D vector for xzexpected non-empty vector for xzexpected 1D or 2D array for yz$expected x and y to have same length)r   deviceaxis)r>   r   z!Polyfit may be poorly conditioned)
stacklevel)r   N)Nr   )intr
   r   ra   r^   	TypeErrorr   r    rH   r   rI   r#   aranger   sqrtsumr[   rO   warningswarnr   )rC   rh   degr   r>   orderpowerslhsscalec_rY   msgs   &&&$$        r   polyfitr      s   HqLE


1A


1Aa4B7DA Qw,--vv{233qzQ9::vvzQVVaZ788wwqzQWWQZ>?? }
RXXagg.222 WWRYYuGGIaLYIJF
G*w
'C GGBFF391F-.ELC36MA$	
uA }1c;15Hr   tensorTc                B   VP                  VP                  R 4      '       d   VP                  V\        V4      4      p\        P
                  ! V^VR7      p\        V \        \        ,          4      '       d   VP                  V 4      p V'       d4   VP                  WP                  RV P                  ,          ,           4      p\        VR,          V RVR7      w  rE\        ^VP                  ^ ,          ^,           4       F  pW) R3,          W@,          ,           pK  	  V# )integralr]   .T)	broadcastr   rq   )r   .)r   r   astyper   rM   r`   
isinstancetuplelistr
   reshaper    r^   r   rf   )rC   r   r   r   c0r   r6   s   &&$$   r   npp_polyvalr      s    	zz!'':&&IIa)"-.qqR(A!UT\""JJqMJJq77T!&&[02qz1<EB1aggaj1n%r3wZ"$ &Ir   c                   \         P                  ! V^VR7      p\        V \        \        ,          4      '       d   VP                  V 4      p V'       d5   VP                  WP                  RV P                  ,          ,           4      pM&V P                  VP                  8  d   \        R4      hVP                  W,
          ^ R7      # )r   r]   z,x.ndim must be < r.ndim when tensor == Falser   rq   )rM   r`   r   r   r   r
   r   r    r^   ra   prod)rC   rr   r   s   &&$$r   npp_polyvalfromrootsr      s    qqR(A !UT\""JJqMJJq''D166M12	
166	GHH7715q7!!r   )fb)NN)__doc__r   scipy._lib.array_api_extra_libarray_api_extrarM   scipy._lib._array_apir   r   r   r   r   numpy.exceptionsr   ImportErrorr&   r   r,   r8   r[   rc   rj   r   r   r   r   r   rB   r   r   <module>r      s     ( ( ",
<4.%B	:	'D '\D ""T "S  "!"s   A A('A(