
    ri?n                     "   d dl 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
mZmZmZmZmZmZmZmZmZ d dlmc mZ ddlmZ ddlmZ dd	lmZ e G d
 d             ZdddZd Zd Zd Z d Z!d Z"d Z#d Z$ edddg      Z%g  eejL                  d eddgd      dd       eejN                  d eddgd      dd       eejP                  d eddgd      dd       eejR                  de%d       eejT                  de%e"d       eejV                  d eddgd      ddd        eejX                  d! edddg      ddid"       eejZ                  d! eddgd      d       eej\                  d! eddgd      d       eej^                  d! eddgd      d       eej`                  d eddgd      d       eejb                  d!e #       eejd                  d!e!dddd$%       eejf                  d! eddgd      d       eejh                  d eddgd      dd&       eejj                  d eddgd      d       eejl                  d eddgd      d       eejn                  d eddgd      d       eejp                  d eddgd      d       eejr                  d       eejt                  d       eejv                  d       eejx                  d eddd'gd      d       eejz                  d       eej|                  d eddgd      d       eej~                  d eddgd      d       eej                  d eddgd      d       eej                  d eddgd      d       eej                  d edddg      d       eej                  d       eej                  d! edddg      dd(dd)       eej                  d eddgd      d       eej                  d eddgd      d       eej                  d eddgd      d       eej                  d edddg      d       eej                  d!       eej                  d!ddi*       eej                  d! eddgd      d       eej                  d! eddgd      d       eej                  d       eej                  d edddg      d       eej                  d eddgd      d       eej                  d eddgd      d       eej                  d! eddgd      d       eej                  d eddg      ddidd+       eej                  d! eddgd      d       eej                  d! eddgd      d       eej                  d       eej                  d       eej                  d       eej                  d       eej                  d eddd'gd      d'd,id-       eej                  d eddd'gd      d'd.id-       eej                  d eddd'gd      d'd/i       eej                  d eddd'gd      d'd0id-       eej                  d eddd'gd      d'd1i       eej                  d eddd'gd      d'd2id-       eej                  d! edddg      d       eej                  d       eej                  d eddgd      d       eej                  d       eej                  d eddgd      dd3       eej                  d!dddgddgddgd$ddgddgddgddgd4d5ddd6	       eej                  d eddgd      d7dd8       eej                  d eddgd      d7dd8       eej                  d eddgd      d7dd8       eej                  d       eej                  d       eej                  d! eddgd      dd"       eej                  d! eddgd      dd"       eej                  d! eddgd      d(dd8       eej                  d! edddg      dd&       eej                  d! eddgd      d       eej                  d!d(dd'd(idd(dd9d:       eej                  ddd;i       eej                  d eddgd      d       eej                  d!e#       eej                  d eddgd      d       eej                  d eddd'gd      d<       eej                  d eddgd      dd&       eej                  d eddg      d       eej                  d!e%e#d       eej                  d! eddgd=g>      e$d       eej                  d eddgd      dd&       eej                  d!       eej                  d!e#       eej                  d eddd'gd      d'd?id-       eej                  d eddd'gd      d'd@id-       eej                  d! eddgd      dd(id(dd)       eej                  d!ddd(dAdB       eej                   d eddgd      d      Z e       j                  eD  ci c]&  } | j                  j
                  | j                  ( c}        epZeD  cg c]  } | j                  j
                   c} d;gz   Zyc c} w c c} w )C    N)Callable)	dataclass)
