a
    ;Zèa@  ã                   @   sx   d dl Zd dlZd dlmZmZ d dlmZ dd„ Zdd„ Z	ej
 dee	g¡ej
 d	ejejejejg¡d
d„ ƒƒZdS )é    N)ÚReadonlyArrayWrapperÚ	_test_sum©Úcreate_memmap_backed_datac                 C   s   |   ¡ }d|jd< |S )z4Return a copy of x with flag writeable set to False.FZ	WRITEABLE)ÚcopyÚflags)ÚxÚy© r
   úHlib/python3.9/site-packages/sklearn/utils/tests/test_readonly_wrapper.pyÚ_readonly_array_copy	   s    
r   c                 C   s   t | ddddS )NÚrFT)Z	mmap_modeZreturn_folderZalignedr   )Údatar
   r
   r   Ú_create_memmap_backed_data   s    ÿr   ÚreadonlyÚdtypec                 C   s¢   t  d¡ |¡}t|ƒ}tt|ƒƒ}|tj|ddks:J ‚| |ƒ}tjtdd t|ƒ W d  ƒ n1 sn0    Y  t|ƒ}t|ƒ}|tj|ddksžJ ‚dS )z:Test that ReadonlyWrapper allows working with fused-typed.é
   g•dyáý¥=)Zrelz buffer source array is read-only)ÚmatchN)	ÚnpZarangeZastyper   r   ÚpytestZapproxZraisesÚ
ValueError)r   r   r   Z
sum_originZsum_writableZ
x_readonlyZsum_readonlyr
   r
   r   Útest_readonly_array_wrapper   s    &r   )Znumpyr   r   Z%sklearn.utils._readonly_array_wrapperr   r   Zsklearn.utils._testingr   r   r   ZmarkZparametrizeZfloat32Zfloat64Zint32Zint64r   r
   r
   r
   r   Ú<module>   s   