
    z-Ph                     |   d dl Z d dlZd dlZd dlZd dlZ	 d dlZn# e$ r ej        j        Z	Y nw xY w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                            de          d             Zd Zej        j        d             Zd Zd Z d Z!d Z"d Z#d Z$dS )    Ni1i2i4i8u1u2u4u8f2f4f8c                     t           j                            dd          } t          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 |                                 }d|j        _        t          j                            |          }|j        rJ t          j                            | d          }|j        dk    sJ |j        dd	gk    sJ |                    d
          dk    sJ |                    d          d	k    sJ t#          j        |          } |            J ~ |            J d S )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       Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pyarrow/tests/test_tensor.pytest_tensor_attrsr.   .   s   9??2q!!DY!!$''F;!r!!!!;"<4:%%%%>T\)))) IIKKE!EKY!!%((F     Y!!$*!==F;!Sz))))??1$$$$??1$$$$	V		B244244<<<<<    c                  
   t           j                            t          j                            dd                    } t          j        |           }|                                 }t          j        |           |dz   k    sJ d S )Nr   r   r   )	r   r   r   r   r   r   sysgetrefcountto_numpy)r*   narrays      r-   test_tensor_base_objectr6   O   sj    Y!!")//"a"8"899FAOOE?6""a!e++++++r/   zdtype_str,arrow_typec                    t          j        |           }t          j                    5  t          j        d           dt           j                            dd          z                      |          }d d d            n# 1 swxY w Y   t          j	        
                    |          }|j        |k    sJ t          |           |                                }||k                                    sJ d S )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   HYE		 	"	" < <h'''bioob!,,,44U;;< < < < < < < < < < < < < < < Y!!$''F;*$$$$LLL__FFN!!!!!!!s   AA??BBc                    t           j                            dd          }t          j                            |          }t          j                            t          |           d          }t          j
        |d          }t          j                            ||           |                    d           t          j                            |          }|                    |          sJ d S )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    9??2q!!DY!!$''F7<<F%CDDDd++DF%%%IIaLLLV%%F==       r/   c                    t           j                            dd          }t          j                            |          }| dz  }t          j        |d          }t          j                            ||           |	                                 t          j        
                    t          j        |d                    }|                    |          sJ d S )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     9??2q!!DY!!$''F--D!$F;;;JF
+++V& I I IJJF==       r/   c                    t           j                            dd          }t          j                            |d d d                   }t           j                            ddd          }t          j                            |d d d d dd d f                   }t          j                            t          |           d          }t          j
        |d          }||fD ]}|                    d           t          j                            ||           |                    d           t          j                            |          }|                    |          sJ d S )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-   IOOB""Ei""51:..GIOOB1%%Ei""5SSqS"""#566G7<<F%ABBDd++DG$ % %		!
FD)))		!##D))}}V$$$$$$% %r/   c                     d } d }t           j                            ddd          d d d d dd d f         }t          j                            |          }t          j                            t          j        |                    } | ||           |                                }d|d<   t          j                            t          j        |                    } |||           d S )	Nc                 T    |                      |          sJ | |k    sJ | |k    rJ d S NrP   abs     r-   eqztest_tensor_equals.<locals>.eq   s6    xx{{AvvvvFFFFFFr/   c                 T    |                      |          rJ | |k    rJ | |k    sJ d S re   rf   rg   s     r-   neztest_tensor_equals.<locals>.ne   s6    88A;;FFFFAvvvvvvr/   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      
  
 9??2q!$$RRR1bbb[1Di""4((Gi""2#7#=#=>>GBw99;;DDMi""2#7#=#=>>GBwr/   c                      t          j        t          d          5  t          t          j                            t          j        d                               d d d            d S # 1 swxY w Y   d S )N
unhashable)matchr   )	pytestraises	TypeErrorhashr   r   r   r   arange r/   r-   test_tensor_hashingry      s    	y	5	5	5 2 2RY!!")B--001112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s   ?A((A,/A,c                      t           j                            dd          } t          j                            |           }t          j                            |          | j        dz  k    sJ d S )Nr   r      )	r   r   r   r   r   r   rL   get_tensor_sizer   )r)   r*   s     r-   test_tensor_sizer}      sY    9??2q!!DY!!$''F6!!&))TY];;;;;;r/   c                    t           j                            dd          }t          j                            |          }t          j                            |          }t          j	        
                    t          |           d          }t          j        ||          }t          j                            ||           t          j        dk    r|                                 t          j        |d          }t          j                            |                                          }t           j                            ||           d S )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    9??2q!!DY!!$''F&&v..I7<<F%EFFD%dI66JF
+++
||## 	d---IFy))2244EJ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 ]=\  } }t          j        d|           }|j        } |                                }t          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        ||                                           |k    sJ ~~t          j        ||                                           |k    sJ ?d S )
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      s   $&GT?$&Hd#3$&It#4$&J#4$&J#4	#% 7 7 y5)))
kkmm%%d++vx?****w$*$$$$yDL((((v{{{{x4;&&&&zT]****zA~!66666}Q&&--//36666D}Q&&--//366666)7 7r/   )%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      s  $ 
			 



   # # # #"JJJ#     
72799	828::	828::	828::	828::	929;;	929;;	929;;	:2:<<	:2:<<	:2:<<   B, , , /1BCC" " DC"! ! ! ! ! !% % %(  *2 2 2< < <) ) )$7 7 7 7 7s    //