
    8`i(                       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 dlZd dlZd dl	Z	d dl
mZ d dlmZ d dlmZmZ d dlmZmZ d dlmZ d dlmZ d dlZd dlZd dlmZ d dlmZ d d	lmZ d d
l m!Z! d dl"m#Z#m$Z$ d dl%m&Z&m'Z' d dl(m)Z) d dl*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9  G d de          Z:ej;        dk    Z<	 d dl=Z=dZ>n# e?$ r dZ>Y nw xY w	 d dl@Z@dZAn# e?$ r dZAY nw xY wd7dZB G d d          ZC G d deC          ZD G d deC          ZE G d d          ZF G d d          ZG G d  d!eG          ZH G d" d#          ZI G d$ d%eG          ZJ G d& d'          ZKd( ZL G d) d*          ZM G d+ d,          ZNd- ZOd. ZPd/ ZQd0 ZRejS        T                    e+ d12          ejS        U                    d32          d4                         ZVd5 ZWd6 ZXdS )8    N)c_bool)datetime)BytesIOStringIO)Valueget_context)Path)NamedTemporaryFileasbytes)VisibleDeprecationWarning)_npyio_impl)ConversionWarningConverterError)
recfromcsv
recfromtxt)assert_equal)HAS_REFCOUNTIS_PYPYIS_WASMassert_assert_allcloseassert_array_equalassert_no_gc_cyclesassert_no_warningsassert_raisesassert_raises_regexbreak_cyclestempdirtemppath)requires_memoryc                   &    e Zd ZdZddZd Zd ZdS )TextIOzHelper IO class.

    Writes encode strings to bytes if needed, reads return bytes.
    This makes it easier to emulate files opened in binary mode
    without needing to explicitly convert strings to bytes in
    setting up the test data.

     c                 J    t          j        | t          |                     d S N)r   __init__r   selfss     S/root/collector_daemon/venv/lib/python3.11/site-packages/numpy/lib/tests/test_io.pyr'   zTextIO.__init__7   s!    wqzz*****    c                 J    t          j        | t          |                     d S r&   )r   writer   r(   s     r+   r.   zTextIO.write:   s     dGAJJ'''''r,   c                 D    t          j        | d |D                        d S )Nc                 ,    g | ]}t          |          S  r   ).0r*   s     r+   
<listcomp>z%TextIO.writelines.<locals>.<listcomp>>   s    !<!<!<'!**!<!<!<r,   )r   
writelines)r)   liness     r+   r4   zTextIO.writelines=   s*    4!<!<e!<!<!<=====r,   N)r$   )__name__
__module____qualname____doc__r'   r.   r4   r1   r,   r+   r#   r#   .   sP         + + + +( ( (> > > > >r,   r#   l        TFc                     t          | t                    r|                     d          } t          t	          j        | |          dd          S )zY
    This function is available in the datetime module only from Python >=
    2.5.

    latin1N   )
isinstancebytesdecoder   timestrptime)r*   fmts     r+   rA   rA   N   sG     !U HHXT]1c**2A2.//r,   c                       e Zd Zd Zd Zd Zd Zd Zej	        
                    ej        dk    d          d	             Zd
 Zej	        j        d             ZdS )RoundtripTestc                    |                     di           }|                     dddi          }|                     dd          }|rt          d          }|j        }nt                      }|}	 |}	 ||g|	R i | |                                 |                    d           t          j        d	k    r)t          |t                    s|	                                 t          j        |fi |}
t          |t                    sa|	                                 d
t                      v r=t          |
t          j        j        j                  st!          j        |j                   n~# t          |t                    sb|	                                 d
t                      v r?t          |
t          j        j        j                  st!          j        |j                   w w w w xY w|	|
fS )a  
        save_func : callable
            Function used to save arrays to file.
        file_on_disk : bool
            If true, store the file on disk, instead of in a
            string buffer.
        save_kwds : dict
            Parameters passed to `save_func`.
        load_kwds : dict
            Parameters passed to `numpy.load`.
        args : tuple of arrays
            Arrays stored to file.

        	save_kwds	load_kwdsallow_pickleTfile_on_diskF)deleter   win32arr_reloaded)getr
   namer   flushseeksysplatformr=   closenploadlocalslibnpyioNpzFileosremove)r)   	save_funcargskwargsrF   rG   rI   target_file	load_filearrrL   s              r+   	roundtripzRoundtripTest.roundtripZ   s    JJ{B//	JJ{^T,BCC	zz.%88 	$,E:::K#(II!))K#I	4CIk5C5559555Q|w&&z+w/O/O&!!###79::	::L k733 4!!###!VXX--%lBFL4HII 4	+"2333 k733 4!!###!VXX--%lBFL4HII 4	+"233334 .4 L  s   0BE) )A;G$c                    |                      |           |                      |d           |                      t          j        |                     |                      t          j        |          d           |j        d         dk    rb|                      t          j        |          dd                     |                      t          j        |          dd          d           d S d S )NT)rI   r      )rb   rT   asfortranarrayshaper)   as     r+   check_roundtripszRoundtripTest.check_roundtrips   s    qqt,,,r(++,,,r(++$???71:>>NN2,Q//3444NN2,Q//3$NGGGGG >r,   c                 $   t          j        g t                    }|                     |           t          j        ddgddggt                    }|                     |           t          j        ddgddggt                    }|                     |           t          j        ddgddggt           j        	          }|                     |           t          j        ddgddggt           j        	          }|                     |           d S )
Nrd      r<      y      ?      @y       @      @y      @      @y      @       @dtype)rT   arrayfloatri   intcsinglecdoublerg   s     r+   
test_arrayzRoundtripTest.test_array   s   HRa   Hq!fq!f%u--a   Hq!fq!f%s++a   Hvv&(89LLLa   Hvv&(89LLLa     r,   c                     t          j        g t                    }|                     |           t          j        ddgddggt                    }|                     |           d S )Nrd   rk   r<   rl   )rT   ro   objectri   rg   s     r+   test_array_objectzRoundtripTest.test_array_object   s_    HR  a   Hq!fq!f%v..a     r,   c                 h    t          j        g dt                    }|                     |           d S )Nrd   rk   r<   rl   )rT   ro   rq   rb   rg   s     r+   test_1DzRoundtripTest.test_1D   s/    H\\\3''qr,   rK   zFails on Win32reasonc                     t          j        ddgddgg          }|                     |dddi           t          j        ddgddgg          }|                     |dddi           d S )	Nrd   g      @rl   g333333@T	mmap_moder)rI   rG   )rT   ro   rb   re   rg   s     r+   	test_mmapzRoundtripTest.test_mmap   s{    Hq#hC)**qtS7IJJJ3x!S233qtS7IJJJJJr,   c                 d    t          j        ddgddg          }|                     |           d S )Nrd   rk   r<   rl   xi4yr   rm   )rT   ro   ri   rg   s     r+   test_recordzRoundtripTest.test_record   s:    Hff%k;-GHHHa     r,   c                     d t          d          D             }t          j        d|          }t          j        d          5  t          j        ddt                     |                     |           d d d            d S # 1 swxY w Y   d S )	Nc                 ,    g | ]}d |z  dz  t           fS )%dd   rp   r2   is     r+   r3   z1RoundtripTest.test_format_2_0.<locals>.<listcomp>   s&    <<<AqC'<<<r,     i  rm   Trecordalwaysr$   )rangerT   oneswarningscatch_warningsfilterwarningsUserWarningri   )r)   dtrh   s      r+   test_format_2_0zRoundtripTest.test_format_2_0   s    <<s<<<GD###$D111 	% 	%#Hb+>>>!!!$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   1BB
BN)r6   r7   r8   rb   ri   rt   rw   rz   pytestmarkskipifrQ   rR   r   r   slowr   r1   r,   r+   rD   rD   Y   s        .! .! .!`H H H! ! ! ! ! !   [/8HIIK K JIK! ! ! [% % % % %r,   rD   c                       e Zd Zd ZdS )TestSaveLoadc                    t          j        | t          j        g|R i |\  }}t	          |d         |           t	          |d         j        |j                   t	          |d         j        j        |j        j                   d S )Nr   )rD   rb   rT   saver   rn   flagsfnc)r)   r]   r^   ra   rL   s        r+   rb   zTestSaveLoad.roundtrip   s}    )3D"'SDSSSFSS\SV\***SV\<#5666SV\%|'9'=>>>>>r,   N)r6   r7   r8   rb   r1   r,   r+   r   r      s#        ? ? ? ? ?r,   r   c                      e Zd Zd Zd Zej                            ed          ej                            e	 d          ej        j
        ej                            d          d                                                 Zd Zd	 Zd
 Zd Zej                            ed          d             Zd Zej        j        d             Zd Zej                            dg d          d             ZdS )TestSavezLoadc                 4   t          j        | t          j        g|R i |\  }}	 t	          |          D ]^\  }}|d|z           }t          ||           t          |j        |j                   t          |j        j        |j        j                   _	 |j	        r9|j	        
                                 t          j        |j	        j                   d S d S # |j	        r8|j	        
                                 t          j        |j	        j                   w w xY w)Nzarr_%d)rD   rb   rT   savez	enumerater   rn   r   r   fidrS   rZ   r[   rN   )r)   r]   r^   ra   rL   nrh   reloadeds           r+   rb   zTestSavezLoad.roundtrip   s%   )3D"(TTTTTVTT\
	1!# > >1'15Q)))QWhn555QW[(.*<====	>  1 &&(((	,*/000001 1| 1 &&(((	,*/00001s   A.C ADc           	         t          dd          5 }t          j        |d          5 }|                    dd          5 }t	          j        |t	          j        d                     ddd           n# 1 swxY w Y   |                    dd          5 }t	          j        |t	          j        d                     ddd           n# 1 swxY w Y   |                    d	d          5 }|                    d
           ddd           n# 1 swxY w Y   ddd           n# 1 swxY w Y   t	          j        |          5 }t          |d                   dk    sJ t          |d                   dk    sJ t          |d                   dk    sJ |d	         d
k    sJ 	 ddd           n# 1 swxY w Y   ddd           dS # 1 swxY w Y   dS )z5Test loading non-.npy files and name mapping in .npz.numpy_test_npz_load_non_npy_.npzprefixsuffixwz	test1.npy
   Ntest2metadatas
   Name: Testtest1)
r    zipfileZipFileopenrT   r   aranger.   rU   len)r)   tmpnpzout_files       r+   test_load_non_npyzTestSavezLoad.test_load_non_npy   s%   ;FKKK 	8sc** 2cXXk3// 58GHbimm4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5XXgs++ 5xGHbimm4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5XXj#.. 2(NN=1112 2 2 2 2 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2  83w<((B....3{+,,22223w<((B....:-77777	8 8 8 8 8 8 8 8 8 8 8 8 8 8 8	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8s   GD"(A3'D"3A77D":A7;D"(C<D"CD"CD")D?D"DD"DD"G"D&	&G)D&	*GA F."G.F2	2G5F2	6GG
G
zHangs on PyPyr{   zNeeds 64bit platformcrashes with low memoryc                 ,   d}t          j        |t           j                  }t          dd          5 }t          j        ||           ~t          j        |          }|d         }|                                 d d d            d S # 1 swxY w Y   d S )Nl     rm   numpy_test_big_arrays_r   r   rh   rh   )rT   emptyuint8r    r   rU   rS   )r)   Lrh   r   npfiles        r+   test_big_arrayszTestSavezLoad.test_big_arrays   s    
 HQbh'''5fEEE 	HSAWS\\FsALLNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AB		BBc                     t          j        ddgddggt                    }t          j        ddgddggt                    }|                     ||           d S )	Nrd   rk   r<   rl         ?       @       @      @      @            @      (@)rT   ro   rp   complexrb   )r)   rh   bs      r+   test_multiple_arraysz"TestSavezLoad.test_multiple_arrays   sZ    Hq!fq!f%u--Hvv&(9:GDDq!r,   c                 z   t          j        ddgddggt                    }t          j        ddgddggt                    }t	                      }t          j        |||	           |                    d
           t          j        |          }t          ||d                    t          ||d                    d S Nrd   rk   r<   rl   r   r   r   r   )file_afile_br   r   r   )	rT   ro   rp   r   r   r   rP   rU   r   r)   rh   r   cls        r+   test_named_arrayszTestSavezLoad.test_named_arrays   s    Hq!fq!f%u--Hvv&(9:GDDII
1Q''''	q			GAJJQ($$$Q($$$$$r,   c                 D   t          j        g d          }t                      }t          j        ||           |                    d           t          j        |          }t          j        t          d          5  |d          d d d            d S # 1 swxY w Y   d S )Nrd   rk   r<   r   r   z(1, 2)matchr   )	rT   ro   r   r   rP   rU   r   raisesKeyError)r)   rh   fr   s       r+   test_tuple_getitem_raisesz'TestSavezLoad.test_tuple_getitem_raises  s    HYYYII
a	q			GAJJ]88444 	 	dGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ?	BBBc                    t          j        ddgddggt                    }t          j        ddgddggt                    }t	                      }t          j        |||	           |                    d
           t          j        |          }t          t          t          |j                            ddg           t          ||j        j                   t          ||j        j                   d S r   )rT   ro   rp   r   r   r   rP   rU   r   sorteddirr   r   r   r   s        r+   test_BagObjzTestSavezLoad.test_BagObj  s    Hq!fq!f%u--Hvv&(9:GDDII
1Q''''	q			GAJJVCHH%%(';<<<Q
###Q
#####r,   zCannot start threadc                     d g fdt          d          D             }|D ]}|                                 |D ]}|                                 rt                    d S )Nc                     t          d          5 }t          j                            dd          }	 t          j        ||           n,# t
          $ r}|                     |           Y d }~nd }~ww xY wd d d            d S # 1 swxY w Y   d S )Nr   r   r   )ra   )r    rT   randomrandnr   OSErrorappend)
error_listr   ra   errs       r+   writerz9TestSavezLoad.test_savez_filename_clashes.<locals>.writer"  s    ((( +Ciooc3//+HSc***** + + +%%c********+	+ + + + + + + + + + + + + + + + + +s:   !BA
	B

A3A.)B.A33BB
Bc                 >    g | ]}t          j        f           S )targetr]   )	threadingThread)r2   jerrorsr   s     r+   r3   z=TestSavezLoad.test_savez_filename_clashes.<locals>.<listcomp>+  s;     & & & #6	BBB & & &r,   r<   )r   startjoinAssertionError)r)   threadstr   r   s      @@r+   test_savez_filename_clashesz)TestSavezLoad.test_savez_filename_clashes  s    
	+ 	+ 	+ & & & & &!!HH& & & 	 	AGGIIII 	 	AFFHHHH 	) (((	) 	)r,   c                 ,   t          d          5 }t          |d          5 }t          j        |d           d d d            n# 1 swxY w Y   t          |dd          5 }|                    d           t          |j                    t          j        |          d	          t          |j                    |                    d           t          |j                    d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Nr   r   wbLOVELY LOADdatarbi'  r   r  )r    r   rT   r   rP   r   closedrU   )r)   r   fps      r+   test_not_closing_opened_fidz)TestSavezLoad.test_not_closing_opened_fid5  s    V$$$ 
	'c4 1B-00001 1 1 1 1 1 1 1 1 1 1 1 1 1 1c4'' '2


BI&&&F##BI&&&


BI&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	'sX   D	AD	A			D	A		D	!BC1%D	1C5	5D	8C5	9D		DDc                 0   t          d          5 }t          j        |d           t          j                    5  t          j        dt                     t          dd          D ]}	 t          j        |          d          n&# t          $ r}d	| }t          |          d }~ww xY w	 t          rt          j                     `# t          rt          j                     w w xY w	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Nr   r   r  r  ignorerd   i  r  z!Failed to load data from a file: )r    rT   r   r   r   simplefilterResourceWarningr   rU   	Exceptionr   r   gccollect)r)   r   r   emsgs        r+   test_closing_fidzTestSavezLoad.test_closing_fidD  s    V$$$ 	)HS}---- (** ) )%h@@@q$ ) )A)V,,,$ 2 2 2E!EE,S1112 -
 # )JLLL # )JLLLL))) ) ) ) ) ) ) ) ) ) ) ) ) ) )	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)sj   *D-C3)BC
B'	B"	"B'	'C+C3C#	#C3'D3C7	7D:C7	;DDDc                    d}t          d|          5 }t          j        |d           t          j        |          }|j        j        }|                                 t          |j                   d d d            d S # 1 swxY w Y   d S )N&numpy_test_closing_zipfile_after_load_r   )r   r   place holderlab)	r    rT   r   rU   zipr  rS   r   r  )r)   r   r   r  r  s        r+   test_closing_zipfile_after_loadz-TestSavezLoad.test_closing_zipfile_after_load_  s    
 :VF333 	sHSn----73<<DBJJLLLBI	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AB  BBzcount, expected_repr))rd   z"NpzFile {fname!r} with keys: arr_0)   z>NpzFile {fname!r} with keys: arr_0, arr_1, arr_2, arr_3, arr_4)   zANpzFile {fname!r} with keys: arr_0, arr_1, arr_2, arr_3, arr_4...c                 f   t          j        ddgddggt                    }t          d          5 }t          j        |g|g|z  R   t          j        |          }t          |          |                    |          k    sJ |                                 d d d            d S # 1 swxY w Y   d S )Nrd   rk   r<   rl   r   r   )fname)	rT   ro   rp   r    r   rU   reprformatrS   )r)   countexpected_reprrh   r   r   s         r+   test_repr_lists_keysz"TestSavezLoad.test_repr_lists_keysl  s     Hq!fq!f%u--V$$$ 	HS'A3;''''A77m222======GGIII		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A(B&&B*-B*N)r6   r7   r8   rb   r   r   r   r   r   IS_64BITr   thread_unsafer   r   r   r   r   r   r   r  	slow_pypyr  r  parametrizer!  r1   r,   r+   r   r      s       1 1 18 8 8  [88[H-CDD[[&?@@  A@  ED 98  
% % %  	$ 	$ 	$ [(=>>) ) ?>).' ' ' [) ) )4   [3 6 6 6      r,   r   c                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                            d
eeg          d             Zd Zd Zd Zd Zd Zd Zd Zej                            deeg          d             Zej                            ej        dk    d          ej        j         e d          ej        !                    d          d                                                 Z"dS )TestSaveTxtc                 f   t          j        ddgddggt                    }d}t                      }t          j        |||           |                    d           t          |                                t          |dz   |z   d	z   d
z            t          |dz   |z   d	z   dz            g           t          j        ddgddggt                    }t                      }t          j        ||d           |                    d           t          |                                ddg           d S )Nrd   rk   r<   rl   z%.18erB   r    
r   r   r      1 2
   3 4
)
rT   ro   rp   r   savetxtrP   r   	readlinesr   rq   )r)   rh   rB   r   s       r+   rt   zTestSaveTxt.test_array}  s%   Hq!fq!f%u--II

