
    CEj<                     X   d Z ddlZddlZddlmZ ddlmZmZ ddlZddl	Z
ddlmZ ddlmZmZ d Zej"                  j%                  dg d	      d
        Zd Zej"                  j%                  dg d      d        Zd Zd Zd Zd Zd Zej"                  j%                  dd      d        Zej"                  j%                  dd      d        Zej"                  j%                  dddg      d        Zej"                  j%                  dg d      d        Zej"                  j%                  dd       d!        Zd" Z ej"                  j%                  d#e!e"f      d$        Z#ej"                  j%                  d# e
jH                  d%       e
jH                  d&      f      d'        Z%d( Z&d) Z'd* Z(d+ Z)d, Z*ej"                  j%                  d-g d.      ej"                  j%                  d/g d.      d0               Z+d1 Z,d2 Z-d3 Z.d4 Z/ej"                  j%                  d#d5      d6        Z0ej"                  j%                  d7d8 e
jH                  d9      fd: e
jH                  d;      fg      d<        Z1d= Z2d> Z3ej"                  j%                  d#e
jh                  d?         ej"                  jk                  d@      dA               Z6ej"                  j%                  d#e
jh                  d?         ej"                  jk                  d@      dB               Z7ej"                  j%                  d#e
jp                  e
jr                  f      ej"                  j%                  dCdD      dE               Z:dF Z;dG Z<dH Z=ej"                  j}                  e dIJ      dK        Z?dL Z@ej"                  j%                  dMde!gdNf      dO        ZAdP ZBej"                  j%                  dQdR      dS        ZCdT ZDej"                  j%                  dUdV      dW        ZEej"                  j%                  dUdV      dX        ZFdY ZGdZ ZHd[ ZId\ ZJd] ZKd^ ZLd_ ZMej"                  j%                  d`da      ej"                  j%                  dbdc      ej"                  j%                  ddddeg      df                      ZNej"                  j%                  ddg      dh        ZOej"                  j%                  d#digdjdkdldmdndodpdqdrdsdtdudv ePdw      fdxg      ej"                  j%                  dydzd{g      d|               ZQej"                  j%                  d#e
jh                  d?   d}z   d~z         d        ZRej"                  j%                  d#d      d        ZSej"                  j%                  d#d      ej"                  j%                  dg d      d               ZTej"                  j%                  d#e
jh                  d?   dz   d~z         d        ZUej"                  j%                  d#e
jh                  d?   dz   d~z         d        ZVej"                  j%                  d`ddgddgg      d        ZWej"                  j%                  d`ddgddgddgddgg      d        ZXej"                  j%                  dg d      d        ZYd ZZd Z[ G d d      Z\d Z]d Z^d Z_d Z`ej"                  j%                  dd       d        Zaej"                  j%                  dd      d        Zbej"                  j%                  dddg      ej"                  j%                  dd      d               Zcd Zdd Zed Zfej"                  jk                  d      d        Zgej"                  j%                  dd      d        Zhej"                  j%                  dd      d        Ziy)z
Tests specific to `np.loadtxt` added during the move of loadtxt to be backed
by C code.
These tests complement those found in `test_io.py`.
    N)StringIO)NamedTemporaryFilemkstemp)assert_equal)HAS_REFCOUNTassert_array_equalc                      t        d      } t        j                  g dg dg dg dg      }t        t        j                  | d      |       y)	z0Test that both 'e' and 'E' are parsed correctly.zE1.0e-1,2.0E1,3.0
4.0e-2,5.0E-1,6.0
7.0e-3,8.0E1,9.0
0.0e-4,1.0E-1,2.0)皙?g      4@      @)g{Gz?      ?   )gy&1|?g      T@	   )r   r
      ,	delimiterN)r   nparrayr   loadtxt)dataexpecteds     j/var/www/html/eeg-assistent/strom-signal/venv/lib/python3.12/site-packages/numpy/lib/tests/test_loadtxt.pytest_scientific_notationr      sD     D xx	./;GH rzz$#6A    comment)z..z//z@-zthis is a comment:c                     d}t        |j                  d|             }t        j                  |d|       }t	        |ddgddgd	d
gg       y )Nz,# IGNORE
1.5, 2.5# ABC
3.0,4.0# XXX
5.5,6.0
#r   r   comments      ?      @r         @      @      @)r   replacer   r   r   )r   contenttxtas       r   test_comment_multiple_charsr)   #   sK    @G
7??30
1C


3#8Ac3Z#sc3Z89r   c                      t        d      } t        j                  dt        j                  fdt        j                  fddt        j
                  fg      }t        j                  g d|      }| ||fS )z~
    Function providing heterogeneous input data with a structured dtype, along
    with the associated structured array.
    zo1000;2.4;alpha;-34
2000;3.1;beta;29
3500;9.9;gamma;120
4090;8.1;delta;0
5001;4.4;epsilon;-99
6543;7.8;omega;-1
f0f1f2S7f3)i  g333333@alphai)i  g@beta   )i  g#@gammax   )i  g333333 @deltar   )i  g@epsiloni)i  g333333@omegadtype)r   r   r<   uint16float64int8r   )r   r<   r   s      r   mixed_types_structuredr@   +   sr    
 "	D HH
			T2::.tRWWoNE xx	
 
H   r   skiprows)r      r      c                 p    t               \  }}}t        j                  ||d|       }t        ||| d         y )N;)r<   r   rA   r@   r   r   r   )rA   r   r<   r   r(   s        r   1test_structured_dtype_and_skiprows_no_empty_linesrG   K   s6    24D%


4uhGAq(89-.r   c                      t               \  } }}t        j                  | |dd      \  }}}}t        ||d          t        ||d          t        ||d          t        ||d          y )NrE   T)r<   r   unpackr+   r,   r.   r0   rF   )r   r<   r   r(   bcds          r   test_unpack_structuredrM   R   se    24D%DTJJAq!Qq(4.)q(4.)q(4.)q(4.)r   c                      t        j                  ddg      } t        d      }t        j                  ddg|       }t	        t        j
                  |d|       |       y )	N)r(   u1r   )rJ   rO   r   z0,1,2,3
