
    
g                     B   d dl Z d dlZd dlZd dlZd dlmZmZmZ ddl	m
Z
 ddl
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z  e jB                  jE                  dd      Z#dZ$d	 Z%d
 Z&d Z'd Z(d Z)d Z*d Z+d Z,e'e(e)e*e+e,dZ-d Z.i ddddddddddddddddddddddddd dd!dd"dd#dd$dddd%d%dd&Z/e/ja                         D ]5  \  Z1Z2e#r	 e.e1e2      n e3e
e1      Z4e4ejj                  e6   jn                  e1<   7  e8e/      Z9y)'    N)array_namespacescipy_namespace_foris_numpy   )_ufuncs)log_ndtrndtrndtrierferfci0i0ei1i1egammalngammainc	gammaincclogitexpitentrrel_entrxlogychdtrchdtrcbetaincbetainccstdtrSCIPY_ARRAY_APIFzscipy._lib.array_api_compatc                    t        |      }d }t        |      rt        t        | d       }n|t        |j                  | d       }||S | t
        v rt        |    ||      }||S t        t        | d       }||dfd
}|S )N)xpspx)_f_xpc                     |d  }|d  }|D cg c]  }t        j                  |       }} | g ||i |}|j                  |      S c c}w N)npasarray)	r"   r#   argskwargs
array_args
other_argsargoutn_array_argss	           h/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/scipy/special/_support_alternative_backends.py__fz#get_array_special_func.<locals>.__f)   sa    -<(
,-(
1;<#bjjo<
<4*4z4V4{{3 =s   A)r   r   getattrr   special_generic_implementations)f_namer    r.   r!   fr"   r0   s     `    r/   get_array_special_funcr6      s    
b
!CA|GVT*	CKK.} ))%f-=>I	&$	'Bb   J    c                      | j                   | }|d   j                  } | j                  | }| j                  |d      r,| j                  }|D cg c]  }| j                  ||       }}|||fS c c}w )Nr   integraldtype)broadcast_arraysshaperesult_typeisdtypefloat64r'   )r    r(   r=   r;   r,   s        r/   _get_shape_dtyperA   3   sz    2%DGMMEBNND!E	zz%$

8<=

3e
,== >s   A1c                     | dd}|S )Nr    c                <   t        | ||      \  }}}|\  } }|j                  | j                  |j                  |      }|j	                  d|      || dk(  |dk\  z  <   | dkD  |dkD  z  }| |   |j                  | |         |j                  ||         z
  z  ||<   |S )NrC   r:   r   )rA   fullr=   infr'   log)xyr    r(   r=   r;   resis           r/   
__rel_entrz_rel_entr.<locals>.__rel_entr>   s    -ar:eU1ggaggrvvUg3#%::au:#=Q!VQ Uq1u1!qt45A
r7    )r    r!   rL   s      r/   	_rel_entrrN   =   s    !  r7   c                     | dd}|S )NrC   c                    t        j                  dd      5  | |j                  |      z  }d d d        |j                  | dk(  |j	                  dj
                        |      S # 1 sw Y   :xY w)Nignore)divideinvalidg        r:   )r&   errstaterG   wherer'   r;   )rH   rI   r    temps       r/   __xlogyz_xlogy.<locals>.__xlogyJ   s^    [[(; 	!rvvay=D	!xxRBdjj!A4HH	! 	!s   A&&A/rM   )r    r!   rW   s      r/   _xlogyrX   I   s     I Nr7   c                      |rt        |j                  dd       nd #t         d      rt         j                  dd       y  fd}|S )Nr   r2   c                      | dz  |dz        }| dk(  |dkD  z  }j                  |d|      }j                  |       j                  |      z  }j                  |j                  |      S )N   r   g      ?)rU   isinfnan)vrH   rJ   maskr   r    s       r/   __chdtrz_chdtr.<locals>.__chdtr\   sl    q1ua!e$Q1q5!hhtR%xx{RXXa[(xxbffc**r7   r1   r2   hasattr)r    r!   r`   r   s   `  @r/   _chdtrrc   Q   sQ    
 :=ws{{J5$HGB	22::z48+ Nr7   c                      |rt        |j                  dd       nd #t         d      rt         j                  dd       y  fd}|S )Nr   r2   c                     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   )rU   isnanr]   )r^   rH   rJ   i_nanr   r    s       r/   __chdtrcz_chdtrc.<locals>.__chdtrcq   sx    hhqAvy1ac2A6q&Q!V$3bhhqkAQ!VLhhubffc*
r7   ra   )r    r!   rh   r   s   `  @r/   _chdtrcri   f   sQ    
 <?[$7DIWR3BJJT:	
 Or7   c                     |rt        |j                  dd       nd #t        | d      rt        | j                  dd       y fd}|S )Nr   r2   c                      || d|z
        S )Nr   rM   )abrH   r   s      r/   
__betainccz_betaincc.<locals>.__betaincc   s    q!QqS!!r7   ra   )r    r!   rn   r   s      @r/   	_betainccro   y   sN    7:gckk9d3G72y1"**i6" r7   c                      |rt        |j                  dd       nd #t         d      rt         j                  dd       y  fd}|S )Nr   r2   c                 l    | |dz  | z   z  } | dz  d|      dz  }j                  |dk  |d|z
        S )Nr[   g      ?r   r   )rU   )dftrH   tailr   r    s       r/   __stdtrz_stdtr.<locals>.__stdtr   sG    !q&2+rAvsA&*xxAtQX..r7   ra   )r    r!   ru   r   s   `  @r/   _stdtrrv      sM    7:gckk9d3G72y1"**i6/
 Nr7   )r   r   r   r   r   r   c                 f     t        t               }t        j                  |       fd       }|S )Nc                  D    t        | d   }t        |      } || i |S r%   )r   r6   )r(   r)   r    r5   r4   r.   s       r/   wrappedz-support_alternative_backends.<locals>.wrapped   s2    d=L12"62|<$!&!!r7   )r1   r   	functoolswraps)r4   r.   funcry   s   ``  r/   support_alternative_backendsr}      s1    7F#D__T" "
 Nr7   r   r	   r
   r   r   r   r   r   r   r   r   r[   r   r   r   r   r   r      )r   r   r   r   r   ):ossysrz   numpyr&   scipy._lib._array_apir   r   r    r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   environget_SCIPY_ARRAY_APIarray_api_compat_prefixr6   rA   rN   rX   rc   ri   ro   rv   r3   r}   array_special_func_mapitemsr4   r.   r1   r5   modules__name____dict__list__all__rM   r7   r/   <module>r      s   	 
          ::>>"3U; 7 :	*&
 )2%+%+&-(1%+ 	
A Q 
1	
 A 	! 
1 	! 
1 q   Q Q A  !" Q#$ - 2 388: /FL?O	%fl	;gv& -.CKK""6*/
 %
&r7   