ó
Ë½÷Xc           @` s•  d  d l  m Z m Z m Z d  d l m Z d  d l Z e j e j e	 ƒ d ƒ Z
 d  d l Z d  d l m Z m Z m Z m Z d  d l m Z d „  Z d „  Z d	 „  Z e j e ƒ Z d
 d d „  ƒ  YZ d d  d „  ƒ  YZ d e f d „  ƒ  YZ d d! d „  ƒ  YZ d d" d „  ƒ  YZ d d# d „  ƒ  YZ d d$ d „  ƒ  YZ  d d% d „  ƒ  YZ! d d& d „  ƒ  YZ" d „  Z# d „  Z$ e% d k r‘e ƒ  n  d S('   i    (   t   divisiont   print_functiont   absolute_import(   t   pathNt   data(   t   assert_equalt   assert_array_equalt   run_module_suitet   assert_(   t   readsavc          G` sJ   t  j t |  ƒ d t ƒ} x( t t |  ƒ ƒ D] } |  | | | <q. W| S(   s#   Constructs a numpy array of objectst   dtype(   t   npt   emptyt   lent   objectt   range(   t   argst   arrayt   i(    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   object_array   s    c         C` sj   t  |  | ƒ t | ƒ t k r; t  t |  ƒ t | ƒ ƒ n+ t  t j |  ƒ j j t j | ƒ j j ƒ d S(   s*   Assert whether value AND type are the sameN(   R   t   typet   strR   t   asarrayR
   (   t   at   b(    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   assert_identical   s    c         C` s*   t  |  | ƒ t |  j j | j j ƒ d S(   s+   Assert whether values AND type are the sameN(   R   R   R
   R   (   R   R   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   assert_array_identical    s    t	   TestIdictc           B` s   e  Z d  „  Z RS(   c         C` s¡   i t  j d ƒ d 6} t | ƒ } t t j t d ƒ d | d t ƒ} t | t | ƒ ƒ t	 d | k ƒ t
 | d t  j d ƒ ƒ t
 | d t  j d ƒ ƒ d  S(   Niç  R   s   scalar_byte.savt   idictt   verboset   i8uiê   (   R   t   int16t   idR	   R   t   joint	   DATA_PATHt   FalseR   R   R   t   uint8(   t   selft   custom_dictt   original_idt   s(    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt
   test_idict,   s    $(   t   __name__t
   __module__R)   (    (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyR   *   s   t   TestScalarsc           B` s   e  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 RS(   c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_byte.savR   iê   (	   R	   R   R!   R"   R#   R   R   R   R$   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt	   test_byte9   s    c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_int16.savR   i`¤ÿÿ(	   R	   R   R!   R"   R#   R   t   i16sR   R   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt
   test_int16=   s    c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_int32.savR   i.ýi¶(	   R	   R   R!   R"   R#   R   t   i32sR   t   int32(   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt
   test_int32A   s    c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_float32.savR   g•ÐÃ·Ç(	   R	   R   R!   R"   R#   R   t   f32R   t   float32(   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_float32E   s    c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_float64.savR   g‰CÌmC±ÿ(	   R	   R   R!   R"   R#   R   t   f64R   t   float64(   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_float64I   s    c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_complex32.savR   g  )Ž¨j¼By        Ì•h~ð=rFy  )Ž¨j¼BÌ•h~ð=rÆ(	   R	   R   R!   R"   R#   R   t   c32R   t	   complex64(   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_complex32M   s    c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_string.savR   s.   The quick brown fox jumps over the lazy python(	   R	   R   R!   R"   R#   R   R(   R   t   bytes_(   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt
   test_bytesQ   s    c         C` s   d  S(   N(    (   R%   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_structureU   s    c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_complex64.savR   g*ÙÃÜð3Wy        ¾o‚Òy*ÙÃÜð3W¾o‚Òÿ(	   R	   R   R!   R"   R#   R   t   c64R   t
   complex128(   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_complex64X   s    c         C` s   d  S(   N(    (   R%   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_heap_pointer\   s    c         C` s   d  S(   N(    (   R%   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_object_reference_   s    c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_uint16.savR   içÿ  (	   R	   R   R!   R"   R#   R   t   i16uR   t   uint16(   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_uint16b   s    c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_uint32.savR   IÁÿÿÿ    (	   R	   R   R!   R"   R#   R   t   i32uR   t   uint32(   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_uint32f   s    c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_int64.savR   IÙ     €(	   R	   R   R!   R"   R#   R   t   i64sR   t   int64(   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt
   test_int64j   s    c         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_uint64.savR   l   Å(ÿÿÿ (	   R	   R   R!   R"   R#   R   t   i64uR   t   uint64(   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_uint64n   s    (   R*   R+   R-   R/   R2   R5   R8   R;   R=   R>   RA   RB   RC   RF   RI   RL   RO   (    (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyR,   6   s   														t   TestCompressedc           B` s   e  Z d  „  Z RS(   c         C` sN  t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ t | j	 t j
 d ƒ ƒ t | j t j d ƒ ƒ t | j j d ƒ t | j j d t j d d d g d t j ƒƒ t | j j d t j d d d d g d t j
 ƒƒ t | j j d t j t j d ƒ t j d ƒ g ƒ ƒ t | j j d t j d d d g d t ƒƒ d  S(   Ns   various_compressed.savR   iê   g•ÐÃ·Çg*ÙÃÜð3Wy        ¾o‚Òi   i   i   i   i    i   i   R
   g      @g      @g      @g      @y               @i   y               @t   cheeset   bacont   spamy*ÙÃÜð3W¾o‚Òÿ(   i   i   i   i   i   y      ð?       @y      @       @(   R	   R   R!   R"   R#   R   R   R   R$   R3   R4   R?   R@   R   t   array5dt   shapet   arraysR   R   R   R   t   cR:   t   dR   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_compressedv   s    258(   R*   R+   RY   (    (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRP   s   s   t   TestArrayDimensionsc           B` sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C` s5   t  t j t d ƒ d t ƒ} t | j j d ƒ d  S(   Ns   array_float32_1d.savR   i{   (   i{   (   R	   R   R!   R"   R#   R   t   array1dRU   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_1d†   s    c         C` s5   t  t j t d ƒ d t ƒ} t | j j d ƒ d  S(   Ns   array_float32_2d.savR   i   i   (   i   i   (   R	   R   R!   R"   R#   R   t   array2dRU   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_2dŠ   s    c         C` s5   t  t j t d ƒ d t ƒ} t | j j d ƒ d  S(   Ns   array_float32_3d.savR   i   i   i   (   i   i   i   (   R	   R   R!   R"   R#   R   t   array3dRU   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_3dŽ   s    c         C` s5   t  t j t d ƒ d t ƒ} t | j j d ƒ d  S(   Ns   array_float32_4d.savR   i   i   i   i   (   i   i   i   i   (   R	   R   R!   R"   R#   R   t   array4dRU   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_4d’   s    c         C` s5   t  t j t d ƒ d t ƒ} t | j j d ƒ d  S(   Ns   array_float32_5d.savR   i   i   i   i   (   i   i   i   i   i   (   R	   R   R!   R"   R#   R   RT   RU   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_5d–   s    c         C` s5   t  t j t d ƒ d t ƒ} t | j j d ƒ d  S(   Ns   array_float32_6d.savR   i   i   i   i   (   i   i   i   i   i   i   (   R	   R   R!   R"   R#   R   t   array6dRU   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_6dš   s    c      	   C` s5   t  t j t d ƒ d t ƒ} t | j j d ƒ d  S(   Ns   array_float32_7d.savR   i   i   i   i   (   i   i   i   i   i   i   i   (   R	   R   R!   R"   R#   R   t   array7dRU   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_7dž   s    c      
   C` s5   t  t j t d ƒ d t ƒ} t | j j d ƒ d  S(	   Ns   array_float32_8d.savR   i   i   i   i   i   (   i   i   i   i   i   i   i   i   (   R	   R   R!   R"   R#   R   t   array8dRU   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_8d¢   s    (
   R*   R+   R\   R^   R`   Rb   Rc   Re   Rg   Ri   (    (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRZ   ƒ   s   							t   TestStructuresc           B` sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C` s   t  t j t d ƒ d t ƒ} t | j j t j	 t j
 d ƒ ƒ ƒ t | j j t j	 t j d ƒ ƒ ƒ t | j j t j	 t j d ƒ ƒ ƒ t | j j t j	 t j d ƒ ƒ ƒ t | j j t j	 d g d t ƒƒ t | j j t j	 t j d ƒ ƒ ƒ d  S(   Ns   struct_scalars.savR   i   i   g      @g      @RS   R
   g      ð¿y              @y      ð¿      @(   R	   R   R!   R"   R#   R   t   scalarsR   R   R   R   R   R1   RW   R4   RX   R7   t   eR   t   fR:   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_scalars©   s    %%%%%c         C` s  t  t j t d ƒ d t ƒ} t | j j t j	 t j
 d ƒ d ƒ ƒ t | j j t j	 t j d ƒ d ƒ ƒ t | j j t j	 t j d ƒ d ƒ ƒ t | j j t j	 t j d ƒ d ƒ ƒ t | j j t j	 d d ƒ j t ƒ ƒ t | j j t j	 t j d ƒ d ƒ ƒ d  S(   Ns   struct_scalars_replicated.savR   i   i   i   g      @g      @RS   g      ð¿y              @y      ð¿      @(   R	   R   R!   R"   R#   R   t   scalars_repR   R   t   repeatR   R   R1   RW   R4   RX   R7   Rl   t   astypeR   Rm   R:   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_scalars_replicated²   s    (((((c         C` sl  t  t j t d ƒ d t ƒ} t | j j t j	 t j
 d ƒ d ƒ j d d d ƒ ƒ t | j j t j	 t j d ƒ d ƒ j d d d ƒ ƒ t | j j t j	 t j d ƒ d ƒ j d d d ƒ ƒ t | j j t j	 t j d	 ƒ d ƒ j d d d ƒ ƒ t | j j t j	 d
 d ƒ j d d d ƒ j t ƒ ƒ t | j j t j	 t j d ƒ d ƒ j d d d ƒ ƒ d  S(   Ns    struct_scalars_replicated_3d.savR   i   i   i   i   i   g      @g      @RS   g      ð¿y              @y      ð¿      @(   R	   R   R!   R"   R#   R   Ro   R   R   Rp   R   t   reshapeR   R1   RW   R4   RX   R7   Rl   Rq   R   Rm   R:   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_scalars_replicated_3d»   s    77777c         C` sð   t  t j t d ƒ d t ƒ} t | j j d t j	 d d d g d t j
 ƒƒ t | j j d t j	 d d	 d
 d g d t j ƒƒ t | j j d t j	 t j d ƒ t j d ƒ g ƒ ƒ t | j j d t j	 d d d g d t ƒƒ d  S(   Ns   struct_arrays.savR   i    i   i   i   R
   g      @g      @g      @g      @y               @i   y               @RQ   RR   RS   y      ð?       @y      @       @(   R	   R   R!   R"   R#   R   RV   R   R   R   R   R   R4   RW   R:   RX   R   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_arraysÄ   s
    258c         C` sÛ  t  t j t d ƒ d t ƒ} t | j j j j	 t
 j k ƒ t | j j j j	 t
 j k ƒ t | j j j j	 t
 j k ƒ t | j j j j	 t
 j k ƒ t | j j j d ƒ t | j j j d ƒ t | j j j d ƒ t | j j j d ƒ xâ t d ƒ D]Ô } t | j j | t
 j d d d g d t
 j ƒƒ t | j j | t
 j d d	 d
 d g d t
 j ƒƒ t | j j | t
 j t
 j d ƒ t
 j d ƒ g ƒ ƒ t | j j | t
 j d d d g d t ƒƒ qÿ Wd  S(   Ns   struct_arrays_replicated.savR   i   i   i   i   R
   g      @g      @g      @g      @y               @i   y               @RQ   RR   RS   (   i   (   i   (   i   (   i   y      ð?       @y      @       @(   R	   R   R!   R"   R#   R   t
   arrays_repR   R
   R   R   t   object_R   RW   RX   R   RU   R   R   R   R   R4   R:   R   (   R%   R(   R   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_arrays_replicatedË   s(    "%c      
   C` s-  t  t j t d ƒ d t ƒ} t | j j j j	 t
 j k ƒ t | j j j j	 t
 j k ƒ t | j j j j	 t
 j k ƒ t | j j j j	 t
 j k ƒ t | j j j d ƒ t | j j j d ƒ t | j j j d ƒ t | j j j d ƒ x4t d ƒ D]&} xt d ƒ D]} xt d ƒ D]ø } t | j j | | | f t
 j d d d g d t
 j ƒƒ t | j j | | | f t
 j d d	 d
 d g d t
 j ƒƒ t | j j | | | f t
 j t
 j d ƒ t
 j d ƒ g ƒ ƒ t | j j | | | f t
 j d d d g d t ƒƒ q%WqWqÿ Wd  S(   Ns   struct_arrays_replicated_3d.savR   i   i   i   i   R
   g      @g      @g      @g      @y               @i   y               @RQ   RR   RS   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   y      ð?       @y      @       @(   R	   R   R!   R"   R#   R   Rv   R   R
   R   R   Rw   R   RW   RX   R   RU   R   R   R   R   R4   R:   R   (   R%   R(   R   t   jt   k(    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_arrays_replicated_3dç   s.    "c         C` sÂ   t  t j t d ƒ d t ƒ} t | j j t j	 d g d t j
 ƒƒ t | j j t j	 d g d t j
 ƒƒ t | j j t j	 d g d t j
 ƒƒ t | j j t j	 d g d t j
 ƒƒ d  S(   Ns   struct_inherit.savR   i    R
   i   (   R	   R   R!   R"   R#   R   t   fct   xR   R   R   t   yt   rRW   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_inheritance  s
    (((c         C` sq   t  j ƒ  0 t  j d ƒ t t j t d ƒ d t ƒ} Wd  QXt | j	 j
 d t j d d g d t j ƒƒ d  S(   Nt   ignores   struct_arrays_byte_idl80.savR   i    i7   iB   R
   (   t   warningst   catch_warningst   simplefilterR	   R   R!   R"   R#   R   R~   R}   R   R   R$   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_arrays_corrupt_idl80  s
    (
   R*   R+   Rn   Rr   Rt   Ru   Rx   R{   R€   R…   (    (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRj   §   s   										t   TestPointersc           B` s   e  Z d  „  Z RS(   c         C` sj   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ t | j	 t j d ƒ ƒ t
 | j | j	 k ƒ d  S(   Ns   scalar_heap_pointer.savR   g*ÙÃÜð3Wy        ¾o‚Òy*ÙÃÜð3W¾o‚Òÿy*ÙÃÜð3W¾o‚Òÿ(   R	   R   R!   R"   R#   R   t   c64_pointer1R   R@   t   c64_pointer2R   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_pointers  s    (   R*   R+   R‰   (    (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyR†     s   t   TestPointerArrayc           B` sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C` s‰   t  t j t d ƒ d t ƒ} t | j j d ƒ t t	 j
 | j t	 j d ƒ k ƒ ƒ t t	 j
 t | j ƒ t | j d ƒ k ƒ ƒ d  S(   Ns   array_float32_pointer_1d.savR   i{   g      @i    (   i{   (   R	   R   R!   R"   R#   R   R[   RU   R   R   t   allR4   t   vect_idR    (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyR\   $  s    %c         C` s‰   t  t j t d ƒ d t ƒ} t | j j d ƒ t t	 j
 | j t	 j d ƒ k ƒ ƒ t t	 j
 t | j ƒ t | j d ƒ k ƒ ƒ d  S(	   Ns   array_float32_pointer_2d.savR   i   i   g      @i    (   i   i   (   i    i    (   R	   R   R!   R"   R#   R   R]   RU   R   R   R‹   R4   RŒ   R    (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyR^   *  s    %c         C` s‰   t  t j t d ƒ d t ƒ} t | j j d ƒ t t	 j
 | j t	 j d ƒ k ƒ ƒ t t	 j
 t | j ƒ t | j d	 ƒ k ƒ ƒ d  S(
   Ns   array_float32_pointer_3d.savR   i   i   i   g      @i    (   i   i   i   (   i    i    i    (   R	   R   R!   R"   R#   R   R_   RU   R   R   R‹   R4   RŒ   R    (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyR`   0  s    %c      	   C` s‰   t  t j t d ƒ d t ƒ} t | j j d	 ƒ t t	 j
 | j t	 j d ƒ k ƒ ƒ t t	 j
 t | j ƒ t | j d
 ƒ k ƒ ƒ d  S(   Ns   array_float32_pointer_4d.savR   i   i   i   i   g      @i    (   i   i   i   i   (   i    i    i    i    (   R	   R   R!   R"   R#   R   Ra   RU   R   R   R‹   R4   RŒ   R    (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRb   6  s    %c      
   C` s‰   t  t j t d ƒ d t ƒ} t | j j d	 ƒ t t	 j
 | j t	 j d ƒ k ƒ ƒ t t	 j
 t | j ƒ t | j d
 ƒ k ƒ ƒ d  S(   Ns   array_float32_pointer_5d.savR   i   i   i   i   g      @i    (   i   i   i   i   i   (   i    i    i    i    i    (   R	   R   R!   R"   R#   R   RT   RU   R   R   R‹   R4   RŒ   R    (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRc   <  s    %c         C` s‰   t  t j t d ƒ d t ƒ} t | j j d	 ƒ t t	 j
 | j t	 j d ƒ k ƒ ƒ t t	 j
 t | j ƒ t | j d
 ƒ k ƒ ƒ d  S(   Ns   array_float32_pointer_6d.savR   i   i   i   i   g      @i    (   i   i   i   i   i   i   (   i    i    i    i    i    i    (   R	   R   R!   R"   R#   R   Rd   RU   R   R   R‹   R4   RŒ   R    (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRe   B  s    %c         C` s‰   t  t j t d ƒ d t ƒ} t | j j d	 ƒ t t	 j
 | j t	 j d ƒ k ƒ ƒ t t	 j
 t | j ƒ t | j d
 ƒ k ƒ ƒ d  S(   Ns   array_float32_pointer_7d.savR   i   i   i   i   g      @i    (   i   i   i   i   i   i   i   (   i    i    i    i    i    i    i    (   R	   R   R!   R"   R#   R   Rf   RU   R   R   R‹   R4   RŒ   R    (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRg   H  s    %c         C` s‰   t  t j t d ƒ d t ƒ} t | j j d
 ƒ t t	 j
 | j t	 j d ƒ k ƒ ƒ t t	 j
 t | j ƒ t | j d ƒ k ƒ ƒ d  S(   Ns   array_float32_pointer_8d.savR   i   i   i   i   i   g      @i    (   i   i   i   i   i   i   i   i   (   i    i    i    i    i    i    i    i    (   R	   R   R!   R"   R#   R   Rh   RU   R   R   R‹   R4   RŒ   R    (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRi   N  s    %(
   R*   R+   R\   R^   R`   Rb   Rc   Re   Rg   Ri   (    (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRŠ   !  s   							t   TestPointerStructuresc           B` s>   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` s®   t  t j t d ƒ d t ƒ} t | j j t j	 t j
 d ƒ d t j ƒƒ t | j j t j	 t j
 d ƒ d t j ƒƒ t t | j j d ƒ t | j j d ƒ k ƒ d  S(   Ns   struct_pointers.savR   g      @R
   i    (   R	   R   R!   R"   R#   R   t   pointerst   gR   R   R4   Rw   t   hR   R    (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRn   X  s    ..c         C` s»   t  t j t d ƒ d t ƒ} t | j j t j	 t j
 d ƒ d ƒ j t j ƒ ƒ t | j j t j	 t j
 d ƒ d ƒ j t j ƒ ƒ t t j t | j j ƒ t | j j ƒ k ƒ ƒ d  S(   Ns   struct_pointers_replicated.savR   g      @i   (   R	   R   R!   R"   R#   R   t   pointers_repR   R   Rp   R4   Rq   Rw   R   R   R‹   RŒ   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_pointers_replicated^  s    44c         C` s¯   t  t j t d ƒ d t ƒ} t j t j d ƒ d ƒ j d d d ƒ j	 t j
 ƒ } t | j j | ƒ t | j j | ƒ t t j t | j j ƒ t | j j ƒ k ƒ ƒ d  S(   Ns!   struct_pointers_replicated_3d.savR   g      @i   i   i   i   (   R	   R   R!   R"   R#   R   Rp   R4   Rs   Rq   Rw   R   R‘   R   R   R   R‹   RŒ   (   R%   R(   t   s_expect(    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_pointers_replicated_3dd  s
    6c         C` sD  t  t j t d ƒ d t ƒ} t | j j d t j	 t j
 d ƒ d ƒ j t j ƒ ƒ t | j j d t j	 t j
 d ƒ d ƒ j t j ƒ ƒ t t j t | j j d ƒ t | j j d d ƒ k ƒ ƒ t t j t | j j d ƒ t | j j d d ƒ k ƒ ƒ t t | j j d d ƒ t | j j d d ƒ k ƒ d  S(   Ns   struct_pointer_arrays.savR   i    g      @i   i   (   R	   R   R!   R"   R#   R   RV   R   R   Rp   R4   Rq   Rw   R   R   R‹   RŒ   R    (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRu   k  s    88==c         C` s  t  t j t d ƒ d t ƒ} t | j j j j	 t
 j k ƒ t | j j j j	 t
 j k ƒ t | j j j d ƒ t | j j j d	 ƒ xþ t d ƒ D]ð } t | j j | t
 j t
 j d ƒ d ƒ j t
 j ƒ ƒ t | j j | t
 j t
 j d ƒ d ƒ j t
 j ƒ ƒ t t
 j t | j j | ƒ t | j j d d ƒ k ƒ ƒ t t
 j t | j j | ƒ t | j j d d ƒ k ƒ ƒ q• Wd  S(
   Ns$   struct_pointer_arrays_replicated.savR   i   g      @i   i   i    (   i   (   i   (   R	   R   R!   R"   R#   R   Rv   R   R
   R   R   Rw   R   R   RU   R   R   Rp   R4   Rq   R‹   RŒ   R    (   R%   R(   R   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyRx   s  s    88=c         C` så  t  j t d ƒ } t | d t ƒ} t | j j j j	 t
 j k ƒ t | j j j j	 t
 j k ƒ t | j j j d ƒ t | j j j d	 ƒ xPt d ƒ D]B} x9t d ƒ D]+} x"t d ƒ D]} t | j j | | | f t
 j t
 j d ƒ d ƒ j t
 j ƒ ƒ t | j j | | | f t
 j t
 j d ƒ d ƒ j t
 j ƒ ƒ t t
 j t | j j | | | f ƒ t | j j d
 d ƒ k ƒ ƒ t t
 j t | j j | | | f ƒ t | j j d d ƒ k ƒ ƒ qÁ Wq® Wq› Wd  S(   Ns'   struct_pointer_arrays_replicated_3d.savR   i   i   i   g      @i    (   i   i   i   (   i   i   i   (   i    i    i    (   i    i    i    (   R   R!   R"   R	   R#   R   Rv   R   R
   R   R   Rw   R   R   RU   R   R   Rp   R4   Rq   R‹   RŒ   R    (   R%   t   pthR(   R   Ry   Rz   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyR{   …  s    ((F(   R*   R+   Rn   R’   R”   Ru   Rx   R{   (    (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyR   U  s   					t   TestTagsc           B` s   e  Z d  Z d „  Z RS(   s4   Test that sav files with description tag read at allc         C` s;   t  t j t d ƒ d t ƒ} t | j t j d ƒ ƒ d  S(   Ns   scalar_byte_descr.savR   iê   (	   R	   R   R!   R"   R#   R   R   R   R$   (   R%   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_descriptionž  s    (   R*   R+   t   __doc__R—   (    (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyR–   ›  s   c          C` sK   t  t j t d ƒ d t ƒ}  t |  j d  ƒ t |  j t	 j
 d ƒ ƒ d  S(   Ns   null_pointer.savR   i   (   R	   R   R!   R"   R#   R   t   pointt   Nonet   checkR   R   (   R(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_null_pointer£  s    c          C` s   t  j d t ƒ % }  t t j t d ƒ d t ƒ} Wd  QXt t	 |  ƒ d k ƒ t t
 |  d j ƒ d k ƒ t | d t j d  d  g ƒ ƒ d  S(   Nt   records   invalid_pointer.savR   i   i    sN   Variable referenced by pointer not found in heap: variable will be set to NoneR   (   R‚   Rƒ   t   TrueR	   R   R!   R"   R#   R   R   R   t   messageR   R   R   Rš   (   t   wR(   (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   test_invalid_pointerª  s
    $t   __main__(    (    (    (    (    (    (    (    (&   t
   __future__R    R   R   t   osR   R‚   R!   t   dirnamet   __file__R"   t   numpyR   t   numpy.testingR   R   R   R   t   scipy.io.idlR	   R   R   R   t	   vectorizeR    RŒ   R   R,   RP   RZ   Rj   R†   RŠ   R   R–   Rœ   R¡   R*   (    (    (    s6   /tmp/pip-build-7oUkmx/scipy/scipy/io/tests/test_idl.pyt   <module>   s.   "				=$p
4F		