6,7,8,9
r   rB   r   rC   ))r      )   r   r;   r   r   r<   r   r<   r   r   r   r   r<   r   r   s      r    test_structured_dtype_with_shaperX   \   sN    HHnn56E()Dxx)+;<EJHrzz$#UCXNr   c                      t        j                  dg      } t        d      }t        j                  dg|       }t	        t        j
                  ||       |       y )N)r(   rO   )r   r   z0 1 2 3
)rP   r;   rV   rW   s      r   &test_structured_dtype_with_multi_shaperZ   c   sG    HH)*+EK Dxx,-U;Hrzz$e4h?r   c                  &   t        j                  dt        fdt        fg      } t        j                  dt        fd| dfg      }t	        d      }t        j
                  ddd	gfd
ddgfg|      }t        t        j                  ||d      |       y )Nxycodepoints)r   z100,1,2,3,4
200,5,6,7,8
d   )      ?       @)r   r"      )      @r$   )g      @g       @r;   r   r<   r   )r   r<   floatintr   r   r   r   )pointdtr   r   s       r   test_nested_structured_subarrayrj   j   s    HHsElS%L12E	FC=8UD"9:	;B01Dxx8X&'8X&'	
 H rzz$bC@(Kr   c                      t        j                  dd      } t        d      }t        j                  ddg|       }t	        t        j
                  |d| 	      |       y )
Nzi1, i4, i1, i4, i1, i4Talignz1,2,3,4,5,6
7,8,9,10,11,12
)rB   r   rC         r   )rS   rT   r   
         r;   r   rU   rV   )ri   r   r   s      r   test_structured_dtype_offsetsrs   y   sL    	*$	7B34Dxx+-BC2NHrzz$#R@(Kr   param)rA   max_rowsc                     t        j                  t        d      5  t        j                  di | di ddd       y# 1 sw Y   yxY w)z;skiprows and max_rows should raise for negative parameters.zargument must be nonnegativematchNfoo.barpytestraises
ValueErrorr   r   rt   s    r   "test_exception_negative_row_limitsr      s;     
z)G	H -


,,- - -	   =Ac                     t        j                  t        d      5  t        j                  di | di d d d        y # 1 sw Y   y xY w)Nzargument must be an integerrw   ra   rz   r}   r~   	TypeErrorr   r   r   s    r   $test_exception_noninteger_row_limitsr      s9    	y(E	F .


--. . .r   zdata, shape)z
1 2 3 4 5
)rB   ro   )z
1
2
3
4
5
)ro   rB   c                    t        j                  g d      }|j                  |      }t        t        j                  t        |       t              |       t        t        j                  t        |       t        d      |       t        t        j                  t        |       t        d      |       t        t        j                  t        |       t        d      |       y )N)rB   r   rC   rn   ro   r;   r   )r<   ndminrB   r   )r   r   reshaper   r   r   rg   )r   shapearrarr2ds       r   test_ndmin_single_row_or_colr      s     ((?
#CKKErzz(4.<cBrzz(4.1EsKrzz(4.1EsKrzz(4.1EuMr   badval)r:   rC   Nzplate of shrimpc                     t        j                  t        d      5  t        j                  d|        d d d        y # 1 sw Y   y xY w)NzIllegal value of ndmin keywordrw   r{   )r   r|   )r   s    r   test_bad_ndminr      s4    	z)I	J ,


9F+, , ,r   ws) 	u        u   　c                     t        d|  d|  d|  d|  d|  d      }t        j                  g dg dg d	g d
g      }t        t        j                  |t
        d d      |       y )Nz1 2z30

z
4 5 60z
  z  
7 8 z 90
  # comment
3 2 1rB   r      rn   ro   <   rS   rT   Z   rC   r   rB   r   r<   r   r   r   r   r   r   r   rg   )r   r'   r   s      r   test_blank_lines_spaces_delimitr      st     
bTt D d 	C xxZYGHH


3cTC@(r   c                      t        d      } t        j                  g dg dg dg dg      }t        t        j                  | t
        dd      |       y )	Nz&1,2,30

4,5,60

7,8,90
# comment
3,2,1r   r   r   r   r   r   r   r   )r'   r   s     r   !test_blank_lines_normal_delimiterr      s@    
A
BCxxZYGHH


3cS3?r   r<   c                     t        d      }t        j                  || dd      }t        |j                  |        t        |t        j
                  ddgddgg| 	             y )
Nz1.5,2.5
3.0,4.0
5.5,6.0r   r   r<   r   ru   z1.5z2.5z3.0z4.0r;   )r   r   r   r   r<   r   r<   r'   ress      r   test_maxrows_no_blank_linesr      sQ    
.
/C
**Sq
ACE"bhh?uMNr   f8i2c                     t        d      }d|  d}t        j                  t        |      5  t	        j
                  || d       d d d        y # 1 sw Y   y xY w)Nz1,2
3,XXX
5,6z"could not convert string 'XXX' to z at row 1, column 2rw   r   re   r   r}   r~   r   r   r   )r<   r'   msgs      r   !test_exception_message_bad_valuesr      sO    
$
%C.ug5H
IC	z	- 4


3es34 4 4s   AAc                      t        d      } dd i}t        j                  ddgdt        j                  gddgg      }t        j                  | t        j
                  d	|
      }t        ||       y )Nz1.5,2.5
3.0,XXX
5.5,6.0r:   c                 B    | dk(  rt         j                  S t        |       S NXXXr   nanrf   ss    r   <lambda>z2test_converters_negative_indices.<locals>.<lambda>       AJ"&& E!H r   r    r!   r   r#   r$   r   r<   r   
converters)r   r   r   r   r   r>   r   r'   convr   r   s       r    test_converters_negative_indicesr      s_    
.
/C<=Dxx#sc266]S#J?@H
**S

cd
KChr   c                  Z   t        d      } dd i}t        j                  ddgdt        j                  gddgg      }t        j                  | t        j
                  d	|d
