ó
]™xTc           @   sL   d  d l  m Z d „  Z e d k rH d  d l Z e d e j d ƒ n  d S(   iÿÿÿÿ(   t   divisionc   	          sn  t  |  ƒ d k s t ‚ d } d d l m ‰ d d l m ‰ d d l m ‰  m ‰ d d d d d d d d d d d d d d d d  d! d" d# d$ d% d& d' d( g ‰ ‡  ‡ ‡ ‡ ‡ f d †  } ˆ j	 d	 d ƒ } | d) d* d+ ƒ xp t
 | ƒ D]b } t | j d d ƒ d d ƒ } t | j d d ƒ d d ƒ } | j ƒ  } | | | | ƒ qì Wd d l m } | ƒ  GHd  S(,   Ni    id   iÿÿÿÿ(   t   compute(   t   flex(   t   approx_equalt   is_below_limiti   c      	      s\  | \ } } } ˆ j  | d d f | d d f d | d f d | d f d d | f d d | f g ƒ } | | |  } ˆ | ƒ } ˆ  | j |  ƒ s› t ‚ ˆ  t | j ƒ t | ƒ ƒ s¿ t ‚ ˆ  | j j ƒ  d ƒ sÝ t ‚ | j j ƒ  j | | j }	 g  }
 x. ˆ D]& } | |	 } |
 j	 | j
 | ƒ ƒ qWˆ d t |
 ƒ d d d d ƒ sXt ‚ d  S(   Ni    i   t   valuet   limitg:Œ0âŽyE>t   eps(   t   vec3_doublet   centert   AssertionErrort   sortedt   radiit   rotationt   determinantt   inverset   elemst   appendt   rms_differencet   min(   R	   R   R   t   at   bt   ct   points_principalt   pointst   mcet
   points_mcet   rmst   rt   rp(   R   R   R   t   mce_computet!   point_group_432_rotation_matrices(    s^   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/math/tests/tst_minimum_covering_ellipsoid.pyt   check"   s&    $
t   seedi   i   t   sizei   i   gš™™™™™¹?(   t   format_cpu_times(	   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   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    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    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   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    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   (   t   lenR
   t&   scitbx.math.minimum_covering_ellipsoidR   t   scitbx.array_familyR   t   libtbx.test_utilsR   R   t   mersenne_twistert   xranget   listt   random_doublet    random_double_r3_rotation_matrixt   libtbx.utilsR#   (	   t   argst   n_trialsR    t   mtt   i_trialR	   R   R   R#   (    (   R   R   R   R   R   s^   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/math/tests/tst_minimum_covering_ellipsoid.pyt   run   sN    	  t   __main__NR.   i   (   t
   __future__R    R2   t   __name__t   syst   argv(    (    (    s^   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/math/tests/tst_minimum_covering_ellipsoid.pyt   <module>   s   	>