+
    :i-                        ^ RI t^ RIt^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
HtHtHt ^ RIHt ^ RIH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 R t!R t"R t#R t$R t%R t&R t' ! R R]]4      t( ! R  R!]]P                  4      t) ! R" R#]]P                  4      t* ! R$ R%]]4      t+ ! R& R']]4      t, ! R( R)]]4      t-].R*8X  d   ]P^                  ! 4        R# R# )+    N)
from_dtype)njittypeof)types)TestCaseMemoryLeakMixinskip_parfors_unsupported)TypingError)jitclassc                     V P                   # Ndtypeas   &Y/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_array_attr.pyarray_dtyper      s    77N    c                 8    V P                  VP                  4      # r   )viewr   )r   bs   &&r   	use_dtyper      s    66!''?r   c                 H    V P                   \        P                   ! R 4      8H  # )int64)r   npr   s   &r   dtype_eq_int64r      s    77bhhw'''r   c                     V P                   # r   )itemsizer   s   &r   array_itemsizer      s    ::r   c                     V P                   # r   )nbytesr   s   &r   array_nbytesr"      s    88Or   c                 (    V P                   V,          # r   )shaper   is   &&r   array_shaper'   !   s    771:r   c                 (    V P                   V,          # r   )stridesr%   s   &&r   array_stridesr*   %   s    99Q<r   c                     V P                   # r   )ndimr   s   &r   
array_ndimr-   )       66Mr   c                     V P                   # r   sizer   s   &r   
array_sizer2   -   r.   r   c                 .    V P                   P                  # r   )flags
contiguousr   s   &r   array_flags_contiguousr6   1   s    77r   c                 .    V P                   P                  # r   )r4   c_contiguousr   s   &r   array_flags_c_contiguousr9   4       77r   c                 .    V P                   P                  # r   )r4   f_contiguousr   s   &r   array_flags_f_contiguousr=   7   r:   r   c                 .    V P                   P                  # r   )fr   r   s   &r   nested_array_itemsizer@   ;   s    33<<r   c                 .    V P                   P                  # r   )r?   r!   r   s   &r   nested_array_nbytesrB   >   s    33::r   c                 .    V P                   P                  # r   )r?   r$   r   s   &r   nested_array_shaperD   A   s    3399r   c                 .    V P                   P                  # r   )r?   r)   r   s   &r   nested_array_stridesrF   E   s    33;;r   c                 .    V P                   P                  # r   )r?   r,   r   s   &r   nested_array_ndimrH   I       3388Or   c                 .    V P                   P                  # r   )r?   r1   r   s   &r   nested_array_sizerK   M   rI   r   c                 *    W,          pVP                   # r   r0   )bufr&   sliceds   && r   size_after_slicing_usecaserO   Q   s    VF;;r   c                 .    V P                   P                  # r   )ctypesdataarrs   &r   array_ctypes_datarU   W   s    ::??r   c                     V P                   # r   )realrS   s   &r   
array_realrX   [       88Or   c                     V P                   # r   )imagrS   s   &r   
array_imagr\   _   rY   r   c                      a a ] tR t^ct oV 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RtVtV ;t# )TestArrayAttrc                   < \         \        V `  4        \        P                  ! ^\        P
                  R7      P                  ^^4      V n        R# )   r   N)superr^   setUpr   arangeint32reshaper   )self	__class__s   &r   rb   TestArrayAttr.setUpe   s3    mT(*2RXX.66q!<r   c                    \        V4      pV P                  W34      pV! V4      pV P                  V! V4      V4       V P                  WP                  R R7      34      pV P                  V! V4      V4       R# )A)layoutN)r   	get_cfuncassertPreciseEqualcopy)rf   pyfuncrT   arytycfuncexpecteds   &&&   r   check_unaryTestArrayAttr.check_unaryi   sh    svx0#;c
H5v