dg      }t        ||       t        j                  t        d      d	d
dgdd i      }t        |d
dgd
dgg       y )Nz$1.5,2.5,3.5
3.0,4.0,XXX
5.5,6.0,7.5
r:   c                 B    | dk(  rt         j                  S t        |       S r   r   r   s    r   r   z?test_converters_negative_indices_with_usecols.<locals>.<lambda>   r   r   r    g      @r   r#   g      @r   r   )r<   r   r   usecolsz0,1,2
0,1,2,3,4c                      y)Nr:    )r\   s    r   r   z?test_converters_negative_indices_with_usecols.<locals>.<lambda>   s    r   )r   r   r   )r   r   r   r   r   r>   r   r   r   s       r   -test_converters_negative_indices_with_usecolsr      s    
<
=C<=Dxx#sc266]S#J?@H
**jjBC h **X45W"|1EGCsaWq"g./r   c                      g d} t        j                  t        d      5  t        j                  | d       d d d        y # 1 sw Y   y xY w)N)1,2,3r   z4,3,2,1z2the number of columns changed from 3 to 4 at row 3rw   r   r   r|   )rowss    r   test_ragged_errorr      s<    (D	zF
H (


43'( ( (s   AA
c                  `   t        d      } t        j                  ddgddgddgg      }t        j                  | t        dddg      }t        ||       t        d      } t        j                  t        d      5  t        j                  | t        dddg       d d d        y # 1 sw Y   y xY w)	N$0,0,XXX
0,XXX,0,XXX
0,XXX,XXX,0,XXX
r   r   r<   r   r   z0,0,XXX
0
0,XXX,XXX,0,XXX
z/invalid column index -2 at row 2 with 1 columnsrw   )	r   r   r   r   rf   r   r}   r~   r   r'   r   r   s      r   test_ragged_usecolsr      s    
<
=Cxx!Q!Q!Q01H
**Sq"g
FCh
2
3C	zG
I E 	

3esQGDE E Es   ; B$$B-c                      t        d      } t        j                  | t        j                  g       dg       }|j                  dk(  sJ |j                  t        j                  g       k(  sJ y )Nr   r   r   )rC   )r   r   r   r<   r   r'   r   s     r   test_empty_usecolsr     sU    
<
=C
**SR
HC9999$$$r   c1)r(   u   のu   🫕c2c                 :   t        d|  d| d      }t        j                  |t        j                  d      d      }t        j                  d|  dj                  d      d| dj                  d      gt        j                  d      	      }t        ||       y )
Nza,z	,c,1.0
e,z,2.0,gU12r   re   z,c,1.0ze,r;   )r   r   r   r<   r   splitr   )r   r   r'   r   r   s        r   test_large_unicode_charactersr     s     Rt:bT0
1C
**S3
?CxxbT		s	#r"V_%:%:3%?@hhuoH hr   c                      t        d      } dd i}t        j                  | t        j                  d      |dd       }t        j                  ddgd	d
gddgg      }t        ||       y )Nu   cat,dog
αβγ,δεζ
abc,def
r   c                 "    | j                         S Nupperr   s    r   r   z-test_unicode_with_converter.<locals>.<lambda>  s     r   r   r   r<   r   r   encodingCATdogu   ΑΒΓu   δεζABCdef)r   r   r   r<   r   r   r'   r   r   r   s       r   test_unicode_with_converterr     sk    
6
7C"#D
**hhuoC xx%(H)=u~NOHhr   c                     t        d      } t        j                  dt        j                  fdt        j                  fdg      }d d d}t        j
                  | |d|	      }t        j                  g d
|      }t        ||       y )Nz$1.5,2.5,Abc
3.0,4.0,dEf
5.5,6.0,ghI
mr)r^   U8c                 0    t        dt        |       z        S )Nrp   )rg   rf   r   s    r   r   z6test_converter_with_structured_dtype.<locals>.<lambda>,  s    R%(]+ r   c                 "    | j                         S r   r   r   s    r   r   z6test_converter_with_structured_dtype.<locals>.<lambda>,  s    1779 r   )r   r:   r   r   ))   r!   r   )r   r"   DEF)7   r$   GHIr;   )r   r   r<   int32float32r   r   r   )r'   ri   r   r   r   s        r   $test_converter_with_structured_dtyper   )  sq    
<
=C	C?S"**$5~F	GB+1DED
**Scd
CCxx>bH hr   c                      t        d      } t        j                  }t        j                  | t        j
                  d      |dd      }t        j                  ddgdd	gg      }t        ||       y
)aD  
    With the 'bytes' encoding, tokens are encoded prior to being
    passed to the converter. This means that the output of the converter may
    be bytes instead of unicode as expected by `read_rows`.

    This test checks that outputs from the above scenario are properly decoded
    prior to parsing by `read_rows`.
    zabc,def
rst,xyzU3r   bytesr   r   r   RSTXYZN)r   r   r   r   r   r<   r   r   r   s       r   !test_converter_with_unicode_dtyper   4  sa     %
&C;;D
**rxx~$#C xx%%89Hhr   c                      ddz  } | d d dz   } t        | dz        }t        j                  |dt              }t	        |t        j
                  dd	gd
             y )Nz	1.5, 2.5,P  r:   
r   r   rU   r    r!   )r   r   )r   r   r   rf   r   tile)rowr'   r   s      r   test_read_huge_rowr   F  sT    

C
cr(T/C
37
C
**SCu
5CbggsCj*56r   edfgFDGc                     d}t        j                  |       } t        j                  |g|       d   }|| j                  d      k(  sJ y )Na  0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.123456789r;   r   z0.123456789)r   r<   r   type)r<   fieldvalues      r   test_huge_floatr   N  sD     &EHHUOEJJwe,R0EEJJ}----r   )given_dtypeexpected_dtypeSS5UU5c                     t        d      }t        j                  || d      }t        j                  ddgddgdd	gg|
      }t	        ||       t	        |j
                  |       y)z
    The given dtype is just 'S' or 'U' with no length. In these cases, the
    length of the resulting dtype is determined by the longest string found
    in the file.
    zAAA,5-1
BBBBB,0-3
C,4-9
r   re   AAAz5-1BBBBBz0-3Cz4-9r;   N)r   r   r   r   r   r<   )r  r  r'   r   r   s        r   test_string_no_length_givenr  W  sb     0
1C
**Ss
;Cxx
'5)C<8H hN+r   c                      g d} t        dj                  |             }t        j                  |      }t        j                  | D cg c]  }t        |       c}      }t        ||       yc c}w )z
    Some tests that the conversion to float64 works as accurately as the
    Python built-in `float` function. In a naive version of the float parser,
    these strings resulted in values that were off by an ULP or two.
    )z0.9999999999999999z9876543210.123456z5.43215432154321e+300z0.901z0.333r   N)r   joinr   r   r   rf   r   )stringsr'   r   r   r   s        r   test_float_conversionr  m  sW    G 499W%
&C
**S/Cxx73aq34Hh 4s   A-c                      t        d      } t        j                  | t        d      }|j                  t        k(  sJ t        |ddgddgg       t        |j                  t        j                        ddgddgg       y )Nz1, 0
10, -1r   re   TFrB   r   )r   r   r   boolr<   r   viewuint8r   s     r   	test_boolr    sk    
>
"C
**S
4C99sdE]T4L9:sxx)QFQF+;<r   
AllIntegerz0error:.*integer via a float.*:DeprecationWarningc                    t        j                  |       } t        j                  dg|       dk(  sJ | j                  dk(  r;t	        j
                  t              5  t        j                  dg|        d d d        nt        j                  dg|       dk(  sJ dD ]?  }t	        j
                  t              5  t        j                  | d	g|        d d d        A y # 1 sw Y   NxY w# 1 sw Y   XxY w)
Nz+2r;   r   uz-1
z-2
r   )z++z+-z--z-+z2
)r   r<   r   kindr}   r~   r   )r<   signs     r   test_integer_signsr    s     HHUOE::tfE*a///zzS]]:& 	.JJxu-	. 	. zz6(%0B666( 4]]:& 	4JJ4&~U3	4 	44	. 	.	4 	4s   C8C+C(+C4	c                     t        d      }t        j                  t              5  t	        j
                  || d       d d d        y # 1 sw Y   y xY w)Nz1.0, 2.1, 3.7
4, 5, 6r   re   r   )r<   r'   s     r   %test_implicit_cast_float_to_int_failsr    s@     +
,C	z	" 4


3es34 4 4s   AAwith_parens)FTc                     d}|s"|j                  dd      j                  dd      }t        j                  t        |      | d      }t        j                  g dg dg| 	      }t        ||       y )
Nz*(1.0-2.5j),3.75,(7+-5.0j)
(4),(-19e2j),(0)( )r   re   )y      ?      g      @y      @      )r"   y            r   r;   )r%   r   r   r   r   r   )r<   r  r   r   r   s        r   test_complex_parsingr"    sd     	6AIIc2&&sB/
**Xa[
=Cxx	#%56eH hr   c                      d } t        j                   |        t        d      }t        j                  g dg dg dg dg      }t	        ||       y )Nc               3   P   K   t        d      D ]  } |  dd| z   d| dz     y w)Nrn   r   r   rangeis    r   genz%test_read_from_generator.<locals>.gen  s8     q 	(ACqQqA''	(s   $&r   re   )r   r   r   )rB   r   rB   )r   rn   rn   )rC   r   r   )r   r   rg   r   r   r)  r   r   s      r   test_read_from_generatorr+    s>    ( **SU#
5CxxIy)DEHhr   c                      d } t        j                   |        dd      }t        j                  g dd      }t        ||       y )Nc               3   D   K   t        d      D ]  } |  d| dz     y w)NrC   r   rn   r%  r'  s    r   r)  z/test_read_from_generator_multitype.<locals>.gen  s-     q 	!ACqQ. 	!s    zi, dr   re   ))r   g        )rB   g      ?)r   r   r;   )r   r   r   r   r*  s      r   "test_read_from_generator_multityper.    s8    ! **SU&C
8Cxx7vFHhr   c                      d } t        j                  t        d      5  t        j                   |        dd       d d d        y # 1 sw Y   y xY w)Nc               3   (   K   g dE d {    y 7 w)N)z1,2s   3, 5i1  r   r   r   r   r)  z)test_read_from_bad_generator.<locals>.gen  s     ***s   &non-string returned while reading datarw   zi, ir   re   r   )r)  s    r   test_read_from_bad_generatorr2    sC    + 
F
H 7


35#67 7 7s   AAzPython lacks refcounts)reasonc                     t               dfd} t        ddz        }t        j                  t        d      5  t        j                  |t         d| i       d d d        t        j                        dk(  sJ y # 1 sw Y   $xY w)	Nr   c                 2    dkD  rt        d      dz  S )Ni  zfailed half-way through!rB   )r   )r\   already_readsentinels    r   r   z/test_object_cleanup_on_read_error.<locals>.conv  s&    $788r   zx
'  zat row 5000, column 1rw   r<   r   r   )	objectr   r}   r~   r   r   r   sysgetrefcount)r   r'   r6  r7  s     @@r   !test_object_cleanup_on_read_errorr=    su    xHL 55=
!C	z)@	A <


3f!T;< ??8$)))< <s   B  B	c                      t        d      } t        j                  t              5  t	        j
                  | d       ddd       y# 1 sw Y   yxY w)z9Test exception when a character cannot be encoded as 'S'.u   –r  r;   Nr   )r   s    r   #test_character_not_bytes_compatibler?    s:    E?D	z	" %


4t$% % %s   AAr   r   c                     d}t        j                  t        |      5  t        j                  t        d      |        d d d        y # 1 sw Y   y xY w)Nz\converters must be a dictionary mapping columns to converter functions or a single callable.rw   1 2
3 4r   r}   r~   r   r   r   r   )r   r   s     r   test_invalid_converterrD    sD    	*  
y	, :


8J'D9: : :s   !AAc                  ^   t        j                  t        d      5  t        j                  t        d      dt        i       d d d        t        j                  t        d      5  t        j                  t        d      dt        id       d d d        y # 1 sw Y   UxY w# 1 sw Y   y xY w)Nzkeys of the converters dictrw   rA  r(   rB  r   )r   r   )r}   r~   r   r   r   r   rg   r   r   r   +test_converters_dict_raises_non_integer_keyrF    s    	y(E	F @


8J'S#J?@	y(E	F K


8J'S#JJK K@ @K Ks   'B&(B#B #B,bad_col_ind)rC   ry   c                     t        d      }t        j                  t        d      5  t	        j
                  || t        i       d d d        y # 1 sw Y   y xY w)NrA  zconverter specified for columnrw   rB  )r   r}   r~   r   r   r   rg   )rG  r   s     r   'test_converters_dict_raises_non_col_keyrI    sC    JD	z)I	J 8


4[#$678 8 8s   AAc                      t        j                  t        d      5  t        j                  t        d      ddi       d d d        y # 1 sw Y   y xY w)Nz4values of the converters dictionary must be callablerw   rA  r   rB   rB  rC  r   r   r   ,test_converters_dict_raises_val_not_callablerK    s@    	yL
N <


8J'QF;< < <s   #AAq)"'`c                    t        |  d|  d|  d|  d|  d|  d      }t        j                  ddt        j                  fg      }t        j                  g d	|
      }t        j
                  ||d|       }t        ||       y )Nalpha, xz, 2.5
