ó
n™xTc           @   s„   d  d l  m Z d  d l m Z d  d l m Z m Z d „  Z d „  Z d „  Z	 e
 d k r€ d  d l Z e	 d	 e j d
 ƒ n  d S(   iÿÿÿÿ(   t   division(   t   flex(   t   Exception_expectedt	   show_diffc         C   sÍ   |  t  j k r t } n d } x¨ t d ƒ D]š } |  | g | ƒ } | j ƒ  } | d  k	 sb t ‚ | d k rŒ | rŒ d |  j | j f GHn  | j	 | f k s¤ t ‚ |  | ƒ } | j
 | ƒ s+ t ‚ q+ Wd  S(   Ni    i
   s   flex.%s -> numpy %s(   R   t   boolt   Falset   xranget   as_numpy_arrayt   Nonet   AssertionErrort   __name__t   dtypet   shapet   all_eq(   t	   flex_typet   verboset   zt   nt   fat   nat   fna(    (    s_   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/array_family/boost_python/tst_numpy_bridge.pyt   exercise_basic   s    	c          C   sÂ  t  j d d ƒ }  |  j ƒ  } | j ƒ  t |  ƒ k s< t ‚ t  j | ƒ } | j ƒ  d k sc t ‚ | j ƒ  d k s{ t ‚ | j	 ƒ  d k s“ t ‚ | j
 |  ƒ s¨ t ‚ d |  d <| d d k sÈ t ‚ d |  d <|  j t  j d d ƒ ƒ |  j ƒ  } | j ƒ  d d d g d d	 d g g k s't ‚ t  j | ƒ } | j ƒ  d k sNt ‚ | j ƒ  d k sft ‚ | j	 ƒ  d  k s~t ‚ | j
 |  ƒ s“t ‚ t  j d" ƒ d }  |  j t  j d d d ƒ ƒ |  j ƒ  } | j ƒ  d d d g d d	 d g g d d
 d g d d d g g d d d g d d d g g d d d g d d d g g g k sRt ‚ t  j | ƒ } | j ƒ  d# k syt ‚ | j ƒ  d$ k s‘t ‚ | j	 ƒ  d% k s©t ‚ | j
 |  ƒ s¾t ‚ d  S(&   Ni   i   i   i    ic   i   i   i   i   i   i	   i
   i   i   i   i   i   i   i   i   i   i   i   i   i   i   (   i   (   i    (   i   (   i   i   (   i    i    (   i   i   i   i   (   i   i   i   (   i    i    i    (   i   i   i   (   R   t	   int_rangeR   t   tolistt   listR	   t   intt   allt   origint   focusR   t   reshapet   grid(   R   R   R   (    (    s_   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/array_family/boost_python/tst_numpy_bridge.pyt   exercise_int   s@    

0	*c         C   s  |  g  d g g k s t  ‚ t } xâ t rt j ƒ  j d t ƒ d  k r— y t j ƒ  j ƒ  Wn/ t k
 r� } t t | ƒ d ƒ s” t  ‚ qæ Xt	 ‚ nO xE t j
 t j t j t j t j t j t j g D] } t | | ƒ qÈ Wt ƒ  t |  ƒ d k rü Pn  t } q$ Wd GHd  S(   Ns	   --forevert   optionals   numpy API not availablei    t   OK(   R	   t   TrueR   R   R   R   t   RuntimeErrorR   t   strR   R   t   longt   floatt   doublet   complex_doublet   size_tR   R   t   lenR   (   t   argsR   t   eR   (    (    s_   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/array_family/boost_python/tst_numpy_bridge.pyt   run8   s.    	 	
t   __main__NR+   i   (   t
   __future__R    t   scitbx.array_familyR   t   libtbx.test_utilsR   R   R   R   R-   R
   t   syst   argv(    (    (    s_   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/array_family/boost_python/tst_numpy_bridge.pyt   <module>   s   		$	