1aS!!!!	q			Q[[]]sSy35?@@sSy35?@@B	C 	C 	C Hq!fq!f%s++II

1aT""""	q			Q[[]]Xx$899999r,   c                     t          j        g dt                    }t                      }t          j        ||d           |                    d           |                                }t          |g d           d S )Nry   r   r)  r   )s   1
s   2
s   3
s   4
)rT   ro   rq   r   r.  rP   r/  r   r)   rh   r   r5   s       r+   rz   zTestSaveTxt.test_1D  sp    H\\\3''II

1aT""""	q			U<<<=====r,   c           	          t                      }t          t          t          j        |t          j        d                     t          t          t          j        |t          j        dgdggg                     d S )Nrd   rk   )r   r   
ValueErrorrT   r.  ro   r)   r   s     r+   
test_0D_3DzTestSaveTxt.test_0D_3D  sY    IIj"*a!===j"*aQC!:,1G1GHHHHHr,   c                     t          j        ddgddg          }t                      }t          j        ||d           |                    d           t          |                                d	d
g           d S )Nr   r   r   r   rm   r   r)  r   r,  r-  rT   ro   r   r.  rP   r   r/  r)   rh   r   s      r+   test_structuredzTestSaveTxt.test_structured  sr    Hff%k;-GHHHII

1aT""""	q			Q[[]]Xx$899999r,   c                    t          j        ddgg d          }t                      }t          j        ||ddg         d           |                    d	           t          |                                d
dg           d S )Nr   rl   r  r  ))foor   )barr   )bazr   rm   r<  r>  r   r)  r   s   1 3
s   4 6
r7  r8  s      r+   test_structured_paddedz"TestSaveTxt.test_structured_padded  s    Hi+ 4
 4
 4
    II

1a'T2222	q			Q[[]]Xx$899999r,   c                 ,   t          j        dg d          }|ddg         }t          d          5 }t          |          }t          j        ||           t          j        |          }t          ||           d d d            d S # 1 swxY w Y   d S )Nrd   )r   r   )zf4rm   r   rA  .npyr   )rT   r   r    r	   r   rU   r   )r)   rh   vpathr  s        r+   test_multifield_viewz TestSaveTxt.test_multifield_view  s    GADDDEEEsCjMV$$$ 	(::DGD!74==DtQ'''		( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   A	B		BBc                     t          j        ddgddgg          }t                      }t          j        ||dd           |                    d           t          |                                d	d
g           d S )N      ?       @      @      @,r   )	delimiterrB   r   s   1,2
s   3,4
r7  r8  s      r+   test_delimiterzTestSaveTxt.test_delimiter  sr    Hr2hR)**II

1a3D1111	q			Q[[]]Xx$899999r,   c                    t          j        ddg          }t                      }t          j        ||ddg           |                    d           t          |                                ddg           t                      }t          j        ||d	           |                    d           |                                }t          |d
dg           t                      }t          j        ||d	d           |                    d           |                                }t          |d
dg           t                      }t          t          t           j        ||d           d S )Nr   r   z%02dz%3.1fr)  r   s   01 2.0
s   03 4.0
z%02d : %3.1fs	   01 : 2.0
s	   03 : 4.0
rL  )rB   rM  c   )	rT   ro   r   r.  rP   r   r/  r   r3  r1  s       r+   test_formatzTestSaveTxt.test_format  s;   Hff%&&II

1afg.////	q			Q[[]][+$>??? II

1a^,,,,	q			U]M:;;; II

1a^s;;;;	q			U]M:;;; IIj"*a;;;;;;r,   c                    t                      }t          j        ddgt                    }d}t          j        ||d|           |                    d           t          |                                t          d|z   d	z                        t                      }t          j        ||d|
           |                    d           t          |                                t          d|z   dz                        t                      }d}t          j        ||d||           |                    d           t          |                                t          ||z   dz   dz                        t                      }d}t          j        ||d||           |                    d           t          |                                t          d|z   |z   dz                        d S )Nr   r   rm   zTest header / footerz%1d)rB   headerr   # z	
1 2
3 4
)rB   footerz
1 2
3 4
# r+  z% )rB   rS  commentsz1 2
3 4
)rB   rU  rV  )	r   rT   ro   rq   r.  rP   r   readr   )r)   r   rh   test_header_footer
commentstrs        r+   rX  zTestSaveTxt.test_header_footer  s    IIHff%S1113

1aU+=>>>>	q			QVVXXT$66GHH	J 	J 	J II

1aU+=>>>>	q			QVVXX^.@@4GHH	J 	J 	J II


1aU,z	C 	C 	C 	C	q			QVVXXZ*<<tClRSS	U 	U 	U II


1aU,z	C 	C 	C 	C	q			QVVXX\J69KKdRSS	U 	U 	U 	U 	Ur,   filename_typec                    t                      5 }t          j        ddg          }t          j         ||          |           t          j         ||                    }t          ||           d d d            d S # 1 swxY w Y   d S )Nr   r   )r    rT   ro   r.  loadtxtr   )r)   rZ  rN   rh   r   s        r+   test_file_roundtripzTestSaveTxt.test_file_roundtrip  s    ZZ 	%4&&)**AJ}}T**A...
==..//Aq!$$$		% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   A"A>>BBc                    d}d}t          j        ||ft           j                  }t           j        }t           j        }|d|z  z   |d d <   t                      }t          j        ||d           |                    d           |                                }t          |ddg           t                      }t          j        ||d|z             |                    d           |                                }t          |d	d	g           t                      }t          j        ||d
g|z             |                    d           |                                }t          |ddg           d S )Nrk   rm                 ?z %+.3er)  r   s8    ( +3.142e+00+ +2.718e+00j)  ( +3.142e+00+ +2.718e+00j)
z  %+.3e  %+.3es1     +3.142e+00  +2.718e+00  +3.142e+00  +2.718e+00
z(%.3e%+.3ej)s.   (3.142e+00+2.718e+00j) (3.142e+00+2.718e+00j)

rT   zeros
complex128pir  r   r.  rP   r/  r   r)   ncolsnrowsrh   reimr   r5   s           r+   test_complex_arrayszTestSaveTxt.test_complex_arrays  s   HeU^2=999UTD2I~!!! II

1aX&&&&	q			IIK	L 	L 	L II

1a]U23333	q			BBD	E 	E 	E II

1an-56666	q			??A	B 	B 	B 	B 	Br,   c                 \   d}d}t          j        ||ft           j                  }t           j        }t           j        }|d|z  z
  |d d <   t                      }t          j        ||d           |                    d           |                                }t          |ddg           d S )Nrk   rm   r_  z%.3er)  r   s0    (3.142e+00-2.718e+00j)  (3.142e+00-2.718e+00j)
r`  rd  s           r+   test_complex_negative_exponentz*TestSaveTxt.test_complex_negative_exponent%  s    HeU^2=999UTD2I~!!!II

1aV$$$$	q			AAC	D 	D 	D 	D 	Dr,   c                      G d dt                     } |            }t          j        ddg          }t          j        ||           t          j        |          }t          ||           d S )Nc                       e Zd Zd ZdS )4TestSaveTxt.test_custom_writer.<locals>.CustomWriterc                 V    |                      |                    d                     d S )N   
)extendsplit)r)   texts     r+   r.   z:TestSaveTxt.test_custom_writer.<locals>.CustomWriter.write9  s&    DJJu--.....r,   N)r6   r7   r8   r.   r1   r,   r+   CustomWriterrn  8  s#        / / / / /r,   rt  r   r   )listrT   ro   r.  r\  r   )r)   rt  r   rh   r   s        r+   test_custom_writerzTestSaveTxt.test_custom_writer6  s    	/ 	/ 	/ 	/ 	/4 	/ 	/ 	/ LNNHff%&&

1aJqMM1a     r,   c                 .   d                     d          }t          j        |gt          j                  }t	                      5 }t          j        t          j                            |d          |dgd           d d d            d S # 1 swxY w Y   d S )N   ϖUTF-8rm   test.csv%srB   encoding)	r?   rT   ro   str_r   r.  rZ   rE  r   )r)   utf8rh   tmpdirs       r+   test_unicodezTestSaveTxt.test_unicodeB  s    !!'**HdV27+++YY 	)&Jrw||FJ77 ') ) ) )	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   8B

BBc           	      `   d                     d          }t          j        |gt          j                  }ddg}t          r|                    d           t          r|                    ddg           t                      5 }|D ]}t          j	        t          j                            |d	|z             |d
gd           t          j        t          j                            |d	|z             dt          j                  }t          ||           	 d d d            d S # 1 swxY w Y   d S )Nrx  ry  rm   r$   .gz.bz2.xz.lzmarz  r{  z	UTF-16-LEr|  r}  rn   )r?   rT   ro   r~  HAS_BZ2r   HAS_LZMArq  r   r.  rZ   rE  r   r\  r   )r)   r  rh   suffixesr  r   r   s          r+   test_unicode_roundtripz"TestSaveTxt.test_unicode_roundtripJ  sq   !!'**HdV27+++; 	$OOF### 	.OOUG,---YY 	)&" ) )
27<<
V0CDDa $v= = = =Jrw||FJ4GHH(327D D D"1a(((()	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   BD##D'*D'c                 Z   d                     d          }t          j        |gt          j                  }t	                      }t          j        ||dgd           |                    d           t          |                                                     d          |dz              d S Nrx  ry  rm   r{  r|  r   r+  )	r?   rT   ro   r~  r   r.  rP   r   rW  r)   r  rh   r*   s       r+   test_unicode_bytestreamz#TestSaveTxt.test_unicode_bytestream[  s    !!'**HdV27+++II

1adVg6666	q			QVVXX__W--td{;;;;;r,   c                 4   d                     d          }t          j        |gt          j                  }t	                      }t          j        ||dgd           |                    d           t          |                                |dz              d S r  )	r?   rT   ro   r~  r   r.  rP   r   rW  r  s       r+   test_unicode_stringstreamz%TestSaveTxt.test_unicode_stringstreamc  s    !!'**HdV27+++JJ

1adVg6666	q			QVVXXtd{+++++r,   iotypec                 F   t          j        dg          } |            }t          j        ||d           |                    d           |t          u r't          |                                ddz             d S t          |                                ddz             d S )NrH  z%fr)  r   z%f
s   %f
)rT   ro   r.  rP   r   r   rW  )r)   r  rh   r*   s       r+   test_unicode_and_bytes_fmtz&TestSaveTxt.test_unicode_and_bytes_fmtk  s     HbTNNFHH

1aT""""	q			X6B;/////7R<00000r,   rK   zfiles>4GB may not workr{   g   `A)
free_bytesr   c                 Z   d }t          t                    }t          d          }|                    ||f          }|                                 |                                 |j        rt          d          |j        dk    rd}t          j
        |           |j        dk    sJ d S )Nc                 \   d| _         	 t          j        d t          d          D             t                    }t                      5 }t          j        t          j        	                    |d          |           d d d            d S # 1 swxY w Y   d S # t          $ r	 d| _          w xY w)NFc                     g | ]@}t           j                            t           j                            d d          d          AS )2   r   rl   )rT   r   randrandintr   s     r+   r3   zGTestSaveTxt.test_large_zip.<locals>.check_large_zip.<locals>.<listcomp>  sW     (@ (@ (@,- )+	(*	(9(9"c(B(BA)G )G (@ (@ (@r,   i 5 rm   ztest.npz)	test_dataT)valuerT   asarrayr   rv   r   r   rZ   rE  r   MemoryError)memoryerror_raisedr  r  s      r+   check_large_zipz3TestSaveTxt.test_large_zip.<locals>.check_large_zip|  s   ',$ J (@ (@16v(@ (@ (@GMO O O	 YY 2&HRW\\&*=='02 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2    +/"(s0   A B 	5B>B BB BB B+forkr   z,Child process raised a MemoryError exceptionzCsubprocess got a SIGKILL, apparently free memory was not sufficientr   )r   r   r   Processr   r   r  r  exitcoder   xfail)r)   r  r  ctxpr  s         r+   test_large_zipzTestSaveTxt.test_large_zipw  s    
	 	 	" #6]]
 &!!KK6H5JKKK					# 	NLMMM:WCLzQr,   N)#r6   r7   r8   rt   rz   r5  r9  r?  rF  rN  rQ  rX  r   r   r%  r	   strr]  ri  rk  rv  r  r  r  r  r   r   r  r   rQ   rR   r   r!   r#  r  r1   r,   r+   r'  r'  |  s       : : : > > >I I I
: : :: : :( ( (: : :< < <4 U  U  UD [_tSk::% % ;:%$B $B $BLD D D"
! 
! 
!) ) )) ) )"< < <, , , [X'':;;	1 	1 <;	1 [/8PQQ[_$$$[&?@@! ! A@ %$  RQ! ! !r,   r'  c                       e Zd Zd Zd Zej                            e d          d             Z	ej                            e
 d          d             Zd Zd	 Zd
 Zd Zd ZdS )LoadTxtBasec           	      &   t          j        d                              d          }d}|D ]}d|z   dz   }|D ]}t          |          5 } ||dd	          5 }	|	                    |           d d d            n# 1 swxY w Y   |                     |d
          }
t          |
|            ||dd
          5 }	|                     |	          }
d d d            n# 1 swxY w Y   t          |
|           d d d            n# 1 swxY w Y   ،d S )Nr  rk   r<   r+  z
0 1 23 4 5r   wtz	UTF-32-LE)moder}  r}  rt)rT   r   reshaper    r.   loadfuncr   )r)   fopenr  wantedlinesepsepr  r   rN   r   ress              r+   check_compressedzLoadTxtBase.check_compressed  s   1%%f--& 
	4 
	4CS=7*D" 4 4V,,, 4t$EEE && & & & & & & & & & & & & & &--{-CCC&sF333tT[AAA /Q"mmA../ / / / / / / / / / / / / / /&sF3334 4 4 4 4 4 4 4 4 4 4 4 4 4 44
	4 
	4sZ   
DA;	/D;A??DA?8D;C	DC!!D$C!%DDDc                 F    |                      t          j        d           d S )N)r  )r  gzipr   r)   s    r+   test_compressed_gzipz LoadTxtBase.test_compressed_gzip  s     di22222r,   z	Needs bz2r{   c                 F    |                      t          j        d           d S )N)r  )r  bz2r   r  s    r+   test_compressed_bz2zLoadTxtBase.test_compressed_bz2  s     ch	22222r,   z
Needs lzmac                 F    |                      t          j        d           d S )N)r  r  )r  lzmar   r  s    r+   test_compressed_lzmaz LoadTxtBase.test_compressed_lzma  s!    di)9:::::r,   c                 F   t                      5 }t          |d          5 }|                    d                    d                     d d d            n# 1 swxY w Y   |                     |d          }t          |g d           d d d            d S # 1 swxY w Y   d S )Nr   z0.
1.
2.UTF-16r  )        rH  rI  )r    r   r.   encoder  r   )r)   rE  r   r   s       r+   test_encodingzLoadTxtBase.test_encoding  s   ZZ 	04dD!! 7Q++H556667 7 7 7 7 7 7 7 7 7 7 7 7 7 7dX66Aq,,,///		0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0s4   B)A	BA	BA	,BBBc                    d                     d          }t                      5 }t          |d          5 }|                    |                    d                     d d d            n# 1 swxY w Y   |                     |dt          j                  }t          ||           d d d            d S # 1 swxY w Y   d S )Ns   öüöry  r   r  r  )	r?   r    r   r.   r  r  rT   r~  r   )r)   nonasciirE  r   r   s        r+   test_stringloadzLoadTxtBase.test_stringload  s)   .55g>>ZZ 	,4dD!! 3Q112223 3 3 3 3 3 3 3 3 3 3 3 3 3 3dXRWEEAq(+++		, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s4   B4)A*B4*A.	.B41A.	25B44B8;B8c                     d}|                      t          |          t          j        d          }t	          |t          j        |                    d                                                               d S Ns   h  i  jr  rn   r}  )r  r   rT   r~  r   ro   r?   rr  r)   utf16rD  s      r+   test_binary_decodezLoadTxtBase.test_binary_decode  s^    4MM'%..(MKK1bhu||H'='='C'C'E'EFFGGGGGr,   c                 2   t                      }|                    d           |                    d           |                     |t          j        ddd i          }t	          j        d                    d          g          }t          ||           d S )Nrx  r   r>   c                 ,    |                      d          S )Nry  r?   r   s    r+   <lambda>z4LoadTxtBase.test_converters_decode.<locals>.<lambda>  s    188G3D3D r,   )rn   r}  
convertersry  )	r#   r.   rP   r  rT   r~  ro   r?   r   r)   r   r   rh   s       r+   test_converters_decodez"LoadTxtBase.test_converters_decode  s    HH		q			MM!27W&')D)D%E  G GHk((112331a     r,   c                    d                     d          }t                      5 }t          |dd          5 }|                    |           d d d            n# 1 swxY w Y   |                     |t
          j        dd id          }t          j        |dz   g          }t          ||           d d d            d S # 1 swxY w Y   d S )	Nrx  ry  r  r  r   c                     | dz   S )Nr   r1   r  s    r+   r  z6LoadTxtBase.test_converters_nodecode.<locals>.<lambda>  s
    q3w r,   rn   r  r}  r   )	r?   r    r   r.   r  rT   r~  ro   r   )r)   r  rE  r   r   rh   s         r+   test_converters_nodecodez$LoadTxtBase.test_converters_nodecode  sJ   !!'**ZZ 	%4dD7333 q              d"'*+->->)?'.  0 0A $*&&Aq!$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s5   B?AB?A	B? A	!AB??CCN)r6   r7   r8   r  r  r   r   r   r  r  r  r  r  r  r  r  r  r1   r,   r+   r  r    s        4 4 4 3 3 3 [GK883 3 983 [H\::; ; ;:;0 0 0, , ,H H H
