
    \ci1                     *   d dl Z d dlmZmZmZmZmZ d dlZddl	T ddl
m	Z	 ddl
mZ e	j        ZdZd Zg d	Zd
 Z eddgdd          Z eddd           eddd           eddd           eddd           eddd           ed           edddgdd          dZe	j        D ]bZ ee	e          Z eeedz             Ze                    ee          Z eer  eee          e          ne          Ze e            e<   cdS )    N)is_cupyis_jaxscipy_namespace_forSCIPY_ARRAY_APIxp_capabilities   )*)_ndimage_api)_delegatorsndimagec                    t          | t          j        t          j        z            r                    |           S t          | t
          t          z            r$ t          |           fd| D                       S | S )z4Convert arrays/scalars hiding in the sequence `arg`.c              3   8   K   | ]}t          |          V  d S N)_maybe_convert_arg).0xxps     {/var/www/html/mdtn/previsions/meteo_cartes/venv/lib/python3.11/site-packages/scipy/ndimage/_support_alternative_backends.py	<genexpr>z%_maybe_convert_arg.<locals>.<genexpr>   s.      @@q+Ar22@@@@@@    )
isinstancenpndarraygenericasarraylisttupletype)argr   s    `r   r   r      st    #rzBJ.// zz#	C	&	& tCyy@@@@C@@@@@@
r   )distance_transform_bfdistance_transform_cdtfind_objectsgeometric_transformvectorized_filterc                       fd}|S )Nc                 L     t          j                    fd            }|S )Nc                    	  
| i |	t          	          rGj        t          vr9dd l}|                    d           }t          |j                  } || i |S t          	          rGj        dk    r<t          	          }t          |          }t          |j                  } || i |S  | i |}t          |t          j
        t          j        z            r	                    |          S t          |t                    r|S t          |t                    r 	fd|                                D             S ||S t!          |	          S )Nr   zcupyx.scipy.map_coordinatesc                 r    i | ]3\  }}|                                 t          fd |D                       4S )c              3   B   K   | ]}                     |          V  d S r   )r   )r   vvr   s     r   r   zIdelegate_xp.<locals>.inner.<locals>.wrapper.<locals>.<dictcomp>.<genexpr>E   s-      'C'C2

2'C'C'C'C'C'Cr   )itemr   )r   kvr   s      r   
<dictcomp>z?delegate_xp.<locals>.inner.<locals>.wrapper.<locals>.<dictcomp>D   sT       Aa %'C'C'C'C'C'C'C"C"C  r   )r   __name__CUPY_BLOCKLIST	importlibimport_modulegetattrr   r   r   r   r   r   r   intdictitemsr   )argskwdsr2   cupyx_module
cupyx_funcspx
jax_modulejax_funcresultr   	delegatorfuncmodule_names            @r   wrapperz+delegate_xp.<locals>.inner.<locals>.wrapper'   s   D)D))B r{{ !:t}NBB    (667Sk7S7STT$\4=AA
!z404000 :1B B B)"--$S+66
":t}==x.... t,t,,fbj2:&=>> :::f---,, :!M-- :   #)<<>>    ^!M .fb999r   )	functoolswraps)rA   rC   r@   rB   s   ` r   innerzdelegate_xp.<locals>.inner&   sD    			%	: %	: %	: %	: %	: %	: 
	%	:L r    )r@   rB   rF   s   `` r   delegate_xprH   %   s*    ( ( ( ( ( (R Lr   TcupyF)cpu_only
exceptionsallow_dask_computejax_jit)rJ   rL   rM   )out_of_scopez	jax.numpy)r#   r"   r    r!   r$   generate_binary_structurer(   
_signature)rD   scipy._lib._array_apir   r   r   r   r   numpyr   r
    r   __all__MODULE_NAMEr   r1   rH   default_capabilitiescapabilities_dict	func_namer4   	bare_funcr@   getcapabilitiesfvarsrG   r   r   <module>r^      ss                                       

     * * *X 'vh4   
 +?$   $O$   -_$   .o$   )$   "1d!C!C!C&6;"7  #  0 %  Ii00IY%=>>I$((4HIIL	*+I{++I666 )	 	A
 DDFF9 r   