+
    ÏÜ³jp"  ã                   ó¶  € ^ RI t ^ RIt ^ RIt. ROt] P                  ! R]R7      t
] P                  ! R4      t^ RIHt RtRR.tR tR t] P                  P%                  R]! ]! ]4      4      ]R	7      R
 4       tRR lt] P                  P%                  R]! ]! ]4      4      ]R	7      ] P                  P%                  R]]R	7      ] P                  P%                  R. RO4      R 4       4       4       t] P                  P%                  R]! ]! ]4      4      ]R	7      ] P                  P%                  R]]R	7      R 4       4       t] P                  P%                  R]! ]! ]4      4      ]R	7      ] P                  P%                  R]]R	7      R 4       4       t] P                  P%                  R]! ]! ]4      4      ]R	7      ] P                  P%                  R]]R	7      R 4       4       t] P                  P%                  R]! ]! ]4      4      ]R	7      ] P                  P%                  R]]R	7      R 4       4       tR#   ] d    ] P                  P                  t ELIi ; i)é    Nzpyarrow.cuda)Úexc_typez
numba.cuda)ÚDeviceNDArrayc                 ó  € \         P                  P                  R 4       \        P	                  4       pVP                  4       p\        P                  4       p\        P                  P                  V4      pW3WC3.V n	        R# )iÒ  N)
ÚnpÚrandomÚseedÚcudaÚContextÚto_numbaÚnb_cudaÚcurrent_contextÚ
from_numbaÚcontext_choices)ÚmoduleÚctx1Únb_ctx1Únb_ctx2Úctx2s   &    Úf/home/luca/screen-checking/.venv/lib/python3.14/site-packages/pyarrow/tests/test_cuda_numba_interop.pyÚsetup_moduler   $   s[   € Ü‡I�I‡N�N�4ÔÜ�<‰<‹>€DØ�m‰m‹o€GÜ×%Ñ%Ó'€GÜ�<‰<×"Ñ" 7Ó+€DØ#˜o°¨Ð?€FÖó    c                 ó
   € V = R # ©N)r   )r   s   &r   Úteardown_moduler   -   s   € ØÒr   Úc)Úidsc                 óÈ  € \         V ,          w  rVP                  VP                  P                  8X  g   Q hVP                  VP                  4       P                  P                  8X  g   Q h\        P
                  P                  V4      pVP                  VP                  8X  g   Q h^
pVP                  V4      pVP                  VP                  P                  8X  g   Q hR# )é
   N)	r   ÚhandleÚvaluer   r	   r
   r   Ú
new_bufferÚcontext)r   ÚctxÚnb_ctxr   ÚsizeÚbufs   &     r   Útest_contextr'   1   s©   € ô " !Õ$�K€CØ�:‰:˜Ÿ™×,Ñ,Ô,Ð,Ð,Ø�:‰:˜Ÿ™›×.Ñ.×4Ñ4Ô4Ð4Ð4Ü�<‰<×"Ñ" 6Ó*€DØ�:‰:˜Ÿ™Ô$Ð$Ð$Ø€DØ
�.‰.˜Ó
€CØ�:‰:˜Ÿ™×+Ñ+Ô+Ð+Ò+r   c                óþ  € \         P                  ! V4      pVR8X  d~   V ^ 8¼  g   Q h\        P                  ! WP                  ,          4      p\         P
                  ! WBR7      p\         P                  P                  ^ ^ÿV \         P                  R7      VR&   WT3# VR8X  dS   \        V RVR7      w  rTVP                  WP                  ,          4      pVP                  V^ VP                  R7       WV3# \        R4      h)	z5Return a host or device buffer with random data.
    Úhost©Údtype)ÚlowÚhighr%   r+   ºNNNÚdevice)Útargetr+   )ÚpositionÚnbyteszinvalid target value)r   r+   ÚpaÚallocate_bufferÚitemsizeÚ