beta, yz, 4.5
gamma, zz, 5.0
r+   r   r,   )rQ  r!   )rR  g      @)rS  rd   r;   r   r<   r   	quotecharr   r   r<   r>   r   r   r   rL  r'   r<   r   r   s        r   test_quoted_fieldrZ    s    
#XaSs'!GA3hqcIC HHlT2::$678Exx@H **S
BCsH%r   c                    t        |  d|  d|  d|  d|  d|  d      }t        j                  ddt        j                  fg      }t        j                  g d	|
      }t        j
                  ||d |       }t        ||       y )NrQ  z	     2.5
rR  z 4.5
rS  z   5.0
rT  r,   rU  r;   rV  rX  rY  s        r   +test_quoted_field_with_whitespace_delimiterr\    s    
#XaS
1#WQCvaS8LC HHlT2::$678Exx@H **S
CCsH%r   c                     t        d      } t        j                  ddt        j                  fdt        j                  fg      }t	        j
                  t        d      5  t        j                  | |d       d	d	d	       | j                  d
       t        j                  dg|      }t        j                  | |dd      }t        ||       y	# 1 sw Y   XxY w)z1Support for quoted fields is disabled by default.z"lat,long", 45, 30
)r+   U24r,   r.   z.the dtype passed requires 3 columns but 4 wererw   r   re   Nr   )zlat,longg     F@g      >@r;   rM  rV  )r   r   r<   r>   r}   r~   r   r   seekr   r   )r'   r<   r   r   s       r   test_quote_support_defaultr`  !  s    
)
*CHHmdBJJ%7$

