+
    /i                     |   ^ RI HtHt ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RI	H
t ^ RI	Ht ^ RIHt RtR-R ltR	 tR
 tR tR]P(                  R]P*                  R]P,                  R]P.                  /tRR RR RR RR RR RR RR RR RR  /	tR!R" R#R$ R%R& R'R( /tR]R]R]P6                  /tR) tR* tR+ tR, t R# ).    )assert_equalassert_)raisesN)_ccallback_c)_test_ccallback)LowLevelCallable       @c                 X    V \         8X  d   \        R 4      hVf
   V ^,           # W,           # )z	bad value)ERROR_VALUE
ValueError)a	user_datas   &&]/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/_lib/tests/test_ccallback.pycallback_pythonr      s,    K%%1u}    c                     \         P                  ! R 4      p\        P                  ! V \        P                  4      pVP
                  pVP                  4       pVP                  W4      pV# )cffi)pytestimportorskipctypescastc_void_pvalueFFI)base	signaturer   voidpaddressffifuncs   &&     r   _get_cffi_funcr!      sQ    v&D KKfoo.EkkG ((*C88I'DKr   c                      \         P                  ! R 4      p \         P                  ! \         P                  ! V 4      \         P                  4      # r	   )r   c_doubler   pointerc_voidp)r   s    r   _get_ctypes_datar'   &   s.    OOC E;;v~~e,fnn==r   c                  r    \         P                  ! R 4      p V P                  4       pVP                  RR4      # )r   zdouble *r	   )r   r   r   new)r   r   s     r   _get_cffi_datar*   +   s.    v&D
