B <ÓFd÷…ã@sîddlmZmZmZddlZddlZddlZddlZddlZddl m Z ddl Z ddl mZmZmZmZmZmZmZddlmZdadd„Zdd „Ze je je je je je je j e j!e j"e j#e j$e j%e&g Z'gZ(xŒe'D]„Z)x~d D]vZ*e  +e)¡ ,e*¡Z+e  -d ¡ .e+¡Z/e( 0e j1ge+d e j1d e+d e/e/ 2d¡e/ 2d¡j3e/ 2d¡ddd…ddd…fg¡qÞWqÔWdddgZ4ddgddgddggdfddgddgddggdfgZ5dddddd d!d"d#gfd d$gfd%d&d'd(gfddgZ6ddgd)dd*d)d+gddgd,dgfd-d.fd/d0ddgddggdfddgd1dd2d1d3gddgdd,gfd4d5fd6d7ddgddggdfgZ7e j1e5e  +e4¡ ,d8¡d e j1e7e  +e6¡ ,d8¡d e j1e5e  +e4¡ ,d9¡d e j1e7e  +e6¡ ,d9¡d gZ8Gd:d;„d;e ƒZ9dd?„Z;d@dA„ZdFdG„Z?dHdI„Z@dJdK„ZAejBdLdM„ƒZCdNdO„ZDdPdQ„ZEdRdS„ZFdTdU„ZGdVdW„ZHejBdXdY„ƒZIdZd[„ZJd\d]d^d_d`dagZKdbdcdddedfdgdhgZLdidj„ZMdkdl„ZNdmdn„ZOdodp„ZPdqdr„ZQdsdt„ZRdudv„ZSdwdx„ZTdydz„ZUejBe Ve  +e jW¡jXdkd{¡d|d}„ƒƒZYeZd~krêeƒdS)é)ÚdivisionÚabsolute_importÚprint_functionN)ÚBytesIO)Úrun_module_suiteÚassert_Úassert_array_equalÚ assert_raisesÚraisesÚdecÚSkipTest)ÚformatcCs t ¡adS)N)ÚtempfileZmkdtempÚtempdir©rrúN/opt/alt/python37/lib64/python3.7/site-packages/numpy/lib/tests/test_format.pyÚ setup_module+srcCs&tdk r"tj t¡r"t t¡dadS)N)rÚosÚpathÚisdirÚshutilZrmtreerrrrÚteardown_module0s rz<>iÜ)Údtypeé )éé2éÿÿÿÿé)ÚxZi4)r)ÚyÚf8)rr)ÚzZu1ég@g@éég@g@é ZInfo)ÚvalueÚc16)Zy2r ZInfo2)ÚnameÚS2)r&r')r)Zy3r )r)Zz3Zu4)r)Zz2Zb1)Zcolorr)Úinfo)ÚNameZU8)ZValuer'y@Znny@éÚNNTZcc)r-y@y@Zooy@ÚOOFZdd)r.y@ú<ú>cseZdZd‡fdd„ Z‡ZS)ÚBytesIOSRandomSizeNcs$ddl}| d|¡}tt|ƒ |¡S)Nrr,)ÚrandomZrandintÚsuperr1Úread)ÚselfÚsizer2)Ú __class__rrr4£s zBytesIOSRandomSize.read)N)Ú__name__Ú __module__Ú __qualname__r4Ú __classcell__rr)r7rr1¢sr1cCs,tƒ}t ||¡t| ¡ƒ}t |¡}|S)N)rr Ú write_arrayÚgetvalueÚ read_array)ÚarrÚfÚf2Úarr2rrrÚ roundtrip©s    rCcCs,tƒ}t ||¡t| ¡ƒ}t |¡}|S)N)rr r<r1r=r>)r?r@rArBrrrÚroundtrip_randsize±s    rDcCs4tƒ}t ||¡t| ¡dd…ƒ}t |¡}|S)Nrr)rr r<r=r>)r?r@rArBrrrÚroundtrip_truncated¹s   rEcCst||kƒdS)N)r)Zo1Zo2rrrÚ assert_equal_ÂsrFccs*x$ttD]}t|ƒ}t||fVq WdS)N)Ú basic_arraysÚ record_arraysrCr)r?rBrrrÚtest_roundtripÆsrIccs4x.ttD]"}|jtkr t|ƒ}t||fVq WdS)N)rGrHrÚobjectrDr)r?rBrrrÚtest_roundtrip_randsizeÌs rKccs*x$tD]}|jtkrttt|fVqWdS)N)rGrrJr Ú ValueErrorrE)r?rrrÚtest_roundtrip_truncatedÓs  rMcCs4tjdt ttjdf¡d}t|ƒ}t||ƒdS)Nr,)r)ÚnpÚonesrÚstrr Z BUFFER_SIZErCr)Z long_str_arrZ long_str_arr2rrrÚ test_long_strÙsrQc csútjdksötjdksöxàttD]Ô}|jjr,qtj t d¡}tj t d¡}t |dƒ}zt   ||¡Wd|  ¡X|jjo~|jj }t j|d|j|j|d}||d<~t |d ƒ}| ¡}|  ¡t |d ƒ}| ¡}|  ¡t||fVt j|d d }~qWdS) NÚwin32Úcygwinz normal.npyz memmap.npyÚwbzw+)ÚmoderÚshapeÚ fortran_order.ÚrbÚr)rU)ÚsysÚplatformrGrHrZ hasobjectrrÚjoinrÚopenr r<ÚcloseÚflagsÚ f_contiguousÚ c_contiguousÚ open_memmaprVr4rF)r?ZnfnZmfnÚfprWÚmaZ normal_bytesZ memmap_bytesrrrÚtest_memmap_roundtripàs0       recCsFtj dd¡}tj td¡}tj||dt |¡d}t ||ƒdS)NéÈzcompressed.npz)r?r?) rNr2Zrandrrr\rZsavez_compressedÚloadr)r?Znpz_fileZarr1rrrÚtest_compressed_roundtrips rhcCsNtjddkrd}nd}tj tj t¡d|¡}t |¡}t |t  d¡ƒdS)Nrr"zwin64python2.npyz python3.npyÚdatar) rZÚ version_inforrr\ÚdirnameÚ__file__rNrgrrO)ÚfnamerrirrrÚ%test_python2_python3_interoperabilitys  rnc CsÐtj tj t¡d¡}tjddkr*t}nddl}|j }t j d|ddgt d}xzdD]p}tj ||¡}xÎdD]Æ}t j ||d }| d ¡rž|d }| ¡n|}tjddkr,|d kr| d ¡rtt|dtƒƒt|dd…|dd…ƒt|d |¡|dƒntt|dtƒƒt||ƒqpt||ƒqpWtjddkrV| d ¡rV| d ¡r¦t   |¡}tt|jd ƒ| ¡t j |dd d}tt|jd ƒ| ¡qVttt j |ƒttt j |d ddqVWdS)Nrirr"u優良sä¸è‰¯)r)zpy2-objarr.npyzpy2-objarr.npzzpy3-objarr.npyzpy3-objarr.npz)ÚbytesÚlatin1)Úencodingz.npzrrpZpy2rF)Ú fix_importsrq)rqrr)rrr\rkrlrZrjÚrangeÚ __builtin__ÚxrangerNÚarrayrJrgÚendswithr^Ú startswithrÚ isinstancerPrÚencoderor Ú UnicodeErrorÚ __getitem__Ú ImportError) Údata_dirrurtZexpectedrmrrqZdata_frirrrÚtest_pickle_python2_python3sH          rcCs–tj tj t¡d¡}tj |d¡}tttj|dddtj |d¡}tj|ddd}tt|j dƒtj t d¡}tttj |tj dgt d dd dS) Nrizpy2-objarr.npyFrp)Ú allow_picklerqzpy2-objarr.npzrzpickle-disabled.npy)r)r€)rrr\rkrlr rLrNrgr|rÚsavervrJ)r~rr@rrrÚtest_pickle_disallowNs  r‚c Cs®tƒ}dd„tdƒDƒ}tjd|d}tj||ddtjdd 2}t d d t ¡t ||¡t |d j t kƒWdQRX|  d ¡t  |¡}t||ƒtttj||d ƒdS)NcSsg|]}d|dtf‘qS)z%déd)Úfloat)Ú.0Úirrrú asz$test_version_2_0..iôiè)r)rr)ÚversionT)ÚrecordÚalwaysÚr)r,r)rrsrNrOr r<ÚwarningsÚcatch_warningsÚfilterwarningsÚ UserWarningrÚcategoryÚseekr>rr rL)r@ÚdtÚdÚwÚnrrrÚtest_version_2_0^s    r–c Csädd„tdƒDƒ}tjd|d}tjddtd}tttj |d |j |j d d tj |d |j |j d d }||d <~t j ddH}t  ddt¡tj |d |j |j dd }t|djtkƒ||d <~WdQRXtj |dd}t||ƒdS)NcSsg|]}d|dtf‘qS)z%drƒ)r„)r…r†rrrr‡usz+test_version_2_0_memmap..iôiè)rr‹Zmmap)Údirzw+)r,r)rUrrVrˆ)rr.T)r‰rŠrrY)rU)rsrNrOrZmktemprr rLr rbrrVrŒrrŽrrrr)r’r“Ztfrdr”rrrÚtest_version_2_0_memmaprs$      r˜c Cs¼tƒ}t d¡}tj||ddt ||¡tj||ddt ||¡tj||ddt ||¡ddddd g}xD|D]<}ytj|||dWntk r¤YqxXtd |fƒ‚qxWdS) Nr,)r,r)rˆ)rr)r,r,)rr)rr,)rr)éÿr™z9we should have raised a ValueError for the bad version %r)rrNÚaranger r<rLÚAssertionError)r@r?Z bad_versionsrˆrrrÚtest_write_versionŽs&     rœs“NUMPYs“NUMPYs“NUMPYs“NUMPYs“NUMPYs“NUMPYÿÿs’NUMPYsNUMPYs“numpys“MATLBs“NUMPYs“NUMPYócCs¢tƒ}tƒ}tjdtd}tj||ddtj||dd| d¡| d¡t |¡}t |¡}t|dkƒt|dkƒt|  ¡tj kƒt|  ¡tj kƒdS)N)r"é)r)r,r)rˆ)rrr) rrNrOr„r r<r‘Ú read_magicrÚtellÚ MAGIC_LEN)Ús1Ús2r?Zversion1Zversion2rrrÚtest_read_magic¾s      r¤ccs.x(tD] }t|ƒ}ttƒtjƒ|fVqWdS)N)Úmalformed_magicrr rLr rŸ)Úmagicr@rrrÚtest_read_magic_bad_magicÓs r§ccs2x,ttD] }t|ƒ}ttƒtjƒ|fVq WdS)N)Úbad_version_magicr¥rr rLr r>)r¦r@rrrÚtest_read_version_1_0_bad_magicÙsr©cCsDtttjddƒtttjddƒtttjddƒtttjddƒdS)Nrr,é)r rLr r¦rrrrÚtest_bad_magic_argsßsr«cCsFtƒ}dddœ}t ||¡tƒ}dddddœ}tttj||ƒdS)Nr,r)ÚaÚbAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrª)r¬r­Úc)rr Úwrite_array_header_1_0r rL)Úsr“rrrÚtest_large_headeræs   r±cCs\tƒ}tjdtd}tj||dd| tj¡t |¡\}}}t |||fddtfkƒdS)N)r"rž)r)r,r)rˆF) rrNrOr„r r<r‘r¡Úread_array_header_1_0r)r°r?rVÚfortranrrrrÚtest_read_array_header_1_0ðs  r´cCs\tƒ}tjdtd}tj||dd| tj¡t |¡\}}}t |||fddtfkƒdS)N)r"rž)r)rr)rˆF) rrNrOr„r r<r‘r¡Zread_array_header_2_0r)r°r?rVr³rrrrÚtest_read_array_header_2_0üs  rµcCsœtƒ}tttj|ƒtdƒ}tttj|ƒtdƒ}tttj|ƒdddœ}tƒ}t ||¡tttj|ƒdddddœ}tƒ}t ||¡tttj|ƒdS) Nó1s)r,rr)rVÚdescrFr)rVrWr·Zextrakey)rr rLr r²r¯)r°r“rrrÚtest_bad_headers$  r¸c CsÌtjdkstjdkrtdƒ‚tj td¡}yddl}| ddd|g¡Wntd ƒ‚YnXt |d ƒ&}|  d ¡t   d ¡}t   ||¡WdQRXt |d ƒ}|  d ¡t  |¡}WdQRXt||ƒdS)NrRrSz)Unknown if Windows has sparse filesystemsZ sparse_filerÚtruncatez-sZ 5368709120zCould not create 5GB large filerTlérX)rZr[r rrr\rÚ subprocessZ check_callr]r‘rNršrrgr)Ztf_nameZspr@r“rYrrrÚtest_large_file_support#s      r¼ztest requires 64-bit systemc Csœytjdtjd}Wntk r0tdƒ‚YnXtj td¡}t |dƒ}tj ||dWdQRXt |dƒ}t  |¡d}WdQRXt |j |j kƒdS) N)i@r)rzCould not create large fileZ large_archiverT)r?rXr?)rNÚemptyÚuint8Ú MemoryErrorr rrr\rr]ZsavezrgrrV)r¬rmr@Znew_arrrÚtest_large_archive<s  rÀÚ__main__)[Z __future__rrrrZrrrrŒÚiorZnumpyrNZ numpy.testingrrrr r r r Z numpy.libr rrrr¾Zint8Zuint16Zint16Zuint32Zint32Zuint64Zint64Zfloat32Zfloat64Z complex64Z complex128rJZscalarsrGZscalarZendianrZ newbyteorderršZastypeZbasicÚextendrvZreshapeÚTZPdescrZPbufferTZNdescrZNbufferTrHr1rCrDrErFrIrKrMrQZslowrerhrnrr‚r–r˜rœr¨r¥r¤r§r©r«r±r´rµr¸r¼ZskipifZintpÚitemsizerÀr8rrrrÚsà $       * && & 6   $