§
    fŠtjš  ã                   ó˜   — d dl Zd dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d„ d„ d	„ d
„ gZd„ d„ d„ d„ gZd„ d„ d„ d„ gZd„ Zd„ Zd„ ZdS )é    N)Úxp_assert_close)Úndimage)Ú_ctest)Ú_cytest)ÚLowLevelCallablec                 ó*   — t          j        | ¦  «        S ©N)r   Úfilter1d©Úfilter_sizes    ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/ndimage/tests/test_c_api.pyú<lambda>r   
   s   € �œ¨Ñ4Ô4€ ó    c                 ó.   — t          j        | d¬¦  «        S ©NF©Úwith_signature)r   r
   r   s    r   r   r      s   € �Ô(¨ÀUÐKÑKÔK€ r   c                 óH   — t          t          j        | d¬¦  «        ¦  «        S ©NTr   )r   r   r
   r   s    r   r   r      s$   € Õ(Ý#Ô,¨[ÈÐNÑNÔNñô € r   c                 ó\   — t          j        t          dt          j        | ¦  «        ¦  «        S )NÚ	_filter1d)r   Úfrom_cythonr   Úfilter1d_capsuler   s    r   r   r      s'   € Õ(Ô4Ý# [Ý#Ô4°[ÑAÔAñô € r   c                 ó*   — t          j        | ¦  «        S r	   )r   Úfilter2d©Úweightss    r   r   r      s   € •F”O GÑ,Ô,€ r   c                 ó.   — t          j        | d¬¦  «        S r   )r   r   r   s    r   r   r      s   € •GÔ$ W¸UÐCÑCÔC€ r   c                 óH   — t          t          j        | d¬¦  «        ¦  «        S r   )r   r   r   r   s    r   r   r      s   € Õ$¥WÔ%5°gÈdÐ%SÑ%SÔ%SÑTÔT€ r   c                 ó\   — t          j        t          dt          j        | ¦  «        ¦  «        S )NÚ	_filter2d)r   r   r   Úfilter2d_capsuler   s    r   r   r      s)   € Õ$Ô0µØ1<Ý18Ô1IÈ'Ñ1RÔ1RñUô U€ r   c                 ó*   — t          j        | ¦  «        S r	   )r   Ú	transform©Úshifts    r   r   r      s   € •&Ô" 5Ñ)Ô)€ r   c                 ó.   — t          j        | d¬¦  «        S r   )r   r$   r%   s    r   r   r       s   € •'Ô# E¸%Ð@Ñ@Ô@€ r   c                 óH   — t          t          j        | d¬¦  «        ¦  «        S r   )r   r   r$   r%   s    r   r   r   !   s   € Õ"¥7Ô#4°UÈ4Ð#PÑ#PÔ#PÑQÔQ€ r   c                 ó\   — t          j        t          dt          j        | ¦  «        ¦  «        S )NÚ
_transform)r   r   r   Útransform_capsuler%   s    r   r   r   "   s)   € Õ"Ô.­wØ/;Ý/6Ô/HÈÑ/OÔ/OñRô R€ r   c                  ób   ‡— d„ Šˆfd„} t          t          ¦  «        D ]\  }} | |¦  «         Œd S )Nc                 ó0   — || z                        ¦   «         S r	   )Úsum)Úfootprint_elementsr   s     r   r   z%test_generic_filter.<locals>.filter2d)   s   € ØÐ*Ñ*×/Ò/Ñ1Ô1Ð1r   c                 óŽ  •— t           |          }t          j        d¦  «        }d|d d…d d…f<   t          j        g d¢g d¢g d¢g¦  «        }t          j        |¦  «        }t          j        |¦  «        |z  }t          j        | ||¦  «        |¬¦  «        }t          j        |‰||f¬¦  «        }t          ||d| › d	�¬
¦  «         d S )N)é   r1   r   é
   )r   é   r   )r3   r3   r3   )Ú	footprint)r4   Úextra_argumentsú#ú failed©Úerr_msg)ÚFILTER2D_FUNCTIONSÚnpÚonesÚarrayÚcount_nonzeror   Úgeneric_filterr   )	ÚjÚfuncÚimr4   Úfootprint_sizer   ÚresÚstdr   s	           €r   Úcheckz"test_generic_filter.<locals>.check,   så   ø€ Ý! !Ô$ˆåŒW�XÑÔˆØˆˆ3ˆBˆ3ˆs�ˆsˆ7‰Ý”H˜i˜i˜i¨¨¨°I°I°IÐ>Ñ?Ô?ˆ	ÝÔ)¨)Ñ4Ô4ˆÝ”'˜.Ñ)Ô)¨.Ñ8ˆåÔ$ R¨¨¨g©¬Ø/8ð:ñ :ô :ˆåÔ$ R¨¸YØ6=°ZðAñ Aô Aˆå˜˜S¨.¨a¨.¨.¨.Ð9Ñ9Ô9Ð9Ð9Ð9r   )Ú	enumerater:   )rF   r@   rA   r   s      @r   Útest_generic_filterrH   (   sb   ø€ ð2ð 2ð 2ð:ð :ð :ð :ð :õ Õ/Ñ0Ô0ð ð ‰ˆˆ4Øˆˆa‰Œˆˆðð r   c                  ób   ‡— d„ Šˆfd„} t          t          ¦  «        D ]\  }} | |¦  «         Œd S )Nc                 óž   — t          |j        ¦  «        D ]2}d||<   t          |¦  «        D ]}||xx         | ||z            z  cc<   ŒŒ3||z  }d S )Nr   )ÚrangeÚsize)Ú
