Ë
    èÿæi›-  ã                   óÒ  — d dl Zd dlZd dlmZ d dlmZmZ d dlm	Z	 d dl
mZmZmZ d dlmZ d dlmZ d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z' G d„ dee«      Z( G d „ d!eej                  «      Z) G d"„ d#eej                  «      Z* G d$„ d%ee«      Z+ G d&„ d'ee«      Z, G d(„ d)ee«      Z-e.d*k(  r ej^                  «        yy)+é    N)Ú
from_dtype)ÚnjitÚtypeof)Útypes)ÚTestCaseÚMemoryLeakMixinÚskip_parfors_unsupported)ÚTypingError)Újitclassc                 ó   — | j                   S ©N©Údtype©Úas    úp/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_array_attr.pyÚarray_dtyper      s   € Ø�7‰7€Nó    c                 ó8   — | j                  |j                  «      S r   )Úviewr   )r   Úbs     r   Ú	use_dtyper      s   € Ø�6‰6�!—'‘'‹?Ðr   c                 óF   — | j                   t        j                   d«      k(  S )NÚint64)r   Únpr   s    r   Údtype_eq_int64r      s   € Ø�7‰7”b—h‘h˜wÓ'Ñ'Ð'r   c                 ó   — | j                   S r   )Úitemsizer   s    r   Úarray_itemsizer      s   € Ø�:‰:Ðr   c                 ó   — | j                   S r   )Únbytesr   s    r   Úarray_nbytesr"      s   € Ø�8‰8€Or   c                 ó    — | j                   |   S r   )Úshape©r   Úis     r   Úarray_shaper'   !   s   € Ø�7‰7�1‰:Ðr   c                 ó    — | j                   |   S r   )Ústridesr%   s     r   Úarray_stridesr*   %   s   € Ø�9‰9�Q‰<Ðr   c                 ó   — | j                   S r   )Úndimr   s    r   Ú
array_ndimr-   )   ó   € Ø�6‰6€Mr   c                 ó   — | j                   S r   ©Úsizer   s    r   Ú
array_sizer2   -   r.   r   c                 ó.   — | j                   j                  S r   )ÚflagsÚ
contiguousr   s    r   Úarray_flags_contiguousr6   1   s   € Ø�7‰7×ÑÐr   c                 ó.   — | j                   j                  S r   )r4   Úc_contiguousr   s    r   Úarray_flags_c_contiguousr9   4   ó   € Ø�7‰7×ÑÐr   c                 ó.   — | j                   j                  S r   )r4   Úf_contiguousr   s    r   Úarray_flags_f_contiguousr=   7   r:   r   c                 ó.   — | j                   j                  S r   )Úfr   r   s    r   Únested_array_itemsizer@   ;   s   € Ø�3‰3�<‰<Ðr   c                 ó.   — | j                   j                  S r   )r?   r!   r   s    r   Únested_array_nbytesrB   >   s   € Ø�3‰3�:‰:Ðr   c                 ó.   — | j                   j                  S r   )r?   r$   r   s    r   Únested_array_shaperD   A   s   € Ø�3‰3�9‰9Ðr   c                 ó.   — | j                   j                  S r   )r?   r)   r   s    r   Únested_array_stridesrF   E   s   € Ø�3‰3�;‰;Ðr   c                 ó.   — | j                   j                  S r   )r?   r,   r   s    r   Únested_array_ndimrH   I   ó   € Ø�3‰3�8‰8€Or   c                 ó.   — | j                   j                  S r   )r?   r1   r   s    r   Únested_array_sizerK   M   rI   r   c                 ó$   — | |   }|j                   S r   r0   )Úbufr&   Úsliceds      r   Úsize_after_slicing_usecaserO   Q   s   € Ø�‰V€Fà�;‰;Ðr   c                 ó.   — | j                   j                  S r   )ÚctypesÚdata©Úarrs    r   Úarray_ctypes_datarU   W   s   € Ø�:‰:�?‰?Ðr   c                 ó   — | j                   S r   )ÚrealrS   s    r   Ú
array_realrX   [   ó   € Ø�8‰8€Or   c                 ó   — | j                   S r   )ÚimagrS   s    r   Ú
array_imagr\   _   rY   r   c                   óx   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚTestArrayAttrc                 óž   •— t         t        | �  «        t        j                  dt        j
                  ¬«      j                  dd«      | _        y )Né   r   é   é   )Úsuperr^   ÚsetUpr   ÚarangeÚint32Úreshaper   )ÚselfÚ	__class__s    €r   rd   zTestArrayAttr.setUpe   s3   ø€ ÜŒm˜TÑ(Ô*Ü—‘˜2¤R§X¡XÔ.×6Ñ6°q¸!Ó<ˆ�r   c                 óö   — t        |«      }| j                  ||f«      } ||«      }| j                   ||«      |«       | j                  ||j                  d¬«      f«      }| j                   ||«      |«       y )NÚA)Úlayout)r   Ú	get_cfuncÚassertPreciseEqualÚcopy)rh   ÚpyfuncrT   ÚarytyÚcfuncÚexpecteds         r   Úcheck_unaryzTestArrayAttr.check_unaryi   sl   € Ü�s“ˆØ—‘˜v¨ xÓ0ˆÙ˜#“;ˆØ×Ñ¡ c£