9KLME	zB
D 4


3es34
 HHQKxx/0>H
**S
DCsH%4 4s   CCc                      t        d      } d}t        j                  t        |      5  t	        j
                  | dd       d d d        y # 1 sw Y   y xY w)N1,2
3,4z,.*must be a single unicode character or Nonerw   r   z''r   rW  r   r}   r~   r   r   r   )r'   r   s     r   test_quotechar_multichar_errorre  2  sD    
:
C
9C	y	, 7


3#67 7 7s   AAc                     t        d      } d}t        j                  t        |      5  t	        j
                  | ddd       d d d        t        j                  t        |      5  t	        j
                  | ddd	gd       d d d        t	        j
                  | dd
d      }t        |ddgddgg       y # 1 sw Y   txY w# 1 sw Y   AxY w)Nrb  zWwhen multiple comments or a multi-character comment is given, quotes are not supported.rw   r   123rM  )r   r   rW  r   %)r   rN  rB   r   rC   rn   )r   r}   r~   r   r   r   r   )r'   r   r   s      r   'test_comment_multichar_error_with_quoteri  9  s    
:
C	$  
z	- F


3#EF	z	- K


3#c
cJK **SC&C
HC1v1v&'F FK Ks   B6&C6B?Cc                  (   t        d      } t        j                  dt        j                  fdt        j                  fddt        j
                  fg      }t        j                  g d|      }t        j                  | |dd	
      }t        ||       y )Nz{1000;2.4;'alpha';-34
2000;3.1;'beta';29
3500;9.9;'gamma';120
4090;8.1;'delta';0
5001;4.4;'epsilon';-99
6543;7.8;'omega';-1
r+   r,   r-   r0   r1   r;   rE   rN  rV  )	r   r   r<   r=   r>   r?   r   r   r   )r   r<   r   r   s       r   !test_structured_dtype_with_quotesrk  I  s    $	D HH
			T2::.tRWWoNE xx	
 
H **T#
ECsH%r   c                      t        d      } t        j                  g dd      }t        j                  | ddd      }t	        ||       y )Nz	1

"4"
""14r   U1r;   r   rM  r   r<   rW  r   r   r   r   r   r   s      r   test_quoted_field_is_not_emptyrs  f  s:    
>
"Cxxd3H
**SCts
CChr   c                      t        d      } t        j                  g dd      }t        j                  | ddd      }t	        ||       y )Nz1

"4"
"rm  rp  r;   r   rM  rq  rr  r   s      r   (test_quoted_field_is_not_empty_nonstrictru  l  s<     =
!Cxxd3H
**SCts
CChr   c                      t        d      } t        j                  dd      }t        j                  | ddd      }t	        ||       y )Nz"Hello, my name is ""Monty""!"zHello, my name is "Monty"!U40r;   r   rM  rV  rr  r   s      r   "test_consecutive_quotechar_escapedrx  t  s<    
3
4Cxx4EBH
**S
DChr   r   )r   z


z# 1 2 3
# 4 5 6
r   )r   rB   r   r   rB   r   rC   c                 $   |d}n
|dk(  rd}nd}t        |       }t        j                  t        d      5  t	        j
                  |||      }ddd       j                  |k(  sJ t        d	
      5 }|j                  |        |j                  d       t        j                  t        d      5  t	        j
                  |||      }ddd       |j                  |k(  sJ 	 ddd       y# 1 sw Y   xY w# 1 sw Y   0xY w# 1 sw Y   yxY w)zDCheck that a UserWarning is emitted when no data is read from input.N)r   rC   r   rQ   )r   input contained no datarw   )r   r   w)moder   )
r   r}   warnsUserWarningr   r   r   r   writer_  )r   r   r   expected_shaper'   r   fhs          r   test_warn_on_no_datar  {  s    
 	!
4.C	k)B	C <jjE7;<99&&&		% +


\\+-FG 	@**Sw?C	@yyN***+ +	< <	@ 	@+ +s/   C.4>D2C:D.C7:D	?DDrR   c                     d}t        |      }t        j                  t        d      5  t	        j
                  ||        d d d        y # 1 sw Y   y xY w)Nz1 2 3
4 5 6r{  rw   )rA   )r   r}   r~  r  r   r   )rA   r   r'   s      r   test_warn_on_skipped_datar    sB    D
4.C	k)B	C +


3*+ + +s   A

Ar   )r   rB   )u2rB   )i4 )u4r  )i8   
 )u8r  )float16g#{ ?)r   g. 7)	complex64y. 7`F$:)r>   g)