! ! !
% 
% 
% 
% 
%r,   r  c            
       4   e Zd Z eej                  Zd Zd Zd Z	d Z
d Zd Zd Zd Zd	 Zd
 Zej                            eoej        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#d Z$d Z%ej                            eoej        j        dk    d          d             Z&ej                            eoej        j        dk    d          d             Z'd Z(d Z)d  Z*d! Z+d" Z,d# Z-d$ Z.d% Z/d& Z0ej                             e1j2                    d'k    d(          d)             Z3d* Z4d+ Z5d, Z6d- Z7ej        8                    d.d/gd0g d1fd0g d2fd0d3 fd4g d5fd4g d6fd4d7 fg          d8             Z9d9S ):TestLoadTxtc                 @    t           j        | _        dt           _        d S Nrd   )r   _loadtxt_chunksize
orig_chunkr  s    r+   setup_methodzTestLoadTxt.setup_method  s    %8)*&&&r,   c                 (    | j         t          _        d S r&   )r  r   r  r  s    r+   teardown_methodzTestLoadTxt.teardown_method  s    )-&&&r,   c                     t                      }|                    d           |                    d           t          j        |dt          j        fdt          j        fg          }t          j        ddgdd	g          }t          ||           t                      }|                    d
           |                    d           ddd}t          j        ddg|          }t          j        ||          }t          ||           d S )N1 2
3 4r   r   r   rm   r   r   r   r   zM 64 75.0
F 25 60.0genderageweightS1r   rB  namesformatsM      P@     R@F      9@      N@)r#   r.   rP   rT   r\  int32ro   r   )r)   r   r   rh   dmydescriptorr   r   s           r+   r   zTestLoadTxt.test_record  s
   HH	
	q			Jq#rx3/ BCCCHff%k;-GHHH1a   HH	&'''	q			!<#57 7H'')0<> > >Jq---1a     r,   c                    t                      }|                    d           |                    d           t          j        |t
                    }t          j        ddgddggt
                    }t          ||           |                    d           t          j        |t                    }t          j        ddgddggt                    }t          ||           d S )Nr  r   rm   rd   rk   r<   rl   )	r#   r.   rP   rT   r\  rq   ro   r   rp   r  s       r+   rt   zTestLoadTxt.test_array  s    HH	
	q			Jq$$$Hq!fq!f%s++1a   	q			Jq&&&Hq!fq!f%u--1a     r,   c                    t                      }|                    d           |                    d           t          j        |t
                    }t          j        g dt
                    }t          ||           t                      }|                    d           |                    d           t          j        |t
          d          }t          j        g dt
                    }t          ||           d S )N1
2
3
4
r   rm   ry   1,2,3,4
rL  rn   rM  r#   r.   rP   rT   r\  rq   ro   r   r  s       r+   rz   zTestLoadTxt.test_1D  s    HH		q			Jq$$$H\\\3''1a   HH		q			Jqs333H\\\3''1a     r,   c                    t                      }|                    d           |                    d           t          j        |t
          ddd i          }t          j        g dt
                    }t          ||           d S )N	1,2,3,,5
r   rL  r<   c                 $    t          | pd          S Nrq   r*   s    r+   r  z*TestLoadTxt.test_missing.<locals>.<lambda>%      AJ r,   rn   rM  r  rd   rk   r<   r  r  r  r  s       r+   test_missingzTestLoadTxt.test_missing   s    HH		q			Jqs#$&?&?"@B B BH'''--1a     r,   c                    t                      }|                    d           |                    d           t          j        |t
          ddd id          }t          j        dd	gd
dggt
                    }t          ||           d S )N1,2,3,,5
6,7,8,9,10
r   rL  r<   c                 $    t          | pd          S r  r  r  s    r+   r  z:TestLoadTxt.test_converters_with_usecols.<locals>.<lambda>.  r  r,   rd   r<   rn   rM  r  usecolsrk   r     	   r  r  s       r+   test_converters_with_usecolsz(TestLoadTxt.test_converters_with_usecols)  s    HH	()))	q			Jqs#$&?&?"@&( ( ( Hq$i!Q(#..1a     r,   c                    t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           d S )N# comment
1,2,3,5
r   rL  #rn   rM  rV  rd   rk   r<   r  r  r  s       r+   test_comments_unicodez!TestLoadTxt.test_comments_unicode3  sw    HH	&'''	q			Jqs #% % %H\\\3''1a     r,   c                    t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           d S )Nr  r   rL     #r  r   r  r  s       r+   test_comments_bytezTestLoadTxt.test_comments_byte<  sw    HH	&'''	q			Jqs $& & &H\\\3''1a     r,   c                    t                      }|                    d           |                    d           t          j        |t
          dg d          }t          j        g dg dgt
                    }t          ||           d S )Nz,# comment
1,2,3
@ comment2
4,5,6 // comment3r   rL  )r  @z//r  r   r;  r  r  s       r+   test_comments_multiplez"TestLoadTxt.test_comments_multipleE  s    HH	ABBB	q			Jqs 0 0 02 2 2Hiii+S111a     r,   )r  r<      zPyPy bug in error formattingr{   c                    t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           t                      }|                    d           |                    d           t          t          t          j        |t
          dd           d S )Nz/* comment
1,2,3,5
r   rL  z/*r  r   z*/ comment
1,2,3,5
)
r#   r.   rP   rT   r\  rq   ro   r   r   r3  r  s       r+   test_comments_multi_charsz%TestLoadTxt.test_comments_multi_charsN  s     HH	'(((	q			Jqs $& & &H\\\3''1a    HH	'(((	q			j"*asc#	% 	% 	% 	% 	% 	%r,   c                 
   t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           d S )Ncomment
1,2,3,5
r   rL  rd   )rn   rM  skiprowsr   r  r  r  s       r+   test_skiprowszTestLoadTxt.test_skiprows`  s    HH	$%%%	q			Jqs !# # #H\\\3''1a   HH	&'''	q			Jqs !# # #H\\\3''1a     r,   c           
         t          j        ddgddggt                    }t                      }t          j        ||           |                    d           t          j        |t          d          }t          ||d d df                    t          j        g dg d	gt                    }t                      }t          j        ||           |                    d           t          j        |t          d
          }t          ||d d dd f                    |                    d           t          j        |t          t          j        ddg                    }t          ||d d dd f                    t          t           j	        t           j
        t           j        t           j        t           j        t           j        t           j        t           j        f	D ]X} |d          }|                    d           t          j        |t          |          }t          ||d d df                    Y G d d          } |            }|                    d           t          j        |t          |          }t          ||d d df                    |                    d           t          j        |t          |f          }t          ||d d df                    d}t#          |          }ddg}	ddg}
t          j        |dt%          t'          |	|
                              }t)          |d         ddg           t)          |d         ddg           |                    d           d}t+          t,          dt/          |          j         t           j        ||           t+          t,          dt/          |          j         t           j        |d|dg           d S )Nrd   rk   r<   rl   r   rd   rn   r  r   r<   rl   r  r   c                       e Zd Zd ZdS )*TestLoadTxt.test_usecols.<locals>.CrazyIntc                     dS r  r1   r  s    r+   	__index__z4TestLoadTxt.test_usecols.<locals>.CrazyInt.__index__  s    qr,   N)r6   r7   r8   r6  r1   r,   r+   CrazyIntr4    s#            r,   r7  z<JOE 70.1 25.3
                BOB 60.5 27.9
                stidtempS4f8r   rk   r  rn      JOE   BOBL9@fffff;@      ?z^usecols must be.*r  )rT   ro   rp   r   r.  rP   r\  r   rq   int8int16r  int64r   uint16uint32uint64r#   ru  r  r   r   	TypeErrortyper6   )r)   rh   r   r   int_typeto_readr7  	crazy_intr  r  dtypesra   	bogus_idxs                r+   test_usecolszTestLoadTxt.test_usecolsq  s   Hq!fq!f%u--II

1a	q			Jqt4441a1g&&&Hiii+U33II

1a	q			Jqv6661a122h''' 	
q			JqrxA/?/?@@@1a122h''' bgrx28RXryBI/ 	+ 	+H hqkkGFF1III
1E7;;;Aq!AAAqD'****	 	 	 	 	 	 	 	 HJJ		q			Jqy9991a1g&&&	q			Jq	|<<<1a1g&&& 4LL jF$s5&7I7I2J2JKKKS[66"2333S[4,/// 	
q				;i!9;;J9	 	 	 	 	;i!9;;JAy!#4	 	 	 	 	 	r,   c                    t          j        t                    5  t          j        dgdgd           d d d            n# 1 swxY w Y   t          j        t
          t          f          5  t          j        dgdgd           d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        dgd	d
gd           d d d            d S # 1 swxY w Y   d S )Nz1
l            rL  )r  rM  l            zQIf a structured dtype .*. But 1 usecols were given and the number of fields is 3.r   z1,1
zi,2ir   )rn   r  rM  )r   r   OverflowErrorrT   r\  r3  rJ  r  s    r+   test_bad_usecolszTestLoadTxt.test_bad_usecols  s   ]=)) 	@ 	@Jw3????	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@]J677 	@ 	@Jw3????	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ ]934 4 4 	L 	L JysKKKK	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	Ls5   A  AA+BBB7CC#&C#c                 P   t                      }|                    d           |                    d           t          j        dt
          fddt
          fdt          fgfg          }t          j        ||d          }t          j        d	d
g|          }t          ||           d S )N1,2,3.0
4,5,6.0
r   r   r   r   r*   rL  r  rd   )rk   rJ  rl   )r        @)
r#   r.   rP   rT   rn   rq   rp   r\  ro   r   r)   r   r   r   rh   s        r+   test_fancy_dtypezTestLoadTxt.test_fancy_dtype  s    HH	$%%%	q			XSzC3*sEl)C#DEFFJqc222Hm]3R881a     r,   c                    t          d          }t          j        ddt          fdt          fdt          dfg          }t          j        ||          }t          j        dd	d
g dg dgfg|          }t          ||           d S Nzaaaa  1.0  8.0  1 2 3 4 5 6rN   r:  r   r   blockr  rm   aaaarH         @r   r;  r#   rT   rn   rp   rq   r\  ro   r   rZ  s        r+   test_shaped_dtypezTestLoadTxt.test_shaped_dtype  s    011X~U|c5\f-/ 0 0Jq###HvsC)))YYY)?@A  1a     r,   c           	         t          d          }t          j        ddt          fdt          fdt          dfg          }t          j        ||          }t          j        dd	d
g dg dgg dg dggfg|          }t          ||           d S )Nz*aaaa  1.0  8.0  1 2 3 4 5 6 7 8 9 10 11 12r^  r   r   r_  )rk   rk   r<   rm   r`  rH  ra  r   r;  )r  r(  r  )r         rb  rZ  s        r+   test_3d_shaped_dtypez TestLoadTxt.test_3d_shaped_dtype  s    ?@@X~U|c5\i02 3 3Jq###HvsC"III.LLL0IJL M   	1a     r,   c                     ddg}t           t          j        fD ]@}t          j        ddg|          }t          j        ||          }t          ||           Ad S )Nstr1str2rm   )r  rT   bytes_ro   r\  r   )r)   r   r   rh   r   s        r+   test_str_dtypezTestLoadTxt.test_str_dtype  sl    V	" 	% 	%B&&)444A
1B'''Aq!$$$$	% 	%r,   c                    t          j        t          d          5  t                      }t	          j        |          }t          |j        d           t	          j        |t          j                  }t          |j        d           t          |j
        t          j        k               d d d            d S # 1 swxY w Y   d S )Ninput contained no datar   r   rm   )r   warnsr   r#   rT   r\  r   rf   rF  r   rn   )r)   r   r   s      r+   test_empty_filezTestLoadTxt.test_empty_file  s    \+-FGGG 	) 	)A
1A$'''
1BH---A$'''AGrx'(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   BB88B<?B<c                 T   t                      }|                    ddg           |                    d           t          j        |ddd i          }t          |ddg           |                    d           t          j        |dd	d
 i          }t          |ddg           d S )Nz1 21
z3 42
r   r0  c                 "    t          | d          S N   r  r  s    r+   r  z3TestLoadTxt.test_unused_converter.<locals>.<lambda>      3q":: r,   r  r     *   rd   c                 "    t          | d          S rt  r  r  s    r+   r  z3TestLoadTxt.test_unused_converter.<locals>.<lambda>  rv  r,   !   B   )r#   r4   rP   rT   r\  r   )r)   r   r  s      r+   test_unused_converterz!TestLoadTxt.test_unused_converter  s    HH	h)***	q			z!T&')=)=%>@ @ @4"b***	q			z!T&')=)=%>@ @ @4"b*****r,   c           	         d}dt           fdt          fg}d }d|i}t          j        t	          |          d||          }t          j        dt          ddd          fd	t          d
dd          fg|          }t          ||           d S )N0 1; 2001-01-01
                   2; 2002-01-31 idxcodec                 F    t          |                                 d          S Nz%Y-%m-%drA   stripr  s    r+   r  z4TestLoadTxt.test_dtype_with_object.<locals>.<lambda>      !''))Z88 r,   rd   ;rM  rn   r    rk        rm   )rq   rv   rT   r\  r#   ro   r   r   r)   r  ndtypefuncr  testcontrols          r+   test_dtype_with_objectz"TestLoadTxt.test_dtype_with_object  s    %#, 0188Y
z&,,#V%/1 1 1($1%%&HT1b,A,A(BC   	T7#####r,   c                     d}t                      }|                    d|z             |                    d           t          j        |t          j                  }t          ||           d S )N)l   +&|    l   -(|    %s %sr   rm   )r#   r.   rP   rT   r\  rI  r   r)   tgtr   r  s       r+   test_uint64_typezTestLoadTxt.test_uint64_type
  sa    8HH	#	q			j"),,,S#r,   c                     d}t                      }|                    d|z             |                    d           t          j        |t          j                  }t          ||           d S )N)l l    r  r   rm   )r#   r.   rP   rT   r\  rF  r   r  s       r+   test_int64_typezTestLoadTxt.test_int64_type  sa    9HH	#	q			j"(+++S#r,   c                 *   t          j        ddd                              t           j                  }t          j        || f                              t
                    }d                    t          t
          j        |                    }t                      }|
                    |           t
          t           j        fD ]L}|                    d           t          j        ||t
          j        d          }t          |||            Md S )	Nir   r  r+  r   r;   r  )err_msg)rT   logspaceastypefloat32hstackrp   r   maphexr#   r.   rP   r\  fromhexr   )r)   r  inpr   r   r  s         r+   test_from_float_hexzTestLoadTxt.test_from_float_hex  s     k#r1%%,,RZ88isd$$++E22iiEIs++,,HH	"*% 	4 	4BFF1III*J J JCcb733333		4 	4r,   c                     t          d          }t          j        t          d          5  t	          j        |           ddd           dS # 1 swxY w Y   dS )z
        Ensure that fromhex is only used for values with the correct prefix and
        is not called by default. Regression test related to gh-19598.
        za b cz2.*convert string 'a' to float64 at row 0, column 1r   Nr#   r   r   r3  rT   r\  r4  s     r+   6test_default_float_converter_no_default_hex_conversionzBTestLoadTxt.test_default_float_converter_no_default_hex_conversion(  s     7OO]:JL L L 	 	JqMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	   AAAc                     t          d          }t          j        t          d          5  t	          j        |           ddd           dS # 1 swxY w Y   dS )z
        Ensure that the exception message raised during failed floating point
        conversion is correct. Regression test related to gh-19598.
        zqrs tuvz)could not convert string 'qrs' to float64r   Nr  r4  s     r+   &test_default_float_converter_exceptionz2TestLoadTxt.test_default_float_converter_exception4  s     9]:AC C C 	 	JqMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	r  c                    t          dd          t          dd          f}t                      }|                    d|z             |                    d           t	          j        |t                     }t          ||           d S )Nrd   r  r   rm   )r   r#   r.   rP   rT   r\  r   r  s       r+   test_from_complexzTestLoadTxt.test_from_complex@  st    q!}}gann-HH	#	q			j'***S#r,   c                 R   t          j        dt           j                  }t           j        }t           j        }|d|z  z
  |d d <   t                      }t          j        ||d           |                    d           |                                }|                    d           |	                    dd          }t          ||k               |                    |           |                    d           t          j        |t                    }t          ||           d S )	Nrk   rk   rm   r_  z%.16er)  r   s   e+00-s   e00+-)rT   ra  rb  rc  r  r   r.  rP   rW  replacer   r.   r\  r   r   )r)   rh   rg  rh  r   txttxt_badr  s           r+   test_complex_misformattedz%TestLoadTxt.test_complex_misformattedH  s     HV2=111UTD2I~!!!II

1aW%%%%	q			ffhh	q			++h113		q			j'***S!r,   c                     t                      5 }t          |d          5 }|                    d           d d d            n# 1 swxY w Y   t          j        |          }d d d            n# 1 swxY w Y   t          |ddgddgg           d S )Nr   z
1 213 42rd   rx  r<   ry  )r    r   r.   rT   r\  r   )r)   rN   r   r  s       r+   test_universal_newlinez"TestLoadTxt.test_universal_newline\  s   ZZ 	$4dC (A'''( ( ( ( ( ( ( ( ( ( ( ( ( ( (:d##D	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	41b'Ar7!344444s3   A-AA-A	A-	A	
A--A14A1c                    t                      }|                    d           |                    d           ddd}t          j        ||d          }t          j        g d          }t          |d	         |           d S )
Nz 1 	2 	3	start 
4	5	6	  
7	8	9.5	r   )r   r   rA  comment)<i4r  <f4|S8r  	r  )s   start s     r,   r  )r#   r.   rP   rT   r\  ro   r   rZ  s        r+   test_empty_field_after_tabz&TestLoadTxt.test_empty_field_after_tabc  s    HH	=>>>	q			157 7Jqd333H,,,--1Y<+++++r,   c                    t          d          }ddd}t          j        ||d          \  }}}t          |j        j        dk               t          |j        j        dk               t          |j        j        d	k               t          |t          j        d
dg                     t          |t          j        ddg                     t          |t          j        ddg                     d S )NM 21 72
F 35 58rh   r   r   )|S1r  r  r  Trn   unpackr  r  r     M   Frx  #         R@      M@)r#   rT   r\  r   rn   r  r   ro   r)   r  r   rh   r   r   s         r+   test_unpack_structuredz"TestLoadTxt.test_unpack_structuredm  s    '((&3HII*S48881au$%%%u$%%%u$%%%1bhd|445551bhBx001111bhc{3344444r,   c                    t                      }|                    d           |                    d           t          t          t
          j        |d           |                    d           t          t          t
          j        |d           |                    d           t          j        |t          dd          }t          j        g d	g d
g          }t          ||           t                      }|                    d           |                    d           t          j        |t          dd          }t          |j        dk               |                    d           t          j        |t          dd          }t          |j        dk               |                    d           t          j        |t          dd          }t          |j        dk               t                      }|                    d           |                    d           t          j        |t          dd          }t          |j        dk               |                    d           t          j        |t          dd          }t          |j        dk               |                    d           t          j        |t          dd          }t          |j        dk               t          j        t          d          5  t                      }t          t          j        |d          j        dk               t          t          j        |d          j        dk               d d d            d S # 1 swxY w Y   d S )Nz1,2,3
4,5,6r   r<   ndminrB  rL  rd   )rn   rM  r  r   r;  z0,1,2rk   r  )r<   z0
1
2)r<   rd   rn  r   r   rd   ro  )r#   r.   rP   r   r3  rT   r\  rq   ro   r   r   rf   r   rp  r   )r)   r   r   rh   r   r  r   s          r+   test_ndmin_keywordzTestLoadTxt.test_ndmin_keywordx  s)   HH		q			j"*aq9999	q			j"*as;;;;	q			Jqs!<<<Hiii+,,1a   HH		q			Jqs!<<<6!"""	q			Jqs!<<<4   	q			Jqs!<<<4   HH			q			Jqs!<<<6!"""	q			Jqs!<<<4   	q			Jqs!<<<4    \+-FGGG 	: 	:ABJq***0G;<<<BJq***0D8999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s   A'M??NNc                     d }t          j         |                      }t          |t          j        d                     d S )Nc               3   <   K   t          d          D ]	} d| z  V  
d S Nr   r   )r   r   s    r+   r  z0TestLoadTxt.test_generator_source.<locals>.count  s4      2YY  Qh r,   r   )rT   r\  r   r   r)   r  r  s      r+   test_generator_sourcez!TestLoadTxt.test_generator_source  sF    	 	 	 j!!3	".....r,   c                     t                      }|                    d           |                    d           t          t          dt
          j        |           d S )Nz1 2 3