¨HÔ5à—‘˜v¨¯
©
¸#¨
Ó(>Ð'@ÓAˆØ×Ñ¡ c£
¨HÕ5r   c                 óÊ  — | j                  || j                  «       | j                  || j                  j                  «       | j                  || j                  d d d…   «       t        j                  dg«      j                  d«      }| j                  ||«       t        j                  d«      }| j                  ||«       | j                  ||j                  d«      «       y )Né   é*   © r   )é   r   rv   )rt   r   ÚTr   Úarrayrg   Úzeros)rh   rp   rT   s      r   Úcheck_unary_with_arraysz%TestArrayAttr.check_unary_with_arraysr   s¬   € Ø×Ñ˜ §¡Ô(Ø×Ñ˜ §¡§¡Ô*Ø×Ñ˜ §¡©¨!¨¡Ô-ä�h‰h˜�t‹n×$Ñ$ RÓ(ˆØ×Ñ˜ Ô%ä�h‰h�q‹kˆØ×Ñ˜ Ô%ð 	×Ñ˜ §¡¨YÓ!7Õ8r   c                 ó$   —  t        |«      |«      S r   )r   )rh   rp   Úargspecs      r   rm   zTestArrayAttr.get_cfunc€   s   € ØŒt�G‹}˜VÓ$Ð$r   c                 ó2  — t         }| j                  |t        j                  d d …d d …f   t        j                  f«      }t	        | j
                  j                  «      D ]6  }| j                   || j
                  |«       || j
                  |«      «       Œ8 y r   )r'   rm   r   rf   Úranger   r,   ÚassertEqual©rh   rp   rr   r&   s       r   Ú
test_shapezTestArrayAttr.test_shapeƒ   sj   € ÜˆØ—‘˜v¬¯©²A²a°CÑ(8¼%¿+¹+Ð'FÓGˆä�t—v‘v—{‘{Ö#ˆAØ×Ñ™V D§F¡F¨AÓ.±°d·f±f¸aÓ0@ÕAñ $r   c                 ó2  — t         }| j                  |t        j                  d d …d d …f   t        j                  f«      }t	        | j
                  j                  «      D ]6  }| j                   || j
                  |«       || j
                  |«      «       Œ8 y r   )r*   rm   r   rf   r�   r   r,   r‚   rƒ   s       r   Útest_strideszTestArrayAttr.test_stridesŠ   sj   € ÜˆØ—‘˜v¬¯©²A²a°CÑ(8¼%¿+¹+Ð'FÓGˆä�t—v‘v—{‘{Ö#ˆAØ×Ñ™V D§F¡F¨AÓ.±°d·f±f¸aÓ0@ÕAñ $r   c                 ó.   — | j                  t        «       y r   )r}   r-   ©rh   s    r   Ú	test_ndimzTestArrayAttr.test_ndim‘   ó   € Ø×$Ñ$¤ZÕ0r   c                 ó.   — | j                  t        «       y r   )r}   r2   rˆ   s    r   Ú	test_sizezTestArrayAttr.test_size”   rŠ   r   c                 ó.   — | j                  t        «       y r   )r}   r   rˆ   s    r   Útest_itemsizezTestArrayAttr.test_itemsize—   s   € Ø×$Ñ$¤^Õ4r   c                 ó.   — | j                  t        «       y r   )r}   r"   rˆ   s    r   Útest_nbyteszTestArrayAttr.test_nbytesš   s   € Ø×$Ñ$¤\Õ2r   c                 ó  — t         }| j                  || j                  «       t        j                  dt        j
                  fdt        j
                  fg«      }t        j                  d|¬«      }| j                  ||«       y )NÚxÚyra   r   )r   rt   r   r   r   Úint8r|   )rh   rp   r   rT   s       r   Ú