ModuleType)	array_namespacescipy_namespace_foris_numpyis_dask	is_marray
xp_promotexp_capabilitiesSCIPY_ARRAY_APIget_native_namespace_name   )_basic)_spfun_stats)_ufuncsc                      e Zd ZU eed<   eed<   dZeegef   dz  ed<   dZeeedz  gedz  f   dz  ed<   dZ	e
eef   dz  ed<   dZee   dz  ed<   dZeee   z  e
eee   f   z  ed	<   d
Zeed<   dZe
eee   f   ee   z  dz  ed<   dZe
eee   f   ee   z  dz  ed<   d
Zeed<   dZeed<   d
Zeed<   ed        Zd Zd Zed        Z ej8                  d      d        Zy)	_FuncInfofuncn_argsNr   generic_implalt_names_mapint_onlyFpositive_onlyTis_ufuncpython_int_onlyscalar_or_0d_onlytest_large_intsproduces_0dtorch_nativec                 .    | j                   j                  S N)r   __name__selfs    i/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/scipy/special/_support_alternative_backends.pynamez_FuncInfo.nameK   s    yy!!!    c                 ,    t        | j                        S r"   )hashr   r$   s    r&   __hash__z_FuncInfo.__hash__P   s    DIIr(   c                 X    t        |t              xr | j                  |j                  k(  S r"   )
isinstancer   r   )r%   others     r&   __eq__z_FuncInfo.__eq__S   s!    %+G		UZZ0GGr(   c                 p     j                   t               v r$dd l}t        |j                   j                         S t
        rBt        j                   j                         fd       }d|_	         j                   |_
        |}n j                  } j                  xs
 t               } ||      }||u sJ |S )Nr   c                  B    t        |  } j                  |      | i |S r"   )r   _wrapper_for)argskwargsxpr%   s      r&   wrappedz"_FuncInfo.wrapper.<locals>.wrapped_   s*    $d+,t((,d=f==r(   zscipy.special)r'   globalsscipy.specialgetattrspecialr   	functoolswrapsr   
__module____qualname__r   )r%   scipyr6   r   capabilitiescap_funcs   `     r&   wrapperz_FuncInfo.wrapperV   s    99	! !5==$))44__TYY'> (> "1G#'99G D99D++@/@  %4r(   i  c                    t        |      r| j                  S t        |      }t        ||| j                  | j
                        }||S | j                  | j                  ||      }||S t        |      r t               | j                     }||dd}|S t        |      r t               | j                     }||dd}|S | j                  }||dd}|S )Nr   )_fr5   c                     |D cg c]  }t        |d|       }} | |i |}t        j                  t        j                  d |D              }|j                  ||      S c c}w )Ndatac              3   6   K   | ]  }t        |d d        yw)maskFN)r9   ).0args     r&   	<genexpr>z4_FuncInfo._wrapper_for.<locals>.f.<locals>.<genexpr>   s     (Ufe)D(Us   )rI   )r9   r;   reduceoperatoror_asarray)rE   r5   r3   r4   rK   	data_argsoutrI   s           r&   fz!_FuncInfo._wrapper_for.<locals>.f   sf    BFG3WS&#6G	G).v. ''(UPT(UWzz#Dz11	 Hs   A!c                 P     |j                   t        j                  | fi |g| S r"   )
map_blocksr;   partial)rE   r5   r3   r4   s       r&   rS   z!_FuncInfo._wrapper_for.<locals>.f   s(    $r}}Y%6%6r%DV%DLtLLr(   c                     |D cg c]  }t        j                  |       }} | |i |}|j                  |      S c c}w r"   )nprP   )rE   r5   r3   r4   rK   rR   s         r&   rS   z!_FuncInfo._wrapper_for.<locals>.f   sA     044BJJsO4D4d%f%C::c?" 5s   <)
r   r   r   _get_native_funcr'   r   r   r
   r7   r	   )r%   r5   spxrS   rE   s        r&   r2   z_FuncInfo._wrapper_fors   s    B<99 ""%Rdiit?Q?QR=H (!!"c*A}R= 499%B2 2 H2; 499%B2 M H YYr 	# r(   )r#   r=   r>   r   __annotations__intr   r   r   r   dictstrr   tupleboolr   r   r   r   r   r   r    propertyr'   r+   r/   rB   r;   	lru_cacher2    r(   r&   r   r      s    N K >BOXxj(23d:A  (	Z$&'D8 
 ,0M4S>D(/#'HeDkD ' BGM4%+%S%+-=(>>F Hd DHOT#uT{*+eDk9D@GEItCt,-d;dBI OT K L$" "H  8 Y8 8r(   r   rD   c                    |i }|j                  t        |       |      }|rt        |j                  |d       nd }|#t	        | d      rt        | j                  |d       }|S )Nr:   )getr   r9   r:   hasattr)r5   rZ   f_namer   rS   s        r&   rY   rY      sb    8<fEF.1VT*tAyWR+ BJJ-Hr(   c                     | dd}|S )Nr5   c                L   t        |      r t        | j                  |j                        n|t        | |dd|      \  } }| dkD  |dkD  z  }|j	                  |       |j	                  |      z  }t        j                  || z  | |ffd|j                        }t        j                  |      | dk(  |dk\  z     j                  d      }t        j                  |      |j                  |       |j                  |      z  ||z  z     j                  |j                        }|S )NT)	broadcastforce_floatingr5   r   c                 P    | j                  |       j                  |      z
  z  S r"   )log)xymxps     r&   <lambda>z/_rel_entr.<locals>.__rel_entr.<locals>.<lambda>   s!    cggaj3771:56 r(   )
fill_value)r	   r   _metar   isinfxpxapply_whereinfatsetisnannan)ro   rp   r5   xy_posxy_infresrq   s         @r&   
__rel_entrz_rel_entr.<locals>.__rel_entr   s    3:2;oaggqww/B!Q$tK1a%AE"!rxx{*oofWF6vv
 ffSk16a1f-.2215ffSk"((1+3vGHLLRVVT
r(   rc   )r5   rZ   r   s      r&   	_rel_entrr      s    ! " r(   c                     | dd}|S )Nri   c                    t        | |d|      \  } }t        j                  dd      5  | |j                  |      z  }d d d        |j	                  | dk(  d      S # 1 sw Y   xY w)NT)rl   r5   ignore)divideinvalidg        )r   rX   errstatern   where)ro   rp   r5   temps       r&   __xlogyz_xlogy.<locals>.__xlogy   sa    !Qt;1[[(; 	!rvvay=D	!xxRT**	! 	!s   AA&rc   )r5   rZ   r   s      r&   _xlogyr      s     +
 Nr(   c                 6     t         |d      y  fd}|S )Ngammaincc                      | dz  |dz        }| dk(  |dkD  z  }j                  |d|      }j                  |       j                  |      z  }j                  |j                  |      S )N   r   g      ?)r   ru   r|   )vro   r   rI   r   r5   s       r&   __chdtrz_chdtr.<locals>.__chdtr   sl    q1ua!e$Q1q5!hhtR%xx{RXXa[(xxbffc**r(   rY   )r5   rZ   r   r   s   `  @r&   _chdtrr      s(    
  C4H+ Nr(   c                 6     t         |d      y  fd}|S )N	gammainccc                     j                  |dk\   | dz  |dz        d      }|dk(  | dk(  z  j                  |      z  j                  |       z  | dk  z  }j                  |j                  |      }|S )Nr   r   r   )r   r{   r|   )r   ro   r   i_nanr   r5   s       r&   __chdtrcz_chdtrc.<locals>.__chdtrc   sx    hhqAvy1ac2A6q&Q!V$3bhhqkAQ!VLhhubffc*