4 5 6
2 3r   3)r#   r.   rP   r   r3  rT   r\  r4  s     r+   test_bad_linezTestLoadTxt.test_bad_line  sK    HH	#$$$	q			 	JRZ;;;;;r,   c                     t                      }|                    d           |                    d           t          j        dt
          fddt
          fg          }t          j        |d|d            d S )Nz100,foo,200
300,None,400r   r   )rh   S10r   rL  )rM  rn   rV  )r#   r.   rP   rT   rn   rq   r\  )r)   r   r   s      r+   test_none_as_stringzTestLoadTxt.test_none_as_string  sj    HH	+,,,	q			XSz<#s<==

12======r,   zANSI_X3.4-1968zWrong preferred encodingc                    d}|                     d                              dd                                          }t                      5 }t	          |d          5 }|                    |           d d d            n# 1 swxY w Y   t	          |d          5 }t          j        |dt          j                  }d d d            n# 1 swxY w Y   t          ||           t	          |d          5 }t          j        |dd          }d d d            n# 1 swxY w Y   g d	}t          |t          j
        |d
                     d d d            d S # 1 swxY w Y   d S )Ns/   5,6,7,Õscarscar
15,2,3,hello
20,2,3,Õscar
ry  r  r$   r   r  r  S)s   5,6,7,Õscarscars   15,2,3,hellos   20,2,3,Õscarrm   )r?   r  
splitlinesr    r   r.   rT   r\  r~  r   ro   )r)   butf8sutf8rE  r   r   s         r+   test_binary_loadzTestLoadTxt.test_binary_load  sN   +W%%--dB77BBDDZZ 
	:4dD!! Q              dD!! CQJq7"'BBBC C C C C C C C C C C C C C Cq%(((dD!! ?QJq7#>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TTTAq"(1C"8"8"8999
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	:s~   EA?3E?B	EB	E"C<EC	EC	#E3DED	ED	+EEEc                    t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           d S )N1,2,3,5
4,5,7,8
2,1,4,5r   rL  rd   rn   rM  max_rowsr   r  r  s       r+   test_max_rowszTestLoadTxt.test_max_rows  sw    HH	+,,,	q			Jqs !# # #H\\\3''1a     r,   c                    t                      }|                    d           |                    d           t          j        |t
          ddd          }t          j        g dt
                    }t          ||           t                      }|                    d           |                    d           t          j        |t
          ddd          }t          j        g dg d	gt
                    }t          ||           d S )
Nz comments
1,2,3,5
4,5,7,8
2,1,4,5r   rL  rd   rn   rM  r-  r  r   comment
1,2,3,5
4,5,7,8
2,1,4,5rk   rl   r  r  r(  r  r  s       r+   test_max_rows_with_skiprowsz'TestLoadTxt.test_max_rows_with_skiprows  s    HH	5666	q			Jqs !A/ / /H\\\3''1a   HH	4555	q			Jqs !A/ / /HlllLLL13771a     r,   c                    t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dg dgt
                    }t          ||           t          j        |t
          d          }t          j        g d	t
                    }t          ||           d S )
Nr  r   rL  rk   r  r   r  r  rk   rd   rl   r  r  r  s       r+   $test_max_rows_with_read_continuationz0TestLoadTxt.test_max_rows_with_read_continuation  s    HH	+,,,	q			Jqs !# # #HlllLLL13771a   Jqs333H\\\3''1a     r,   c                    t                      }|                    d           |                    d           t          j        |t
          ddd          }t          j        g dg dg d	gt
                    }t          ||           d S )
Nr  r   rL  rd   r  r  r   r  r  r  r  s       r+   test_max_rows_largerz TestLoadTxt.test_max_rows_larger  s    HH	4555	q			Jqs !A/ / /HlllLLL,,,?EE1a     r,   skipr  rd   )zignored
1,2
r+  3,4
)ignored1,2r$   3,4c                       t          d          S )Nzignored
1,2

3,4r   r1   r,   r+   r  zTestLoadTxt.<lambda>  s    !677 r,   r   )z-1,0
r  r+  r  )z-1,0r  r$   r  c                       t          d          S )Nz-1,0
1,2

3,4r  r1   r,   r+   r  zTestLoadTxt.<lambda>  s    !344 r,   c           
         t          |          r
 |            }t          j        t          dd|z
             5  t	          j        |t          |dd|z
            }t          |ddgdd	gdd
gg|d                     d d d            n# 1 swxY w Y   t          |t                    r|
                    d           t          j                    5  t          j        dt                     t          j        t                    5  t	          j        |t          |dd|z
             d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NzInput line 3.*max_rows=r<   r   rL  )rn   r-  rM  r  r  r   rd   rk   rl   error)callabler   rp  r   rT   r\  rq   r   r=   r   rP   r   r   r
  r   )r)   r  r  r  s       r+   test_max_rows_empty_linesz%TestLoadTxt.test_max_rows_empty_lines  s5    D>> 	466D\+>AH>>@ @ @ 	F 	F*Tts&'$h0 0 0Csb!Wq!fq!f$=dee$DEEE		F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F dH%% 	IIaLLL$&& 	. 	.!';777{++ . .
4sTS$%H. . . .. . . . . . . . . . . . . . .	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.sH   AB

BB4E"D4(E4D8	8E;D8	<EEEN):r6   r7   r8   staticmethodrT   r\  r  r  r  r   rt   rz   r  r  r!  r$  r'  r   r   r   r   rQ   implementationversionr*  r.  rQ  rT  r[  rc  rg  rl  rq  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  localegetpreferredencodingr  r  r  r  r  r%  r  r1   r,   r+   r  r    s       |BJ''H+ + +
9 9 9! ! !$! ! !! ! !! ! !! ! !! ! !! ! !! ! ! [KC$6$>)$K=  ? ?% %? ?% ! ! !"C C CJ	L 	L 	L! ! !! ! !! ! !% % %) ) )+ + +$ $ $    4 4 4 [KC$6$>)$K=  ? ? ? ? [KC$6$>)$K=  ? ? ? ?    (5 5 5, , ,	5 	5 	5(: (: (:T/ / /< < <> > > [33559II9  ; ;: :; ;: ! ! !! ! !"! ! !! ! ! [ff-5556---.7782223***+44507 8 8. .8 8. . .r,   r  c                   x    e Zd Zd Zd Zd Zej                            de	e
g          d             Zd Zd ZdS )	Testfromregexc                    t                      }|                    d           |                    d           dt          j        fdg}t          j        |d|          }t          j        g d|          }t          ||           d S )Nz1.312 foo
1.534 bar
4.444 quxr   numvalS3z([0-9.]+)\s+(...)))ˡE?r<  g%C?r=  g-@quxrm   r#   r.   rP   rT   float64	fromregexro   r   rZ  s        r+   r   zTestfromregex.test_record  s    HH	1222	q			bj!=1L0"55HEEE  1a     r,   c                    t                      }|                    d           |                    d           dt          j        fdg}t          j        |d|          }t          j        g d|          }t          ||           d S )N1312 foo
1534 bar
4444 quxr   r  r  z(\d+)\s+(...)))   r<  )  r=  )\  r  rm   )r#   r.   rP   rT   r  r  ro   r   rZ  s        r+   test_record_2zTestfromregex.test_record_2&  s    HH	.///	q			bh/L,b11HBBB  1a     r,   c                    t                      }|                    d           |                    d           dt          j        fg}t          j        |d|          }t          j        g d|          }t          ||           d S )Nr  r   r  z(\d+)\s+...))r  )r  )r  rm   r  rZ  s        r+   test_record_3zTestfromregex.test_record_31  s    HH	.///	q			bj!"LNB//H000;;;1a     r,   	path_typec                 T   d}t                      5 } ||          }t          |d          5 }|                    d|z   dz              d d d            n# 1 swxY w Y   dt          j        fdg}t          j        |d|d	          }t          j        d
d|                    d          z   fddg|          }t          ||           t          j
        dt          j                  }	t          j        ||	|d	          }t          ||           d d d            d S # 1 swxY w Y   d S )Nrx  r   s	   1.312 foos    
1.534 bar
4.444 quxr  )r  U4z(?u)([0-9.]+)\s+(\w+)ry  r  r  r<  r	  r
  rm   z([0-9.]+)\s+(\w+))r    r   r.   rT   r  r  ro   r?   r   rg  compileUNICODE)
r)   r  r  str_pathrE  r   r   r   rh   regexps
             r+   test_record_unicodez!Testfromregex.test_record_unicode;  s   ZZ 	%89X&&DdD!! JQt+.HHIIIJ J J J J J J J J J J J J J J "*%}5BT#;R'RRRA5%$++g*>*>">?)+246 6 6Aq!$$$Z 4bjAAFT62@@@Aq!$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s5   DA	DA	DA	B3DD!$D!c                     t          j        d          }t          d          }dt          j        fg}t          j        g d|          }t          j        |||          }t          ||           d S )N   (\d)   123r  r   rm   )rg  r  r   rT   r  ro   r  r   )r)   r  r   r   rh   r   s         r+   test_compiled_bytesz!Testfromregex.test_compiled_bytesM  sl    H%%FOObj!"HYYYb)))LFB''1a     r,   c                     t          j        d          }t          d          }t          j        t
          d          5  t          j        ||t          j                   d d d            d S # 1 swxY w Y   d S )Nr   r!  zstructured datatyper   rm   )	rg  r  r   r   r   rJ  rT   r  r  )r)   r  r   s      r+   test_bad_dtype_not_structuredz+Testfromregex.test_bad_dtype_not_structuredU  s    H%%FOO]9,ABBB 	6 	6LF"*5555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s   "A..A25A2N)r6   r7   r8   r   r  r  r   r   r%  r  r	   r  r"  r$  r1   r,   r+   r  r    s        	! 	! 	!	! 	! 	!! ! ! [[3+66% % 76%"! ! !6 6 6 6 6r,   r  c                   ,   e Zd Z eej                  Zd Zd Zd Z	d Z
d Zd Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Ze j!        "                    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.d' Z/d( Z0d) Z1d* Z2d+ Z3d, Z4d- Z5d. Z6d/ Z7d0 Z8d1 Z9d2 Z:d3 Z;d4 Z<d5 Z=d6 Z>d7 Z?d8 Z@d9 ZAd: ZBd; ZCd< ZDd= ZEd> ZFd? ZGd@ ZHdA ZIdB ZJdC ZKdD ZLdE ZMdF ZNdG ZOe j!        "                    dH          dI             ZPe j!        "                    d          dJ             ZQdK ZRdL ZSdM ZTdN ZUdO ZVdP ZWdQ ZXdR ZYdS ZZdT Z[e j!        \                    dUg dV          dUe]fdW            Z^dXS )YTestFromTxtc                 |   t          d          }t          j        |dt          j        fdt          j        fg          }t          j        ddgddg          }t          ||           t          d	          }d
dd}t          j        ddg|          }t          j        ||          }t          ||           d S )Nr  r   r   rm   r   r   r   r   zM 64.0 75.0
F 25.0 60.0r  r  r  r  r  )r#   rT   
genfromtxtr  ro   r   )r)   r  r  r  
descriptors        r+   r   zTestFromTxt.test_recordb  s    j!!}T3/C?)KLLL(FF+K3MNNNT7###011:!35 5
(-/@A!+- - -}T444T7#####r,   c                 ~   t          d          }t          j        ddgddggt                    }t          j        |t                    }t          ||           |                    d           t          j        ddgddggt                    }t          j        |t                    }t          ||           d S )Nr  rd   rk   r<   rl   rm   r   )	r#   rT   ro   rq   r(  r   rP   rp   r\  )r)   r  r  r  s       r+   rt   zTestFromTxt.test_arrayq  s    j!!(QFQF+3777}T---4)))		!(QFQF+5999z$e,,,4)))))r,   c                 (   t          j        g dt                    }t          d          }t          j        |t                    }t          ||           t          d          }t          j        |t          d          }t          ||           d S )Nry   r  rm   r  rL  r  )rT   ro   rq   r#   r(  r   r)   r  r  r  s       r+   rz   zTestFromTxt.test_1D}  s    (<<<--n%%}T---4)))k""}T<<<4)))))r,   c                 .   t          j        g dt                    }t          d          }t          j        |t          dd          }t          ||           t          d          }t          j        |t          dd          }t          ||           d S )Nr   r  rL  r  r  z1,2,3,5# comment
)rT   ro   rq   r#   r(  r   r,  s       r+   test_commentszTestFromTxt.test_comments  s    (<<<--,--}TcJJJT7###*++}TcJJJT7#####r,   c                    t          j        g dt                    }t          dd}t          d          }t          j        |fddi|}t          ||           t          d          }t          j        |fddi|}t          ||           d S )	Nr   rL  r  r,  skip_headerrd   r  r-  )rT   ro   rq   r#   r(  r   r\  )r)   r  r^   r  r  s        r+   r.  zTestFromTxt.test_skiprows  s    (<<<--S11*++}T;;q;F;;T7###,--z$555f55T7#####r,   c                    d t          dd          D             }|                    d           |                    d t          d          D                        d|d<   d	d
ddd}t          j        t          d                    |                    fi |}t          j        d t          d          D             d dD                       }t          ||           d S )Nc                     g | ]}d | S )rT  r1   r   s     r+   r3   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>  s    ...QQ...r,   rd   r  zA, B, Cc                 &    g | ]}| d |dd |dS )rL  z3.1f03dr1   r   s     r+   r3   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>  s4    @@@,,A,,,Q,,,@@@r,   3   z99,99r  rL  Tr  r   )rM  r  r0  skip_footerr+  c                 $    g | ]}|d |d |d fS )r   r1   r   s     r+   r3   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>  s+    KKKAQ((qHHhh7KKKr,   )   c                      g | ]}|t           fS r1   r   r2   _s     r+   r3   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>      999a5z999r,   ABCrm   )	r   r   rq  rT   r(  r#   r   ro   r   )r)   r  r^   r  ctrls        r+   test_skip_footerzTestFromTxt.test_skip_footer  s    ..%1++...I@@eBii@@@AAAR"T!TVWW}VDIIdOO44????xKKrKKK995999; ; ;T4     r,   c                    t          j                    5  t          j        dt                     d}t	          t
          t          j        t          |          d           t          j        t          |          dd          }t          |t          j
        ddgddgd	d	gd
d
gg                     t          j        t          |          d          }t          |t          j
        ddgddgd	d	gd
d
gg                     d}t          j        t          |          dd          }t          |t          j
        ddgd	d	gd
d
gddgg                     t          j        t          |          dd          }t          |t          j
        ddgd	d	gd