#
(>'@Ac
H5r   c                   V P                  WP                  4       V P                  WP                  P                  4       V P                  WP                  R ,          4       \        P                  ! ^*.4      P                  R4      pV P                  W4       \        P                  ! ^ 4      pV P                  W4       V P                  WP                  R4      4       R# ):NN   N )   r   rv   )rs   r   Tr   arrayre   zeros)rf   ro   rT   s   && r   check_unary_with_arrays%TestArrayAttr.check_unary_with_arraysr   s    (*-hhtn$$R(%hhqk% 	Y!78r   c                $    \        V4      ! V4      # r   )r   )rf   ro   argspecs   &&&r   rl   TestArrayAttr.get_cfunc   s    G}V$$r   c                4   \         pV P                  V\        P                  R,          \        P                  34      p\	        V P
                  P                  4       F7  pV P                  V! V P
                  V4      V! V P
                  V4      4       K9  	  R# NNNN)r   r   )r'   rl   r   rd   ranger   r,   assertEqualrf   ro   rq   r&   s   &   r   
test_shapeTestArrayAttr.test_shape   sf    vC(8%++'FGtvv{{#AVDFFA.dffa0@A $r   c                4   \         pV P                  V\        P                  R,          \        P                  34      p\	        V P
                  P                  4       F7  pV P                  V! V P
                  V4      V! V P
                  V4      4       K9  	  R# r   )r*   rl   r   rd   r   r   r,   r   r   s   &   r   test_stridesTestArrayAttr.test_strides   sf    vC(8%++'FGtvv{{#AVDFFA.dffa0@A $r   c                0    V P                  \        4       R # r   )r|   r-   rf   s   &r   	test_ndimTestArrayAttr.test_ndim       $$Z0r   c                0    V P                  \        4       R # r   )r|   r2   r   s   &r   	test_sizeTestArrayAttr.test_size   r   r   c                0    V P                  \        4       R # r   )r|   r   r   s   &r   test_itemsizeTestArrayAttr.test_itemsize   s    $$^4r   c                0    V P                  \        4       R # r   )r|   r"   r   s   &r   test_nbytesTestArrayAttr.test_nbytes   s    $$\2r   c                
   \         pV P                  WP                  4       \        P                  ! R \        P
                  3R\        P
                  3.4      p\        P                  ! ^VR7      pV P                  W4       R# )xyr   N)r   rs   r   r   r   int8r{   )rf   ro   r   rT   s   &   r   
test_dtypeTestArrayAttr.test_dtype   sZ    (3.3.9:hhq&%r   c                *   \         P                  ! ^\         P                  R7      p\        pV P	                  V\        V P                  4      \        V4      34      pV! V P                  V4      pV P                  V! V P                  V4      V4       R# rx   r   N)r   emptyint16r   rl   r   r   rm   )rf   r   ro   rq   rr   s   &    r   test_use_dtypeTestArrayAttr.test_use_dtype   sg    HHQbhh'vtvvq	'BC$&&!$dffa 0(;r   c                    \         pV P                  V\        P                  ! ^\        P                  R7      4       V P                  V\        P                  ! ^\        P
                  R7      4       R# r   )r   rs   r   r   r   r   rf   ro   s   & r   test_dtype_equalTestArrayAttr.test_dtype_equal   sE    !288!<=!288!<=r   c                0    V P                  \        4       R # r   )r|   r6   r   s   &r   test_flags_contiguous#TestArrayAttr.test_flags_contiguous   s    $$%;<r   c                0    V P                  \        4       R # r   )r|   r9   r   s   &r   test_flags_c_contiguous%TestArrayAttr.test_flags_c_contiguous       $$%=>r   c                0    V P                  \        4       R # r   )r|   r=   r   s   &r   test_flags_f_contiguous%TestArrayAttr.test_flags_f_contiguous   r   r   r   )__name__
__module____qualname____firstlineno__rb   rs   r|   rl   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell____classcell__rg   __classdict__s   @@r   r^   r^   c   s\     =69%BB1153&<>=?? ?r   r^   c                   \   a a ] tR t^t oV 3R ltR tR tR tR tR t	R t
R tR	tVtV ;t# )
TestNestedArrayAttrc                ,  < \         \        V `  4        \        P                  ! R \        P
                  3R\        P
                  R3.4      p\        P                  ! ^V4      ^ ,          V n        \        V P                  P                  4      V n	        R# )r   r?   N)rv      )
ra   r   rb   r   r   rd   recarrayr   r   nbrecord)rf   r   rg   s   & r   rb   TestNestedArrayAttr.setUp   sb    !4.03/C6+BCDQ&q)"466<<0r   c                :    \        V P                  34      ! V4      # r   )r   r   r   s   &&r   rl   TestNestedArrayAttr.get_cfunc   s    T]]$%f--r   c                    \         pV P                  V4      pV P                  V! V P                  4      V! V P                  4      4       R # r   )rD   rl   r   r   rf   ro   rq   s   &  r   r   TestNestedArrayAttr.test_shape   s5    #v&tvv7r   c                    \         pV P                  V4      pV P                  V! V P                  4      V! V P                  4      4       R # r   )rF   rl   r   r   r   s   &  r   r    TestNestedArrayAttr.test_strides   s5    %v&tvv7r   c                    \         pV P                  V4      pV P                  V! V P                  4      V! V P                  4      4       R # r   )rH   rl   r   r   r   s   &  r   r   TestNestedArrayAttr.test_ndim   5    "v&tvv7r   c                    \         pV P                  V4      pV P                  V! V P                  4      V! V P                  4      4       R # r   )rB   rl   r   r   r   s   &  r   r   TestNestedArrayAttr.test_nbytes   s5    $v&tvv7r   c                    \         pV P                  V4      pV P                  V! V P                  4      V! V P                  4      4       R # r   )rK   rl   r   r   r   s   &  r   r   TestNestedArrayAttr.test_size   r   r   c                    \         pV P                  V4      pV P                  V! V P                  4      V! V P                  4      4       R # r   )r@   rl   r   r   r   s   &  r   r   !TestNestedArrayAttr.test_itemsize   s5    &v&tvv7r   )r   r   )r   r   r   r   rb   rl   r   r   r   r   r   r   r   r   r   r   s   @@r   r   r      s2     1.888888 8r   r   c                   &   a  ] tR t^t o R tRtV tR# )TestSlicedArrayAttrc                   \         p\        V4      p\        P                  ! ^
4      P	                  ^^4      p\        VP                  ^ ,          4       F!  pV P                  V! W44      V! W44      4       K#  	  \        P                  ! ^4      P	                  ^^^4      p\        VP                  ^ ,          4       F!  pV P                  V! W44      V! W44      4       K#  	  R# )rv   N)rO   r   r   rc   re   r   r$   r   )rf   ro   rq   rT   r&   s   &    r   test_size_after_slicing+TestSlicedArrayAttr.test_size_after_slicing   s    +Vii&&q!,syy|$AVC^U3]; %ii	"**1a3syy|$AVC^U3]; %r   rw   N)r   r   r   r   r   r   r   r   s   @r   r   r      s     < <r   r   c                   :   a  ] tR t^t o RtR t]R 4       tRtV t	R# )TestArrayCTypesFc                    \         p\        V4      p\        P                  ! ^4      pV P	                  V! V4      V! V4      4       R# )   N)rU   r   r   rc   r   )rf   ro   rq   rT   s   &   r   test_array_ctypes_data&TestArrayCTypes.test_array_ctypes_data   s5    "ViileCj1r   c                  a	a
 ^ RI HpHpHpHo	Hp V! WBW24      V	3R l4       o
\        RR7      V
3R l4       p^pV! V4      w  rxV P                  V4       V P                  V\        P                  ! V4      V,           ^ ,          4       R# )r   )	CFUNCTYPEc_void_pc_int32c_doublec_boolc                   <  SV,          P                  V 4      pS^,          P                  V4      p\        P                  ! W\        P                  R7      p\        P                  ! ^V\        P                  R7      pWUP                  ,           ^ ,          V^ &   R#   \
         d    ^ RIpTP                  4         R# i ; i)rx   )bufferr   TNF)from_addressr   ndarrayfloat64r1   	Exception	tracebackprint_exception)	inptrr1   outptrinbufoutbufr   r   r   r   s	   &&&     r   callbackITestArrayCTypes.test_array_ctypes_ref_error_in_parallel.<locals>.callback  s    
!D66u="Q,44V<JJtDJJqrzzBFF
A!  ))+s   BB C CT)parallelc                    < \         P                  ! V 4      p\         P                  ! ^4      pVP                  pVP                  pS! VP                  WP                  4      pWR^ ,          3# )rx   )r   onesr   rQ   rR   )r1   rT   outinctoutctstatusr   s   &     r   fooDTestArrayCTypes.test_array_ctypes_ref_error_in_parallel.<locals>.foo  sO    ''$-C((1+C::DJJEdiizz:Fq6>!r   N)rQ   r   r   r   r   r   r   
assertTruerm   r   r   )rf   r   r   r   r   r   r1   r   gotr   r   s   &        @@r   'test_array_ctypes_ref_error_in_parallel7TestArrayCTypes.test_array_ctypes_ref_error_in_parallel  s~     	JI	6W	7	 
8	  
t		" 
	" $ibggdmd&:A%>?r   rw   N)
r   r   r   r   _numba_parallel_test_r   r	   r   r   r   r   s   @r   r   r      s&     !2 #@ #@r   r   c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestRealImagAttri(  c                ,   \        V4      p^
p\        P                  ! V4      \        P                  ! V4      R,          ,           pV P                  V! V4      V! V4      4       VP	                  ^^4      pV P                  V! V4      V! V4      4       R# )
   y              $@N)r   r   rc   rm   re   )rf   ro   rq   r1   rT   s   &&   r   check_complexTestRealImagAttr.check_complex)  so    Viio		$# 55sU3Z8kk!QsU3Z8r   c                0    V P                  \        4       R # r   )r  rX   r   s   &r   test_complex_real"TestRealImagAttr.test_complex_real3      :&r   c                0    V P                  \        4       R # r   )r  r\   r   s   &r   test_complex_imag"TestRealImagAttr.test_complex_imag6  r  r   c                $   \         p\        V4      p^
p\        P                  ! WAR7      pV P	                  V! V4      V! V4      4       VP                  ^^4      pV P	                  V! V4      V! V4      4       V P                  VP                  V! V4      P                  4       V P                  VP                  V! V4      P                  4       V! V4      pV P                  VR,          ^4       ^VR&   V P                  VR,          ^4       R# )r  r   N)r   r   )	rX   r   r   rc   rm   re   r   rR   assertNotEqual)rf   r   ro   rq   r1   rT   rW   s   &&     r   check_number_real"TestRealImagAttr.check_number_real9  s    Vii*sU3Z8kk!QsU3Z86#;#3#345:??3SzCIq)T
TA&r   c                    \         P                  \         P                  \         P                  \         P                  3 F  pV P                  V4       K  	  R# )z%
Testing .real of non-complex dtypes
N)r   uint8rd   float32r   r  rf   r   s   & r   test_number_real!TestRealImagAttr.test_number_realL  6     hh"**bjjAE""5) Br   c                \   \         p\        V4      p^
p\        P                  ! WAR7      pV P	                  V! V4      V! V4      4       VP                  ^^4      pV P	                  V! V4      V! V4      4       V P                  V! V4      P                  4       \        P                  ! V4      P                  4       4       V! V4      pV P                  \        4      ;_uu_ 4       p^V^ &   RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)r  r   Nz#assignment destination is read-only)r\   r   r   rc   rm   re   r   tolist
zeros_likeassertRaises
ValueErrorstr	exception)rf   r   ro   rq   r1   rT   r[   raisess   &&      r   check_number_imag"TestRealImagAttr.check_number_imagS  s    Vii*sU3Z8kk!QsU3Z8s**,bmmC.@.G.G.IJSzz**fDG +>V--.	0 +*s   &DD+	c                    \         P                  \         P                  \         P                  \         P                  3 F  pV P                  V4       K  	  R# )z%
Testing .imag of non-complex dtypes
N)r   r  rd   r  r   r"  r  s   & r   test_number_imag!TestRealImagAttr.test_number_imagf  r  r   c                   \         P                  ! R \         P                  3R\         P                  3.4      p\         P                  ! ^VR7      p\         P
                  P                  VP                  4      VR &   \         P
                  P                  VP                  4      R,          VR&   V P                  \        V4      V4       V P                  \        V4      P                  4       \         P                  ! V4      P                  4       4       \        \        4      p\        \        4      pV P                  \        4      ;_uu_ 4       pV! V4       RRR4       V P!                  R\#        XP$                  4      4       V P                  \        4      ;_uu_ 4       pV! V4       RRR4       V P!                  R\#        VP$                  4      4       R#   + '       g   i     L; i  + '       g   i     LJ; i)rW   r[   r   y        ?Nz&cannot access .real of array of Recordz&cannot access .imag of array of Record)r   r   r  	complex64r{   randomr1   assertIsrX   r   r\   r  r  r   r  r
   assertInr  r   )rf   rectyprT   jit_array_realjit_array_imagr!  s   &     r   test_record_real!TestRealImagAttr.test_record_realm  s[   FBJJ/&",,1GHIhhq'ii&&sxx0Fii&&sxx047F 	jos+C//12==3E3L3L3NO j)j){++v3 ,>&**+	- {++v3 ,>&**+	- ,+
 ,+s   	G$	G/G,	/G?	rw   N)r   r   r   r   r  r	  r  r  r  r"  r%  r/  r   r   r   s   @r   r  r  (  s2     9'''&*0&*- -r   r  c                   *   a  ] tR tRt o RtR tRtV tR# )TestJitclassFlagsSegfaulti  z@Regression test for: https://github.com/numba/numba/issues/4775 c                    \        \        4       4       ! R  R\        4      4       pV! 4       pVP                  \        P
                  ! ^4      4       R# )c                   ,   a  ] tR tRt o R tR tRtV tR# ))TestJitclassFlagsSegfault.test.<locals>.Bi  c                    R # r   rw   r   s   &r   __init__2TestJitclassFlagsSegfault.test.<locals>.B.__init__  s    r   c                    VP                    R # r   )r4   )rf   Xs   &&r   r   -TestJitclassFlagsSegfault.test.<locals>.B.foo  s	    r   rw   N)r   r   r   r   r7  r   r   r   r   s   @r   Br5    s      r   r<  N)r   dictobjectr   r   r   )rf   r<  Zs   &  r   testTestJitclassFlagsSegfault.test  s?    	$&		 	 
	 C	bggajr   rw   N)r   r   r   r   __doc__r@  r   r   r   s   @r   r2  r2    s     J r   r2  __main__)0numpyr   unittestnumba.np.numpy_supportr   numbar   r   
numba.corer   numba.tests.supportr   r   r	   numba.core.errorsr
   numba.experimentalr   r   r   r   r   r"   r'   r*   r-   r2   r6   r9   r=   r@   rB   rD   rF   rH   rK   rO   rU   rX   r\   r^   r   r   r   r  r2  r   mainrw   r   r   <module>rM     s     -  ; ; ) '(  V?OX V?r,8/8+<+< ,8^	</8+<+< 	<.@ox .@b^- ^-@ " zMMO r   