r(   r   )r5   rZ   r   r   s   `  @r&   _chdtrcr      s(    
 !S+6I
 Or(   c                 2    t        | |d      y fd}|S )Nbetaincc                      || d|z
        S )Nr   rc   )abro   r   s      r&   
__betainccz_betaincc.<locals>.__betaincc  s    q!QqS!!r(   r   )r5   rZ   r   r   s      @r&   	_betainccr      s&    r3	2G" r(   c                 6     t         |d      y  fd}|S )Nr   c                 l    | |dz  | z   z  } | dz  d|      dz  }j                  |dk  |d|z
        S )Nr   g      ?r   r   )r   )dftro   tailr   r5   s       r&   __stdtrz_stdtr.<locals>.__stdtr  sG    !q&2+rAvsA&*xxAtQX..r(   r   )r5   rZ   r   r   s   `  @r&   _stdtrr   	  s%    r3	2G/
 Nr(   c                 j     t         |d      xs t         |      y ddlmm  fd}|S )Nstdtrr   )bracket_root	find_rootc                     fd} |j                  |      | |f      } ||j                  | |f      }|j                  S )Nc                      ||       |z
  S r"   rc   )r   r   pr   s      r&   funz(_stdtrit.<locals>.__stdtrit.<locals>.fun"  s    5Q<!#33r(   )r3   )