d
gg                     d d d            d S # 1 swxY w Y   d S )Nr	  z1 1
2 2
3 3
4 4
5  
6  
7  
rd   )r6  F)r6  invalid_raiserH  rI  rJ  rK  r<   z1 1
2  
3 3
4 4
5  
6 6
7 7
rY  )r   r   r
  r   r   r3  rT   r(  r#   r   ro   )r)   basestrrh   s      r+   test_skip_footer_with_invalidz)TestFromTxt.test_skip_footer_with_invalid  s#   $&& 	F 	F!(,=>>>;G*bm //q: : : : wQeE E EABHr2hR2r(RH%MNNOOOfWoo1===ABHr2hR2r(RH%MNNOOO;GwQeE E EABHr2hR2r(RH%MNNOOOwQeE E EABHr2hR2r(%CDDEEE+	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fs   FF33F7:F7c                 R   t          d          }t          j        d          5 }t          j        ddt                     t          j        |d dd          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          j	        d	d
g          t          j	        ddg          t          j	        ddg          d}t          |d         |d                    t          |d         |d                    t          |d         |d                    d S )Nz)gender age weight
M 64.0 75.0
F 25.0 60.0Tr   r   r$   r>   )rn   r  r}  r   r  r  r  r  r  r  r  r  r  r  )r#   r   r   r   r   rT   r(  r   categoryro   r   r)   r  r   r  r  s        r+   test_headerzTestFromTxt.test_header  sh   CDD$D111 	@Q#Hb2KLLL=T*13 3 3DAaDM%>>???		@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@
  XtTl33(D$<00XtTl335 5 	T(^WX%6777T%['%.111T(^WX%677777s   ABB
B
c                    t          d          }t          j        d          5 }t          j        ddt                     t          j        |d d          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          j	        d	d
g          t          j	        ddg          t          j	        ddg          t          j	        ddg          t          j	        ddg          g}t          |j        j        g d           t          |          D ]\  }}t          |d|          |           d S )Nz*A 64 75.0 3+4j True
BCD 25 60.0 5+6j FalseTr   r   r$   r>   r  r      As   BCD@      r  r  y      @      @y      @      @F)f0f1f2f3rB  r   )r#   r   r   r   r   rT   r(  r   rE  ro   r   rn   r  r   )r)   r  r   r  r  r   r>  s          r+   test_auto_dtypezTestFromTxt.test_auto_dtype  s   CDD$D111 	@Q#Hb2KLLL=TGDDDDAaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 8T6N++8RH%%8T4L))8VV,--8T5M**	.
 	TZ%'E'E'EFFF"7++ 	. 	.IQg!gg----	. 	.s   ABB	B	c                     t          d          }t          j        |d           }t          j        g dg dg          }t	          ||           d S )Nz1 2 3 4
5 6 7 8
rm   ry   )r  r  r  r(  r#   rT   r(  ro   r   r)   r  r  r  s       r+   test_auto_dtype_uniformz#TestFromTxt.test_auto_dtype_uniform  sV    *++}T...(LLL,,,788T7#####r,   c                     t          d          }t          j        dt          fddt          fdt          fgfg          }t          j        ||d          }t          j        dd	g|
          }t          ||           d S )NrV  r   r   r   r*   rL  r  rW  rX  rm   )r#   rT   rn   rq   rp   r(  ro   r   r)   r  
fancydtyper  r  s        r+   r[  zTestFromTxt.test_fancy_dtype  s    *++XSzC3*sEl1K+LMNN
}TsCCC(M=9LLLT7#####r,   c                     ddd}t          d          }d}t          j        |||          }||d<   t          j        dd	g|
          }t	          ||           d S )N)grh   r   r  r  s   M 64.0 75.0
F 25.0 60.0r  rn   r  r  r  r  rm   rR  )r)   r)  r  r  r  r  s         r+   test_names_overwritez TestFromTxt.test_names_overwrite  s    .!35 5
122+}T5AAA#
7(--/6@B B BT7#####r,   c                     t          j        t          d          5  t          j        d           d d d            d S # 1 swxY w Y   d S )Nzfname must be a string,r   {   )r   r   rJ  rT   r(  r  s    r+   test_bad_fnamezTestFromTxt.test_bad_fname  s    ]9,EFFF 	 	M#	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   >AAc                    t          d          }t          j        d          5 }t          j        ddt                     t          j        |dd d          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          j	        g d	d
dt          fdt          fg          }t          ||           t          d          }t          j        d          5 }t          j        ddt                     t          j        |dd d          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          ||           d S )NzN
#gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        Tr   r   r$   r>   )r  rn   r}  r   ))r  rx  gfffffR@)r  r  g
ףp=*M@)r  r{  g=
ףp5@)r  r  r  r  rm   sO   
# gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        r#   r   r   r   r   rT   r(  r   rE  ro   rq   rp   r   )r)   r  r   r  r>  s        r+   test_commented_headerz!TestFromTxt.test_commented_header  s       $D111 	@Q#Hb2KLLL=T*13 3 3DAaDM%>>???		@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@
 xMMM05#,5@QRT T TT4       $D111 	@Q#Hb2KLLL=T*13 3 3DAaDM%>>???		@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@
 	T4     s%   ABB
B
.AEEEc                     t          d          }t          j        |t          t          fd d          }t          j        ddgdt          fdt          fg          }t          ||           d S )	Nzcol1 col2
 1 2
 3 4T)rn   rV  r  r   r   col1col2rm   r#   rT   r(  rq   ro   r   rS  s       r+   test_names_and_comments_nonez(TestFromTxt.test_names_and_comments_none"  sh    -..}T#sd$OOO(FF+VSMFC=3QRRRT7#####r,   c                    t                      5 }t          j                            |d          }t	          |d          5 }|                    d                                           d d d            n# 1 swxY w Y   t                      5  t          j	        t                    5  t          j        |d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nrz  r      ϖasciir  )r   rZ   rE  r   r   r.   r  r   r   r   UnicodeDecodeErrorrT   r(  )r)   r  fpathr   s       r+   test_file_is_closed_on_errorz(TestFromTxt.test_file_is_closed_on_error)  s   YY 		;&GLL44EeT"" 8a-44667778 8 8 8 8 8 8 8 8 8 8 8 8 8 8
 $%% ; ;]#566 ; ;M%'::::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;; ; ; ; ; ; ; ; ; ; ; ; ; ; ;		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		;s}   1C9 (A4(C94A8	8C9;A8	<C9C!'C
>C!
CC!CC!C9!C%	%C9(C%	)C99C= C=c                    t          d          }t          j        d          5 }t          j        ddt                     t          j        |ddd d          }t          |d	         j        t          u            d d d            n# 1 swxY w Y   t          j	        d
ddt          fdt          fg          }t          ||           d S )NA B C D
 aaaa 121 45 9.1Tr   r   r$   ACDr>   )r  r  rn   r}  r   )r`  -   333333"@rp  |S4rq  rr  rm   r`  rF  s        r+   test_autonames_and_usecolsz&TestFromTxt.test_autonames_and_usecols6  s    122$D111 	@Q#Hb2KLLL=&*$J J JDAaDM%>>???		@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@
 (,".c
S%L!IK K KT7#####s   ABBBc                     t          d          }t          j        |t          ddd id          }t          j        ddgd	d
ggt                    }t          ||           d S )Nr  rL  r<   c                 $    t          | pd          S r  r  r  s    r+   r  z:TestFromTxt.test_converters_with_usecols.<locals>.<lambda>F      Se__ r,   r  r  rk   r  r  r  re  rS  s       r+   r  z(TestFromTxt.test_converters_with_usecolsB  sq    .//}T()+D+D'E$+- - - (QI1v.44T7#####r,   c           
         t          d          }t          j        d          5 }t          j        ddt                     t          j        |ddd ddd	 i
          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          j	        dddt          fdt          fg          }t          ||           d S )Nrn  Tr   r   r$   ro  r>   rq  c                 &    dt          |           z  S )Nrk   r  r  s    r+   r  zDTestFromTxt.test_converters_with_usecols_and_names.<locals>.<lambda>R  s    1s1vv: r,   )r  r  rn   r}  r  r   )r`  Z   rt  ru  rr  rm   r`  rF  s        r+   &test_converters_with_usecols_and_namesz2TestFromTxt.test_converters_with_usecols_and_namesK  s.   122$D111 	@Q#Hb2KLLL=d&*W,/1E1E+FH H HD AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ (,".c
S%L!IK K KT7#####s   ABBBc                     dd i}t          d          }t          j        |dd ddg|          }t          j        t	          ddd	          d
fdt          j        fdt          fg          }t          ||           d S )Ndatec                 "    t          | d          S Nz%Y-%m-%d %H:%M:%SZ)rA   r  s    r+   r  z9TestFromTxt.test_converters_cornercases.<locals>.<lambda>[  s    hq*>?? r,   2009-02-03 12:00:00Z, 72214.0rL  r8  rM  rn   r  r    rk   r<       `@rm   )r#   rT   r(  ro   r   object_rp   r   r)   	converterr  r  r  s        r+   test_converters_cornercasesz'TestFromTxt.test_converters_cornercasesX  s     ??A	566}TS#)6"2yJ J J(HT1a00&9#)2:"6!HJ J JT7#####r,   c                     dd i}t          d          }t          j        |dd ddg|          }t          j        t	          ddd	          d
fddt
          fg          }t          ||           d S )Nr  c                 F    t          j        t          | d                    S r  )rT   
datetime64rA   r  s    r+   r  z:TestFromTxt.test_converters_cornercases2.<locals>.<lambda>f  s    bmHQ8L,M,MNN r,   r  rL  r8  r  r  rk   r<   r  )r  zdatetime64[us]rm   )r#   rT   r(  ro   r   rp   r   r  s        r+   test_converters_cornercases2z(TestFromTxt.test_converters_cornercases2c  s     NNP	566}TS#)6"2yJ J J(HT1a00&9"<vuo!NP P PT7#####r,   c                     t          d          }t          j        |ddd i          }t          |ddg           |                    d           t          j        |ddd	 i          }t          |d
dg           d S )Nz1 21
  3 42
r0  r   c                 "    t          | d          S rt  r  r  s    r+   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>r      SBZZ r,   rw  rx  ry  rd   c                 "    t          | d          S rt  r  r  s    r+   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>w  r  r,   r{  r|  )r#   rT   r(  r   rP   r)   r  r  s      r+   r}  z!TestFromTxt.test_unused_convertern  s    &''}T4()+?+?'@B B BTB8$$$		!}T4()+?+?'@B B BTB8$$$$$r,   c                     d }d }t          d          }||ddd dd}t          t          t          j        |fi | d S )Nc                     t          d|                                 v r|                                 d         p+d|                                 vr|                                 pd          S )N   rr  r  rp   lowerrr  r  r  s    r+   r  z4TestFromTxt.test_invalid_converter.<locals>.<lambda>{  sZ    udaggii&7&IAGGIIbM &T'+17799'<'J&Rs U  U r,   c                     t          d|                                 v r|                                 d         p+d|                                 vr|                                 pd          S )N   %r   r  r  r  s    r+   r  z4TestFromTxt.test_invalid_converter.<locals>.<lambda>}  sZ    eTQWWYY%6%G17799Q< %S&*!''))&;&I		%QcT T r,   zgD01N01,10/1/2003 ,1 %,R 75,400,600
L24U05,12/5/2003, 2 %,1,300, 150.5
D02N03,10/10/2004,R 1,,7,145.55r  rL  r>   )r  rM  rn   r}  )r#   r   r   rT   r(  )r)   
strip_rand	strip_perr*   r^   s        r+   test_invalid_converterz"TestFromTxt.test_invalid_converterz  sv    U U
T T	 5 6 6 (J77cw0 0 	nbmQAA&AAAAAr,   c                     t          d          }d }t          j        |dd|i          }t          j        ddgdd	gg          }t	          ||           d S )
Nz	q1,2
q3,4c                 0    t          | dd                    S r  r   r  s    r+   r  z;TestFromTxt.test_tricky_converter_bug1666.<locals>.<lambda>  s    ae r,   rL  r   )rM  r  rH  rI  rJ  rK  rR  )r)   r*   cnvr  r  s        r+   test_tricky_converter_bug1666z)TestFromTxt.test_tricky_converter_bug1666  sc    <  $$}Q#1c(CCC(RHr2h/00T7#####r,   c                    d}t          j        t          |          dt          dt          i          }t          j        dgddt          fdt          fg	          }t          ||           t          j        t          |          dt          dt          i          }t          j        g d
          }t          ||           d S )Nz2009; 23; 46r  r   r  )2009      7@.   )rL  rv  rM  rN  rm   )g     d@r  r  )rT   r(  r#   rp   r>   ro   r   )r)   dstrr  r  s       r+   test_dtype_with_convertersz&TestFromTxt.test_dtype_with_converters  s    }VD]]&)Au:O O O(-."/$u!NP P PT7###}VD]]&)Au:O O O(+++--T7#####r,   (ignore:.*recfromcsv.*:DeprecationWarningc           	         d}dddddg d}t           t           t           fdd	}t          t          |          |d
d |d          }t          j                            g d|          }t          ||           g d}t          t          |          |d
dd |d          }t          j                            g d|          }t          ||           d S )Nz!1,5,-1,1:1
2,8,-1,1:n
3,3,-2,m:n
r   rd   rk   r<   )z1:1z1:nzm:1zm:n)e1r   e2r   )e3i2r   i1c                 8    |                                           S r&   r  )r   dmaps    r+   r  zDTestFromTxt.test_dtype_with_converters_and_usecols.<locals>.<lambda>  s    T!((**5E r,   )r   rd   rk   r<   rL  r>   )rn   rM  r  r  r}  ))rd   r  r  r   )rk   r(  r  rd   )r<   r<   r<   rm   )r  r  r  )r   rd   r<   )rn   rM  r  r  r  r}  ))rd   r  r   )rk   r(  rd   )r<   r<   r<   )rq   r   r#   rT   recro   r   )r)   r  dtypconvr  r  r  s         @r+   &test_dtype_with_converters_and_usecolsz2TestFromTxt.test_dtype_with_converters_and_usecols  s
   51Q77FFF33+E+E+E+EFF&--ts $I I I&,,LLL%)  + +T7###888&--ts"+4D#*, , , &,,@@@,MMT7#####r,   c           	         d}dt           fdt          fg}d }d|i}t          j        t	          |          d||          }t          j        dt          ddd          fd	t          d
dd          fg|          }t          ||           ddt           fdt          fgfg}t          t          d          5  t          j        t	          |          d||          }d d d            n# 1 swxY w Y   dt           fdt          fdg fg}t          t          d          5  t          j        t	          |          d||          }d d d            d S # 1 swxY w Y   d S )Nr  r  r  c                 F    t          |                                 d          S r  r  r  s    r+   r  z4TestFromTxt.test_dtype_with_object.<locals>.<lambda>  r  r,   rd   r  r  r  rk   r  r  rm   nestzNested fields.* not supported.*)
rq   rv   rT   r(  r#   ro   r   r   r   NotImplementedErrorr  s          r+   r  z"TestFromTxt.test_dtype_with_object  s;   %#, 0188Y
}VD\\S(24 4 4($1%%&HT1b,A,A(BC   	T7###UCL66*:;<= !4!BD D 	F 	F='-*F F FD	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F #, 062,? !4!BD D 	F 	F='-*F F FD	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fs$   5&C''C+.C+&EEEc                     t          j        t          d          t                    }|d         dk    sJ t          j        t          d          t                    }|d         dk    sJ d S )N1rm   r1      1strings   string)rT   r(  r#   rv   )r)   parseds     r+   #test_dtype_with_object_no_converterz/TestFromTxt.test_dtype_with_object_no_converter  sh    vc{{&999bzT!!!!vh//v>>>bzY&&&&&&r,   c           	          t          d          }t          j        |dd t          ddt          i          }t          j        dgddt          fg	          }t          ||           d S )
Nzskip,skip,2001-01-01,1.0,skiprL  r  rk   )rM  r  rn   r  r  )
2001-01-01rH  )r$   |S10r$   rm   )r#   rT   r(  rp   r>   ro   r   rS  s       r+   'test_userconverters_with_explicit_dtypez3TestFromTxt.test_userconverters_with_explicit_dtype  sx    566}TSE%+E
D D D(./".U!<> > >T7#####r,   c           
         d}t                      5 }t          |d          5 }|                    d|z   dz              d d d            n# 1 swxY w Y   t          j        |dd t
          ddt          id	          }d d d            n# 1 swxY w Y   t          j        d
|                    d          z   dfgddt
          fg          }t          ||           d S )Nrx  r   s   skip,skip,2001-01-01s	   ,1.0,skiprL  r  rk   ry  )rM  r  rn   r  r  r}  r  rH  )r$   z|U11r$   rm   )
r    r   r.   rT   r(  rp   r  ro   r?   r   )r)   r  rE  r   r  r  s         r+   ,test_utf8_userconverters_with_explicit_dtypez8TestFromTxt.test_utf8_userconverters_with_explicit_dtype  sq   ZZ 	34dD!! GQ/$6EFFFG G G G G G G G G G G G G G G=D)/QH*13 3 3D	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 (\DKK,@,@@"EF".U!<> > >T7#####s3   BA
B
A	BA	*BBBc                     t          d          }t          j        |          }t          j        g dg dg          }t	          ||           d S )Nz1  2  3  4   5
6  7  8  9  10)rH  rI  rJ  rK        @)rY        @ra        "@g      $@rR  rS  s       r+   test_spacedelimiterzTestFromTxt.test_spacedelimiter  s]    677}T""(0001113 4 4T7#####r,   c                     d}t          j        t          |          d          }t          j        g dg dg dg          }t	          ||           d S )Nz  1  2  3
  4  5 67
890123  4r<   )rM  r   )rl   r  C   )iz  r]  rl   rT   r(  r#   ro   r   rS  s       r+   test_integer_delimiterz"TestFromTxt.test_integer_delimiter  sY    0}VD\\Q777(IIIzzz===ABBT7#####r,   c                     t          d          }t          j        |t          ddd i          }t          j        g dt                    }t          ||           d S )Nr	  rL  r<   c                 $    t          | pd          S r  r  r  s    r+   r  z*TestFromTxt.test_missing.<locals>.<lambda>  rz  r,   r  r  re  rS  s       r+   r  zTestFromTxt.test_missing  sh    l##}T()+D+D'EG G G(---s33T7#####r,   c                 V   d}t          j        t          |          dd          }t          j        dt           j        dt           j        fdt           j        dfg          }t          j        g d	t
          
          }t          |j        |           t          |j        |           d S )Nz1	2	3
	2	
