ó
ØÆ÷Xc           @` sÀ  d  d l  m Z m Z m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m	 Z	 m
 Z
 m Z m Z m Z m Z m Z d  d l m Z m Z m Z m Z d  d l m Z d  d l Z e a d „  Z d „  Z d „  Z d	 e f d
 „  ƒ  YZ e ƒ  Z d d d d d d d d d d d d d d g Z  i d g d 6Z! e! d d g e! d <e! d d g e! d <d g e! d <d g e! d <e! d d d g e! d <e! d d d g e! d <e! d d d g e! d <e! d d d g e! d <e! d d g e! d <e! d d g e! d <e! d d g e! d <e! d d g e! d <e! d d d g e! d <e! d d d d g e! d <e! d d g e! d <e ƒ  j j" d k p¥e ƒ  j j# d k o´e j$ d k r!e  j% d d d g ƒ e! d d d d d g e! d <e! d d d d g e! d <e! d d d g e! d <n  d e f d  „  ƒ  YZ& d! e f d" „  ƒ  YZ' d# e j( f d$ „  ƒ  YZ) d% f  d& „  ƒ  YZ* x# e  D] Z+ d' e+ e+ e+ f d Uq€We, d( k r¼e ƒ  e ƒ  n  d S()   i    (   t   divisiont   absolute_importt   print_functionN(   t   arrayt   alltruet   ndarrayt   zerost   dtypet   intpt   clongdouble(   t   run_module_suitet   assert_t   assert_equalt   SkipTest(   t   typeinfoc          C` s©   t  j ƒ  s t d ƒ ‚ n  t d
 k r¥ d }  t j j t ƒ } t j j	 | d d d ƒ t j j	 | d d d ƒ t j j	 | d d d ƒ g } t  j
 | |  d	 ƒ a n  d
 S(   s6   
    Build the required testing extension module

    s   No C compiler availables¼   
        config.add_extension('test_array_from_pyobj_ext',
                             sources=['wrapmodule.c', 'fortranobject.c'],
                             define_macros=[])
        t   srct   array_from_pyobjs   wrapmodule.cs   ..s   fortranobject.cs   fortranobject.ht   test_array_from_pyobj_extN(   t   utilt   has_c_compilerR   t   wrapt   Nonet   ost   patht   dirnamet   __file__t   joint   build_module_distutils(   t   config_codet   dR   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   setup   s    c         C` s   t  j |  ƒ d } t | ƒ S(   Ni   (   R   t   array_attrst   flags2names(   t   arrt   flags(    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt
   flags_info-   s    c         C` sn   g  } xa d d d d d d d d d	 d
 d d d g D]2 } t  |  ƒ t t | d ƒ @r4 | j | ƒ q4 q4 W| S(   Nt
   CONTIGUOUSt   FORTRANt   OWNDATAt
   ENSURECOPYt   ENSUREARRAYt   ALIGNEDt
   NOTSWAPPEDt	   WRITEABLEt   UPDATEIFCOPYt   BEHAVEDt
   BEHAVED_ROt   CARRAYt   FARRAYi    (   t   abst   getattrR   t   append(   R"   t   infot   flagname(    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyR    2   s    	t   Intentc           B` sA   e  Z g  d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` sg   | |  _  d } xG | D]? } | d k r9 | t j O} q | t t d | j ƒ  ƒ O} q W| |  _ d  S(   Ni    t   optionalt   F2PY_INTENT_(   t   intent_listR   t   F2PY_OPTIONALR2   t   upperR"   (   t   selfR9   R"   t   i(    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   __init__@   s    
!c         C` s8   | j  ƒ  } | d k r! d } n  |  j |  j | g ƒ S(   Nt   in_t   in(   t   lowert	   __class__R9   (   R<   t   name(    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   __getattr__J   s    	c         C` s   d d j  |  j ƒ S(   Ns
   intent(%s)t   ,(   R   R9   (   R<   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   __str__P   s    c         C` s   d |  j  S(   Ns
   Intent(%r)(   R9   (   R<   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   __repr__S   s    c         G` s(   x! | D] } | |  j  k r t Sq Wt S(   N(   R9   t   Falset   True(   R<   t   namesRC   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt	   is_intentV   s    c         G` s(   t  |  j ƒ t  | ƒ k o' |  j | Œ  S(   N(   t   lenR9   RK   (   R<   RJ   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   is_intent_exact\   s    (   t   __name__t
   __module__R>   RD   RF   RG   RK   RM   (    (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyR6   >   s   
				t   BOOLt   BYTEt   UBYTEt   SHORTt   USHORTt   INTt   UINTt   LONGt   ULONGt   LONGLONGt	   ULONGLONGt   FLOATt   DOUBLEt   CFLOATi   i   t   win32t
   LONGDOUBLEt   CDOUBLEt   CLONGDOUBLEt   Typec           B` sM   e  Z i  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C` sÅ   t  | t ƒ rg | } d  } xI t j ƒ  D]8 \ } } t  | t ƒ r( | j | d k r( | } Pq( q( Wn  |  j j | j	 ƒ  d  ƒ } | d  k	 r’ | St
 j |  ƒ } | j | ƒ | |  j | j	 ƒ  <| S(   Niÿÿÿÿ(   t
   isinstanceR   R   R   t   itemst   tuplet   typet   _type_cachet   getR;   t   objectt   __new__t   _init(   t   clsRC   t   dtype0t   nR=   t   obj(    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyRj   ‹   s    "c         C` s‡   | j  ƒ  |  _ t t d |  j ƒ |  _ t |  j t |  j d ƒ t |  j d |  _ t |  j d d |  _ t |  j d |  _	 d  S(   Nt   NPY_i   iÿÿÿÿi   i   i    (
   R;   t   NAMER2   R   t   type_numR   R   R   t   elsizet	   dtypechar(   R<   RC   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyRk   ›   s    c         C` s'   g  t  |  j D] } |  j | ƒ ^ q S(   N(   t
   _cast_dictRq   RB   (   R<   t   _m(    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt
   cast_types£   s    c         C` s    g  t  D] } |  j | ƒ ^ q S(   N(   t   _type_namesRB   (   R<   Rv   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt	   all_types¦   s    c         C` sV   t  |  j d } g  } x8 t D]0 } t  | d | k  r | j t | ƒ ƒ q q W| S(   Ni   (   R   Rq   Rx   R3   Rb   (   R<   t   bitst   typesRC   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   smaller_types©   s    c         C` sk   t  |  j d } g  } xM t D]E } | |  j k r9 q n  t  | d | k r | j t | ƒ ƒ q q W| S(   Ni   (   R   Rq   Rx   R3   Rb   (   R<   Rz   R{   RC   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   equal_types±   s    c         C` sV   t  |  j d } g  } x8 t D]0 } t  | d | k r | j t | ƒ ƒ q q W| S(   Ni   (   R   Rq   Rx   R3   Rb   (   R<   Rz   R{   RC   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   larger_types»   s    (
   RN   RO   Rg   Rj   Rk   Rw   Ry   R|   R}   R~   (    (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyRb   ˆ   s   						
t   Arrayc           B` s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c      	   C` sÀ  | |  _  | |  _ | |  _ t j | ƒ |  _ | |  _ t j | j	 | | j
 | ƒ |  _ t t |  j t ƒ t t  |  j ƒ ƒ ƒ t j |  j ƒ |  _ t | ƒ d k r‹|  j j d ƒ r2t | j
 t j @ƒ t |  j j
 d t |  j j
 t | d d  ƒ f ƒ ƒ t |  j j
 d ƒ t |  j d t j @ƒ q‹t | j
 t j @ƒ t |  j j
 d ƒ t |  j j
 d ƒ t |  j d t j @ƒ n  | d  k r­d  |  _ d  |  _ d  S| j d ƒ rÿt t | t ƒ t t  | ƒ ƒ ƒ t | ƒ j | Œ  j ƒ  |  _ np t t | d | j ƒj | Œ  d	 |  j j d ƒ r8d
 p;d ƒ|  _ t |  j j | k t |  j j | f ƒ ƒ t |  j j
 d | | f ƒ t j |  j ƒ |  _ t | ƒ d k rN|  j j d ƒ r
t |  j j
 d ƒ t |  j j
 d ƒ t |  j d t j @ƒ qNt |  j j
 d ƒ t |  j j
 d ƒ t |  j d t j @ƒ n  t |  j d |  j d k ƒ t |  j d |  j d k ƒ |  j d d k rót |  j d |  j d k t |  j d |  j d |  j j ƒ  |  j j ƒ  f ƒ ƒ n  t |  j d d |  j d d k t |  j d |  j d f ƒ ƒ t |  j d |  j d k t |  j d |  j d t d |  j d |  j d ƒ t |  j d ƒ | f ƒ ƒ | j d ƒ röt |  j d d |  j  j  k t |  j d d |  j  j  f ƒ ƒ nA t |  j d d |  j  j  k t |  j d d |  j  j  f ƒ ƒ t |  j! |  j |  j ƒ ƒ t |  j t ƒ r¼| j  t" | j ƒ j  k r¼| j d ƒ r¹|  j d d k r¹t |  j# ƒ  ƒ q¹q¼n  d  S(   Ni   t   cR%   R"   R$   i   t   cacheR   t   ordert   Ct   FR&   i   i   i   iþÿÿÿi    t   copy($   Rf   t   dimst   intentR…   t   deepcopyt   obj_copyRo   R   t   callRr   R"   R!   R   Rc   R   t   reprR   t   arr_attrRL   RK   t   F2PY_INTENT_CR2   R   R%   t   pyarrt
   pyarr_attrR   t   reshapeRt   R   t   tobytesR    Rs   t	   arr_equalRb   t   has_shared_memory(   R<   t   typR†   R‡   Ro   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyR>   Æ   s|    				!(%		"!!$%"!'$#c         C` s2   | j  | j  k r t S| | k } t | j ƒ  ƒ S(   N(   t   shapeRH   R   t   flatten(   R<   t   arr1t   arr2t   s(    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyR’     s    c         C` s   t  |  j ƒ S(   N(   t   strR!   (   R<   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyRF     s    c         C` sS   |  j  |  j k r t St |  j  t ƒ s, t St j |  j  ƒ } | d |  j d k S(   s?   Check that created array shares data with input array.
        i    (	   Ro   R!   RI   Rc   R   RH   R   R   RŒ   (   R<   t   obj_attr(    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyR“     s    (   RN   RO   R>   R’   RF   R“   (    (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyR   Ä   s   	O		t   test_intentc           B` s   e  Z d  „  Z RS(   c         C` sŸ   t  t t j j ƒ d ƒ t t j j j d ƒ ƒ t t j j j d ƒ ƒ t t j j j d d ƒ ƒ t t j j j d d ƒ ƒ t t j j d ƒ ƒ d  S(   Ns   intent(in,out)R€   R@   (	   R   Rš   R‡   R?   t   outR   R€   RK   RM   (   R<   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_in_out+  s    (   RN   RO   Rž   (    (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyRœ   )  s   t   _test_shared_memoryc           B` sï   e  Z d  d g Z d  d d g d d d g g 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 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   i   i   i   i   i   i   c         C` s3   |  j  d g t j |  j ƒ } t | j ƒ  ƒ d  S(   Ni   (   R   R‡   R?   t   num2seqR   R“   (   R<   t   a(    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_in_from_2seq8  s    c         C` s·   x° |  j  j ƒ  D]Ÿ } t |  j d | j ƒ} |  j t |  j ƒ g t j | ƒ } | j |  j  j k r’ t	 | j
 ƒ  t |  j  j | j f ƒ ƒ q t	 | j
 ƒ  t | j ƒ ƒ q Wd  S(   NR   (   Rf   Rw   R   R    R   RL   R‡   R?   Rs   R   R“   R‹   (   R<   t   tRo   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_in_from_2casttype<  s    $(c         C` sµ   t  |  j d |  j j ƒ} |  j  t |  j ƒ g t j | ƒ } t | j ƒ  ƒ y% |  j  d g t j	 j |  j ƒ } Wn. t
 k
 r¤ } t | ƒ j d ƒ s± ‚  q± n Xt d ƒ ‚ d  S(   NR   i   s6   failed to initialize intent(inout|inplace|cache) arrays,   intent(inout) should have failed on sequence(   R   R    Rf   R   RL   R‡   t   inoutR   R“   R?   t	   TypeErrorRš   t
   startswitht   SystemError(   R<   Ro   R¡   t   msg(    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_inout_2seqF  s    $%
c         C` s  t  |  j d |  j j d d ƒ} t |  j ƒ t |  j d ƒ f } |  j  | t j j | ƒ } t | j	 ƒ  ƒ t  |  j d |  j j d d ƒ} t |  j ƒ t |  j d ƒ f } y |  j  | t j j | ƒ } Wn. t
 k
 r } t | ƒ j d ƒ s‚  qn Xt d ƒ ‚ d  S(   NR   R‚   R„   i    Rƒ   s(   failed to initialize intent(inout) arrays2   intent(inout) should have failed on improper array(   R   t   num23seqRf   R   RL   R‡   R?   R¥   R   R“   t
   ValueErrorRš   R§   R¨   (   R<   Ro   R•   R¡   R©   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_f_inout_23seqT  s    !"!"
c         C` so   t  |  j d |  j j ƒ} t |  j ƒ t |  j d ƒ f } |  j  | t j j j | ƒ } t	 | j
 ƒ  ƒ d  S(   NR   i    (   R   R«   Rf   R   RL   R‡   R?   R€   R¥   R   R“   (   R<   Ro   R•   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_c_inout_23seqf  s    "c         C` sz   xs |  j  j ƒ  D]b } t |  j d | j ƒ} |  j t |  j ƒ g t j j | ƒ } t	 | j
 ƒ  t | j ƒ ƒ q Wd  S(   NR   (   Rf   Rw   R   R    R   RL   R‡   R?   R…   R   R“   R‹   (   R<   R£   Ro   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_in_copy_from_2casttypel  s    'c         C` sL   |  j  t |  j ƒ t |  j d ƒ g t j |  j ƒ } t | j ƒ  ƒ d  S(   Ni    (   R   RL   R«   R‡   R?   R   R“   (   R<   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_c_in_from_23seqr  s    %c         C` s‡   x€ |  j  j ƒ  D]o } t |  j d | j ƒ} |  j t |  j ƒ t |  j d ƒ g t j | ƒ } t | j	 ƒ  t
 | j ƒ ƒ q Wd  S(   NR   i    (   Rf   Rw   R   R«   R   RL   R‡   R?   R   R“   R‹   (   R<   R£   Ro   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_in_from_23casttypew  s
    %c         C` sÁ   xº |  j  j ƒ  D]© } t |  j d | j d d ƒ} |  j t |  j ƒ t |  j d ƒ g t j | ƒ } | j |  j  j k rœ t	 | j
 ƒ  t | j ƒ ƒ q t	 | j
 ƒ  t | j ƒ ƒ q Wd  S(   NR   R‚   R„   i    (   Rf   Rw   R   R«   R   RL   R‡   R?   Rs   R   R“   R‹   (   R<   R£   Ro   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_f_in_from_23casttype~  s    %c         C` s¾   x· |  j  j ƒ  D]¦ } t |  j d | j ƒ} |  j t |  j ƒ t |  j d ƒ g t j j | ƒ } | j	 |  j  j	 k r™ t
 | j ƒ  t | j ƒ ƒ q t
 | j ƒ  t | j ƒ ƒ q Wd  S(   NR   i    (   Rf   Rw   R   R«   R   RL   R‡   R?   R€   Rs   R   R“   R‹   (   R<   R£   Ro   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_c_in_from_23casttypeˆ  s    %c         C` s   x‰ |  j  j ƒ  D]x } t |  j d | j d d ƒ} |  j t |  j ƒ t |  j d ƒ g t j j | ƒ } t	 | j
 ƒ  t | j ƒ ƒ q Wd  S(   NR   R‚   R„   i    (   Rf   Rw   R   R«   R   RL   R‡   R?   R…   R   R“   R‹   (   R<   R£   Ro   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_f_copy_in_from_23casttype’  s
    %c         C` s   x† |  j  j ƒ  D]u } t |  j d | j ƒ} |  j t |  j ƒ t |  j d ƒ g t j j j	 | ƒ } t
 | j ƒ  t | j ƒ ƒ q Wd  S(   NR   i    (   Rf   Rw   R   R«   R   RL   R‡   R?   R€   R…   R   R“   R‹   (   R<   R£   Ro   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_c_copy_in_from_23casttype™  s
    %c         C` sÌ  xÅ|  j  j ƒ  D]´} | j |  j  j k r1 q n  t |  j d | j ƒ} t |  j ƒ f } |  j | t j j	 j
 | ƒ } t | j ƒ  t | j ƒ ƒ |  j | t j j
 | ƒ } t | j ƒ  t | j ƒ ƒ t |  j d | j d d ƒ} |  j | t j j	 j
 | ƒ } t | j ƒ  t | j ƒ ƒ |  j | t j j
 | ƒ } t | j ƒ  t | j ƒ ƒ y, |  j | t j j
 | d  d  d … ƒ } Wn. t k
 r·} t | ƒ j d ƒ sÄ‚  qÄq Xt d ƒ ‚ q Wd  S(   NR   R‚   R„   iÿÿÿÿs(   failed to initialize intent(cache) arrays8   intent(cache) should have failed on multisegmented array(   Rf   Ry   Rs   R   R    R   RL   R‡   R?   R€   R   R   R“   R‹   R¬   Rš   R§   R¨   (   R<   R£   Ro   R•   R¡   R©   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_in_cache_from_2casttype   s*    ,
c         C` s½   x¶ |  j  j ƒ  D]¥ } | j |  j  j k r1 q n  t |  j d | j ƒ} t |  j ƒ f } y |  j | t j j	 | ƒ Wn. t
 k
 r¨ } t | ƒ j d ƒ sµ ‚  qµ q Xt d ƒ ‚ q Wd  S(   NR   s(   failed to initialize intent(cache) arrays1   intent(cache) should have failed on smaller array(   Rf   Ry   Rs   R   R    R   RL   R‡   R?   R   R¬   Rš   R§   R¨   (   R<   R£   Ro   R•   R©   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt$   test_in_cache_from_2casttype_failure½  s    
c         C` sÔ   d } |  j  | t j j d  ƒ } t | j j | k ƒ d } |  j  | t j j d  ƒ } t | j j | k ƒ d } y |  j  | t j j d  ƒ } Wn. t k
 rÃ } t	 | ƒ j
 d ƒ sÐ ‚  qÐ n Xt d ƒ ‚ d  S(	   Ni   i   iÿÿÿÿs2   failed to create intent(cache|hide)|optional arrays8   intent(cache) should have failed on undefined dimensions(   i   (   i   i   (   iÿÿÿÿi   (   R   R‡   R   t   hideR   R   R!   R•   R¬   Rš   R§   R¨   (   R<   R•   R¡   R©   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_cache_hiddenÍ  s    
c         C` sÍ  d	 } |  j  | t j d  ƒ } t | j j | k ƒ t | j | j t | d |  j	 j
 ƒƒ ƒ d
 } |  j  | t j d  ƒ } t | j j | k ƒ t | j | j t | d |  j	 j
 ƒƒ ƒ t | j j d oß | j j d ƒ d } |  j  | t j j d  ƒ } t | j j | k ƒ t | j | j t | d |  j	 j
 ƒƒ ƒ t | j j d of| j j d ƒ d } y |  j  | t j d  ƒ } Wn. t k
 r¼} t | ƒ j d ƒ sÉ‚  qÉn Xt d ƒ ‚ d  S(   Ni   R   i   R%   R$   iÿÿÿÿs2   failed to create intent(cache|hide)|optional arrays7   intent(hide) should have failed on undefined dimensions(   i   (   i   i   (   i   i   (   iÿÿÿÿi   (   R   R‡   R¸   R   R   R!   R•   R’   R   Rf   R   R"   R€   R¬   Rš   R§   R¨   (   R<   R•   R¡   R©   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_hiddená  s*    ++%+%
c         C` sn  d } |  j  | t j d  ƒ } t | j j | k ƒ t | j | j t | d |  j	 j
 ƒƒ ƒ d } |  j  | t j d  ƒ } t | j j | k ƒ t | j | j t | d |  j	 j
 ƒƒ ƒ t | j j d oß | j j d ƒ d } |  j  | t j j d  ƒ } t | j j | k ƒ t | j | j t | d |  j	 j
 ƒƒ ƒ t | j j d of| j j d ƒ d  S(	   Ni   R   i   R%   R$   (   i   (   i   i   (   i   i   (   R   R‡   R7   R   R   R!   R•   R’   R   Rf   R   R"   R€   (   R<   R•   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_optional_noneþ  s    ++%+c         C` s[   |  j  } t | ƒ f } |  j | t j | ƒ } t | j j | k ƒ t | j ƒ  ƒ d  S(   N(	   R    RL   R   R‡   R7   R   R!   R•   R“   (   R<   Ro   R•   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_optional_from_2seq  s
    	c         C` sª   |  j  } t | ƒ t | d ƒ f } |  j | t j | ƒ } t | j j | k ƒ t | j ƒ  ƒ |  j | t j j	 | ƒ } t | j j | k ƒ t | j ƒ  ƒ d  S(   Ni    (
   R«   RL   R   R‡   R7   R   R!   R•   R“   R€   (   R<   Ro   R•   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_optional_from_23seq  s    	c         C` s2  t  |  j d |  j j ƒ} t | j d o6 | j d ƒ | j } |  j  | t j | ƒ } t | d d | j	 d d k t
 | | j	 f ƒ ƒ d | j	 d d <t | d d | j	 d d k oà t  d d |  j j ƒk n t
 | | j	 f ƒ ƒ t | j	 | k ƒ t | j d ƒ t | j d ƒ d  S(   NR   R%   R$   i   i   i6   (   R   R«   Rf   R   R   R"   R•   R‡   t   inplaceR!   R‹   (   R<   Ro   R•   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_inplace"  s    	5$3c         C` s¯  x¨|  j  j ƒ  D]—} | |  j  k r+ q n  t |  j d | j ƒ} t | j j  | j k ƒ t | j j  |  j  j k	 ƒ t | j d o“ | j d ƒ | j } |  j | t j	 | ƒ } t | d d | j
 d d k t | | j
 f ƒ ƒ d | j
 d d <t | d d | j
 d d k o=t d d |  j  j ƒk n t | | j
 f ƒ ƒ t | j
 | k ƒ t | j d ƒ t | j d ƒ t | j j  |  j  j k ƒ q Wd  S(   NR   R%   R$   i   i   i6   (   Rf   Rw   R   R«   R   R   R"   R•   R‡   R¾   R!   R‹   (   R<   R£   Ro   R•   R¡   (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   test_inplace_from_casttype/  s"    	5$3(   RN   RO   R    R«   R¢   R¤   Rª   R­   R®   R¯   R°   R±   R²   R³   R´   Rµ   R¶   R·   R¹   Rº   R»   R¼   R½   R¿   RÀ   (    (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyRŸ   4  s.   		
							
	
										sÓ   class test_%s_gen(unittest.TestCase,
              _test_shared_memory
              ):
    def setUp(self):
        self.type = Type(%r)
    array = lambda self,dims,intent,obj: Array(Type(%r),dims,intent,obj)
t   __main__(-   t
   __future__R    R   R   t   unittestR   t   sysR…   t   numpyR   R   R   R   R   R   R	   t   numpy.testingR
   R   R   R   t   numpy.core.multiarrayR   R   R   R   R   R#   R    Ri   R6   R‡   Rx   Ru   t   itemsizet	   alignmentt   platformt   extendRb   R   t   TestCaseRœ   RŸ   R£   RN   (    (    (    sE   /tmp/pip-build-X4mzal/numpy/numpy/f2py/tests/test_array_from_pyobj.pyt   <module>   sf   4"			!	*<eÿ 