ó
    Eñi`  ã                   óN   • S SK Jr  S SKrS SKrS SKrSS jrS rS	S jrS r	S r
g)
é    )ÚIterableNc                 ó²   • U S:X  a  gU S:X  a  gU S;   a  gU S:X  a  gU S	:X  a  g
U S:X  a  U(       a  gU S:X  a  gU S:X  a  U(       a  g
U S:X  a  g[        S5      e)zAConvert an extension mode to the corresponding integer code.
    Únearestr   Úwrapé   )Úreflectzgrid-mirroré   Úmirroré   Úconstanté   z	grid-wrapé   zgrid-constanté   zboundary mode not supported)ÚRuntimeError)ÚmodeÚ	is_filters     ÚV/home/mande/repo/quber/.venv/lib/python3.13/site-packages/scipy/ndimage/_ni_support.pyÚ_extend_mode_to_coder   %   sw   € ð ˆyÓØØ	�‹ØØ	Ð+Ó	+ØØ	�Ó	ØØ	�Ó	ØØ	�Ó	¦ØØ	�Ó	ØØ	�Ó	 ¦YØØ	�Ó	 ØäÐ8Ó9Ð9ó    c                 óÊ   • [        U [        5      nU(       dE  [        R                  " U 5      (       a*  [	        U 5      n[        U5      U:w  a  Sn[        U5      e U$ U /U-  nU$ )z«If input is a scalar, create a sequence of length equal to the
rank by duplicating the input. If input is a sequence,
check if its length is equal to the length of array.
z6sequence argument must have length equal to input rank)Ú
isinstanceÚstrÚnpÚiterableÚlistÚlenr   )ÚinputÚrankÚis_strÚ
normalizedÚerrs        r   Ú_normalize_sequencer"   >   sf   € ô
 ˜œsÓ#€FÞ”b—k’k %×(Ñ(Ü˜%“[ˆ
Üˆz‹?˜dÓ"ØJˆCÜ˜sÓ#Ð#ð #ð
 Ðð �W˜t‘^ˆ
ØÐr   c                 óB  • Uc  UR                   nU cw  U(       d*  [        R                  " X!R                  R                  S9n U $ [        R
                  " UR                  [        R                  5      n[        R                  " X$S9n  U $ [        U [        [        R                  -  5      (       a{  U(       a^  [        R                  " U 5      R                  S:w  a:  [        R                  " SSS9  [        R
                  " U [        R                  5      n [        R                  " X S9n U $ [        U [        5      (       a‚  [        R                  " U 5      n U(       a  U R                  S:w  a  [        S5      e[        U R                  [        R                  5      (       d  [        S5      e[        R                  " X S9n U $ [        R                   " U 5      n U R                   U:w  a  [        S5      eU(       a%  U R                  R                  S:w  a  [        S5      eU $ )	N)ÚdtypeÚcz+promoting specified output dtype to complexr   )Ú
stacklevelzoutput must have complex dtypezoutput must have numeric dtypezoutput shape not correct)Úshaper   Úzerosr$   ÚnameÚpromote_typesÚ	complex64r   ÚtypeÚkindÚwarningsÚwarnr   r   Ú
issubclassÚnumberÚasarray)Úoutputr   r'   Úcomplex_outputÚcomplex_types        r   Ú_get_outputr6   N   s�  € Ø�}Ø—‘ˆØ�~ÞÜ—X’X˜e¯;©;×+;Ñ+;Ñ<ˆFð0 €Mô- ×+Ò+¨E¯K©K¼¿¹ÓFˆLÜ—X’X˜eÑ8‰Fð* €Mô) 
�FœD¤2§8¡8™O×	,Ñ	,æœbŸhšh vÓ.×3Ñ3°sÓ:Ü�MŠMÐGÐTUÒVÜ×%Ò% f¬b¯l©lÓ;ˆFÜ—’˜%Ñ.ˆð €Mô 
�FœC×	 Ñ	 Ü—’˜&Ó!ˆÞ˜fŸk™k¨SÓ0ÜÐ?Ó@Ð@Ü˜FŸK™K¬¯©×3Ñ3ÜÐ?Ó@Ð@Ü—’˜%Ñ.ˆð €Mô —’˜FÓ#ˆØ�<‰<˜5Ó ÜÐ9Ó:Ð:Þ §¡× 1Ñ 1°SÓ 8ÜÐ?Ó@Ð@Ø€Mr   c                 óê  ^• U c  [        [        T5      5      $ [        R                  " U 5      (       a  [        R
                  " U 5      4n Or[        U [        5      (       aP  U  H4  n[        S U  5       5      n UT* :  d  UTS-
  :”  d  M'  [        SU S35      e   [        U4S jU  5       5      n OSn[        U5      e[        [        [        U 5      5      5      [        U 5      :w  a  [        S5      eU $ )Nc              3   óN   #   • U  H  n[         R                  " U5      v •  M     g 7f)N)ÚoperatorÚindex)Ú.0Úaxs     r   Ú	<genexpr>Ú_check_axes.<locals>.<genexpr>u   s   é € Ð;²d°œŸš¨×+Ð+²dùs   ‚#%r   zspecified axis: z is out of rangec              3   ó<   >#   • U  H  oS :  a  UT-  OUv •  M     g7f)r   N© )r;   r<   Úndims     €r   r=   r>   x   s   øé € Ð@º4°R q£&�R˜$’Y¨bÔ0º4ùs   ƒz6axes must be an integer, iterable of integers, or Nonezaxes must be unique)ÚtupleÚranger   Úisscalarr9   r:   r   r   Ú
ValueErrorr   Úset)ÚaxesrA   r<   Úmessages    `  r   Ú_check_axesrI   n   sÔ   ø€ Ø�|Ü”U˜4“[Ó!Ð!Ü	�Š�T×	Ñ	Ü—’˜tÓ$Ð&‰Ü	�Dœ(×	#Ñ	#ÛˆBÜÑ;±dÓ;Ó;ˆDØ�T�E‹z˜R $¨¡(�]Ü Ð#3°B°4Ð7GÐ!HÓIÐIñ ô Ô@¹4Ó@Ó@‰àJˆÜ˜Ó!Ð!Ü
Œ5”�T“ÓÓ¤ D£	Ó)ÜÐ.Ó/Ð/Ø€Kr   c                 óÞ   • [        U [        5      (       a  g[        U 5      [        L a#  [        U [        R
                  5      (       a  S$ U $ [        U [        R                  5      (       a  S$ U $ )zt'array or dtype' polymorphism.

Return None for np.int8, dtype('float32') or 'f' etc
       arg for np.empty(3) etc
N)r   r   r,   r0   r   Úgenericr$   )Úargs    r   Ú_skip_if_dtyperM   €   sV   € ô �#”s×ÑØÜˆCƒy”DÒÜ! #¤r§z¡z×2Ñ2ˆtÐ;¸Ð;ä! #¤r§x¡x×0Ñ0ˆtÐ9°cÐ9r   )F)NF)Úcollections.abcr   r9   r.   Únumpyr   r   r"   r6   rI   rM   r@   r   r   Ú<module>rP      s-   ðõ> %Û Û Û ô:ò2ô ò@ó$:r   