
    <>i                        S SK r S SKrS SKrS SKrS SKr S SKrS SK
rS\R                  " 5       4S\R                  " 5       4S\R                  " 5       4S\R                  " 5       4S\R                   " 5       4S\R"                  " 5       4S\R$                  " 5       4S	\R&                  " 5       4S
\R(                  " 5       4S\R*                  " 5       4S\R,                  " 5       4/rS rS r\R                  R5                  S\5      S 5       rS r\R                  R:                  S 5       rS rS r S r!S r"S r#S r$g! \ a    \R                  R
                  r	 GNEf = f)    Ni1i2i4i8u1u2u4u8f2f4f8c                     [         R                  R                  SS5      n [        R                  R                  U 5      nUR                  S:X  d   eUR                  / :X  d   eUR                  S:X  d   eUR                  U R                  :X  d   eUR                  U R                  :X  d   eUR                  (       d   eUR                  (       d   eU R                  5       nSUR                  l        [        R                  R                  U5      nUR                  (       a   e[        R                  R                  U SS9nUR                  S:X  d   eUR                  SS	/:X  d   eUR!                  S
5      S:X  d   eUR!                  S5      S	:X  d   e["        R$                  " U5      nU" 5       c   eAU" 5       b   eg )N
         (   F)xy)	dim_namesr   r   r      )nprandomrandnpaTensor
from_numpyndimr   sizeshapestridesis_contiguous
is_mutablecopyflags	writeabledim_nameweakrefref)datatensordata2wrs       X/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pyarrow/tests/test_tensor.pytest_tensor_attrsr.   .   s   99??2q!DYY!!$'F;;!r!!!;;"<<4::%%%>>T\\))) IIKE!EKKYY!!%(F     YY!!$*!=F;;!Sz)))??1$$$??1$$$	V	B44<<    c                     [         R                  R                  [        R                  R                  SS5      5      n [        R                  " U 5      nU R                  5       n[        R                  " U 5      US-   :X  d   eg )Nr   r   r   )	r   r   r   r   r   r   sysgetrefcountto_numpy)r*   narrays      r-   test_tensor_base_objectr6   O   sZ    YY!!"))//"a"89FAOOE??6"a!e+++r/   zdtype_str,arrow_typec                    [         R                  " U 5      n[        R                  " 5          [        R                  " S5        S[         R
                  R                  SS5      -  R                  U5      nS S S 5        [        R                  R                  W5      nUR                  U:X  d   e[        U5        UR                  5       nX5:H  R                  5       (       d   eg ! , (       d  f       Nt= f)Nignored   r   r   )r   dtypewarningscatch_warningssimplefilterr   r   astyper   r   r   typereprr3   all)	dtype_str
arrow_typer:   r)   r*   results         r-   test_tensor_numpy_roundtriprE   V   s    HHYE		 	 	"h'biioob!,,44U; 
# YY!!$'F;;*$$$L__FN!!!! 
#	"s   A	C##
C1c                    [         R                  R                  SS5      n[        R                  R                  U5      n[        R                  R                  [        U 5      S5      n[        R                  " US5      n[        R                  R                  X$5        UR                  S5        [        R                  R                  U5      nUR                  U5      (       d   eg )Nr   r   zpyarrow-tensor-ipc-roundtripi   r   )r   r   r   r   r   r   ospathjoinstrcreate_memory_mapipcwrite_tensorseekread_tensorequals)tmpdirr)   r*   rH   mmaprD   s         r-   test_tensor_ipc_roundtriprS   f   s    99??2q!DYY!!$'F77<<F%CDDd+DFF%IIaLVV%F==    r/   c                    [         R                  R                  SS5      n[        R                  R                  U5      nU S-  n[        R                  " USS9n[        R                  R                  X$5        UR                  5         [        R                  R                  [        R                  " USS95      nUR                  U5      (       d   eg )Nr   r   ztensor-compressed-filegzip)compression)r   r   r   r   r   r   output_streamrL   rM   closerO   input_streamrP   )tempdirr)   r*   rH   
out_streamrD   s         r-   $test_tensor_ipc_read_from_compressedr\   u   s     99??2q!DYY!!$'F--D!!$F;JFF+VV& IJF==    r/   c                    [         R                  R                  SS5      n[        R                  R                  US S S2   5      n[         R                  R                  SSS5      n[        R                  R                  US S 2S S S2S S 24   5      n[        R                  R                  [        U 5      S5      n[        R                  " US5      nX$4 H{  nUR                  S5        [        R                  R                  Xv5        UR                  S5        [        R                  R                  U5      nUR                  U5      (       a  M{   e   g )Nr   r   r      zpyarrow-tensor-ipc-stridedi   r   )r   r   r   r   r   r   rG   rH   rI   rJ   rK   rN   rL   rM   rO   rP   )	rQ   data1tensor1r+   tensor2rH   rR   r*   rD   s	            r-   test_tensor_ipc_stridedrb      s    IIOOB"Eii""51:.GIIOOB1%Eii""5SqS"#56G77<<F%ABDd+D$		!
F)		!##D)}}V$$$$ %r/   c                     S n S n[         R                  R                  SSS5      S S 2S S S2S S 24   n[        R                  R                  U5      n[        R                  R                  [         R                  " U5      5      nU " X45        UR                  5       nSUS'   [        R                  R                  [         R                  " U5      5      nU" X45        g )	Nc                 P    U R                  U5      (       d   eX:X  d   eX:w  a   eg NrP   abs     r-   eqtest_tensor_equals.<locals>.eq   s)    xx{{{vvF|Fr/   c                 P    U R                  U5      (       a   eX:X  a   eX:w  d   eg re   rf   rg   s     r-   netest_tensor_equals.<locals>.ne   s'    88A;;F|vvr/   r   r^   r   r   g      ?)	   r   r   )r   r   r   r   r   r   ascontiguousarrayr#   )rj   rm   r)   r`   ra   s        r-   test_tensor_equalsrq      s    

 99??2q!$R1b[1Dii""4(Gii""2#7#7#=>Gw99;DDMii""2#7#7#=>Gwr/   c                      [         R                  " [        SS9   [        [        R
                  R                  [        R                  " S5      5      5        S S S 5        g ! , (       d  f       g = f)N
unhashable)matchr   )	pytestraises	TypeErrorhashr   r   r   r   arange r/   r-   test_tensor_hashingr{      s;    	y	5RYY!!"))B-01 
6	5	5s   =A  
A.c                      [         R                  R                  SS5      n [        R                  R                  U 5      n[        R                  R                  U5      U R                  S-  :  d   eg )Nr   r      )	r   r   r   r   r   r   rL   get_tensor_sizer   )r)   r*   s     r-   test_tensor_sizer      sO    99??2q!DYY!!$'F66!!&)TYY];;;r/   c                    [         R                  R                  SS5      n[        R                  R                  U5      n[        R                  R                  U5      n[        R                  R                  [        U 5      S5      n[        R                  " XC5      n[        R                  R                  X%5        [        R                  S:X  a  UR!                  5         [        R"                  " USS9n[        R                  R%                  U5      R'                  5       n[         R(                  R+                  X5        g )Nr   r   zpyarrow-tensor-ipc-read-tensor
emscriptenr)mode)r   r   r   r   r   r   rL   r~   rG   rH   rI   rJ   rK   rM   r1   platformrX   
memory_maprO   r3   testingassert_equal)rQ   r)   r*   	data_sizerH   
write_mmap	read_mmapr5   s           r-   test_read_tensorr      s    99??2q!DYY!!$'F&&v.I77<<F%EFD%%d6JFF+
|||# 	d-IFFy)224EJJD(r/   c                     [         R                  S4[         R                  S4[         R                  S4[         R                  S4[         R
                  S44 GHt  u  p[         R                  " SU S9nUR                  n UR                  5       n[        R                  R                  U5      n[        U5      nUR                  U:X  d   eUR                  UR                  :X  d   eUR                  UR                  :X  d   eUR                   S:X  d   eUR"                  UR"                  :X  d   eUR$                  UR$                  :X  d   eUR$                  S	-  UR&                  R(                  :X  d   e[         R*                  " XP5      R                  5       U:X  d   eAA[         R*                  " XP5      R                  5       U:X  a  GMu   e   g )
Nz=bz=qz=Qedr   )r:   r   r}   )r   int8int64uint64float16float64ry   r:   tolistr   r   r   
memoryviewformatr   r    r   nbytesitemsizer?   	bit_width
frombuffer)r:   expected_formatr)   lstr*   ms         r-   test_tensor_memoryviewr      so   $&GGT?$&HHd#3$&IIt#4$&JJ#4$&JJ#4	#% yy5)

kkm%%d+vxx?***ww$**$$$yyDLL(((vv{{xx4;;&&&zzT]]***zzA~!6!6666}}Q&--/3666D}}Q&--/3666)#%r/   )%rG   r1   ru   r;   r'   numpyr   ImportErrormark
pytestmarkpyarrowr   r   int16int32r   uint8uint16uint32r   r   float32r   tensor_type_pairsr.   r6   parametrizerE   rS   rU   r\   rb   rq   r{   r   r   r   rz   r/   r-   <module>r      s\  $ 
 
   #  
2779	288:	288:	288:	288:	299;	299;	299;	2::<	2::<	2::< B, /1BC" D"! ! !%(*2<)$7e  #""J#s   E   E E 