test_dtypezTestArrayAttr.test_dtype�   s^   € ÜˆØ×Ñ˜ §¡Ô(Ü—‘˜3¤§¡˜.¨3´·±¨.Ð9Ó:ˆÜ�h‰h�q Ô&ˆØ×Ñ˜ Õ%r   c                 ó&  — t        j                  dt         j                  ¬«      }t        }| j	                  |t        | j                  «      t        |«      f«      } || j                  |«      }| j                   || j                  |«      |«       y ©Nry   r   )r   ÚemptyÚint16r   rm   r   r   rn   )rh   r   rp   rr   rs   s        r   Útest_use_dtypezTestArrayAttr.test_use_dtype¤   sg   € ä�H‰H�QœbŸh™hÔ'ˆÜˆØ—‘˜v¬¨t¯v©v«¼¸q»	Ð'BÓCˆÙ˜$Ÿ&™& !Ó$ˆØ×Ñ¡ d§f¡f¨aÓ 0°(Õ;r   c                 óä   — t         }| j                  |t        j                  dt        j                  ¬«      «       | j                  |t        j                  dt        j
                  ¬«      «       y r—   )r   rt   r   r˜   r™   r   ©rh   rp   s     r   Útest_dtype_equalzTestArrayAttr.test_dtype_equal¬   sE   € äˆØ×Ñ˜¤§¡¨!´2·8±8Ô!<Ô=Ø×Ñ˜¤§¡¨!´2·8±8Ô!<Õ=r   c                 ó.   — | j                  t        «       y r   )r}   r6   rˆ   s    r   Útest_flags_contiguousz#TestArrayAttr.test_flags_contiguous²   s   € Ø×$Ñ$Ô%;Õ<r   c                 ó.   — | j                  t        «       y r   )r}   r9   rˆ   s    r   Útest_flags_c_contiguousz%TestArrayAttr.test_flags_c_contiguousµ   ó   € Ø×$Ñ$Ô%=Õ>r   c                 ó.   — | j                  t        «       y r   )r}   r=   rˆ   s    r   Útest_flags_f_contiguousz%TestArrayAttr.test_flags_f_contiguous¸   r¢   r   )Ú__name__Ú
__module__Ú__qualname__rd   rt   r}   rm   r„   r†   r‰   rŒ   rŽ   r�   r•   rš   r�   rŸ   r¡   r¤   Ú__classcell__©ri   s   @r   r^   r^   c   sU   ø„ ô=ò6ò9ò%òBòBò1ò1ò5ò3ò&ò<ò>ò=ò?ö?r   r^   c                   óH   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ˆ xZS )	ÚTestNestedArrayAttrc                 ó  •— t         t        | �  «        t        j                  dt        j
                  fdt        j
                  dfg«      }t        j                  d|«      d   | _        t        | j                  j                  «      | _	        y )Nr   r?   )rv   rb   ry   r   )