input_lineÚoutput_liner   Úir@   s        r   r
   z'test_generic_filter1d.<locals>.filter1d@   so   € Ý�{Ô'Ñ(Ô(ð 	2ð 	2ˆAØˆK˜‰NÝ˜;Ñ'Ô'ð 2ð 2�Ø˜A��” *¨Q¨q©S¤/Ñ1��‘�ð2à�{Ñ"ˆˆˆr   c                 ó\  •— t           |          }t          j        t          j        t          j        d¦  «        t          j        d¦  «        f¦  «        d¦  «        }d}t          j        | ||¦  «        |¦  «        }t          j        |‰||f¬¦  «        }t          ||d| › d�¬¦  «         d S )Nr2   )r2   r3   é   ©r5   r6   r7   r8   )	ÚFILTER1D_FUNCTIONSr;   ÚtileÚhstackÚzerosr<   r   Úgeneric_filter1dr   )r@   rA   rB   r   rD   rE   r
   s         €r   rF   z$test_generic_filter1d.<locals>.checkG   s­   ø€ Ý! !Ô$ˆåŒW•R”Y¥¤¨¡¤­b¬g°b©k¬kÐ:Ñ;Ô;¸WÑEÔEˆØˆåÔ& r¨4¨4°Ñ+<Ô+<Ø'2ñ4ô 4ˆåÔ& r¨8°[Ø8C°~ðGñ Gô Gˆå˜˜S¨.¨a¨.¨.¨.Ð9Ñ9Ô9Ð9Ð9Ð9r   )rG   rS   )rF   r@   rA   r
   s      @r   Útest_generic_filter1drX   ?   sb   ø€ ð#ð #ð #ð
:ð 
:ð 
:ð 
:ð 
:õ Õ/Ñ0Ô0ð ð ‰ˆˆ4Øˆˆa‰Œˆˆðð r   c                  ób   ‡— d„ Šˆfd„} t          t          ¦  «        D ]\  }} | |¦  «         Œd S )Nc                 ó.   — | d         |z
  | d         |z
  fS )Nr   r3   © )Úoutput_coordinatesr&   s     r   r$   z+test_geometric_transform.<locals>.transformX   s"   € Ø! !Ô$ uÑ,Ð.@ÀÔ.CÀeÑ.KÐKÐKr   c                 óH  •— t           |          }t          j        d¦  «                             dd¦  «                             t          j        ¦  «        }d}t          j        | ||¦  «        ¦  «        }t          j        |‰|f¬¦  «        }t          ||d| › d�¬¦  «         d S )	Né   é   rQ   g      à?rR   r6   r7   r8   )	ÚTRANSFORM_FUNCTIONSr;   ÚarangeÚreshapeÚastypeÚfloat64r   Úgeometric_transformr   )r@   rA   rB   r&   rD   rE   r$   s         €r   rF   z'test_geometric_transform.<locals>.check[   s•   ø€ Ý" 1Ô%ˆåŒY�r‰]Œ]×"Ò" 1 aÑ(Ô(×/Ò/µ´
Ñ;Ô;ˆØˆåÔ)¨"¨d¨d°5©k¬kÑ:Ô:ˆÝÔ)¨"¨iÈ%ÈÐRÑRÔRˆÝ˜˜S¨.¨a¨.¨.¨.Ð9Ñ9Ô9Ð9Ð9Ð9r   )rG   r`   )rF   r@   rA   r$   s      @r   Útest_geometric_transformrf   W   se   ø€ ðLð Lð Lð:ð :ð :ð :ð :õ Õ0Ñ1Ô1ð ð ‰ˆˆ4Øˆˆa‰Œˆˆðð r   )Únumpyr;   Úscipy._lib._array_apir   Úscipyr   Úscipy.ndimager   r   Úscipy._lib._ccallbackr   rS   r:   r`   rH   rX   rf   r[   r   r   ú<module>rl      s  ðØ Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1à Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø !Ð !Ð !Ð !Ð !Ð !Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ð 5Ð4ØKÐKðð ðð ð
Ð ð -Ð,ØCÐCØTÐTðUð Uð	Ð ð *Ð)Ø@Ð@ØQÐQðRð Rð	Ð ðð ð ð.ð ð ð0ð ð ð ð r   