frombufferr   ÚrandintÚuint8Úmake_random_bufferr!   Úcopy_from_hostr%   Ú
ValueError)r%   r0   r+   r#   r&   ÚarrÚdbufs   &&&&   r   r9   r9   >   sÕ   € ô �HŠH�U‹O€EØ�ÔØ�qŒyÐˆyÜ× Ò  §n¡nÕ!4Ó5ˆÜ�mŠm˜CÔ-ˆÜ—‘×"Ñ" q¨s¸Ü)+¯©ð #ó 3ˆˆA‰àˆxˆØ	�8Ô	Ü% d°6ÀÔG‰ˆØ�~‰~˜d§^¡^Õ3Ó4ˆØ×Ñ˜C¨!°C·H±HÐÔ=ØˆyÐÜ
Ð+Ó
,Ð,r   r+   r%   c           	      óœ  € \         V ,          w  r4\        VR WR7      w  rV\        P                  V4      pVP	                  V4      pVP
                  VP
                  8X  g   Q h\        P                  ! VP                  4       VR7      p	\        P                  P                  WY4       V^8¼  Edß   \        V^,          RR4      \        V^,          V^,          ) R4      3 Ff  p
VP	                  Wz,          4      p\        P                  ! VP                  4       VR7      p	\        P                  P                  WZ,          V	4       Kh  	   \        P                  ! \        RR7      ;_uu_ 4        TP	                  TR,          4       RRR4       T^,          pY,,          pYÍ,          T8X  g   Q hTP	                  TP                  YÍ4      4      pTP
                  TP
                  8X  g   Q h\        P                  ! TP                  4       TR7      p	\        P                  P                  YY4       \        P                  ! \        RR7      ;_uu_ 4        TP	                  TP                  YÍ4      R	,          4       RRR4       ^pT^,          pY,T,          ,          pYÍ,          T,          T8X  g   Q hTP	                  TP                  YÍT4      4      pTP
                  TP
                  8X  g   Q h\        P                  ! TP                  4       TR7      p	\        P                  P                  YY4       \        P                  ! \        RR7      ;_uu_ 4        TP	                  TP                  YÍT4      R,          4       RRR4        ! R R4      pVP	                  V! V4      4      pVP
                  VP
                  8X  g   Q h\        P                  ! VP                  4       VR7      p	\        P                  P                  WY4       R#   + '       g   i     EL”; i  + '       g   i     EL²; i  + '       g   i     L½; i)
r/   ©r0   r+   r#   r*   Nzarray data is non-contiguous)ÚmatchºNNé   c                   ó6   a € ] tR t^’t o R t]R 4       tRtV tR# )Útest_from_object.<locals>.MyObjc                ó   € Wn         R # r   ©Údarr)ÚselfrG   s   &&r   Ú__init__Ú(test_from_object.<locals>.MyObj.__init__“   s   € ØŽIr   c                ó.   € V P                   P                  # r   )rG   Ú__cuda_array_interface__)rH   s   &r   rL   Ú8test_from_object.<locals>.MyObj.__cuda_array_interface__–   s   € à—9‘9×5Ñ5Ð5r   rF   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rI   ÚpropertyrL   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   ÚMyObjrD   ’   s   ø‡ € ò	ð 
ñ	6ó 
ö	6r   rV   )r.   rA   )r   r9   r   Ú	to_deviceÚbuffer_from_objectr%   r   r6   Úcopy_to_hostÚtestingÚassert_equalÚsliceÚpytestÚraisesr;   Úreshape)r   r+   r%   r#   r$   r<   ÚcbufrG   Úcbuf2Úarr2ÚsÚrdarrÚs1Ús2Ús3rV   s   &&&             r   Útest_from_objectrh   Q   sF  € ô
 " !Õ$�K€CÜ" 4°ÀÔO�I€Cô ×Ñ˜SÓ!€DØ×"Ñ" 4Ó(€EØ�:‰:˜Ÿ™Ô"Ð"Ð"Ü�=Š=˜×+Ñ+Ó-°UÔ;€DÜ‡J�J×Ñ˜CÔ&ð ˆq…yä˜˜a�  tÓ,Ü˜˜a� 4¨¥7 ¨TÓ2ó4ˆAà×*Ñ*¨4­7Ó3ˆEÜ—=’= ×!3Ñ!3Ó!5¸UÔCˆDÜ�J‰J×#Ñ# C¥F¨DÖ1ñ	4ð ô �]Š]œ:Ø"@÷Cö Cà×"Ñ" 4¨¥9Ô-÷Cð
 �1�WˆØ�XˆØ�w˜$ŒÐˆØ×&Ñ& t§|¡|°BÓ';Ó<ˆØ�z‰z˜TŸY™YÔ&Ð&Ð&Ü�}Š}˜U×/Ñ/Ó1¸Ô?ˆÜ
�
‰
×Ñ Ô*ä�]Š]œ:Ø"@÷Cö Cà×"Ñ" 4§<¡<°Ó#7¸Õ#?Ô@÷Cð
 ˆØ�1�WˆØ�r•E�]ˆØ�w˜�|˜tÔ#Ð#Ð#Ø×&Ñ& t§|¡|°B¸BÓ'?Ó@ˆØ�z‰z˜TŸY™YÔ&Ð&Ð&Ü�}Š}˜U×/Ñ/Ó1¸Ô?ˆÜ