rc   r«   rd   r   r   rf   Úrecarrayr   r   Únbrecord)rh   r   ri   s     €r   rd   zTestNestedArrayAttr.setUp½   sb   ø€ ÜÔ! 4Ñ.Ô0Ü—‘˜3¤§¡˜/¨C´·±¸6Ð+BÐCÓDˆÜ—‘˜Q Ó& qÑ)ˆŒÜ" 4§6¡6§<¡<Ó0ˆ�r   c                 ó:   —  t        | j                  f«      |«      S r   )r   r®   rœ   s     r   rm   zTestNestedArrayAttr.get_cfuncÃ   s   € Ø%Œt�T—]‘]Ð$Ó% fÓ-Ð-r   c                 ó–   — t         }| j                  |«      }| j                   || j                  «       || j                  «      «       y r   )rD   rm   r‚   r   ©rh   rp   rr   s      r   r„   zTestNestedArrayAttr.test_shapeÆ   s5   € Ü#ˆØ—‘˜vÓ&ˆà×Ñ™ §¡›©¨t¯v©v«Õ7r   c                 ó–   — t         }| j                  |«      }| j                   || j                  «       || j                  «      «       y r   )rF   rm   r‚   r   r±   s      r   r†   z TestNestedArrayAttr.test_stridesÌ   s5   € Ü%ˆØ—‘˜vÓ&ˆà×Ñ™ §¡›©¨t¯v©v«Õ7r   c                 ó–   — t         }| j                  |«      }| j                   || j                  «       || j                  «      «       y r   )rH   rm   r‚   r   r±   s      r   r‰   zTestNestedArrayAttr.test_ndimÒ   ó5   € Ü"ˆØ—‘˜vÓ&ˆà×Ñ™ §¡›©¨t¯v©v«Õ7r   c                 ó–   — t         }| j                  |«      }| j                   || j                  «       || j                  «      «       y r   )rB   rm   r‚   r   r±   s      r   r�   zTestNestedArrayAttr.test_nbytesØ   s5   € Ü$ˆØ—‘˜vÓ&ˆà×Ñ™ §¡›©¨t¯v©v«Õ7r   c                 ó–   — t         }| j                  |«      }| j                   || j                  «       || j                  «      «       y r   )rK   rm   r‚   r   r±   s      r   rŒ   zTestNestedArrayAttr.test_sizeÞ   r´   r   c                 ó–   — t         }| j                  |«      }| j                   || j                  «       || j                  «      «       y r   )r@   rm   r‚   r   r±   s      r   rŽ   z!TestNestedArrayAttr.test_itemsizeä   s5   € Ü&ˆØ—‘˜vÓ&ˆà×Ñ™ §¡›©¨t¯v©v«Õ7r   )r¥   r¦   r§   rd   rm   r„   r†   r‰   r�   rŒ   rŽ   r¨   r©   s   @r   r«   r«   ¼   s+   ø„ ô1ò.ò8ò8ò8ò8ò8ö8r   r«   c                   ó   — e Zd Zd„ Zy)ÚTestSlicedArrayAttrc                 ó°  — t         }t        |«      }t        j                  d«      j	                  dd«      }t        |j                  d   «      D ]"  }| j                   |||«       |||«      «       Œ$ t        j                  d«      j	                  ddd«      }t        |j                  d   «      D ]"  }| j                   |||«       |||«      «       Œ$ y )Né
   rv   rb   r   é   é   )rO   r   r   re   rg   r�   r$   r‚   )rh   rp   rr   rT   r&   s        r   Útest_size_after_slicingz+TestSlicedArrayAttr.test_size_after_slicingì   s®   € Ü+ˆÜ�V“ˆÜ�i‰i˜Ó×&Ñ& q¨!Ó,ˆÜ�s—y‘y ‘|Ö$ˆAØ×Ñ™V C¨›^©U°3¸«]Õ;ð %ä�i‰i˜	Ó"×*Ñ*¨1¨a°Ó3ˆÜ�s—y‘y ‘|Ö$ˆAØ×Ñ™V C¨›^©U°3¸«]Õ;ñ %r   N)r¥   r¦   r§   r¾   rx   r   r   r¹   r¹   ë   s   „ ó<r   r¹   c                   ó&   — e Zd ZdZd„ Zed„ «       Zy)ÚTestArrayCTypesFc                 óŒ   — t         }t        |«      }t        j                  d«      }| j	                   ||«       ||«      «       y )Nr½   )rU   r   r   re   r‚   )rh   rp   rr   rT   s       r   Útest_array_ctypes_dataz&TestArrayCTypes.test_array_ctypes_dataû   s5   € Ü"ˆÜ�V“ˆÜ�i‰i˜‹lˆØ×Ñ™ ›¡e¨C£jÕ1r   c                 ó  ‡	‡
