
    Ph                         d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZ d dl	m
Z
mZmZmZmZmZmZmZmZ d dl	mZmZmZ d dlmZmZmZmZmZmZ  G d d      Zy)	    N)Path)NamedTemporaryFileTemporaryFile)	memmapsumaverageprodndarrayisscalaraddsubtractmultiply)arangeallcloseasarray)assert_assert_equalassert_array_equalsuppress_warningsIS_PYPYbreak_cyclesc                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                  j                  ej                   d
k(  d      d        Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)
TestMemmapc                     t        d      | _        d| _        d| _        t	        d| j                        | _        | j
                  j                  | j                         y )Nmmap)prefix)      float32   dtype)r   tmpfpshaper"   r   dataresizeselfs    gC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\numpy/core/tests/test_memmap.pysetup_methodzTestMemmap.setup_method   sD    'v6


2TZZ0			$    c                 |    | j                   j                          d | _        t        rt	                t	                y y )N)r#   closer%   r   r   r'   s    r)   teardown_methodzTestMemmap.teardown_method   s+    

	NN r+   c                    t        | j                  | j                  d| j                        }| j                  d d  |d d  ~t        | j                  | j                  d| j                        }t        t        | j                  |             t        | j                  |       t        |j                  j                  d       y )Nw+r"   moder$   rF)r   r#   r"   r$   r%   r   r   r   r   flags	writeable)r(   fpnewfps      r)   test_roundtripzTestMemmap.test_roundtrip    s    DJJdjjt**&		!1 tzz#!ZZ)E*+499e,U[[**E2r+   c                 z    |dz  }t        || j                  d| j                        }| j                  d d  |d d  ~y )Nr   r0   r1   )r   r"   r$   r%   )r(   tmp_pathtmpnamer6   s       r)   test_open_with_filenamez"TestMemmap.test_open_with_filename.   s;    V#G4::D!ZZ)		!1r+   c                     t               5 }t        || j                  | j                        }~d d d        y # 1 sw Y   y xY wNr"   r$   )r   r   r"   r$   )r(   fr6   s      r)   test_unnamed_filezTestMemmap.test_unnamed_file5   s,    _4::>B __s	   $8Ac                     d}d}t        | j                  | j                  || j                  |      }t	        ||j
                         t	        ||j                         ~y )N   r0   )r"   r2   r$   offset)r   r#   r"   r$   r   rD   r2   )r(   rD   r2   r6   s       r)   test_attributeszTestMemmap.test_attributes:   sL    DJJdjjt**V5VRYY'T277#r+   c                 .   |dz  }t        || j                  d| j                        }t        t        j
                  j                  |            }| j                  d d  |d d  t        ||j                         |d d }t        ||j                         ~~y Nr   r0   r1   rC   )
r   r"   r$   r   ospathabspathr%   r   filenamer(   r:   r;   r6   rJ   bs         r)   test_filenamezTestMemmap.test_filenameC   s|    V#G4::D!ZZ)rwww/0		!1Wbkk*rFWajj)r+   c                    |dz  }t        t        |      | j                  d| j                        }t	        t        |      j                               }| j                  d d  |d d  t        |t	        |j                  j                                      |d d }t        |t	        |j                  j                                      ~~y rG   )	r   r   r"   r$   strresolver%   r   rK   rL   s         r)   	test_pathzTestMemmap.test_pathO   s    V#DM$!ZZ)
 d7m++-.		!1Wc"++"5"5"789rFWc!**"4"4"678r+   c                     t        | j                  | j                  d| j                        }t	        |j
                  | j                  j                         y )Nr0   r1   )r   r#   r"   r$   r   rK   namer(   r6   s     r)   test_filename_fileobjz TestMemmap.test_filename_fileobj^   s7    DJJdjjt**&R[[$**//2r+   gnu0zKnown to fail on hurd)reasonc                     t        | j                  | j                  d| j                        }| j                  d d  |d d  t        |d   | j                  d          |j                          y )Nr0   r1   r   )r   r#   r"   r$   r%   r   flushrU   s     r)   
test_flushzTestMemmap.test_flushc   sS     DJJdjjt**&		!1RUDIIaL)

r+   c                     t        | j                  | j                  d| j                        }d|d<   |dd }t	        |d   d       ~t	        |d   d       d|d<   t	        |d   d       y )Nr0   r1      r   rC      )r   r#   r"   r$   r   )r(   fp_basefp_views      r)   test_delzTestMemmap.test_dell   sm    4::D**&
!A,WQZ# 	WQZ#
WQZ#r+   c                     t        | j                  | j                  d| j                        }|dz   }t	        |t               r"t        |j                  |j                  u       y y )Nr0   r1   
   r   r#   r"   r$   
