+
    :i'                         ^ RI t ^ RIt^ RIHtHt ^ RIHu Hu H	t
 ^ RIHtHt ^ RIHtHt ^ RIHu Ht ^ RItRR/tRR/t] ! R R	]4      4       t]R
8X  d   ]P4                  ! 4        R# R# )    N)jitnjit)typeserrors)TestCaseskip_unless_cffiforceobjTnopythonc                      a  ] tR t^t o RtR tR t]3R ltR t	R t
R t]3R ltR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )TestCFFIFc                Z    \         P                  ! 4        \         P                  ! 4        R # N)modinitinit_oolselfs   &S/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_cffi.pysetUpTestCFFI.setUp   s    
    c                4   \         P                  ! \        P                  P	                  \        P
                  4      4      pV P                  \        VP                  4      ^4       V P                  VP                  ^ ,          \        P                  4       R# )   N)cffi_supportmap_typer   ffitypeofcffi_sinassertEquallenargsr   double)r   	signatures   & r   test_type_mapTestCFFI.test_type_map   sY     ))#''..*FG	Y^^,a0*ELL9r   c                    \        \        P                  33/ VB ! V4      pR F!  pV P                  V! V4      V! V4      4       K#  	  R# )g333333?N)g333333r   g?gQ	@)r   r   r"   assertPreciseEqual)r   pyfuncflagscfuncxs   &&&  r   _test_functionTestCFFI._test_function"   s>    U\\O-u-f5)A##F1IuQx8 *r   c                D    V P                  \        P                  4       R # r   )r-   r   use_cffi_sinr   s   &r   test_sin_functionTestCFFI.test_sin_function(   s    C,,-r   c                    \         P                  p\        R4      ! V4      pV P                  V! 4       R 4       V P                  V! 4       R 4       R# )TN )r   use_cffi_boolean_truer   r   r   r)   r+   s   &  r   test_bool_function_oolTestCFFI.test_bool_function_ool+   s?    **R	&!4($'r   c                P    V P                  \        P                  \        R 7       R# )r*   N)r-   r   r0   no_pyobj_flagsr   s   &r   test_sin_function_npmTestCFFI.test_sin_function_npm1   s    C,,NCr   c                D    V P                  \        P                  4       R # r   )r-   r   use_cffi_sin_ool)r   r*   s   &&r   test_sin_function_oolTestCFFI.test_sin_function_ool4   s    C001r   c                P    V P                  \        P                  \        R 7       R# r:   )r-   r   r?   r;   r   s   &r   test_sin_function_npm_ool"TestCFFI.test_sin_function_npm_ool7   s    C00Gr   c                D    V P                  \        P                  4       R # r   )r-   r   use_two_funcsr   s   &r   test_two_funcsTestCFFI.test_two_funcs:   s    C--.r   c                D    V P                  \        P                  4       R # r   )r-   r   use_two_funcs_oolr   s   &r   test_two_funcs_oolTestCFFI.test_two_funcs_ool>   s    C112r   c                   \         P                  p\        R R7      ! V4      p\         P                  \         P                  R3\         P                  \         P                  R3\         P                  \         P                  R3\         P                  \         P                  R3\         P
                  \         P                  R3\         P
                  \         P                  R3\         P                  \         P
                  R3\         P                  \         P
                  R3\         P                  \         P                  R3\         P                  \         P                  R3\         P                  \         P
                  R3\         P                  \         P
                  R33 F)  w  r4pV! W4V4      pV! W4V4      pV P                  Wv4       K+  	  V P                  \        VP                  4      ^VP                  4       R# )Tr
   g      ?Ng      )
r   use_func_pointerr   r   cffi_coscffi_sin_oolcffi_cos_oolr   r    	overloads)r   r)   r+   fafbr,   expectedgots   &       r   test_function_pointerTestCFFI.test_function_pointerA   se   %%T"6*\\3<<-\\3<<.\\3<<-\\3<<.s//5s//6s//5s//6\\3++S1\\3++T2\\3++S1\\3++T24KRQ ba(H"CS+4" 	U__-q%//Br   c                    \         P                  p\        R R7      ! V4      pV P                  V! 4       V! 4       4       R# )TrN   N)r   use_user_defined_symbolsr   r   r6   s   &  r   test_user_defined_symbols"TestCFFI.test_user_defined_symbolsW   s0    --T"6*57+r   c                ~    V! W#4       \         P                  P                  V\         P                  ! V4      4       R # r   )nptestingassert_allclosesin)r   r+   r,   ys   &&&&r   check_vector_sinTestCFFI.check_vector_sin\   s%    a


""1bffQi0r   c                    \         P                  ! ^
4      P                  V4      p\         P                  ! V4      p\	        RR7      ! V4      pV P                  WSV4       R# )
   TrN   N)r_   arangeastype
