
    g                        d dl Z d dlZd dlZd dlZd dlZ	 d dlZd dl
Zd ej                         fd ej                         fd ej                         fd ej                         fd ej                          fd ej"                         fd ej$                         fd	 ej&                         fd
 ej(                         fd ej*                         fd ej,                         fgZd Zd Zej                  j5                  de      d        Zd Zej                  j:                  d        Zd Zd Z d Z!d Z"d Z#d Z$y# e$ r ej                  j
                  Z	Y Dw xY w)    Ni1i2i4i8u1u2u4u8f2f4f8c                  Z   t         j                  j                  dd      } t        j                  j                  |       }|j                  dk(  sJ |j                  g k(  sJ |j                  dk(  sJ |j                  | j                  k(  sJ |j                  | j                  k(  sJ |j                  sJ |j                  sJ | j                         }d|j                  _        t        j                  j                  |      }|j                  rJ t        j                  j                  | d      }|j                  dk(  sJ |j                  dd	gk(  sJ |j!                  d
      dk(  sJ |j!                  d      d	k(  sJ t#        j$                  |      } |       J ~ |       J y )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       N/var/www/openai/venv/lib/python3.12/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                     t         j                  j                  t        j                  j                  dd            } t        j                  |       }| j                         }t        j                  |       |dz   k(  sJ y )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                    t        j                  |       }t        j                         5  t        j                  d       dt         j
                  j                  dd      z  j                  |      }d d d        t        j                  j                        }|j                  |k(  sJ t        |       |j                         }||k(  j                         sJ y # 1 sw Y   jxY w)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FN!!! 
#	"s   ACC$c                    t         j                  j                  dd      }t        j                  j                  |      }t        j                  j                  t        |       d      }t        j                  |d      }t        j                  j                  ||       |j                  d       t        j                  j                  |      }|j                  |      sJ y )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                    t         j                  j                  dd      }t        j                  j                  |      }| dz  }t        j                  |d      }t        j                  j                  ||       |j                          t        j                  j                  t        j                  |d            }|j                  |      sJ y )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                    t         j                  j                  dd      }t        j                  j                  |d d d         }t         j                  j                  ddd      }t        j                  j                  |d d d d dd d f         }t        j                  j                  t        |       d      }t        j                  |d      }||fD ]v  }|j                  d       t        j                  j                  ||       |j                  d       t        j                  j                  |      }|j                  |      rvJ  y )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G$		!
FD)		!##D)}}V$$$ %r/   c                     d } d }t         j                  j                  ddd      d d d d dd d f   }t        j                  j                  |      }t        j                  j                  t        j                  |            } | ||       |j                         }d|d<   t        j                  j                  t        j                  |            } |||       y )	Nc                 F    | j                  |      sJ | |k(  sJ | |k7  rJ y NrP   abs     r-   eqztest_tensor_equals.<locals>.eq   s+    xx{{AvvF|Fr/   c                 F    | j                  |      rJ | |k(  rJ | |k7  sJ y re   rf   rg   s     r-   neztest_tensor_equals.<locals>.ne   s)    88A;F|Avvr/   r   r^   r   r   g      ?)	   r   r   )r   r   r   r   r   r   ascontiguousarrayr#   )rj   rl   r)   r`   ra   s        r-   test_tensor_equalsro      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                      t        j                  t        d      5  t        t        j
                  j                  t        j                  d                   d d d        y # 1 sw Y   y xY w)N
unhashable)matchr   )	pytestraises	TypeErrorhashr   r   r   r   arange r/   r-   test_tensor_hashingry      s;    	y	5RYY!!"))B-01 
6	5	5s   <A!!A*c                      t         j                  j                  dd      } t        j                  j                  |       }t        j                  j                  |      | j                  dz  kD  sJ y )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                    t         j                  j                  dd      }t        j                  j                  |      }t        j                  j                  |      }t        j                  j                  t        |       d      }t        j                  ||      }t        j                  j                  ||       t        j                  dk(  r|j!                          t        j"                  |d      }t        j                  j%                  |      j'                         }t         j(                  j+                  ||       y )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%%dI6JFF
+
|||# 	d-IFFy)224EJJD%(r/   c                     t         j                  dft         j                  dft         j                  dft         j                  dft         j
                  dffD ]m  \  } }t        j                  d|       }|j                  } |j                         }t        j                  j                  |      }t        |      }|j                  |k(  sJ |j                  |j                  k(  sJ |j                  |j                  k(  sJ |j                   dk(  sJ |j"                  |j"                  k(  sJ |j$                  |j$                  k(  sJ |j$                  d	z  |j&                  j(                  k(  sJ t        j*                  ||       j                         |k(  sJ ~~t        j*                  ||       j                         |k(  rnJ  y )
Nz=bz=qz=Qedr   )r:   r   r{   )r   int8int64uint64float16float64rw   r:   tolistr   r   r   
memoryviewformatr   r    r   nbytesitemsizer?   	bit_width
frombuffer)r:   expected_formatr)   lstr*   ms         r-   test_tensor_memoryviewr      su   $&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   rs   r;   r'   numpyr   ImportErrormark
pytestmarkpyarrowr   r   int16int32r   uint8uint16uint32r   r   float32r   tensor_type_pairsr.   r6   parametrizerE   rS   rU   r\   rb   ro   ry   r}   r   r   rx   r/   r-   <module>r      sr  $ 
 
   #  
72779	8288:	8288:	8288:	8288:	9299;	9299;	9299;	:2::<	:2::<	:2::< B, /1BC" D"! ! !%(*2<)$7e  #""J#s   E   EE