1		3r  T)rM  usemaskr   rk   rd   r<   )r   r   r   rd   r   rd   r   rd   r   rm   )	rT   r(  r#   ro   nanboolr   r  mask)r)   r  r  ctrl_dctrl_ms        r+   test_missing_with_tabsz"TestFromTxt.test_missing_with_tabs  s    &}VC[[D%), , ,9rvq"&&9Arvq>JLL;;;4HHHTY'''TY'''''r,   c                    t          j        ddgddggt                    }t                      }t          j        ||           |                    d           t          j        |t          d          }t          ||d d df                    t          j        g dg d	gt                    }t                      }t          j        ||           |                    d           t          j        |t          d
          }t          ||d d dd f                    |                    d           t          j        |t          t          j        ddg                    }t          ||d d dd f                    d S )Nrd   rk   r<   rl   r   r0  r1  r   r2  r   )rT   ro   rp   r#   r.  rP   r(  r   r,  s       r+   rQ  zTestFromTxt.test_usecols  sU    (QFQF+U33xx

4!!!		!}T===T7111a4=)))(IIIyyy1599xx

4!!!		!}T???T7111abb5>***		!}T!Q8H8HIIIT7111abb5>*****r,   c                     d}t          j        t          |          dd          }t          j        ddgd dD             	          }t	          ||           d S )
N1 2 3
4 5 6a, b, cza, c)r  r  r  rl   r  c                      g | ]}|t           fS r1   r   r:  s     r+   r3   z3TestFromTxt.test_usecols_as_css.<locals>.<listcomp>  s    0J0J0J!U0J0J0Jr,   acrm   r  r)   r  r  r>  s       r+   test_usecols_as_csszTestFromTxt.test_usecols_as_css  sh    }VD\\#,f> > >x(0J0JT0J0J0JKKKT4     r,   c           
          t          d          }ddg}ddg}t          j        |dt          t	          ||                              }t          |d         dd	g           t          |d         d
dg           d S )NzJOE 70.1 25.3
BOB 60.5 27.9r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  )r#   rT   r(  ru  r  r   )r)   r  r  rO  r  s        r+   "test_usecols_with_structured_dtypez.TestFromTxt.test_usecols_with_structured_dtype!  s    455 }&S-?-?(@(@B B BT&\FF#3444T&\D$<00000r,   c                     t          j        t          d          d          }t          |t          j        ddg                     d S )Ns   1 2 3
4 5 6r   rC  rH  rK  )rT   r(  r#   r   ro   )r)   r  s     r+   test_usecols_with_integerz%TestFromTxt.test_usecols_with_integer+  sB    }VO44a@@@T28RH--.....r,   c                 &   t          j        ddgdt          fdt          fg          }d}ddi}t          j        t	          |          fd	d
i|}t          ||           t          j        t	          |          fd	di|}t          ||           d S )Nr  r  rh   r   rm   r  r  r  r  r   r  )rh   r   )rT   ro   rp   r(  r#   r   )r)   r>  r  r^   r  s        r+   test_usecols_with_named_columnsz+TestFromTxt.test_usecols_with_named_columns0  s    x(#uU|0LMMM9%}VD\\EE7EfEET4   }VD\\ ; ;%/;39; ;T4     r,   c                    t          j                    5  t          j        dd           t                      }t	          j        |          }t          |t	          j        g                      t	          j        |d          }t          |t	          j        g                      d d d            d S # 1 swxY w Y   d S )Nr	  zgenfromtxt: Empty input file:)messagerd   )r0  )r   r   r   r#   rT   r(  r   ro   r  s      r+   rq  zTestFromTxt.test_empty_file;  s    $&& 	- 	-#H6UVVVV88D=&&Drx||,,, =1555Drx||,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s   BB44B8;B8c                    t          d          }t          j        dt          fddt          fdt          fgfg          }t          j        ||dd          }t          j        d	d
g|          }t          ||           d S )NrV  r   r   r   r*   rL  T)rn   rM  r  rW  rX  rm   )	r#   rT   rn   rq   rp   r(  maro   r   rV  s        r+   test_fancy_dtype_altz TestFromTxt.test_fancy_dtype_altG  s    *++XSzC3*sEl1K+LMNN
}TsDQQQ(M=9LLLT7#####r,   c                    t          d          }t          j        ddt          fdt          fdt          dfg          }t          j        ||          }t          j        dd	d
g dg dgfg|          }t          ||           d S r]  )r#   rT   rn   rp   rq   r(  ro   r   rZ  s        r+   rc  zTestFromTxt.test_shaped_dtypeO  s    011X~U|c5\f-/ 0 0M!2&&&HvsC)))YYY)?@A  1a     r,   c                     t          d          }dddd}t          j        |fd dd|}t          j        ddgd	d
gdt
          fdt
          fg          }t          ||           t          |j        |j                   |                    d           t          j        |fddi|}t          j        ddgd	d
gdt          fdt          fg          }t          ||           t          |j        |j                   d S )NA,B
0,1
2,N/ArL  N/ATrM  missing_valuesr  rn   r  r  rk   r  FFFTrp  Br  rn   r   r  )
r#   rT   r(  r  ro   rq   r   r  rP   rp   r)   r  r^   r  r  s        r+   test_withmissingzTestFromTxt.test_withmissingX  s$   '(("edKK}TFtFFvFF(FG,!/ ?#&*sCj!9; ; ; 	T7###TY---		!}T::4:6::(FG,!/ ?#&,e!=? ? ? 	T7###TY-----r,   c                 0   d}d ddd}dt           fdt          fdt          fg}t          j        t          |          fdd	i|}t          j        g d
g d|          }t          ||           ||d<   t          j        t          |          fdddddd|}t          j        g d
g d|          }t          ||           t          j        t          |          fdddddd|}t          j        g d
g d|          }t          ||           d S )Nz4A, B, C
0, 0., 0j
1, N/A, 1j
-9, 2.2, N/A
3, -99, 3jrL  T)rn   rM  r  rp  r  rq  r  r  ))r   r  y                )rd   r  r_  )r  g@            8)r<   y              @)r  r  )r   r   rd   r  r  rn   r  r  r  r   rd   rk   )r  r  )r  r  r  r  )r   r  rq  )	rq   rp   r   rT   r(  r#   r  ro   r   )r)   r  
basekwargsmdtyper  r  s         r+   test_user_missing_valuesz$TestFromTxt.test_user_missing_valuesj  s   I##EE
*sElS'N;}VD\\ * *% *(* *( < < < L L L!') ) ) 	T7###$
7}VD\\ 902su,E,E%)9 9-79 9 ( < < < L L L!') ) ) 	T7###}VD\\ */1%+H+H$(* * )* * ( < < < L L L!') ) ) 	T7#####r,   c                 $   t          j        ddgdt          fdt          fg          }d}dt          dd	d
ddddddd}t          j        t	          |          fi |}t          j        ddgd dD                       }t          ||           t          j        t	          |          fddi|}t          j        ddgd dD                       }t          ||           d}t          j        t	          |          dt          dd          }t          j        g dg dg          }t          ||           t          j        t	          |          dt          dd          }t          j        g dg dg          }t          ||           d S ) N)r   r<   )rl   r  rh   r   rm   zN/A, 2, 3
4, ,???rL  za,b,cr  r*  z???)r   r   rk   r   r  )rM  rn   r  r  filling_values)r   rk   r<   )rl   r   r  c                      g | ]}|t           fS r1   r  r:  s     r+   r3   z8TestFromTxt.test_user_filling_values.<locals>.<listcomp>  s    777A3x777r,   abcr  r  c                      g | ]}|t           fS r1   r  r:  s     r+   r3   z8TestFromTxt.test_user_filling_values.<locals>.<listcomp>  s    3K3K3KQH3K3K3Kr,   r  z1,2,*,4
5,*,7,8
*)rM  rn   r  r
  )rd   rk   r   rl   )r  r   r  r(  r  )rd   rk   r  rl   )r  r  r  r(  rT   ro   rq   r(  r#   r   )r)   r>  r  r^   r  data2s         r+   test_user_filling_valuesz$TestFromTxt.test_user_filling_values  s   x+S#Jc
3KLLL#""&,1(F(F,-A$(?(?	A A
 }VD\\44V44xL1777779 9 9T4   }VD\\EE7EfEEx+3K3Kd3K3K3KLLLT4   $}VE]]c,/C C Cx|||455T4   }VE]]c,/D D Dx677T4     r,   c                    t          d          }t          j        |d dddd          }t          j        ddgdd	gd
t
          fdt          fg          }t          ||           t          |j        |j                   d S )NzA,B
0,1.5
2,-999.00rL  z-999.0T)rn   rM  r  r  r  )r   rB  )rk   g      r  r  rp  r  r  )	r#   rT   r(  r  ro   rq   rp   r   r  rS  s       r+   test_withmissing_floatz"TestFromTxt.test_withmissing_float  s    -..}T+34O O O(Hh/!/ ?#&*sEl!;= = = 	T7###TY-----r,   c                     t          d          }t          j        |d dd          }t          j        g dg dgg dg dg          }t          ||           d S )	Nz1 2 3
4 5 6
2,5Trn   r  r  r   r;  r  )r  )r#   rT   r(  r  ro   r   rS  s       r+   test_with_masked_column_uniformz+TestFromTxt.test_with_masked_column_uniform  sv    &''}T,14A A A(IIIyyy1III8NOOOT7#####r,   c                     t          d          }t          j        |d dd          }t          j        ddgddgdt
          fd	t
          fd
t          fg          }t          ||           d S )NzTrue 2 3
False 5 6
r  Tr  r   )r   r  r  r  rL  rM  rN  r  )r#   rT   r(  r  ro   r  rq   r   rS  s       r+   test_with_masked_column_variousz+TestFromTxt.test_with_masked_column_various  s    -..}T,14A A A(Iy1!*I 6#',ttSk!JL L L 	T7#####r,   c                    dgdz  }t          d          D ]
}d|d|z  <   |                    dd           t          d                    |                    d	d d
dfd}t	          j        t          |          }t          t          |          d           t          |t          j
        dd dD                                                      d           t          t          t          j        d	d
           d S )N1, 1, 1, 1, 1r  r  2, 2, 2, 2 2r   r   a, b, c, d, er+  rL  TrM  rn   r  c                  ,    t          j        fddi S )NrA  FrT   r(  r^   mdatas   r+   r   z)TestFromTxt.test_invalid_raise.<locals>.f  s     =FFeFvFFFr,   rs  c                      g | ]}|t           fS r1   r  r:  s     r+   r3   z2TestFromTxt.test_invalid_raise.<locals>.<listcomp>  s    .I.I.IA3x.I.I.Ir,   abcderm   rM  r  )r   insertr#   r   r   rp  r   r   r   rT   r   rP   r   r3  r(  )r)   r  r   r   mtestr^   r"  s        @@r+   test_invalid_raisezTestFromTxt.test_invalid_raise  s&    2%q 	* 	*A)DaLLA'''tyy''"TDAA	G 	G 	G 	G 	G 	G.22SZZ$$$UBGB.I.I.I.I.IJJJKKK

1j"- #4	1 	1 	1 	1 	1 	1r,   c                    dgdz  }t          d          D ]
}d|d|z  <   |                    dd           t          d                    |                    d	d d
ddfd}t	          j        t          |          }t          t          |          d           t          |t          j
        dd dD                                                      d           t          j        fddi}t          t          |          d           t          j
        dd dD                       }d|d t          d          D             <   t          ||           d S )Nr  r  r  r  r   r   r  r+  rL  TF)rM  rn   r  rA  c                  ,    t          j        fddi S )Nr  )r   rl   r   r!  s   r+   r   z6TestFromTxt.test_invalid_raise_with_usecols.<locals>.f  s     =AAA&AAAr,   rs  c                      g | ]}|t           fS r1   r  r:  s     r+   r3   z?TestFromTxt.test_invalid_raise_with_usecols.<locals>.<listcomp>  s    .F.F.FA3x.F.F.Fr,   aerm   r  r  c                      g | ]}|t           fS r1   r  r:  s     r+   r3   z?TestFromTxt.test_invalid_raise_with_usecols.<locals>.<listcomp>  s    $<$<$<!aX$<$<$<r,   abr  c                     g | ]}d |z  S )r   r1   r:  s     r+   r3   z?TestFromTxt.test_invalid_raise_with_usecols.<locals>.<listcomp>  s    ***Aa***r,   )r   r&  r#   r   r   rp  r   r   r   rT   r   rP   r(  )r)   r  r   r   r'  r  r^   r"  s         @@r+   test_invalid_raise_with_usecolsz+TestFromTxt.test_invalid_raise_with_usecols  s    2%q 	* 	*A)DaLLA'''tyy''"TD',. .	B 	B 	B 	B 	B 	B.22SZZ$$$UBGB.F.F.F.F.FGGGHHH

1e>>V>v>>SZZ$$$'"$<$<t$<$<$<===.4**q***+UG$$$$$r,   c                     dgdz  }t          d                    |                    }dd i}d|d dD             d	d
}t          t          t          j        |fi | d S )Nz1, 1, 1, 1, -1.1r  r+  rl   c                 2    d|                                   dS )N()r  r  s    r+   r  z5TestFromTxt.test_inconsistent_dtype.<locals>.<lambda>  s    #4qxxzz#4#4#4 r,   rL  c                      g | ]}|t           fS r1   r  r:  s     r+   r3   z7TestFromTxt.test_inconsistent_dtype.<locals>.<listcomp>  s    :::QC:::r,   r$  r>   )rM  r  rn   r}  )r#   r   r   r3  rT   r(  )r)   r  r"  r  r^   s        r+   test_inconsistent_dtypez#TestFromTxt.test_inconsistent_dtype  s|    "#b(tyy''445
"*::':::Q Qj"-AA&AAAAAr,   c                     d}t          j        t          |          dd d          }t          j        ddgdt          fdt          fd	t
          fg
          }t          ||           d S )N0, 1, 2.3
4, 5, 6.7rL  f%02irM  rn   
defaultfmtr   rd   ffffff@)rl   r  @f00f01f02rm   )rT   r(  r#   ro   rq   rp   r   r)   r  r'  r>  s       r+   test_default_field_formatz%TestFromTxt.test_default_field_format  s{    %fTll'*$7L L Lxk2 %s|eS\E5>JL L LUD!!!!!r,   c                     d}t          j        t          |          dt          d          }t          j        g dg dgt                    }t          ||           d S )Nr8  rL  r9  r:  r  rH  r=  rK  r  r>  rm   rT   r(  r#   rp   ro   r   rB  s       r+   test_single_dtype_wo_namesz&TestFromTxt.test_single_dtype_wo_names  sf    %fTll'*%GM M Mx6eDDDUD!!!!!r,   c                     d}t          j        t          |          dt          d          }t          j        ddgd dD             	          }t          ||           d S )
Nr8  rL  r  r  rE  rF  c                      g | ]}|t           fS r1   r   r:  s     r+   r3   zBTestFromTxt.test_single_dtype_w_explicit_names.<locals>.<listcomp>  r<  r,   r  rm   rG  rB  s       r+   "test_single_dtype_w_explicit_namesz.TestFromTxt.test_single_dtype_w_explicit_names
  ss    %fTll'*%yJ J Jx6995999; ; ;UD!!!!!r,   c                     d}t          j        t          |          dt          d          }t          j        ddgd dD             	          }t          ||           d S )
Nza, b, c
0, 1, 2.3
4, 5, 6.7rL  Tr  rE  rF  c                      g | ]}|t           fS r1   r   r:  s     r+   r3   zBTestFromTxt.test_single_dtype_w_implicit_names.<locals>.<listcomp>  r<  r,   r  rm   rG  rB  s       r+   "test_single_dtype_w_implicit_namesz.TestFromTxt.test_single_dtype_w_implicit_names  ss    .fTll'*%tE E Ex6995999; ; ;UD!!!!!r,   c                     d}t          j        t          |          dt          t          t          fd          }t          j        ddgdt          fdt          fd	t          fg
          }t          ||           d S )Nr8  rL  zf_%02ir:  )r   rH  r=  )rl   r  r>  f_00f_01f_02rm   rT   r(  r#   rq   rp   ro   r   rB  s       r+   test_easy_structured_dtypez&TestFromTxt.test_easy_structured_dtype  s    %fTllc$'#68M M Mx|4 &}vuoOQ Q QUD!!!!!r,   c                    d}dd dd}t          j        d          5 }t          j        ddt                     t	          j        t          |          fi |}t          |d	         j        t          u            d d d            n# 1 swxY w Y   t	          j	        d
gddt          fdg          }t          ||           t          j        d          5 }t          j        ddt                     t	          j        t          |          fddi|}t          |d	         j        t          u            d d d            n# 1 swxY w Y   t	          j	        dgddt          fdg          }t          ||           d S )Nz01/01/2003  , 1.3,   abcderL  r>   )rM  rn   r}  Tr   r   r$   r   )z01/01/2003  ?z   abcde)rL  z|S12rM  )rN  r  rm   	autostrip)z
01/01/2003rV  r$  )rL  r  )rN  z|S5)r   r   r   r   rT   r(  r#   r   rE  ro   rp   r   )r)   r  r^   r   r'  r>  s         r+   test_autostripzTestFromTxt.test_autostrip%  s%   +"TwGG$D111 	@Q#Hb2KLLLM&,,99&99EAaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ x:;-e}mLN N NUD!!!$D111 	@Q#Hb2KLLLM&,,II$I&IIEAaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ x56-e}mLN N NUD!!!!!s%   ABB
B
AEEEc                 n   d}t          j        t          |          ddd           }dt          fdt          fdt          fg}t          j        d|	          }t          ||           t          j        t          |          ddd d
d
          }dt          fdt          fdt          fg}t          j        d|	          }t          ||           t          j        t          |          ddd d
          }dt          fdt          fdt          fg}t          j        d|	          }t          ||           d S )NzA.A, B (B), C:C