isinstancer   _mmapr(   r6   tmps      r)    test_arithmetic_drops_referencesz+TestMemmap.test_arithmetic_drops_referencesz   sN    DJJdjjt**&Bwc6"CIIRXX-. #r+   c                     t        | j                  | j                  d| j                        }|d   }t	        |t               r"t        |j                  |j                  u       y y )Nr0   r1   ))rC      )rk   r   rd   rg   s      r)   test_indexing_drops_referencesz)TestMemmap.test_indexing_drops_references   sO    DJJdjjt**& c6"CIIRXX-. #r+   c                     t        | j                  | j                  d| j                        }t	        |d dd df   j
                  |j
                  u        y )Nr0   r1   rk   )r   r#   r"   r$   r   rf   rU   s     r)   test_slicing_keeps_referencesz(TestMemmap.test_slicing_keeps_references   sH    DJJdjjt**&2A2rr6
  BHH,-r+   c                 <   t        | j                  | j                  | j                        }|j	                         }|j	                         }t        |j                  |u        t        |j                  |u        t        |      }t        |j                  |u        y r>   )r   r#   r"   r$   viewr   baser   )r(   r6   new1new2	new_arrays        r)   	test_viewzTestMemmap.test_view   sl    DJJdjj

Cwwyyy{		R 		R BK		"$%r+   c                    t        | j                  | j                  | j                        }| j                  |d d  t               5 }|j                  t        d       t        t        t        fD ]  } ||      }t        t        |             t        |j                  | j                  d   j                  u        t         ||d      j                  t        u        t         ||d      j                  t        u         	 d d d        t        t         t"        fD ]|  }t         ||| j                        j                  t        u        t         || j                  |      j                  t        u        t         |||      j                  t        u        ~ |dz  }|j                  t         u sJ t        |d|       |j                  t         u sJ y # 1 sw Y   xY w)Nr?   z&np.average currently does not preserve)r   r   r   axisrC   )out)r   r#   r"   r$   r%   r   filterFutureWarningr   r   r	   r   r   	__class__r
   r   r   r   )r(   r6   supunary_opresult	binary_ops         r)   test_ufunc_return_ndarrayz$TestMemmap.test_ufunc_return_ndarray   sn   DJJdjj

C		1 CJJ}&NO '40!"()((DIIdO,E,EEF!,66'AB!,66'AB 1 ! x2IIb$)),66'ABIdii,66'ABIb"%//7:; 3
 	a||v%&%Br||v%&%% ! s   B=GG!c                    t        | j                  | j                  | j                        }| j                  |d d  t        |dd d df   j                  t         u        t        |ddg   j                  t        u        y )Nr?   rC   r   )r   r#   r"   r$   r%   r   r|   r
   rU   s     r)   test_getitemzTestMemmap.test_getitem   se    DJJdjj

C		112ss7%%/0Aq6
$$/0r+   c                     G d dt               } || j                  | j                  | j                        }| j                  |d d  t        t        |d      j                  |u        t        t        |      j                  |u        t        |dd d df   j                  |u        |ddg   j                  |u sJ y )Nc                       e Zd Zy)7TestMemmap.test_memmap_subclass.<locals>.MemmapSubClassN)__name__
__module____qualname__ r+   r)   MemmapSubClassr      s    r+   r   r?   r   rw   rC   r   )r   r#   r"   r$   r%   r   r   r|   )r(   r   r6   s      r)   test_memmap_subclasszTestMemmap.test_memmap_subclass   s    	V 	 DJJdjj

K		1 	BQ))^;<B!!^3412ss7%%781a&z##~565r+   c                     dt         j                  z  }t         j                  dz   }t        | j                  |d|      }t	        |j
                  |k(         y )Nr]   rC   r0   )r$   r2   rD   )r   ALLOCATIONGRANULARITYr   r#   r   rD   )r(   sizerD   r6   s       r)   4test_mmap_offset_greater_than_allocation_granularityz?TestMemmap.test_mmap_offset_greater_than_allocation_granularity   sG    4---++a/DJJdfE		V#$r+   c                     | j                   j                  d       t        | j                   d      }t        |j                  d       y )Ns   aaaaaaaaaaaaaaaafloat64r!   )rk   )r#   writer   r   r$   )r(   mms     r)   test_no_shapezTestMemmap.test_no_shape   s2    

!DJJi0RXXt$r+   c                     t        j                  t        d      5  t        | j                  dd       d d d        | j                  j                  d       t        | j                  dd       y # 1 sw Y   =xY w)Nz
empty file)match)r   r   r0   )r$   r2       )pytestraises
ValueErrorr   r#   r   r'   s    r)   test_empty_arrayzTestMemmap.test_empty_array   sT    ]]:\:4::U6 ; 	

 	tzzT2 ;:s   A11A:N)r   r   r   r*   r.   r8   r<   rA   rE   rN   rR   rV   r   markskipifsysplatformr[   ra   ri   rl   rn   ru   r   r   r   r   r   r   r   r+   r)   r   r      s    %3

3
 [[.6  88$//.
&'017%%
3r+   r   )r   rH   r   r   pathlibr   tempfiler   r   numpyr   r   r   r	   r
   r   r   r   r   r   r   r   numpy.testingr   r   r   r   r   r   r   r   r+   r)   <module>r      sG    
 	    6L L L , + 
F3 F3r+   