
    Џkh                        d dl Z d dlmZmZmZmZ d dlZddl ddl	mZ ddl	m
Z
 ej                  ZdZd Zd	gZd
 Zej                  D ]4  Z eee      Z ee
edz         Zer  eee      e      neZe e       e<   6 y)    N)is_cupyis_jaxscipy_namespace_forSCIPY_ARRAY_API   )*)_ndimage_api)_delegatorsndimagec                     t        | t        j                  t        j                  z        rj	                  |       S t        | t
        t        z        r t        |       fd| D              S | S )z4Convert arrays/scalars hiding in the sequence `arg`.c              3   6   K   | ]  }t        |        y wN)_maybe_convert_arg).0xxps     g/var/www/teggl/fontify/venv/lib/python3.12/site-packages/scipy/ndimage/_support_alternative_backends.py	<genexpr>z%_maybe_convert_arg.<locals>.<genexpr>   s     @q+Ar2@s   )
isinstancenpndarraygenericasarraylisttupletype)argr   s    `r   r   r      sR    #rzzBJJ./zz#	C	&tCy@C@@@
    vectorized_filterc                       fd}|S )Nc                 H     t        j                          fd       }|S )Nc            	          | i |t              rHj                  t        vr6dd l}|j	                  d       }t        |j                        } || i |S t              rDj                  dk(  r5t              }t        |      }t        |j                        } || i |S  | i |}t        |t        j                  t        j                  z        rj                  |      S t        |t              r|S t        |t              rD|j                         D 	
ci c](  \  }	}
|	j!                         t#        fd|
D              * c}
}	S ||S t%        |      S c c}
}	w )Nr   zcupyx.scipy.map_coordinatesc              3   @   K   | ]  }j                  |        y wr   )r   )r   vvr   s     r   r   z>delegate_xp.<locals>.inner.<locals>.wrapper.<locals>.<genexpr>>   s     'C2

2'Cs   )r   __name__CUPY_BLOCKLIST	importlibimport_modulegetattrr   r   r   r   r   r   r   intdictitemsitemr   r   )argskwdsr(   cupyx_module
cupyx_funcspx
jax_modulejax_funcresultkvr   	delegatorfuncmodule_names              @r   wrapperz+delegate_xp.<locals>.inner.<locals>.wrapper!   sV   D)D)B r{t}}NB (66k]7ST$\4==A
!404001B B)"-$S+6
":t}}=... t,t,fbjj2::&=>::f--,!M- $*<<>Aa %'C'C"CC  ^!M .fb99s   &-E')	functoolswraps)r:   r<   r9   r;   s   ` r   innerzdelegate_xp.<locals>.inner    s&    		$	: 
$	:J r    )r9   r;   r?   s   `` r   delegate_xprA      s    'P Lr   
_signature)r=   scipy._lib._array_apir   r   r   r   numpyr   r	    r
   __all__MODULE_NAMEr   r'   rA   	func_namer*   	bare_funcr9   fvarsr@   r   r   <module>rL      s         


  &&)X %% 	Ii0IY%=>I  
-Y	,Y	7 
 DF9	r   