((*C77:s##r   simplenodatanonlocalcythonpythonc                      \         # N)r    r   r   <lambda>r3   :   s    or   capsulec                  ,    \         P                  ! 4       # r1   )r   test_get_plus1_capsuler2   r   r   r3   r3   ;   s    ==?r   c                  8    \         P                  ! \        R 4      # )plus1_cythonr   from_cython_test_ccallback_cythonr2   r   r   r3   r3   <   s    &223I3ACr   r   c                  "    \         P                  # r1   )r;   plus1_ctypesr2   r   r   r3   r3   >   s    ,99r   r   c                  6    \        \        P                  R 4      # )z!double (*)(double, int *, void *))r!   r;   r=   r2   r   r   r3   r3   ?   s    N#9#F#F#FHr   	capsule_bc                  ,    \         P                  ! 4       # r1   )r   test_get_plus1b_capsuler2   r   r   r3   r3   A   s    @@Br   cython_bc                  8    \         P                  ! \        R 4      # )plus1b_cythonr9   r2   r   r   r3   r3   B   s    (445K5DFr   ctypes_bc                  "    \         P                  # r1   )r;   plus1b_ctypesr2   r   r   r3   r3   D   s    .<<r   cffi_bc                  6    \        \        P                  R 4      # )z)double (*)(double, double, int *, void *))r!   r;   rG   r2   r   r   r3   r3   E   s    n%;%I%I%PRr   
capsule_bcc                  ,    \         P                  ! 4       # r1   )r   test_get_plus1bc_capsuler2   r   r   r3   r3   K   s    /BBDr   	cython_bcc                  8    \         P                  ! \        R 4      # )plus1bc_cythonr9   r2   r   r   r3   r3   L   s    )556L6FHr   	ctypes_bcc                  "    \         P                  # r1   )r;   plus1bc_ctypesr2   r   r   r3   r3   N   s    />>r   cffi_bcc                  6    \        \        P                  R 4      # )z1double (*)(double, double, double, int *, void *))r!   r;   rR   r2   r   r   r3   r3   O   s    ~--;r   c                      R  p \        \        P                  4       4       FT  p\        \        P                  4       4       F0  p\        \        P                  4       4       F  pV ! WV4       K  	  K2  	  KV  	  R# )c                 2  a \         V ,          p \        S,          ! 4       o\        V,          ! 4       pS\        J d   V3R  lpM\	        SV4      p\	        S4      o\        V ! SR4      R4       \        \        V S\        4       \        V ! VR4      R4       R# )c                    < S! V R 4      # r#   r2   xr    s   &r   func2,test_callbacks.<locals>.check.<locals>.func2c       As|#r         ?r	   g      @N)	CALLERSFUNCS
USER_DATASr   r   r   assert_raisesr   r   )callerr    r   rZ   s   &f& r   checktest_callbacks.<locals>.check]   s    T{}y)+	?"$ %T95E#D)D 	VD#&, 	j&$< 	VE3'-r   N)sortedr^   keysr_   r`   rc   rb   r    r   s       r   test_callbacksrh   \   sS    .* (5::<(D#JOO$56	fI. 7 ) )r   c                      R  p \        \        P                  4       4       FT  p\        \        P                  4       4       F0  p\        \        P                  4       4       F  pV ! WV4       K  	  K2  	  KV  	  R# )c                   a \         V ,          p \        V,          ! 4       p\        S,          ! 4       oS\        J d   V3R  lpM\	        SV4      p\	        S4      o\        \        V \	        S4      R4       \        \        WR4       \	        S4      p V ! VR4       R#   \         d?   p\        T4      p\        TP                  T9   T4       \        RT9   T4        Rp?R# Rp?ii ; i)c                    < S! V R 4      # r#   r2   rX   s   &r   rZ   0test_bad_callbacks.<locals>.check.<locals>.func2   r\   r   r]   z&double (double, double, int *, void *)N)
r^   r`   	BAD_FUNCSr   r   ra   r   strr   r   )rb   r    r   rZ   llfuncerrmsgs   &f&    r   rc   !test_bad_callbacks.<locals>.checky   s    y)+	 ?"$ %T95E#D)D 	j&*:4*@#F 	j&5 "$'	J63 	Jc(CF$$+S1<CSII	Js   	B C')3C""C'N)re   r^   rf   rm   r`   rg   s       r   test_bad_callbacksrs   x   sU    J6 (9>>+,D#JOO$56	fI. 7 - )r   c                  $   \         P                  p \         P                  ! 4       p\        VR R7      p\	        VP
                  R 4       \        \        W^4       \        VRR7      p\	        VP
                  R4       \	        V ! V^4      ^4       R# )zbad signature)r   zdouble (double, int *, void *)N)r   test_call_simpler6   r   r   r   ra   r   )rb   r    
llcallables      r   test_signature_overriderw      sr    --F113D!$/BJ%%7*f!4!$2RSJ%%'GH
A&*r   c                  f   a V3R  loV3R lp \         P                  4        F  pV ! V4       K  	  R# )c                 T   <a V ^ 8:  d   ^# S! VV3R lV ^,
          4      p^V,          # )r   c                    < S! V S4      # r1   r2   rY   callbackrb   s   &r   r3   5test_threadsafety.<locals>.callback.<locals>.<lambda>   s    8Av#6r   r2   )r   rb   resr|   s   &f r   r|   #test_threadsafety.<locals>.callback   s'    66A>CS5Lr   c                 V  <a aa \         S ,          o . o^
oVV VV3R lp\        ^4       Uu. uF  p\        P                  ! VR7      NK  	  ppV F  pVP	                  4        K  	  V F  pVP                  4        K  	  \        SRS,          .\        V4      ,          4       R# u upi )
   c                  r   < \         P                  ! R 4       S! VV3R lS4      p SP                  V 4       R# )g{Gz?c                    < S! V S4      # r1   r2   r{   s   &r   r3   ?test_threadsafety.<locals>.check.<locals>.run.<locals>.<lambda>   s    !V!4r   N)timesleepappend)rr|   rb   countresultss    r   run-test_threadsafety.<locals>.check.<locals>.run   s(    JJt4e<ANN1r   )targetr	   N)r^   range	threadingThreadstartjoinr   len)rb   r   jthreadsthreadr   r   r|   s   f    @@r   rc    test_threadsafety.<locals>.check   s    	 	
 :?rCA9##3/CFLLN FKKM  	WsEzl3w<78 Ds    B&N)r^   rf   )rc   rb   r|   s     @r   test_threadsafetyr      s&    9( ,,.f !r   r1   )!numpy.testingr   r   r   r   ra   r   r   r   
scipy._libr   r;   r   scipy._lib._ccallbackr   r   r   r!   r'   r*   ru   test_call_nodatatest_call_nonlocaltest_call_cythonr^   r_   rm   test_get_data_capsuler`   rh   rs   rw   r   r2   r   r   <module>r      s   / *     = & 2 
>
$ o..o..22$55	 %? C9
 HB F< R	$ D H> 		 
N44
/8/D
+r   