�
‰
×Ñ Ô*ä�]Š]œ:Ø"@÷Cö Cà×"Ñ" 4§<¡<°¸Ó#;¸CÕ#@ÔA÷C÷6ñ 6ð ×"Ñ"¡5¨£;Ó/€EØ�:‰:˜Ÿ™Ô"Ð"Ð"Ü�=Š=˜×+Ñ+Ó-°UÔ;€DÜ‡J�J×Ñ˜CÖ&÷YC÷ Cð Cú÷C÷ Cð Cú÷C÷ Cús$   Å/PÉ(P'Í)P;ÐP$	Ð'P8	Ð;Q	c                 ó–  € \         V ,          w  r#\        P                  ! V4      p^
pVP                  WAP                  ,          4      p\        V3VP                  3WR7      p^cVR&   ^XVR&   \        P                  P                  VP                  4       R,          ^c4       \        P                  P                  VP                  4       R,          ^X4       \        P                  P                  V4      p\        P                  ! VP                  4       VR7      p\        P                  P                  W†P                  4       4       R# )r   ©Úgpu_data:Né   N:rl   NNr*   N)r   r   r+   Úmemallocr5   r   rZ   r[   rY   r	   Ú
CudaBufferr   r6   )	r   r+   r#   r$   r%   ÚmemrG   r`   rb   s	   &&       r   Útest_numba_memallocrp       sð   € ô " !Õ$�K€CÜ�HŠH�U‹O€Eð €DØ
�/‰/˜$§¡Õ/Ó
0€CÜ˜$˜ 5§>¡>Ð"3°UÔI€DØ€Dˆ�HØ€Dˆ�HÜ‡J�J×Ñ˜D×-Ñ-Ó/°Õ3°RÔ8Ü‡J�J×Ñ˜D×-Ñ-Ó/°Õ3°RÔ8ô �?‰?×%Ñ% cÓ*€DÜ�=Š=˜×*Ñ*Ó,°EÔ:€DÜ‡J�J×Ñ˜D×"3Ñ"3Ó"5Ö6r   c                 ó  € \         V ,          w  r#^
p\        VRWR7      w  rVVP                  4       p\        VP                  VP
                  VP                  VR7      p\        P                  P                  VP                  4       V4       R# )r   r/   r?   rj   N)r   r9   r   r   ÚshapeÚstridesr+   r   rZ   r[   rY   )	r   r+   r#   r$   r%   r<   r`   ro   rG   s	   &&       r   Útest_pyarrow_memallocrt   ·   sk   € ô " !Õ$�K€CØ€DÜ" 4°ÀÔO�I€Cð �-‰-‹/€CÜ˜Ÿ™ C§K¡K°·±ÀSÔI€DÜ‡J�J×Ñ˜D×-Ñ-Ó/°Ö5r   c           	      ó¤  € \         V ,          w  r#^
p\        P                  ^ ,          ;_uu_ 4        \        VRWR7      w  rVVP                  P
                  VP
                  P                  8X  g   Q hVP                  4       p\        VP                  VP                  VP                  VR7      p\        P                  P                  VP                  4       V4       ^cV^ &   VP                  P!                  4        \        P"                  ! VP                  4       VR7      p	V	^ ,          ^c8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r   r/   r?   rj   r*   N)r   r   Úgpusr9   r"   r   r    r   r   rr   rs   r+   r   rZ   r[   rY   Úsynchronizer6   )