complex128ywfUD3":)
longdoubler  clongdoubleyp`P@0 B B)U2u   𐈃򠬌swapTFc                 (   t        j                  |       } d| dg}|r| j                         } t        j                  dd| fgd      }|j                  d   d   dk(  sJ t        j                  ||dd	      }|d   | j                  |      k(  sJ y )
Nzx,r   )r(   S1rJ   Frl   rB   r   r   )r   r<   newbyteorderfieldsr   r   )r<   r   r  r   full_dtr   s         r   test_byteswapping_and_unalignedr    s    $ HHUOErND""$hhc5\2%@G>>#q!Q&&&
**TC!Cs8uzz%((((r   efdFD?c                     t        d      }t        j                  || dd      }t        |t        j                  ddg      j                  |              y )Nu    3 ," 2
"r   rM  rV  rC   r   )r   r   r   r   r   astyper   s      r   !test_unicode_whitespace_strippingr    sE     $
%C
**S
DCsBHHaV,33E:;r   FDc                     d}||j                  dd      g}t        j                  || d      }t        |t        j                  g dgdz               y )Nz0 1 , 2+3j , ( 4+5j ), ( 6+-7j )  , 8j , ( 9j ) 
r   u    r   re   )rB   y       @      @y      @      @y      @      y               @y              "@r   )r%   r   r   r   r   )r<   liner   r   s       r   )test_unicode_whitespace_stripping_complexr    sL     ?D$,,sH-.D
**T#
6CsBHH&I%JQ%NOPr   r   )z1 +2jz1+ 2jz1+2 jz1+-+3z(1jz(1z(1+2jz1+2j)c                     t        j                  t              5  t        j                  |dz   g| d       d d d        y # 1 sw Y   y xY w)Nr   r   re   r|   )r<   r   s     r   test_bad_complexr    s;     
z	" ?


EDL>#>? ? ?s   A  A	efgdFDGc                     | j                         dk(  rt        j                  d       t        j                  t              5  t        j                  dg| dd       d d d        y # 1 sw Y   y xY w)Ngz0longdouble/clongdouble assignment may misbehave.1 r   rM  rV  )lowerr}   xfailr~   r   r   r   r;   s    r   test_nul_character_errorr    sX    
 {{}GH	z	" I


G9ESCHI I Is   A&&A/c                 X   | dk(  rt        j                  d       | dv rt        j                  d       t        d      t	        d      cxk(  rt        d      cxk(  rdk(  sJ  J t        j                  t              5  t        j                  dg|        d d d        y # 1 sw Y   y xY w)	Nez5half assignment currently uses Python float convertereGz2clongdouble assignment is buggy (uses `complex`?).1_1rq   z1_1
r;   )
r}   skipr  rg   rf   complexr~   r   r   r   r;   s    r   test_no_thousands_supportr    s     |KL}IJu:u==2=====	z	" +


G9E*+ + +s   >B  B)z1,2
z2
,3
z2,3
c                     d}t        j                  t        |      5  t        j                  | d       d d d        y # 1 sw Y   y xY w)Nz7Found an unquoted embedded newline within a single linerw   r   r   r|   )r   r   s     r   test_bad_newline_in_iteratorr    s;     DC	z	- (


43'( ( (s	   ?Az2,3
z'2
',3
z'2',3
z'2
',3
c                 X    t        j                  | dd      }t        |ddgddgg       y )Nr   rN  rc  ra   rb   r   )r   r   r   )r   r   s     r   test_good_newline_in_iteratorr    s-     **TSC
8Csb"XBx01r   newline)r   
c                     g d}|D cg c]  }|j                  d|        }}t        j                  |t        dd      }t	        |dd|  gdd	|  dgg       y c c}w )
N)z1,"2
"
z3,"4
z1"
r   r   rM  rV  rn  23ro  )r%   r   r   r:  r   )r  r   r   r   s       r   test_universal_newlines_quotedr  
  sg    
 +D2673CKKg&7D7
**T3#
FCscQwi=1C1WIQ3HIJ 8s   Ac                      t        j                  ddgd      } t        | g dg dg       t        j                  ddgd	t        
      } | j	                         g dg dgk(  sJ y )Nz1 2 3
z4 5 6 r   ry  )rn   ro   r   z1 ,2 ,3
z4 ,5 ,6r   rU   )r  z2 r  )z4 z5 6)r   r   r   r:  tolist)r   s    r   test_null_characterr    s^    
**o}5
HCsY	23 **'9"&2C::<35LMMMMr   c                       G d d      } t        j                  t        d      5  t        j                   |        t
        d       d d d        y # 1 sw Y   y xY w)Nc                       e Zd Zd Zd Zy):test_iterator_fails_getting_next_line.<locals>.BadSequencec                      y)Nr`   r   selfs    r   __len__zBtest_iterator_fails_getting_next_line.<locals>.BadSequence.__len__"  s    r   c                 6    |dk(  rt        d      | d|dz    S )N2   Bad things happened!z, rB   )RuntimeError)r  items     r   __getitem__zFtest_iterator_fails_getting_next_line.<locals>.BadSequence.__getitem__%  s*    rz"#9::V2dQhZ((r   N)__name__
__module____qualname__r  r  r   r   r   BadSequencer  !  s    		)r   r  r  rw   r   re   )r}   r~   r  r   r   rg   )r  s    r   %test_iterator_fails_getting_next_liner     sD    ) ) 
|+A	B <


