ó
Ë½÷Xc           @   sÒ   d  Z  d d l Z d d l Z d d l m Z d d l m Z d d l Z d d l m	 Z	 m
 Z
 m Z d d l Z d d l m Z e j e j e ƒ d ƒ Z d „  Z d	 „  Z d
 „  Z e d k rÎ e ƒ  n  d S(   s$    Tests for fortran sequential files iÿÿÿÿN(   t   path(   t   iglob(   t   assert_equalt   assert_allcloset   run_module_suite(   t   FortranFilet   datac    	   
   C   s[  xTt  t j t d ƒ ƒ D]:}  t j d |  t j ƒ } | sP t d |  ƒ ‚ n  t | j	 d ƒ ƒ t | j	 d ƒ ƒ t | j	 d ƒ ƒ f } t
 |  d d ƒ } | j d	 | j	 d
 ƒ j d d ƒ ƒ j | ƒ } | j ƒ  d } xr t | d ƒ D]` } xW t | d
 ƒ D]E } x< t | d ƒ D]* } t | | | | | f ƒ | d
 7} qWqWqï Wq Wd  S(   Ns   fortran-*-*x*x*.dats%   fortran-([^-]+)-(\d+)x(\d+)x(\d+).dats#   Couldn't match %s filename to regexi   i   i   t   rs   <u4t   dtypei   t   st   <i    (   R   R    t   joint	   DATA_PATHt   ret   searcht   It   RuntimeErrort   intt   groupR   t   read_recordt   replacet   reshapet   closet   rangeR   (	   t   filenamet   mt   dimst   fR   t   countert   kt   jt   i(    (    s:   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_fortran.pyt   test_fortranfiles_read   s    <0
c          C   sš   t  j t d ƒ }  t |  d d ƒ  } | j d ƒ } Wd  QXt | d d d ƒ t | d d d	 ƒ t | d
 d d ƒ t | d d d d g ƒ d  S(   Ns   fortran-mixed.datR   s   <u4s   <i4,<f4,<i8,(2)<f8t   f0i    i   t   f1gffffff@t   f2i   t   f3gffffff@g333333@(   R    R   R   R   R   R   R   (   R   R   t   record(    (    s:   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_fortran.pyt   test_fortranfiles_mixed_record&   s    c       	   C   sè  xát  t j t d ƒ ƒ D]Ç}  t j d |  t j ƒ } | sP t d |  ƒ ‚ n  t | j	 d ƒ ƒ t | j	 d ƒ ƒ t | j	 d ƒ ƒ f } d } t
 j | d | j	 d	 ƒ j d
 d ƒ ƒ} xk t | d ƒ D]Y } xP t | d	 ƒ D]> } x5 t | d ƒ D]# } | | | | | f <| d	 7} qû Wqä WqÍ Wt j ƒ  } z™ t j | t j |  ƒ ƒ }	 t |	 d d ƒ }
 |
 j | ƒ |
 j ƒ  t |  d ƒ } t |	 d ƒ } t | j ƒ  | j ƒ  d |  ƒ| j ƒ  | j ƒ  Wd  t j | ƒ Xq Wd  S(   Ns   fortran-*-*x*x*.dats%   fortran-([^-]+)-(\d+)x(\d+)x(\d+).dats#   Couldn't match %s filename to regexi   i   i   i    R   i   R	   R
   t   ws   <u4t   rbt   err_msg(   R   R    R   R   R   R   R   R   R   R   t   npt   zerosR   R   t   tempfilet   mkdtempt   basenameR   t   write_recordR   t   openR   t   readt   shutilt   rmtree(   R   R   R   R   R   R   R   R   t   tmpdirt   testFileR   t   originalfilet   newfile(    (    s:   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_fortran.pyt   test_fortranfiles_write1   s2    <*

t   __main__(   t   __doc__R,   R2   t   osR    t   globR   R   t   numpy.testingR   R   R   t   numpyR*   t   scipy.ioR   R   t   dirnamet   __file__R   R    R&   R8   t   __name__(    (    (    s:   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_fortran.pyt   <module>   s   			