1, 2, 3.14rL  TrM  r  rn   AAB_BCC)rd   rk   gQ	@rm   r$   rM  r  rn   replace_spacedeletecharsA.AB (B)C:CrM  r  rn   r`  B_(B)rS  r)   r  r  
ctrl_dtyper>  s        r+   test_replace_spacezTestFromTxt.test_replace_space8  s?   +}VC[['*$dD D DSkE3<$?
xJ777T4   }VC[['*$d+-2? ? ? clWcNUENC
xJ777T4   }VC[['*$d)+- - - clWcNUENC
xJ777T4     r,   c                    d}t          j        t          |          ddt                    }dt          fdt          fdt          fg}t          j        d|	          }t          ||           t          j        t          |          ddt          d
d
          }dt          fdt          fdt          fg}t          j        d|	          }t          ||           t          j        t          |          ddt          d
          }dt          fdt          fdt          fg}t          j        d|	          }t          ||           d S )NzA.A, B (B), C:C
1, 2, 3rL  TrZ  r[  r\  r]  r   rm   r$   r^  ra  rb  rc  rd  re  )rT   r(  r#   rq   ro   r   rf  s        r+   test_replace_space_known_dtypez*TestFromTxt.test_replace_space_known_dtypeP  s?   (}VC[['*$cC C CSkE3<$=
x	444T4   }VC[['*$c+-2? ? ? clWcNUCLA
x	444T4   }VC[['*$c)+- - - clWcNUCLA
x	444T4     r,   c                 <   d}ddd}t          j        ddgd dD             	          }t          j        t          |          fd
d i|}t	          ||           t          j        ddgd dD             	          }t          j        t          |          fi |}d S )NzA,,C
0,1,2
3,4,5rL  Tr%  r  r2  c                      g | ]}|t           fS r1   r  r:  s     r+   r3   z5TestFromTxt.test_incomplete_names.<locals>.<listcomp>n  s    BBBA3xBBBr,   )rp  rL  rq  rm   rn   c                      g | ]}|t           fS r1   r   r:  s     r+   r3   z5TestFromTxt.test_incomplete_names.<locals>.<listcomp>s  s    DDDa5zDDDr,   )rT   ro   r(  r#   r   r)   r  r^   r>  r  s        r+   test_incomplete_namesz!TestFromTxt.test_incomplete_namesh  s    #"T22xI.BB1ABBBD D D}VD\\@@@@@T4   xI.DD3CDDDF F F}VD\\44V44r,   c                     d}t          j        t          |          t          t          t          fd          }t          j        ddgdt          fdt          fdt          fg          }t          ||           d S )	Nz1 2 3
 4 5 6rh   rZ  r   r;  rL  rM  rm   rS  r  s       r+   test_names_auto_completionz&TestFromTxt.test_names_auto_completionv  s    }VD\\$'#4CA A AxI. #SzD%=4+FH H HT4     r,   c                    d}d}t          j        t          |          t          t          t          fddd          }t	          |j        j        |           t          j        t          |          t          t          t          fddd          }t	          |j        j        |           t          j        t          |          t          ddd          }t	          |j        j        |           d S )Nz'A,B,C,D,E
0,1,2,3,4
0,1,2,3,4
0,1,2,3,4)rp  rq  ErL  )r   rk   rl   T)rn   rM  r  r  )rT   r(  r#   rq   r   rn   r  )r)   r  
ctrl_namesr  s       r+   test_names_with_usecols_bug1636z+TestFromTxt.test_names_with_usecols_bug1636  s    ;$
}VD\\$'c?c%.d< < < 	TZ%z222}VD\\$'c?c%4DB B B 	TZ%z222}VD\\#&#%4DB B B 	TZ%z22222r,   c                    d}ddd d}t          j        ddgdt          fdt          fd	t          fg
          }t          j        t          |          fi |}t          ||           ddd d}t          j        ddgdt          fdt          fd	t          fg
          }t          j        t          |          fi |}t          ||           d S )Nz-    A    B   C
    0    1 2.3
   45   67   9.)r  r  rl   TrZ  r<  )rs  r  r  rp  r  rq  rm   r  )rT   ro   rq   rp   r(  r#   r   rn  s        r+   test_fixed_width_namesz"TestFromTxt.test_fixed_width_names  s    @(4$GGxl3 #SzC:U|DF F F}VD\\44V44T4    4$??xl3 #SzC:U|DF F F}VD\\44V44T4     r,   c                     d}dd dd}t          j        g dg dg dgt                    }t          j        t	          |          fi |}t          ||           d S )	Ns   1, 2, 3
1, , 5
0, 6, 
rL  r  )rM  rn   r
  r   )rd   r  r  )r   r  r  rm   r  rn  s        r+   test_filling_valueszTestFromTxt.test_filling_values  sp    +"TTJJxLLL,,,?sKKK}VD\\44V44T4     r,   c                    t          j        d          5 }t          j        ddt                     t	          j        t          d          d d dd          }t          |d	         j        t          u            d d d            n# 1 swxY w Y   t          |d
         d           t          j        d          5 }t          j        ddt                     t	          j        t          d          d d dd          }t          |d	         j        t          u            d d d            n# 1 swxY w Y   t          |d
         d           d S )NTr   r   r$   ztest1,testNonetherestofthedatarL  r>   rn   rV  rM  r}  r   rd   s   testNonetherestofthedataztest1, testNonetherestofthedatas    testNonetherestofthedata)
r   r   r   r   rT   r(  r#   r   rE  r   )r)   r   r  s      r+   test_comments_is_nonez!TestFromTxt.test_comments_is_none  s   $D111 	@Q#Hb2KLLL=(H!I!I'+dc*13 3 3D AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	T!W9:::$D111 	@Q#Hb2KLLL=(I!J!J'+dc*13 3 3D AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	T!W:;;;;;s%   A#BB	B	;A#D**D.1D.c                 T   d}d}d|z   dz   }||z   |z   }t          j        d          5 }t          j        ddt                     t	          j        t          |          d d d	d
          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          |d         d           t          |d         d|z              t          |d         d           t	          j        t          |          d d d	d          }t          |d         d           t          |d         d|
                    d          z              t          |d         d           t          j        d          5 }t          j        ddt                     t	          j        t          d|z             d d d	d
          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          |d         d           t          |d         d|z              d S )Ns      norm1,norm2,norm3
   test1,testNonethe   ,test3
Tr   r   r$   rL  r>   r{  r   )rd   r      test1)rd   rd      testNonether      test3r;   r   testNonethetest3   0,testNonetherL  rM  )r   r   r   r   rT   r(  r#   r   rE  r   r?   )r)   r;   normencr*   r   r  s          r+   test_latin1zTestFromTxt.test_latin1  s    %"V+k93J$D111 	@Q#Hb2KLLL='+dc*13 3 3D AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	T$Z***T$Z&!8999T$Z***}VAYY#'$#&.0 0 0 	T$Z)))T$Zx1H1H!HIIIT$Z)))$D111 	@Q#Hb2KLLL=(86(A!B!B'+dc*13 3 3D AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	T$Z###T$Z&!899999s%   A#BB B<A&G..G25G2c                     d}|                      t          |          d d          }t          |t          j        |                    d                                                               d S r  )r  r   r   rT   ro   r?   rr  r  s      r+   test_binary_decode_autodtypez(TestFromTxt.test_binary_decode_autodtype  s\    4MM'%..xMHH1bhu||H'='='C'C'E'EFFGGGGGr,   c                    d}d}d|z   dz   }||z   |z   }t          j        d          5 }t          j        ddt                     t	          j        t          |          d d d	d
          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t	          j	        g ddd|z   dgg dg          }t          ||           d S )Nrx  r~  r  r  Tr   r   r$   rL  r>   r{  r   )s   norm1s   norm2s   norm3r  r  r  )r   r   r   r   rT   r(  r#   r   rE  ro   r   )r)   r  r  r  r*   r   r  ctls           r+   test_utf8_byte_encodingz#TestFromTxt.test_utf8_byte_encoding  sJ   %"T)K73J$D111 	@Q#Hb2KLLL='+dc*13 3 3D AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ h///NT18<///1 2 2 	4%%%%%s   A#BB Bc           	         d}t                      5 }t          |d          5 }|                    d|z   dz   dz             d d d            n# 1 swxY w Y   t          j        |d d dd          }t          j        d	d
|                    d          z   dgd	d
|                    d          z   dggt          j                  }t          ||           t          |d          5 }|                    d|z              d d d            n# 1 swxY w Y   t          j        |d d dd          }t          |d         d           t          |d         d
|                    d          z              d d d            d S # 1 swxY w Y   d S )Nrx  r   r  r  rk   rL  ry  r{  r   r  r  rm   r  rL  r   rM  )
r    r   r.   rT   r(  ro   r?   r~  r   r   )r)   r  rE  r   r  r  s         r+   test_utf8_filezTestFromTxt.test_utf8_file  s   ZZ 	K4dD!! IQ-4{BaGHHHI I I I I I I I I I I I I I I=TD+.B B BD(}t{{7/C/CCWM}t{{7/C/CCWMO 7$ $ $C tS))) dD!! 1Q(4/0001 1 1 1 1 1 1 1 1 1 1 1 1 1 1=TD+.B B BDdQ'''d]T[[5I5I%IJJJ#	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	KsZ   E=AE=A	E=A	BE=%D
>E=
D	E=D	AE==FFc           	      l   d}d}	 t          j                    }|                    |           n+# t          t          f$ r t          j        d           Y nw xY wt                      5 }t          |d          5 }|	                    d           |	                    d|z   dz              |	                    d|z   d	z              d d d            n# 1 swxY w Y   t          j        d
          5 }t          j        ddt                     t          j        |d d dd          }t!          |d         j        t          u            d d d            n# 1 swxY w Y   t          j        g dd|dgdd|z   dggt          j                  }t)          ||           d d d            d S # 1 swxY w Y   d S )Nrh  u   öüözTSkipping test_utf8_file_nodtype_unicode, unable to encode utf8 in preferred encodingr  znorm1,norm2,norm3
znorm1,z,norm3
ztest1,testNonethez,test3
Tr   r   r$   rL  r>   r{  r   )norm1norm2norm3r  r  r   r  r  rm   )r  r   r  UnicodeErrorImportErrorr   r  r    r   r.   r   r   r   r   rT   r(  r   rE  ro   r~  r   )	r)   r  r;   r}  rE  r   r   r  r  s	            r+   test_utf8_file_nodtype_unicodez*TestFromTxt.test_utf8_file_nodtype_unicode	  s   	G244HKK!!!!k* 	G 	G 	GK F G G G G G	G ZZ 	*4dD!! AQ-...6)J6777+d2Z?@@@A A A A A A A A A A A A A A A (555 D'"(AC C C}T/2WF F F !)BBCCCD D D D D D D D D D D D D D D (000vw/}t3W=? 7	$ $ $C
 tS)))#	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*sl   (/ %AA(F)9ACF)C	F)C	F)1AEF)E	F)E	AF))F-0F-(ignore:.*recfromtxt.*:DeprecationWarningc                    t          d          }dddd}t          |fi |}t          j        ddgdt          fd	t          fg
          }t          t          |t          j                             t          ||           t          d          }t          |fd dd|}t          j        ddgddgdt          fd	t          fg          }t          ||           t          |j
        |j
                   t          |j        ddg           d S )NA,B
0,1
2,3rL  r  Tr  r  r  rp  r  rm   r  r  r  r  r  r  r   rk   )r#   r   rT   ro   rq   r   r=   recarrayr   r  r  rp  r   s        r+   test_recfromtxtzTestFromTxt.test_recfromtxt&	  s-    o&&"edKK$))&))(FF+#&*sCj!9; ; ;
4--...T7###'(($CdDCCFCC(FG,!/ ?#&*sCj!9; ; ; 	T7###TY---TVaV$$$$$r,   c                    t          d          }ddddd}t          |fdd i|}t          j        ddgd	t          fd
t          fg          }t          t          |t          j                             t          ||           t          d          }t          |fd dd|}t          j        ddgddgd	t          fd
t          fg          }t          ||           t          |j
        |j
                   t          |j        ddg           t          d          }t          |d          }t          j        ddgdt          fdt          fg          }t          t          |t          j                             t          ||           t          d          }dt          fdt          fg}t          |d|          }t          j        ddg|          }t          t          |t          j                             t          ||           t          d          }t          |dd i          }t          j        ddgdt          dffg          }t          |j        |j                   t          ||           d S )Nr  r  Tr>   )r  r  case_sensitiver}  rn   r  r  rp  r  rm   r  r  r  r  r  r  r   rk   )r  rh   r   )r  rn   zcolor
"red"
"blue"c                 ,    |                      d          S )N")r  r  s    r+   r  z-TestFromTxt.test_recfromcsv.<locals>.<lambda>`	  s     r,   )r  )red)bluecolorrl   )r#   r   rT   ro   rq   r   r=   r  r   r  r  rp  rp   r  rn   )r)   r  r^   r  r  rn   s         r+   test_recfromcsvzTestFromTxt.test_recfromcsv:	  s    o&&$)DD")+ +$55d5f55(FF+#&*sCj!9; ; ;
4--...T7###'(($CdDCCFCC(FG,!/ ?#&*sCj!9; ; ; 	T7###TY---TVaV$$$o&&$u666(FF+#&*sCj!9; ; ;
4--...T7###o&&sc5\*$uEBBB(FF+!&( ( (
4--...T7### ,--$A/F/F+GHHH(Hi0'C89L8MNNNTZ///T7#####r,   c                    d}t          |          }t          j        |d          }t          j        |          }t          |ddgddgddgg           t          |d	d
gddgg           t	          t
          t          j        t          |          d           d}t          j        t          |          d          }t          j        ddgddgg          }t          ||           t	          t
          t          j        t          |          dd           t	          t
          t          j        t          |          d           t          j                    5  t          j	        dt                     t          j        t          |          dd          }t          j        ddgddgddgddgg          }t          ||           t          j        t          |          dd          }t          j        ddgddgddgddgg          }t          ||           d d d            n# 1 swxY w Y   d}t          |          }t          j        |ddd          }t          j        g dddg          }t          ||           t          j        |d |j                  }t          j        dd gddg          }t          ||           d S )!Nz1 2