;=s;< < <s   "AAc                   x    e Zd Zd Zd Zd Zd Zd Zd Ze	j                  j                  dg d      d	        Zy
)TestCReaderUnitTestsc                     t        j                  t        d      5  t        j                  j
                  j                  t               t        j                  d      d       d d d        y # 1 sw Y   y xY w)Nz.*readrw   r(  Tr<   filelike)	r}   r~   AttributeErrorr   _core_multiarray_umath_load_from_fileliker:  r<   r  s    r   test_not_an_filelikez)TestCReaderUnitTests.test_not_an_filelike1  sS    ]]>: 	>HH&&:: ; >	> 	> 	>   AA--A6c                      G d d      }t        j                  t        d      5  t        j                  j
                  j                   |       t        j                  d      d       d d d        y # 1 sw Y   y xY w)Nc                       e Zd ZdZd Zy)BTestCReaderUnitTests.test_filelike_read_fails.<locals>.BadFileLiker   c                 b    | xj                   dz  c_         | j                   dkD  rt        d      y)NrB      Bad bad bad!z1,2,3
)counterr  r  sizes     r   readzGTestCReaderUnitTests.test_filelike_read_fails.<locals>.BadFileLike.read=  s*    !<<"$&~66 r   Nr  r  r  r  r  r   r   r   BadFileLiker  :  s    G!r   r  r  rw   r(  Tr  )r}   r~   r  r   r  r  r  r<   r  r  s     r   test_filelike_read_failsz-TestCReaderUnitTests.test_filelike_read_fails6  sd    	! 	! ]]<~> 	CHH&&::RXXc]T ; C	C 	C 	C   AA44A=c                      G d d      }t        j                  t        d      5  t        j                  j
                  j                   |       t        j                  d      d       d d d        y # 1 sw Y   y xY w)Nc                       e Zd ZdZd Zy)@TestCReaderUnitTests.test_filelike_bad_read.<locals>.BadFileLiker   c                      y)Ni  r   r  s     r   r  zETestCReaderUnitTests.test_filelike_bad_read.<locals>.BadFileLike.readO  s    r   Nr  r   r   r   r  r  L  s    Gr   r  r1  rw   r(  Tr  )r}   r~   r   r   r  r  r  r<   r  s     r   test_filelike_bad_readz+TestCReaderUnitTests.test_filelike_bad_readG  sh    
	 	 ]]9BD 	CHH&&::RXXc]T ; C	C 	C 	Cr  c                     t        j                  t        d      5  t        j                  j
                  j                  t               t        j                  d      d       d d d        y # 1 sw Y   y xY w)Nz/error reading from object, expected an iterablerw   r(  Fr  	r}   r~   r   r   r  r  r  r:  r<   r  s    r   test_not_an_iterz%TestCReaderUnitTests.test_not_an_iterW  sW    ]]9KM 	?HH&&:: ; ?	? 	? 	?r  c                     t        j                  t        d      5  t        j                  j
                  j                  t               dd       d d d        y # 1 sw Y   y xY w)Nzinternal error: dtype mustrw   r(  Fr  )r}   r~   r   r   r  r  r  r:  r  s    r   test_bad_typez"TestCReaderUnitTests.test_bad_type]  sL    ]]9,HI 	5HH&&::e ; 5	5 	5 	5s   5AA#c                     t        j                  t        d      5  t        j                  j
                  j                  t               t        j                  d      dd       d d d        y # 1 sw Y   y xY w)Nzencoding must be a unicoderw   r(  F{   )r<   r  r   r  r  s    r   test_bad_encodingz&TestCReaderUnitTests.test_bad_encodingb  s[    ]]9,HI 	MHH&&:: ; M	M 	M 	Ms   A	A..A7r  )r  r   r  c                     t        dj                  d|      d      }t        j                  j                  j                  |t        j                  d      dddd	
      }t        |d d df   dd| ddg       y )Nz0
