\Kc@sddkZddkiZddkTddklZddkZddkZddk Z ddk Z ddk l Z l Z ddkZddkZddklZddklZlZlZeid \ZZedZd efd YZd eefd YZd eefdYZdefdYZdefdYZ defdYZ!defdYZ"dZ#dZ$dZ%dZ&e'djo e(ndS(iN(t*(t assert_warns(tmkstemptNamedTemporaryFile(tdatetime(tConverterErrortConverterLockErrortConversionWarningicCstti||d S(sTThis function is available in the datetime module only from Python >= 2.5. i(Rttimetstrptime(tstfmt((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR st RoundtripTestcBsVeZdZdZdZeiiie i djddZ dZ RS(c Os)|idh}|idh}|idt}|oStidjo-tdjo tdjotdt}n t}|i}nti}|}|} ||| ||i |i dtidjo"t |ti o|i nt i||} | |_| |_d S( s 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. t save_kwdst load_kwdst file_on_disktwin32iitdeleteiN(tgettFalsetsystplatformtMAJVERtMINVERRtnametStringIOtflushtseekt isinstancetclosetnptloadtarrt arr_reloaded( tselft save_functargstkwargsR RRt target_filet load_fileR R!((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyt roundtrips&*     $ cCstiddgddggt}|i|tiddgddggt}|i|tid d gd d ggd ti}|i|tiddgddggd ti}|i|dS(Niiiiy@y@y@y @tdtypey?@y@@y@@y@ @y?@y@@y@@y@ @(RtarraytfloatR(tinttcsingletcdouble(R"ta((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyt test_arrayLs$ $ * *cCs/tiddddgt}|i|dS(Niiii(RR*R,R((R"R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_1DYsRs Fail on Win32cCsEtiddgddgg}|i|dtdhdd6dS( Nig@ig333333@RRtrt mmap_mode(RR*R(tTrue(R"R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyt test_mmap]s!cCs2tid d gdd d g}|i|dS( NiiiiR)txti4ty(ii(ii(R6R7(R8R7(RR*R((R"R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyt test_recordbs!( t__name__t __module__R(R0R1RttestingtdectknownfailureifRRR5R9(((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR s  / *t TestSaveLoadcBseZdZRS(cOs4ti|ti||t|id|idS(Ni(R R(Rtsavet assert_equalR R!(R"R$R%((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR(gs(R:R;R((((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR?fst TestSavezLoadcBs,eZdZdZdZdZRS(cOsUti|ti||x5t|iD]$\}}t||id|q)WdS(Nsarr_%d(R R(Rtsavezt enumerateR RAR!(R"R$R%tnR ((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR(ls cCs\tiddgddggt}tid d gd d ggt}|i||dS( Niiiiy@y@y@y(@y?@y@@y@y@(@(RR*R+tcomplexR((R"R/tb((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_multiple_arraysqs$$cCstiddgddggt}tid d gddggt}ti}ti|d |d ||id ti|}t||d t||d dS(Niiiiy@y@y@y(@tfile_atfile_biy?@y@@y@y@(@( RR*R+RFRRCRRRA(R"R/RGtctl((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_named_arraysvs$$  cCsd}g}g}tdD]"}|tid|d|fq ~}x|D]}|iqRWx|D]}|iqmW|ot|ndS(Nc Sstdd\}}ti|zUtiidd}yti|d|Wn"tj o}|i|nXWdti |XdS(Ntsuffixs.npziR ( RtosRRtrandomtrandnRCtOSErrortappendtremove(t error_listtfdttmpR terr((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pytwriters ittargetR$(txranget threadingtThreadtstarttjointAssertionError(R"RYterrorst_[1]tjtthreadstt((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_savez_filename_clashess 5(R:R;R(RHRMRf(((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyRBks   t TestSaveTxtcBs5eZdZdZdZdZdZRS(cCstiddgddggt}d}ti}ti||d||idt|i|d|d d |d|d dgtiddgddggt}ti}ti||dd |idt|id d gdS(Niiiis%.18eR it s s%ds1 2 s3 4 (ii(ii( RR*R+RtsavetxtRRAt readlinesR,(R"R/R RK((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR0s$   $  cCsvtiddddgt}ti}ti||dd|id|i}t|dd d d gdS( NiiiiR s%dis1 s2 s3 s4 (RR*R,RRiRRjRA(R"R/RKtlines((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR1s    cCsmtiddgdddg}ti}ti||d d |id t|id d gdS(NiiiiR)R6R7R8R s%dis1 2 s3 4 (ii(ii(R6si4(R8si4(RR*RRiRRARj(R"R/RK((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR9s !  cCsstiddgddgg}ti}ti||dddd|id t|id d gdS( Ng?g@g@g@t delimitert,R s%dis1,2 s3,4 (RR*RRiRRARj(R"R/RK((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_delimiters !  cCs tiddg}ti}ti||dddg|idt|id d gti}ti||dd |id|i}t|d d gti}ti||dd dd|id|i}t|d d gdS(NiiiiR s%02ds%3.1fis01 2.0 s03 4.0 s %02d : %3.1fs 01 : 2.0 s 03 : 4.0 RlRm(ii(ii(RR*RRiRRARj(R"R/RKRk((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyt test_formats        (R:R;R0R1R9RnRo(((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyRgs     t TestLoadTxtcBs}eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d ZRS( cCsti}|id|idti|ddtifdtifg}tiddgdddg}t||ti}|id |idhdd6dd6}tidd gd|}ti|d|}t||dS(!Ns1 2 3 4iR)R6R8iiiiR7sM 64.0 75.0 F 25.0 60.0tgendertagetweighttnamestS1tf4tformatstMgP@gR@tFg9@gN@(ii(ii(R6si4(R8si4(RqRrRs(Rusi4Rv(RxgP@gR@(Ryg9@gN@(RtwriteRRtloadtxttint32R*tassert_array_equal(R"RKR6R/tdt mydescriptorRGR8((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR9s    -!       cCsti}|id|idti|dt}tiddgddggt}t|||idti|dt}tiddgddggt}t||dS(Ns1 2 3 4iR)iiii( RRzRRR{R,R*R}R+(R"RKR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR0s   $  $cCsti}|id|idti|dt}tiddddgt}t||ti}|id|idti|dtd d }tiddddgt}t||dS( Ns1 2 3 4 iR)iiiis1,2,3,4 RlRm(RRzRRR{R,R*R}(R"RKR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR1s       c Csti}|id|idti|dtdddhdd6}tid d dd d gt}t||dS( Ns 1,2,3,,5 iR)RlRmt converterscSst|pdS(i(R,(R ((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pytsiiiii(RRzRRR{R,R*R}(R"RKR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyt test_missing s   !c Csti}|id|idti|dtdddhdd6d d}tid d gd dggt}t||dS(Ns1,2,3,,5 6,7,8,9,10 iR)RlRmRcSst|pdS(i(R,(R ((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyRsitusecolsiiiii (ii(RRzRRR{R,R*R}(R"RKR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_converters_with_usecolss    $cCsvti}|id|idti|dtdddd}tidd d d gt}t||dS( Ns# comment 1,2,3,5 iR)RlRmtcommentst#iiii(RRzRRR{R,R*R}(R"RKR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyt test_commentss    cCsti}|id|idti|dtdddd}tiddd d gt}t||ti}|id |idti|dtdddd}tiddd d gt}t||dS( Nscomment 1,2,3,5 iR)RlRmtskiprowsiiiis# comment 1,2,3,5 (RRzRRR{R,R*R}(R"RKR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyt test_skiprows&s         cCstiddgddggt}ti}ti|||idti|dtdd}t||dddftidddgdddggt}ti}ti|||idti|dtdd}t||ddddf|idti|dtdtiddg}t||ddddfd }ti|}d d g}d d g}ti|dddt||}t |d ddgt |d ddgdS(NiiiiiR)Ris<JOE 70.1 25.3 BOB 60.5 27.9 tstidttemptS4tf8tJOEtBOBgL9@gfffff;@(i(ii(ii( RR*R+RRiRR{R}tzipRA(R"R/RKR6tdataRttdtypesR ((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyt test_usecols7s,$  *  # *#  $cCsti}|id|idtidtfddtfdtfgfg}ti|d|dd }tid dfd dfg|}t ||dS(Ns1,2,3.0 4,5,6.0 iR6R8ReR R)RlRmiig@iig@(ig@(ig@( RRzRRR)R,R+R{R*R}(R"RKtdtR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_fancy_dtypeVs   3$cCstid}tiddtfdtfdtdfg}ti|d |}tid d d d ddgdddggfgd |}t||dS(Nsaaaa 1.0 8.0 1 2 3 4 5 6RRR6R8tblockiiR)taaaag?g @iiii(snamesS4(ii(RRR)R+R,R{R*R}(R"RKRR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_shaped_dtype_s3 cCs#ti}ttti|dS(N(Rt assert_raisestIOErrorRR{(R"RK((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_empty_filehs cCsti}|iddg|idti|dd dhdd6}t|dd g|idti|dddhd d6}t|d d gdS(Ns1 21 s3 42 iRiRcSs t|dS(i(R,(R ((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyRqsii*cSs t|dS(i(R,(R ((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyRvsi!iB(i(i(Rt writelinesRRR{R}(R"RKR((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_unused_converterls   c Csddkl}ddk}d}dtfdtifg}d}h|d6}titi|d d d |d |}tidtd ddfdtdddfgd |}t ||dS(s+Test using an explicit dtype with an objecti(tdateNs5 1; 2001-01-01 2; 2002-01-31 tidxtcodecSst|idS(s%Y-%m-%d(R tstrip(R ((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyRsiRlt;R)Riiii( RRRR,RtobjectR{RR*RA( R"RRRtndtypetfuncRttesttcontrol((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_dtype_with_objectys   ! 6 (R:R;R9R0R1RRRRRRRRRR(((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyRps       t TestfromregexcBs#eZdZdZdZRS(cCsti}|id|iddtifdg}ti|d|}tidddgd |}t||dS(Ns1.312 foo 1.534 bar 4.444 quxitnumtvaltS3s([0-9.]+)\s+(...)gˡE?tfoog%C?tbarg-@tquxR)(RR(gˡE?R(g%C?R(g-@R(RRzRRtfloat64t fromregexR*R}(R"RKRR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR9s    cCsti}|id|iddtifdg}ti|d|}tidddgd |}t||dS(Ns1312 foo 1534 bar 4444 quxiRRRs (\d+)\s+(...)i RiRi\RR)(svalsS3(i sfoo(isbar(i\squx(RRzRRR|RR*R}(R"RKRR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyt test_record_2s    cCs|ti}|id|iddtifg}ti|d|}tid d d gd|}t||dS( Ns1312 foo 1534 bar 4444 quxiRs (\d+)\s+...i ii\R)(i (i(i\(RRzRRRRR*R}(R"RKRR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyt test_record_3s   (R:R;R9RR(((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyRs t TestFromTxtcBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!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.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6RS(5cCstid}ti|ddtifdtifg}tiddgdddg}t||tid }hdd6dd6}tidd gd|}ti|d|}t||dS(!sTest w/ explicit dtypes1 2 3 4R)R6R8iiiiR7sM 64.0 75.0 F 25.0 60.0RqRrRsRtRuRvRwRxgP@gR@Ryg9@gN@N(ii(ii(R6si4(R8si4(sgendersagesweight(sS1si4sf4(RxgP@gR@(Ryg9@gN@(RRt ndfromtxtR|R*RA(R"RRRt descriptor((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR9s-!    cCstid}tiddgddggdt}ti|dt}t|||idtiddgddggdt}ti|dt}t||dS( s!Test outputing a standard ndarrays1 2 3 4iiiiR)iN( RRR*R,RR}RR+R{(R"RRR((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR0s'  'cCstiddddgt}tid}ti|dt}t||tid}ti|dtdd }t||d S( sTest squeezing to 1Diiiis1 2 3 4 R)s1,2,3,4 RlRmN(RR*R,RRR}(R"RRR((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR1s cCstiddddgt}tid}ti|dtddd d }t||tid }ti|dtddd d }t||d S( sTest the stripping of commentsiiiis# comment 1,2,3,5 R)RlRmRRs1,2,3,5# comment N(RR*R,RRRA(R"RRR((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyRs! !cCstiddddgt}tdtdd}tid}ti|d d|}t||tid }ti|d d|}t||d S( sTest row skippingiiiiR)RlRmscomment 1,2,3,5 t skip_headers# comment 1,2,3,5 RN(RR*R,tdictRRRAR{(R"RR%RR((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyRs c CsBg}tddD]}|d|q~}|id|ig}tdD]}|d|||fqR~d|dtitiddd}t|tiddgdS(sTest usecols with an integers 1 2 3 4 5 6Rig?g@N(RRRRAR*(R"R((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_usecols_with_integerscCstiddgddtfdtfg}d}td d }titi|d d|}t||titi|d d|}t||dS(sTest usecols with named columnsiiiiR)R/RKs 1 2 3 4 5 6Rtsa, b, cRiiN(ii(ii(ii(R/RK(RR*R+RRRRA(R"RRR%R((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_usecols_with_named_columns s-!  cCs#ti}ttti|dS(s3Test that an empty file raises the proper exceptionN(RRRRR(R"R((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyRs cCstid}tidtfddtfdtfgfg}ti|d|dd}tid dfd dfgd|}t||dS(s#Check that a nested dtype isn't MIAs1,2,3.0 4,5,6.0 R6R8ReR R)RlRmiig@iig@N(ig@(ig@( RRR)R,R+t mafromtxttmaR*RA(R"RRRR((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_fancy_dtype_alts 3'cCstid}tiddtfdtfdtdfg}ti|d |}tid d d d ddgdddggfgd |}t||dS(Nsaaaa 1.0 8.0 1 2 3 4 5 6RRR6R8RiiR)Rg?g @iiii(snamesS4(ii(RRR)R+R,RR*R}(R"RKRR6R/((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyR$s3 cCs;tid}tdddddt}ti|dd|}tiddgd ttfttfgdd ti fdti fg}t ||t |i |i |i dti||}tiddgd ttfttfgdd ti fdti fg}t ||t |i |i dS(Ns A,B 0,1 2,N/ARlRmtmissing_valuessN/ARtR)iiiiRRtB(ii(ii(ii(ii(RRR4RRRRR*RR,RARRR+(R"RR%RR((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyttest_withmissing.s!  ! c Csd}tdddddt}dtfdtfdtfg}titi|d d |}t i ddddgddddd gd|}t ||||dR:trun_module_suite(((s=/usr/lib64/python2.6/site-packages/numpy/lib/tests/test_io.pyts8       J0>%