— ddl m}m}m}mŠ	m}  |||||«      ˆ	fd„«       Š
t        d¬«      ˆ
fd„«       }d} ||«      \  }}| j                  |«       | j                  |t        j                  |«      |z   d   «       y )Nr   )Ú	CFUNCTYPEÚc_void_pÚc_int32Úc_doubleÚc_boolc                 ó`  •— 	 ‰|z  j                  | «      }‰dz  j                  |«      }t        j                  ||t        j                  ¬«      }t        j                  d|t        j                  ¬«      }||j                  z   d   |d<   y# t
        $ r dd l}|j                  «        Y yw xY w)Nry   )Úbufferr   r   TF)Úfrom_addressr   ÚndarrayÚfloat64r1   Ú	ExceptionÚ	tracebackÚprint_exception)	Úinptrr1   ÚoutptrÚinbufÚoutbufr   r   rÏ   rÇ   s	           €r   ÚcallbackzITestArrayCTypes.test_array_ctypes_ref_error_in_parallel.<locals>.callback  s•   ø€ ð
Ø! D™×6Ñ6°uÓ=�Ø" Q™,×4Ñ4°VÓ<�Ü—J‘J˜t¨E¼¿¹ÔD�Ü—J‘J˜q¨´r·z±zÔB�Ø˜AŸF™F™
 A‘��!‘ØøÜò Û Ø×)Ñ)Ô+Ùðús   ƒB	B ÂB-Â,B-T)Úparallelc                 óÒ   •— t        j                  | «      }t        j                  d«      }|j                  }|j                  } ‰|j                  | |j                  «      }||d   fS )Nry   r   )r   Úonesr˜   rQ   rR   )r1   rT   ÚoutÚinctÚoutctÚstatusrÕ   s         €r   ÚfoozDTestArrayCTypes.test_array_ctypes_ref_error_in_parallel.<locals>.foo  sS   ø€ ä—'‘'˜$“-ˆCÜ—(‘(˜1“+ˆCà—:‘:ˆDØ—J‘JˆEá˜dŸi™i¨¨u¯z©zÓ:ˆFØ˜3˜q™6�>Ð!r   r½   )rQ   rÄ   rÅ   rÆ   rÇ   rÈ   r   Ú
assertTruern   r   rØ   )rh   rÄ   rÅ   rÆ   rÈ   rÝ   r1   rÜ   ÚgotrÇ   rÕ   s            @@r   Ú'test_array_ctypes_ref_error_in_parallelz7TestArrayCTypes.test_array_ctypes_ref_error_in_parallel  s„   ù€ ÷ 	JÕIá	�6˜8 W¨hÓ	7ó	ó 
8ð	ô  
�tÔ	ó	"ó 
ð	"ð ˆÙ˜$“i‰ˆ�Ø�‰˜ÔØ×Ñ ¤b§g¡g¨d£m°dÑ&:¸AÑ%>Õ?r   N)r¥   r¦   r§   Ú_numba_parallel_test_rÂ   r	   rà   rx   r   r   rÀ   rÀ   ÷   s#   „ à!Ðò2ð ñ#@ó ñ#@r   rÀ   c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚTestRealImagAttrc                 ó  — t        |«      }d}t        j                  |«      t        j                  |«      dz  z   }| j                   ||«       ||«      «       |j	                  dd«      }| j                   ||«       ||«      «       y )Nr»   y              $@rv   rb   )r   r   re   rn   rg   )rh   rp   rr   r1   rT   s        r   Úcheck_complexzTestRealImagAttr.check_complex)  so   € Ü�V“ˆàˆÜ�i‰i˜‹o¤§	¡	¨$£°#Ñ 5Ñ5ˆØ×Ñ¡ s£©U°3«ZÔ8à�k‰k˜!˜QÓˆØ×Ñ¡ s£©U°3«ZÕ8r   c                 ó.   — | j                  t        «       y r   )rå   rX   rˆ   s    r   Útest_complex_realz"TestRealImagAttr.test_complex_real3  ó   € Ø×Ñœ:Õ&r   c                 ó.   — | j                  t        «       y r   )rå   r\   rˆ   s    r   Útest_complex_imagz"TestRealImagAttr.test_complex_imag6  rè   r   c                 ó  — t         }t        |«      }d}t        j                  ||¬«      }| j	                   ||«       ||«      «       |j                  dd«      }| j	                   ||«       ||«      «       | j                  |j                   ||«      j                  «       | j                  |j                   ||«      j                  «        ||«      }| j                  |d   d«       d|d<   | j                  |d   d«       y )Nr»   r   rv   rb   )r   r   )	rX   r   r   re   rn   rg   r‚   rR   ÚassertNotEqual)rh   r   rp   rr   r1   rT   rW   s          r   Úcheck_number_realz"TestRealImagAttr.check_number_real9  sÙ   € ÜˆÜ�V“ˆàˆÜ�i‰i˜ EÔ*ˆØ×Ñ¡ s£©U°3«ZÔ8à�k‰k˜!˜QÓˆØ×Ñ¡ s£©U°3«ZÔ8à×Ñ˜Ÿ™¡6¨#£;×#3Ñ#3Ô4Ø×Ñ˜Ÿ™¡5¨£:§?¡?Ô3á�S‹zˆØ×Ñ˜C ™I qÔ)ØˆˆT‰
Ø×Ñ˜˜T™ AÕ&r   c                 ó¬   — t         j                  t         j                  t         j                  t         j                  fD ]  }| j                  |«       Œ y)z5
        Testing .real of non-complex dtypes
        N)r   Úuint8rf   Úfloat32rÍ   rí   ©rh   r   s     r   Útest_number_realz!TestRealImagAttr.test_number_realL  ó6   € ô —h‘h¤§¡¬"¯*©*´b·j±jÓAˆEØ×"Ñ" 5Õ)ñ Br   c                 ó:  — t         }t        |«      }d}t        j                  ||¬«      }| j	                   ||«       ||«      «       |j                  dd«      }| j	                   ||«       ||«      «       | j                   ||«      j                  «       t        j                  |«      j                  «       «        ||«      }| j                  t        «      5 }d|d<   d d d «       | j                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)Nr»   r   rv   rb   ry   r   z#assignment destination is read-only)r\   r   r   re   rn   rg   r‚   ÚtolistÚ
zeros_likeÚassertRaisesÚ
ValueErrorÚstrÚ	exception)rh   r   rp   rr   r1   rT   r[   Úraisess           r   Úcheck_number_imagz"TestRealImagAttr.check_number_imagS  sã   € ÜˆÜ�V“ˆàˆÜ�i‰i˜ EÔ*ˆØ×Ñ¡ s£©U°3«ZÔ8à�k‰k˜!˜QÓˆØ×Ñ¡ s£©U°3«ZÔ8à×Ñ™˜s›×*Ñ*Ó,¬b¯m©m¸CÓ.@×.GÑ.GÓ.IÔJá�S‹zˆØ×ÑœzÔ*¨fØˆD�‰G÷ +à×ÑÐ>Ü˜V×-Ñ-Ó.õ	0÷ +Ð*ús   ÃDÄDc                 ó¬   — t         j                  t         j                  t         j                  t         j                  fD ]  }| j                  |«       Œ y)z5
        Testing .imag of non-complex dtypes
        N)r   rï   rf   rð   rÍ   rü   rñ   s     r   Útest_number_imagz!TestRealImagAttr.test_number_imagf  ró   r   c                 ó¸  — t        j                  dt         j                  fdt         j                  fg«      }t        j                  d|¬«      }t         j
                  j                  |j                  «      |d<   t         j
                  j                  |j                  «      dz  |d<   | j                  t        |«      |«       | j                  t        |«      j                  «       t        j                  |«      j                  «       «       t        t        «      }t        t        «      }| j                  t        «      5 } ||«       d d d «       | j!                  dt#        j$                  «      «       | j                  t        «      5 } ||«       d d d «       | j!                  dt#        |j$                  «      «       y # 1 sw Y   ŒzxY w# 1 sw Y   Œ;xY w)NrW   r[   r½   r   y        ÍÌÌÌÌÌô?z&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ú   )rh   ÚrectyprT   Újit_array_realÚjit_array_imagrû   s         r   Útest_record_realz!TestRealImagAttr.test_record_realm  sU  € Ü—‘˜F¤B§J¡JÐ/°&¼"¿,¹,Ð1GÐHÓIˆÜ�h‰h�q Ô'ˆÜ—i‘i×&Ñ& s§x¡xÓ0ˆˆF‰Ü—i‘i×&Ñ& s§x¡xÓ0°4Ñ7ˆˆF‰ð 	�‰”j “o sÔ+à×Ñœ C›×/Ñ/Ó1´2·=±=ÀÓ3E×3LÑ3LÓ3NÔOô œjÓ)ˆÜœjÓ)ˆà×Ñœ{Ô+¨vÙ˜3Ô÷ ,à�‰Ð>Ü˜&×*Ñ*Ó+ô	-ð ×Ñœ{Ô+¨vÙ˜3Ô÷ ,à�‰Ð>Ü˜&×*Ñ*Ó+õ	-÷ ,Ð+ú÷
 ,Ð+ús   Å	GÆ	GÇGÇGN)r¥   r¦   r§   rå   rç   rê   rí   rò   rü   rþ   r  rx   r   r   rã   rã   (  s*   „ ò9ò'ò'ò'ò&*ò0ò&*ó-r   rã   c                   ó   — e Zd ZdZd„ Zy)ÚTestJitclassFlagsSegfaultz@Regression test for: https://github.com/numba/numba/issues/4775 c                 ó¤   — t        t        «       «       G d„ dt        «      «       } |«       }|j                  t	        j
                  d«      «       y )Nc                   ó   — e Zd Zd„ Zd„ Zy)ú)TestJitclassFlagsSegfault.test.<locals>.Bc                  ó   — y r   rx   rˆ   s    r   Ú__init__z2TestJitclassFlagsSegfault.test.<locals>.B.__init__�  s   € Ør   c                 ó   — |j                    y r   )r4   )rh   ÚXs     r   rÝ   z-TestJitclassFlagsSegfault.test.<locals>.B.foo“  s	   € Ø—“r   N)r¥   r¦   r§   r  rÝ   rx   r   r   ÚBr  �  s   „ òór   r  ra   )r   ÚdictÚobjectrÝ   r   rØ   )rh   r  ÚZs      r   ÚtestzTestJitclassFlagsSegfault.test‹  s?   € ä	”$“&Ó	ô	”ó 	ó 
ð	ñ ‹CˆØ	�‰Œb�g‰g�a‹jÕr   N)r¥   r¦   r§   Ú__doc__r  rx   r   r   r	  r	  ˆ  s
   „ ÙJór   r	  Ú__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ã   r	  r¥   Úmainrx   r   r   Ú<module>r!     s  ðÛ ã Ý -ß Ý ÷;ñ ;å )Ý 'òòò(òòòòòòòò ò òòòòòòòòòòôV?�O Xô V?ôr,8˜/¨8×+<Ñ+<ô ,8ô^	<˜/¨8×+<Ñ+<ô 	<ô.@�o xô .@ôb^-�¨ô ^-ô@ °ô ð" ˆzÒØ€H‡M�M…Oð r   