r   r+   r#   r$   r%   r<   r`   ro   rG   rb   s
   &&        r   Útest_numba_contextrx   Å   sé   € ô " !Õ$�K€CØ€DÜ	�‰�a��Ü& t°HØ-2ô=‰	ˆà�|‰|×"Ñ" f§m¡m×&9Ñ&9Ô9Ð9Ð9Ø�m‰m‹oˆÜ˜SŸY™Y¨¯©°S·Y±YÈÔMˆÜ
�
‰
×Ñ × 1Ñ 1Ó 3°SÔ9ØˆˆQ‰Ø�‰× Ñ Ô"Ü�}Š}˜T×.Ñ.Ó0¸Ô>ˆØ�A�w˜"Œ}Ð‰}÷ 
��Šús   ±DD>Ä>E	c                 ó4  € \         V ,          w  r#\        P                  R  4       p^
p\        VRWR7      w  rg^ pVP                  V^,
          ,           V,          p	VP                  4       p
\        VP                  VP                  VP                  V
R7      pWIV3,          ! V4       VP                  P                  4        \        P                  ! VP                  4       VP                  R7      p\        P                  P!                  WÆ^,           4       R# )c                 ó|   € \         P                  ^4      pWP                  8  d   W;;,          ^,          uu&   R# R# )é   N)r   Úgridr%   )Úan_arrayÚposs   & r   Úincrement_by_oneÚ*test_pyarrow_jit.<locals>.increment_by_oneÞ   s*   € ä�l‰l˜1‹oˆØ—‘ÔØ�M˜QÕ�Mñ r   r/   r?   rj   r*   N)r   r   Újitr9   r%   r   r   rr   rs   r+   r"   rw   r   r6   rY   rZ   r[   )r   r+   r#   r$   r   r%   r<   r`   ÚthreadsperblockÚblockspergridro   rG   Úarr1s   &&           r   Útest_pyarrow_jitr…   Ø   sÔ   € ô " !Õ$�K€Cä‡[�[ñó ðð €DÜ" 4°ÀÔO�I€CØ€OØ—X‘X °1Õ!4Õ5¸/ÕI€MØ
�-‰-‹/€CÜ˜Ÿ™ C§K¡K°·±ÀSÔI€DØ OÐ3Ö4°TÔ:Ø‡L�L×ÑÔÜ�=Š=˜×*Ñ*Ó,°C·I±IÔ>€DÜ‡J�J×Ñ˜D¨¥'Ö*r   )r8   Úint16Úfloat32)r)   r8   N)r   r{   é   iè  )r]   Úpyarrowr3   Únumpyr   ÚImportErrorÚmarkÚ
pytestmarkÚdtypesÚimportorskipr	   r   Únumba.cuda.cudadrv.devicearrayr   r   Úcontext_choice_idsr   r   ÚparametrizeÚrangeÚlenr'   r9   rh   rp   rt   rx   r…   © r   r   Ú<module>r–      s’  ðó$ Û ð#Ûò 
'€Ø×Ò˜>°KÔ@€Ø
×
Ò
˜lÓ
+€å 8ð €Ø$ lÐ3Ð ò@òð ‡�×Ñ˜™e¡CÐ(:Ó$;Ó<Ø/ð ó 1ñ,ó1ð,ô-ð& ‡�×Ñ˜™e¡CÐ(:Ó$;Ó<Ø/ð ó 1à‡�×Ñ˜ &¨fÐÓ5Ø‡�×Ñ˜¢Ó1ñH'ó 2ó 6ó1ðH'ðV ‡�×Ñ˜™e¡CÐ(:Ó$;Ó<Ø/ð ó 1à‡�×Ñ˜ &¨fÐÓ5ñ7ó 6ó1ð7ð( ‡�×Ñ˜™e¡CÐ(:Ó$;Ó<Ø/ð ó 1à‡�×Ñ˜ &¨fÐÓ5ñ6ó 6ó1ð6ð ‡�×Ñ˜™e¡CÐ(:Ó$;Ó<Ø/ð ó 1à‡�×Ñ˜ &¨fÐÓ5ñó 6ó1ðð  ‡�×Ñ˜™e¡CÐ(:Ó$;Ó<Ø/ð ó 1à‡�×Ñ˜ &¨fÐÓ5ñ+ó 6ó1ò+øðK ô #Ø—‘×"Ñ"ƒJð#ús   ŠH7 È7IÉI