1
"2
"
3
4 #
r   r   )r  U10TrM  r   rB   )r<   r  quoter   	skiplinesr   rn  r  r  z4 )r   r%   r   r  r  r  r<   r   )r  r  r   r   s       r   test_manual_universal_newlinesz3TestCReaderUnitTests.test_manual_universal_newlinesg  s{     /77gF "$ hh((<<$sa = 1 	3q!t9sayM3&EFr   N)r  r  r  r  r  r  r  r  r  r}   markparametrizer   r   r   r   r  r  .  sK    >
C"C ?5
M
 [[Y(<=G >Gr   r  c                      t        j                  t        d      5  t        j                  t        d      dd       d d d        y # 1 sw Y   y xY w)N".*control characters.*incompatiblerw   1, 2, 3r   r   rC  r   r   r   'test_delimiter_comment_collision_raisesr  w  s?    	y(L	M E


8I&#DE E E   "AAc                      t        j                  t        d      5  t        j                  t        d      dd       d d d        y # 1 sw Y   y xY w)Nr  rw   r  r   rc  rC  r   r   r   )test_delimiter_quotechar_collision_raisesr	  |  s?    	y(L	M F


8I&#EF F Fr  c                      t        j                  t        d      5  t        j                  t        d      dd       d d d        y # 1 sw Y   y xY w)Nr  rw   1 2 3r   )r   rW  rC  r   r   r   'test_comment_quotechar_collision_raisesr    s?    	y(L	M C


8G$scBC C Cr  c                      t        j                  t        d      5  t        j                  t        d      dddg       d d d        y # 1 sw Y   y xY w)Nz0Comment characters.*cannot include the delimiterrw   r  r   r   r   rC  r   r   r   5test_delimiter_and_multiple_comments_collision_raisesr    sH    	K
 L 	

8I&#c
KL L Ls   $A		Ac                 x   t        j                  t        d      5  t        j                  t        d|  d|  d|  d|  d	      |        d d d        t        j                  t        d      5  t        j                  t        d|  d|  d|  d|  d	      | 	       d d d        y # 1 sw Y   [xY w# 1 sw Y   y xY w)
Nr  rw   rn  r  z3
45z6
r   rW  rC  )r   s    r   ,test_collision_with_default_delimiter_raisesr    s     
y(L	M I


8at1RDRD"S9:RHI	y(L	M J


8at1RDRD"S9:bIJ JI IJ Js   .B$-.B0$B-0B9nl)r   r  c                    t        d|  d|  d|  |  d|  d|  d|  |        }d}t        j                  t        |      5  t	        j
                  || 	       d d d        t        j                  t        |      5  t	        j
                  || 
       d d d        t        j                  t        |      5  t	        j
                  ||        d d d        y # 1 sw Y   xY w# 1 sw Y   QxY w# 1 sw Y   y xY w)Nrn  r  r  ro  r  r  z&control character.*cannot be a newlinerw   r   r  r  rd  )r  r'   r   s      r   %test_control_character_newline_raisesr    s    
Qrd!B4qRD"Qrd!B4t<
=C
2C	y	, &


3"%&	y	, %


3$%	y	, &


3"%& &	& &% %& &s#   C:C"5C.C"C+.C7)generic_data
long_datumunitless_dtyper  )z2012-03z
2013-01-15M8zM8[D])
spam-a-lottis_but_a_scratchr  U17nrows)rp   r   `  c           	         | g|z  |gz   }t        j                  ||      }t        |      |dz   k(  sJ t        |      t        |      k(  sJ t        dj	                  |            }t        j
                  ||      }t        |      t        |      k(  sJ |j                  |j                  k(  sJ t        ||       t               \  }	}
t        j                  |	       t        |
d      5 }|j                  dj	                  |      dz          ddd       t        j
                  |
|      }t        |      t        |      k(  sJ |j                  |j                  k(  sJ t        ||       t        j
                  |
|t        |dz              }t        j                  |
       t        |      t        |dz        k(  sJ t        ||dt        |dz                y# 1 sw Y   xY w)zCheck that the correct unit (e.g. month, day, second) is discovered from
    the data when a user specifies a unitless datetime.r;   rB   r   r|  Nr   )r<   ru   )r   r   lenr   r  r   r<   r   r   oscloseopenr  rg   remove)r  r  r  r  r  r   r   r'   r(   fdfnamer  s               r   test_parametric_unit_discoveryr(    s    >E!ZL0DxxN3Ht9	!!!t9H%%% 499T?
#C


3n-Aq6S]"""77hnn$$$H 	IBHHRL	eS	 )R
44'() 	

5/Aq6S]"""77hnn$$$H


5UQYHAIIeq6S^###H_c%!)n-.) )s   -$G!!G*c                  |   dgdz  dgz   } t        j                  dgdz  dgz   d      }d }t        dj                  |             }t        j                  |d	|
      }|j
                  |j
                  k(  sJ t        ||       t               \  }}t        j                  |       t        |d      5 }|j                  dj                  |              d d d        t        j                  |d	|
      }t        j                  |       |j
                  |j
                  k(  sJ t        ||       y # 1 sw Y   ^xY w)Nr  r  XXXtis_but_a_scratchr  r  r;   c                 $    | j                  d      S r   )removeprefixr   s    r   r   z>test_str_dtype_unit_discovery_with_converter.<locals>.<lambda>  s    Q^^E* r   r   r  r9  r|  )r   r   r   r  r   r<   r   r   r"  r#  r$  r  r%  )r   r   r   r'   r(   r&  r'  r  s           r   ,test_str_dtype_unit_discovery_with_converterr-    s   >E!%;$<<Dxx	"5!66eH +D 499T?
#C


3cd3A77hnn$$$H 	IBHHRL	eS	 "R
4!"


55AIIe77hnn$$$H" "s   4!D22D;c                     t        j                  t        d      5  t        j                  t        d      d       d d d        t        j                  t        d      5  t        j                  t        d      d       d d d        t        j                  t        d      5  t        j                  t        d      d       d d d        t        j                  t        d      5  t        j                  t        d      d	dg       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   hxY w# 1 sw Y   y xY w)
Nz#Text reading control character mustrw   r  r   r   r  z"comments cannot be an empty stringr  r   )r}   r~   r   r   r   r   r   r   r   r   test_control_character_emptyr/    s    	y(M	N 4


8G$34	y(M	N 4


8G$34	z)M	N 3


8G$r23	z)M	N :


8G$Ry9: :4 44 43 3: :s/   !D !D $!D,(#D8D D),D58Ec                  b    t        j                  t        d      dd      } t        | g d       y)z<Byte control characters (comments, delimiter) are supported.z#header
1,2,3   #   ,)r   r   ry  N)r   r   r   r   )r(   s    r    test_control_characters_as_bytesr3    s$    


8,-MAIr   zignore::UserWarningc                      t        j                  dgdt              } t        |       dk(  sJ t	        dd      D ]6  }t        j                  d|z  gdt        d      } t        |       |dz   k(  r6J  y )	Nr   r   rU   r   rB   i   rp   )r   r<   ru   )r   r   r   r!  r&  )r   r(  s     r   test_field_growing_casesr5    sm     **bTS
6Cs8q==1d^ !jj#'cL3x1q5   !r   nmax)r8  r   i  r  c                    d}dg|z  }t        dj                  |            }t        j                  |t        d|       }t        |      | k(  sJ t               \  }}t        j                  |       t        |d      5 }|j                  dj                  |             d d d        t        j                  |t        d|       }t        j                  |       t        |      | k(  sJ y # 1 sw Y   LxY w)Nr  za 0.5 1r   r   r   r|  )r   r  r   r   strr!  r   r"  r#  r$  r  r%  )r6  file_lengthr   r'   r   r&  r'  r  s           r    test_maxrows_exceeding_chunksizer:  	  s     K ;$D
499T?
#C
**SsT
BCs8t 	IBHHRL	eS	 "R
4!"
**U#t
DCIIes8t	" "s   >!C**C3nskip)r   r8  i90  r   i3	 i c                     d}dj                  d t        d|dz         D              }t        d||z
        }t        j                  |dz   |dz   |z         j                  t              }t        |      }t        j                  |dd|d      }t        |      |k(  sJ t        ||d d d	f          | d
z  }|j                  |       t        |      }	t        j                  |	dd|d      }t        |      |k(  sJ t        ||d d d	f          y )Ni r   c              3   &   K   | ]	  }| d   yw)z a 0.5 1Nr   ).0r(  s     r   	<genexpr>zEtest_skiprow_exceeding_maxrows_exceeding_chunksize.<locals>.<genexpr>#  s     Gs(^Gs   rB   r  r8  r   )r<   r   rA   ru   r   ztest_data.txt)r  r&  minr   aranger  r8  r   r   r!  r   r  )
tmpdirr;  r9  r   expected_lengthr   r'   r   tmp_filer'  s
             r   2test_skiprow_exceeding_maxrows_exceeding_chunksizerE    s    K99GU1kAo-FGGD%u!45OyyEAI$?@GGLH 4.C
**Suu
UCs8&&&xQT+ 'HNN4ME
**U%3QV
WCs8&&&xQT+r   )j__doc__r"  r;  ior   tempfiler   r   r}   numpyr   numpy.ma.testutilsr   numpy.testingr   r   r   r  r  r)   r@   rG   rM   rX   rZ   rj   rs   r   r   r   r   r   r   rf   r:  r   r<   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  	typecodesfilterwarningsr  r  r  r  r"  r+  r.  r2  skipifr=  r?  rD  rF  rI  rK  rZ  r\  r`  re  ri  rk  rs  ru  rx  r  r  reprr  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r(  r-  r/  r3  r5  r:  rE  r   r   r   <module>rP     s   
 
  0   + :B  $LM: N:!@ \2/ 3/*O@LL ":;- <- ":;. <.
 #NN #CD, E,
 		  5&/2O 3O 8288D>8288D>"BC4 D4 0&(E% 3434  5 5    $7 ),. -. %	hbhhtn	hbhhtn,, &= ",,|"<=NO4 P >4 ",,|"<=NO4 P >4
 2<<"?@6	  7 A	   7 $-EF* G*&% !eWb!12: 3:K 08 18< o.
& /
& o.
& /
&&"7( &:    !EF),T9$56+ 7 - G+* V,+ -+ '7+."$>!K+F 	)	GHI&.( ) $/) 0) ) 
\"W,s24<4< $'Q (Q $'KM?M (?
 LL&2S8:I:I 
\"Y.46+6+ ii" (( ikkm	" 22 $89K :KN<FG FGRE
F
C
L 	J	J |,& -& F07 "45 / 6 /F0: 12! 3! !=> ?( "IJ, K,r   