zeros_liker   rd   )r   r)   dtyper,   rc   r+   s   &&&   r   _test_from_buffer_numpy_array&TestCFFI._test_from_buffer_numpy_array`   sG    IIbM  'MM!T"6*e*r   c                b    V P                  \        P                  \        P                  4       R # r   )rl   r   vector_sin_float32r_   float32r   s   &r   test_from_buffer_float32!TestCFFI.test_from_buffer_float32f       **3+A+A2::Nr   c                b    V P                  \        P                  \        P                  4       R # r   )rl   r   vector_sin_float64r_   float64r   s   &r   test_from_buffer_float64!TestCFFI.test_from_buffer_float64i   rs   r   c                   ^
p\         P                  ! V4      \         P                  ! V^,          V^,          4      R,          ,           p\         P                  ! V4      p\        RR7      ! \        P
                  4      pV! W#4       \         P                  P                  VP                  V4       \        RR7      ! \        P                  4      pV! W#4       \         P                  P                  VP                  V4       R# )rg   y              ?TrN   N)r_   rh   zerosr   r   vector_extract_realr`   assert_equalrealvector_extract_imagimag)r   nr,   rc   
real_cfunc
imag_cfuncs   &     r   test_from_buffer_struct TestCFFI.test_from_buffer_structl   s    IIaL299QUAE2R77HHQK$'(?(?@
1


*$'(?(?@
1


*r   c                    \         P                  p\        R R7      ! V4      p\        P                  ! R\	        ^
4      4      p\        P                  ! R^ .\        V4      ,          4      pV P                  W#V4       R# )TrN   fN)r   ro   r   arrayranger    rd   )r   r)   r+   r,   rc   s   &    r   test_from_buffer_pyarray!TestCFFI.test_from_buffer_pyarrayw   sZ    ''T"6*KKU2Y'KKaS3q6\*e*r   c                   \         P                  p\        R R7      ! V4      p\        P                  ! ^
4      P                  \        P                  4      R,          p\        P                  ! V4      pV P                  \        P                  4      ;_uu_ 4       pV! W44       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)TrN   :NN   Nz3from_buffer() unsupported on non-contiguous buffers)r   ro   r   r_   rh   ri   rp   rj   assertRaisesr   TypingErrorassertInstr	exception)r   r)   r+   r,   rc   raisess   &     r   test_from_buffer_errorTestCFFI.test_from_buffer_error~   s    ''T"6*IIbM  ,S1MM!v1122f!K 3K&**+	- 32s   	CC"	c                b   \         P                  ! ^^.R\         P                  R7      p\         P                  ! V4      p\         P                  ! ^^.^^..R\         P                  R7      p\         P                  ! V4      p\         P                  ! ^^.R\         P                  R7      p\         P                  ! V4      p\         P                  ! ^^.^^..R\         P                  R7      p\         P                  ! V4      pVP	                  R4      p	\
        P                  p
\        RR7      ! V
4      pV P                  WV4       V! W44       \         P                  ! V4      p^ ^ .V^&   \         P                  P                  WL4       V P                  WV4       V P                  \        P                  4      ;_uu_ 4       pV! Wx4       RRR4       \         P                  P                  Wy4       V P                  R\!        XP"                  4      4       R#   + '       g   i     LV; i)	r   C)orderrk   FKTrN   NzAfrom_buffer() only supports multidimensional arrays with C layout)r_   r   rp   rj   copyr   ro   r   rd   rb   r`   ra   r   r   r   r   r   r   )r   c1c1_zerosc2c2_zerosf1f1_zerosf2f2_zerosf2_copyr)   r+   sin_c2r   s   &             r   "test_from_buffer_numpy_multi_array+TestCFFI.test_from_buffer_numpy_multi_array   s   XXq!fCrzz:==$XX1v1v&cD==$XXq!fCrzz:==$XX1v1v&cD==$''#,''T"6*e2bFq	


""84e2v1122f" 3


""2/Y&**+	- 32s   	HH.	c                   aa \         P                  o\        RR7      V3R l4       o\        RR7      VV3R l4       pRpV P                  V! V4      S! V4      S! V^,           4      ,           4       R# )zR
Issue #2263

Linkage error due to multiple definition of global tracking symbol.
TrN   c                    < S! V 4      # r   r4   )r,   my_sins   &r   inner2TestCFFI.test_indirect_multiple_use.<locals>.inner   s    !9r   c                 <   < S! V 4      S! V ^,           4      ,           # )r   r4   )r,   r   r   s   &r   foo0TestCFFI.test_indirect_multiple_use.<locals>.foo   s    8fQUm++r   g+?N)r   r   r   r   )r   r   r,   r   r   s   &  @@r   test_indirect_multiple_use#TestCFFI.test_indirect_multiple_use   sl      
d		 
	 
d		, 
	, QVAE]!:;r   r4   N)__name__
__module____qualname____firstlineno___numba_parallel_test_r   r$   enable_pyobj_flagsr-   r1   r7   r<   r@   rC   rG   rK   rX   r\   rd   rl   rq   rw   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     
 ":
 ,> 9.(D += 2H/3C,,
1+OO	++	--8< <r   r   __main__)r   numpyr_   numbar   r   numba.core.typing.cffi_utilscoretyping
cffi_utilsr   
numba.corer   r   numba.tests.supportr   r   numba.tests.cffi_usecasestestscffi_usecasesr   unittestr   r;   r   r   mainr4   r   r   <module>r      ss       3 3 $ : ( '  !$' d# f<x f< f<R zMMO r   