3 4
5 6
7 8
9 10
r<   )r  rd   rk   rl   r  r  r  r(  r  r   r   z1 1
2 2
0 
3 3
4 4
5  
6  
7  
rH  rI  )r6  r  r	  F)r  rA  rJ  rK  z"a b
#c d
1 1
2 2
#0 
3 3
4 4
5  5
T)r0  r  r  ))rH  rH  )rI  rI  )rJ  rJ  )r   <f8)r   r  rm   )r  rn   )rK  rK  )r  r  )r#   rT   r(  r   r   r3  ro   r   r   r
  r   rn   )r)   r  r  a1a2r  r  s          r+   r  zTestFromTxt.test_max_rowse	  s
   +Tll]3+++]3R1a&1a&1a&1222R1a&1b'*+++ 	j"-JJJJ 9}VD\\A666(RHr2h/00T7### 	j"-1 	" 	" 	" 	" 	j"-JJJJ $&& 		( 		(!(,=>>>=OOODhR2r(RHr2hGHHGw'''=OOODhR2r(RHr2hGHHGw'''		( 		( 		( 		( 		( 		( 		( 		( 		( 		( 		( 		( 		( 		( 		( < Tll}Sa!4HHH(???)<8: : :T7### }S4tzBBB(J
3)<8: : :T7#####s   CH**H.1H.c                    t          j        d                              d          }d}|D ]}d|z   dz   }t                      5 }t	          |d          5 }|                    |           d d d            n# 1 swxY w Y   t          j        |          }d d d            n# 1 swxY w Y   t          ||           d S )Nr  r  r  r  r  r   )rT   r   r  r    r   r.   r(  r   )r)   r  r  r  r  rN   r   r  s           r+   test_gft_using_filenamez#TestFromTxt.test_gft_using_filename	  s:    ill""6**& 	) 	)CS=7*D *t$__ "GGDMMM" " " " " " " " " " " " " " "mD))* * * * * * * * * * * * * * * sC((((	) 	)s6   B"A7+B"7A;;B">A;?B""B&	)B&	c                 <   t          j        d                              d          }d}|D ]}d|z   dz   }t                      }t	          j        |d          5 }|                    t          |                     d d d            n# 1 swxY w Y   t          d	          5 }t          |d          5 }|                    |           d d d            n# 1 swxY w Y   t          t          j        |          |           d d d            n# 1 swxY w Y   d S )
Nr  r  r  r  r  r   fileobjr  z.gz2r   )rT   r   r  r   r  GzipFiler.   r   r    r   r   r(  )	r)   r  r  r  r  r*   rY  rN   r   s	            r+   test_gft_from_gzipzTestFromTxt.test_gft_from_gzip	  s   1%%f--& 		@ 		@CS=7*D		Aqs333 'q&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ((( @D$__ "GGDMMM" " " " " " " " " " " " " " ""2=#6#6???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @		@ 		@sH   #B		B	B	$D5CDCDC%DD	D	c                     d }t          j         |                      }t          |t          j        d                     d S )Nc               3   V   K   t          d          D ]} t          d| z            V  d S r  )r   r   r  s    r+   r  z3TestFromTxt.test_gft_using_generator.<locals>.count	  s@      2YY ( (dQh''''''( (r,   r   )rT   r(  r   r   r  s      r+   test_gft_using_generatorz$TestFromTxt.test_gft_using_generator	  sF    	( 	( 	( mEEGG$$3	".....r,   c                    t          d          }t          j        |d           }t          |j        j        g d           t          |j        d         t          k               t          |j        d         t          j        k               t          |j        d         t          j	        k               t          |d         d           t          |d         d           t          |d         d	           d S )
Nz%73786976294838206464 17179869184 1024rm   )rL  rM  rN  rL  rM  rN  g      Dl        i   )r#   rT   r(  r   rn   r  r   rp   rF  int_r   r  s      r+   test_auto_dtype_largeintz$TestFromTxt.test_auto_dtype_largeint	  s     =>>}T...TZ%'9'9'9:::
4 E)***
4 BH,---
4 BG+,,,T
$9:::T$Z---T$Z&&&&&r,   c                 2   t          d          }t          j        |dd          \  }}}t          |t          j        g d                     t          |t          j        g d                     t          |t          j        g d                     d S )Nz1,2,3
4,5,6
7,8,9
0.0,1.0,2.0rL  T)rM  r  )rH  rK  r  r  )rI  r  ra  rH  )rJ  rY  r  rI  )r#   rT   r\  r   ro   )r)   r  rh   r   r   s        r+   test_unpack_float_dataz"TestFromTxt.test_unpack_float_data	  s    788*SC===1a1bh';';';<<===1bh';';';<<===1bh';';';<<=====r,   c                 &   t          d          }ddd}t          j        ||d          \  }}}t          |j        t          j        d                     t          |j        t          j        d                     t          |j        t          j        d	                     t          |t          j        d
dg                     t          |t          j        ddg                     t          |t          j        ddg                     d S )Nr  r  r  r  Tr  r  r   rB  r  r  rx  r  r  r  )r#   rT   r(  r   rn   r   ro   r  s         r+   r  z"TestFromTxt.test_unpack_structured	  s     '((&3EFF-2d;;;1aQWbhtnn---QWbhtnn---QWbhtnn---1bhd|445551bhBx001111bhc{3344444r,   c                 V   t          d          }t          j        ddg          t          j        ddg          t          j        ddg          f}t          j        |d dd	
          }t	          ||          D ]/\  }}t          ||           t          |j        |j                   0d S )NzM 21 72.
F 35 58.r  r  rx  r  r  r  Tzutf-8)rn   r  r}  )r#   rT   ro   r(  r  r   r   rn   )r)   r  expectedr  ra   results         r+   test_unpack_auto_dtypez"TestFromTxt.test_unpack_auto_dtype	  s     )**Hc3Z(("(B8*<*<bhSz>R>RS}STGLLLx.. 	2 	2KCsF+++FL1111	2 	2r,   c                     t          d          }ddd}t          j        ddgt          j                  }t          j        ||d	          }t          ||           t          |j        |j                   d S )
Nz21
35r   r   r  rx  r  rm   Tr  )r#   rT   ro   r  r(  r   r   rn   r)   r  r   r  r  s        r+   test_unpack_single_namez#TestFromTxt.test_unpack_single_name	  sx     X'228RHBH555}S48888T***X^TZ00000r,   c                    t          d          }ddd}t          j        dt          j                  }t          j        ||d          }t          ||           t          d	|j                   t          |j        |j                   d S )
Nr  r   r  r  r0  rm   Tr  r1   )	r#   rT   ro   r  r(  r   r   rf   rn   r  s        r+   test_squeeze_scalarzTestFromTxt.test_squeeze_scalar
  s     Skk'228D111}S48888T***R$$$X^TZ00000r,   ndimr  c                     d}t          j        t          |          |          }t          j        t          |          |          }t	          ||           d S )N42r  )rT   r\  r   r(  r   )r)   r  r  rh   r   s        r+   r  zTestFromTxt.test_ndmin_keyword
  sS     Jx}}D111M(3--t4441a     r,   N)_r6   r7   r8   r  rT   r(  r  r   rt   rz   r.  r.  r?  rC  rG  rP  rT  r[  r[  r^  ra  rf  rl  rw  r  r~  r  r  r}  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  rQ  r  r  r  r  rq  r  rc  r  r  r  r  r  r  r(  r0  r6  rC  rH  rK  rN  rT  rX  rh  rj  ro  rq  ru  rw  ry  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r%  rq   r  r1   r,   r+   r&  r&  _  s       |BM**H$ $ $
* 
* 
*
* 
* 
*
$ 
$ 
$$ $ $	! 	! 	!F F F08 8 8. . . $ $ $$ $ $
$ 
$ 
$  ! ! !>$ $ $; ; ;
$ 
$ 
$$ $ $$ $ $	$ 	$ 	$	$ 	$ 	$
% 
% 
%B B B$ $ $
$ 
$ 
$ [ JKK$ $ LK$"F F F6' ' '$ $ $
$ 
$ 
$$ $ $$ $ $$ $ $( ( (+ + +*! ! !1 1 1/ / /
	! 	! 	!
- 
- 
-$ $ $! ! !. . .$$ $ $B! ! !8. . .$ $ $$ $ $1 1 1(% % %0B B B" " "" " "" " "" " "" " "" " "&! ! !0! ! !05 5 5! ! !3 3 3&! ! !! ! !< < <": : :<H H H
& & &"K K K*!* !* !*F [ JKK% % LK%& [ JKK($ ($ LK($T4$ 4$ 4$l) ) )@ @ @ / / /' ' '2> > >5 5 52 2 21 1 1
1 
1 
1 [VYYY//!s ! ! ! 0/! ! !r,   r&  c                      e Zd Zd Zd Zd Zej                            e	d          ej        
                    deeg          d                         Zej        
                    deeg          d             Zej        
                    deeg          d	             Zej        
                    deeg          d
             Zej        
                    deeg          ej                            d          d                         Zej        
                    deeg          ej                            d          d                         ZdS )TestPathUsagec                    t          d          5 }t          |          }t          j        ddgddgg          }t          j        ||           t          j        |          }t          ||           d d d            d S # 1 swxY w Y   d S )N.txtr   g?rk   r<   rl   )r    r	   rT   ro   r.  r\  r   )r)   rE  rh   r   s       r+   test_loadtxtzTestPathUsage.test_loadtxt
  s    V$$$ 	%::D3(QF+,,AJtQ
4  Aq!$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   A#BBBc                 (   t          d          5 }t          |          }t          j        ddgddggt                    }t          j        ||           t          j        |          }t          ||           d d d            d S # 1 swxY w Y   d S )NrC  r   rd   rk   r<   rl   )r    r	   rT   ro   rq   r   rU   r   r)   rE  rh   r  s       r+   test_save_loadzTestPathUsage.test_save_load%
  s    V$$$ 	(::D1a&1a&)3//AGD!74==DtQ'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   A)BBBc                 t   t          d          5 }t          |          }t          j        ddgddggt                    }t          j        ||           t          j        |d          }t          ||           ~t          rt                       t                       d d d            d S # 1 swxY w Y   d S )	NrC  r   rd   rk   r<   rl   r   r~   )
r    r	   rT   ro   rq   r   rU   r   r   r   r  s       r+   test_save_load_memmapz#TestPathUsage.test_save_load_memmap.
  s    V$$$ 
	::D1a&1a&)3//AGD!743///DtQ''' 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	s   BB--B14B1zmemmap doesn't work correctlyr{   rZ  c                    t          d          5 } ||          }t          j        ddgddggt                    }t          j        ||           t          j        |d          }d	|d
         d
<   d	|d
         d
<   ~t          rt                       t                       t          j        |          }t          ||           d d d            d S # 1 swxY w Y   d S )NrC  r   rd   rk   r<   rl   zr+r  r  r   )	r    rT   ro   rq   r   rU   r   r   r   )r)   rZ  rE  rh   r   r  s         r+   test_save_load_memmap_readwritez-TestPathUsage.test_save_load_memmap_readwrite<
  s    V$$$ 	( =&&D1a&1a&)3//AGD!---AAaDGAaDG 74==DtQ'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   B5CCCc                    t          d          5 } ||          }t          j        |d           t          j        |          5 }t	          |d         d           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S Nr   r   r  r  r  )r    rT   r   rU   r   r)   rZ  rE  r  s       r+   test_savez_loadzTestPathUsage.test_savez_loadM
  s/   V$$$ 	@ =&&DHT~.... @$"4;???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@s5   6BA*B*A.	.B1A.	2BB	Bc                    t          d          5 } ||          }t          j        |d           t          j        |          }t	          |d         d           |                                 d d d            d S # 1 swxY w Y   d S r  )r    rT   savez_compressedrU   r   rS   r  s       r+   test_savez_compressed_loadz(TestPathUsage.test_savez_compressed_loadU
  s    V$$$ 	 =&&D.999974==DtE{N;;;JJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A A>>BBc                    t          d          5 } ||          }t          j        ddg          }t          j        ||           t          j        |          }t          ||           d d d            d S # 1 swxY w Y   d S )Nr  r   r   r   )r    rT   ro   r.  r(  r   )r)   rZ  rE  rh   r  s        r+   test_genfromtxtzTestPathUsage.test_genfromtxt^
  s    V$$$ 	( =&&D&&)**AJtQ=&&Dq$'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   AA99A= A=r  c                    t          d          5 } ||          }t          |d          5 }|                    d           d d d            n# 1 swxY w Y   dddd}t          |fi |}t	          j        d	d
gdt          fdt          fg          }t          t          |t          j	                             t          ||           d d d            d S # 1 swxY w Y   d S )Nr  r   r   r  rL  r  Tr  r  r  rp  r  rm   )r    r   r.   r   rT   ro   rq   r   r=   r  r   r)   rZ  rE  r   r^   r  r  s          r+   r  zTestPathUsage.test_recfromtxtg
  st    V$$$ 
	( =&&DdC )A((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) $'%$OOFd--f--Dh/'*Cj3*%=? ? ?GJtR[11222w'''
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	(s5   CACA	CA	A5CC Cr  c                    t          d          5 } ||          }t          |d          5 }|                    d           d d d            n# 1 swxY w Y   dddd}t          |fdd i|}t	          j        d	d
gdt          fdt          fg          }t          t          |t          j	                             t          ||           d d d            d S # 1 swxY w Y   d S )Nr  r   r   r  r  T)r  r  r  rn   r  r  rp  r  rm   )r    r   r.   r   rT   ro   rq   r   r=   r  r   r  s          r+   r  zTestPathUsage.test_recfromcsvv
  s    V$$$ 	( =&&DdC )A((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) #($$ F d99$9&99Dh/'*Cj3*%=? ? ?GJtR[11222w'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s5   CACA	CA	A7CC"CN)r6   r7   r8   r  r  r  r   r   r  r   r%  r	   r  r  r  r  r  r   r  r  r1   r,   r+   r  r  
  s       % % %( ( (   [w'FGG[_tSk::( ( ;: HG( [_tSk::@ @ ;:@ [_tSk::  ;: [_tSk::( ( ;:( [_tSk::[ JKK( ( LK ;:( [_tSk::[ JKK( ( LK ;:( ( (r,   r  c                  x   t           j                            d          } t                      }t          j        |d          }t          j        ||            |                                 |                    d           t          j        |d          }t          t          j	        |          |            d S )Nr  r  r   r  r   r   )
rT   r   r   r  r  r   rS   rP   r   rU   rh   r*   r   s      r+   test_gzip_loadr  
  s    
	  A		Aac***AGAqMMMGGIIIFF1IIIac***Arwqzz1%%%%%r,   c                        e Zd Zd Zd Zd ZdS )
JustWriterc                     || _         d S r&   baser)   r  s     r+   r'   zJustWriter.__init__
      			r,   c                 6    | j                             |          S r&   )r  r.   r(   s     r+   r.   zJustWriter.write
  s    yq!!!r,   c                 4    | j                                         S r&   )r  rO   r  s    r+   rO   zJustWriter.flush
  s    y   r,   N)r6   r7   r8   r'   r.   rO   r1   r,   r+   r  r  
  sA          " " "! ! ! ! !r,   r  c                   "    e Zd Zd Zd ZddZdS )
JustReaderc                     || _         d S r&   r  r  s     r+   r'   zJustReader.__init__
  r  r,   c                 6    | j                             |          S r&   )r  rW  )r)   r   s     r+   rW  zJustReader.read
  s    y~~a   r,   r   c                 8    | j                             ||          S r&   )r  rP   )r)   offwhences      r+   rP   zJustReader.seek
  s    y~~c6***r,   Nro  )r6   r7   r8   r'   rW  rP   r1   r,   r+   r  r  
  sF          ! ! !+ + + + + +r,   r  c                  \   t           j                            d          } t                      }t          |          }t          j        ||            |                                 |                    d           t          |          }t          t          j	        |          |            d S )Nr  r   )
rT   r   r   r  r   rO   rP   r  r   rU   r  s      r+   test_ducktypingr  
  s    
	  A		A1AGAqMMMGGIIIFF1III1Arwqzz1%%%%%r,   c                  ,   t                      } t          j        | d          }|                    d           |                                 |                     d           t          d          5 }t          |d          5 }|                    |                                            d d d            n# 1 swxY w Y   t          j
        |          }d d d            n# 1 swxY w Y   |                                  t          |g d           d S )	Nr   r     1 2 3
r   r  r   r   r   )r   r  r  r.   rS   rP   r    r   rW  rT   r\  r   )r*   rY  rN   r   r  s        r+   test_gzip_loadtxtr  
  sf    			Aac***AGGJGGIIIFF1III				 4$ 	GGAFFHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	j               GGIIIsIII&&&&&s6   3C#(B8,C#8B<	<C#?B<	 C##C'*C'c                  >   t                      } t          j        | d          }|                    d           |                                 |                     d           t          j        | d          }t          t          j        |          g d           d S )Nr   r  r  r   r   r   )	r   r  r  r.   rS   rP   r   rT   r\  )r*   r   s     r+   test_gzip_loadtxt_from_stringr  
  s    		Aac***AGGJGGIIIFF1IIIac***Arz!}}iii00000r,   c                     t                      } t          j        d          }t          j        d          }t          j        | ||           |                     d           t          j        |           }t          d|v            t          d|v            t          d|                                v            t          d|                                v            |                                D ]+\  }}t          |dv            t          |j
        d           ,|                                D ]}t          |j
        d           t          t          |                                          dk               |D ]}t          |dv            t          d|                                v            |                    d          |d         k                                    sJ d S )N)r<   r<   )r   r   r   r   r   rk   )r   rT   ra  r   rP   rU   r   keysitemsr   rf   valuesr   rM   all)r*   r   r   rA  r   rh   s         r+   test_npzfile_dictr  
  s   		A
A
AHQ!qFF1III


AC1HC1HC16688OC16688O		 & &1Z   QWf%%%%XXZZ & &QWf%%%%C		NNa    ! !Z    C16688OEE#JJ!C& %%'''''''r,   zPython lacks refcountsr{   z!garbage collector is global statec                     t                      } t          j        | g d           |                     d           t	                      5  t          j        |            d d d            n# 1 swxY w Y   |                     d           ddg}t	                      5  t          j        t          d          |          }t          |t          j	        dg|                     d d d            d S # 1 swxY w Y   d S )Nr   r   )rh   u1rk   )r   r  rk   z0 1 2 3rm   )r  r  )
r   rT   r   rP   r   rU   r\  r#   r   ro   )r   r   r   s      r+   test_load_refcountr  
  s~    			AHQ			FF1III			  



               FF1III
.	)B			 @ @Jvi((333Q"2!32>>>???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @s%   	A**A.1A.A	C22C69C6c                     t                      } t          j        | d           t          j        | d           |                     d           t          j        |           }|dk    sJ t          j        |           }|dk    sJ t          j        t                    5  t          j        |            d d d            d S # 1 swxY w Y   d S )Nrd   rk   r   )r   rT   r   rP   rU   r   r   EOFError)r   out1out2s      r+   #test_load_multiple_arrays_until_eofr    s    		AGAqMMMGAqMMMFF1III71::D1999971::D19999	x	 	   



                 s   CCCc                     t          j        ddgt                    } t          d          5 }t          j        ||            d d d            n# 1 swxY w Y   t          d          5 }t          j        t          d          5  t          j        || d	           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          d          5 }t          j        ||            d d d            n# 1 swxY w Y   t          d          5 }t          j        t          d          5  t          j        || d	           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Nrd   hellorm   r   r   z$Object arrays cannot be saved when.*r   F)rH   )	rT   ro   rv   r    r   r   r   r3  r  )	obj_arrayr   s     r+   test_savez_nopickler    s	   !WV444I		 	 	  !C
i   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 
	 	 	  9C]:-STTT 	9 	9HS)%8888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	99 9 9 9 9 9 9 9 9 9 9 9 9 9 9 
	 	 	  ,C
C+++, , , , , , , , , , , , , , , 
	 	 	  DC]:-STTT 	D 	DYUCCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	DD D D D D D D D D D D D D D D D D Ds   AAA+CB+C+B/	/C2B/	3CC	CC??DDE26EE2E	E2!E	"E22E69E6r&   )Yr  r  r  rZ   rg  rQ   r   r@   r   r   ctypesr   r   ior   r   multiprocessingr   r   pathlibr	   tempfiler
   r   numpyrT   numpy.mar  numpy._utilsr   numpy.exceptionsr   	numpy.libr   numpy.lib._iotoolsr   r   numpy.lib._npyio_implr   r   numpy.ma.testutilsr   numpy.testingr   r   r   r   r   r   r   r   r   r   r   r   r    numpy.testing._private.utilsr!   r#   maxsizer"  r  r  r  r  r  rA   rD   r   r   r'  r  r  r  r&  r  r  r  r  r  r  r  r  r   r   r#  r  r  r  r1   r,   r+   <module>r     s   				   				 				 



                                    . . . . . . . .       ' ' ' ' ' '                        6 6 6 6 6 6 ! ! ! ! ! ! @ @ @ @ @ @ @ @ 8 8 8 8 8 8 8 8 + + + + + +                              9 8 8 8 8 8> > > > >W > > >& ;JJJGG   GGGKKKHH   HHH0 0 0 0h% h% h% h% h% h% h% h%V? ? ? ? ?= ? ? ?m m m m mM m m m`` ` ` ` ` ` ` `D	E% E% E% E% E% E% E% E%Pr. r. r. r. r.+ r. r. r.h?6 ?6 ?6 ?6 ?6 ?6 ?6 ?6Jy! y! y! y! y!+ y! y! y!x%j( j( j( j( j( j( j( j(Z& & & ! ! ! ! ! ! ! !+ + + + + + + +& & &' ' '*1 1 1( ( (> $-EFF"EFF@ @ GF GF@$
 
 
D D D D Ds$   C CCC! !C+*C+