zeros_likebracketro   )	r   r   r   res_bracketres_rootr   r   r   r5   s	        r&   	__stdtritz_stdtrit.<locals>.__stdtrit!  sC    3"3a(8AwGS+"5"5RGDzzr(   )rY   r   scipy.optimize.elementwiser   r   )r5   rZ   r   r   r   r   s   `  @@@r&   _stdtritr     s6    Rg.A&S/E }B r(   T	jax.numpycupy)cpu_only
exceptions   F)r   r   jax_jit)FTF)r   r    )r    )r   r    )r   r   r    r   )r   r    )r   )r   r   torch)r   r   )r   r    r   )TF)r   r   r   r    )r   )r   r   r    	bessel_j0)r   r   	bessel_j1modified_bessel_k0scaled_modified_bessel_k0modified_bessel_k1scaled_modified_bessel_k1)r    r   )array_api_strictnumpyz
dask.arraymarray)FT)r   r   r   r   r   r   r    )TTF)r   r   r    )r   r   )r   r   r   r   r   r   digamma)r   )r   zno scipy.optimize support)r   r   skip_backends	bessel_y0	bessel_y1)r   r   )r   r   r   )r;   rN   collections.abcr   dataclassesr   typesr   r   rX   scipy._lib._array_apir   r   r   r	   r
   r   r   r   r   scipy._lib.array_api_extra_libarray_api_extrarv    r   r   r   r   rY   r   r   r   r   r   r   r   _needs_betaincbdtrbdtrcbdtrir   betaincc
betaincinvbetalnbinomboxcoxboxcox1pcbrtchdtrchdtrcchdtricosdgcosm1cotdgellipkellipkm1entrerferfcerfcxerfinvexp1exp10exp2exprelexpiexpitexpnfdtrfdtrcfdtrigammar   r   gammainccinvgammaincinvgammalngammasgngdtrgdtrchuberhyp1f1
inv_boxcoxinv_boxcox1pi0i0ei1i1ej0j1k0k0ek1k1ekl_divlog_ndtrloggammalogitlpmvmultigammalnnbdtrnbdtrcnbdtrindtrndtripdtrpdtrcpdtripochpseudo_huber	polygammapsiradianrel_entrrgammasincsindgspencer   stdtrittandgxlog1pyxlogyy0y1ynzetazetac_special_funcsr7   updater   r#   rB   r   __all__)nfos   0r&   <module>r/     s:     $ !     ) (    Y Y Yx 8< 	*&"
2 !$K;PQqavh	
 &Eq qvh	
 &Eq" qvh	
 &E#q2 gooq.uE3q4 g>	 "5q8 Avh	
 T9qH 6;2GH #D)IqV qvh	
 Wqf vh	
 gqv !vh	
 wqF avh	
 GqV gmmQV4WqX gnnag%)tLNYq^ vh	
 _qn qvh	
 Eoq~ qvh	
 qN qvh	
 Oq^ vh	
 _qn !vh	
 oq~ gllAq@ gkk1AqB gllACqD qvw&7	
 EqT gnna UqV avh	
 Wqf qvh	
 gqv avh	
 wqF vh	
 GqV a6;2GHWq` gmmQaqb a6;2GH cqt avh	
 uqD qvh	
 EqT qvh	
 Uqd q6;2GHeqn g"oqp 1"D)qqz avh	
 {qJ Qvh	
 KqZ gooq![q\ !6;2GH]qf avh	
 gqv qvh	
 wqF qvh	
 GqV ;-@"D)5	Wqr Avh	
 sqB	 avh	
 C	qR	 gjj!S	qT	 gkk1U	qV	 gjj!W	qX	 gkk1Y	qZ	 

Avw&7	
 ,e[	qj	 

Avw&7	
 ,ek	qz	 

Avw&7	
  45{	qJ
 Qvw&7	
  ;<K
q\
 

Avw&7	
  45]
ql
 Qvw&7	
  ;<m
q|
 6;2GH}
qF g"GqH !vh	
 IqX gmmQYqZ avh	
 [ql !!1DMT]
 "'T] $-dm	
 mqN qvh	
 %DOq` vh	
 %Daqr vh	
 %DsqD gllAEqF gmmQGqH avh	
 IqX qvh	
 Yqh qvh	
 diqz a6;2GHE{qD avh	
 EqT !me!(- 8d&3$G#	Uq` gkk1[),DEaqb vh	
 cqr g	:sqt vh	
 uqD Qvw&7	
 EqT qvh	
 EUqd ;-@eqn gmmaf "oqr vhEF	
 EsqB qvh	
 ECqR gooq!SqT gmmQV4UqV 

Avw&7	
 ,eWqf 

Avw&7	
 ,egqv 

Avh	
 }-EwqH Q$(=AIqR qvh	
 Sql 	  NKS#((##S[[0K L (6
7388
79+
E L
 8s   (+n n