ó
q™xTc           @   sz   d  d l  m Z d  d l m Z d  d l m Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z e ƒ  d S(   iÿÿÿÿ(   t   division(   t   flex(   t   robust_statisticsc          C   sd   t  j t d ƒ ƒ }  t j |  ƒ d k s0 t ‚ t  j t d ƒ ƒ }  t j |  ƒ d k s` t ‚ d  S(   Ni
   g      @i   g      @(   R   t   doublet   ranget   rst   mediant   AssertionError(   t   x(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/tst_robust.pyt
   tst_median   s    c          C   sZ   d }  t  j t |  ƒ ƒ } t j | ƒ } | d d k s@ t ‚ | d d k sV t ‚ d  S(   Ni   i    g      @i   g     €!@(   R   R   R   R   t   hingesR   (   t   nR   R
   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/tst_robust.pyt
   tst_hinges   s
    c          C   s:   d }  t  j t |  ƒ ƒ } t j | ƒ d k s6 t ‚ d  S(   Ni   g      @(   R   R   R   R   t   h_spreadR   (   R   R   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/tst_robust.pyt   tst_h_spread   s    c          C   sC   d }  t  j t |  ƒ ƒ } t j | ƒ t j | ƒ k s? t ‚ d  S(   Ni   (   R   R   R   R   t   trimeanR   R   (   R   R   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/tst_robust.pyt   tst_trimean   s    c          C   sF   d }  t  j t |  ƒ ƒ } t j | d ƒ t j | ƒ k sB t ‚ d  S(   Ni
   g      à?(   R   R   R   R   t
   percentileR   R   (   R   R   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/tst_robust.pyt   tst_percentile   s    c          C   s=   d }  t  j t |  ƒ ƒ } t j | d ƒ d k s9 t ‚ d  S(   Ni
   g      à?g      @(   R   R   R   R   t   trimmed_meanR   (   R   R   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/tst_robust.pyt   tst_trimmed_mean!   s    c           C   s3   t  ƒ  t ƒ  t ƒ  t ƒ  t ƒ  t ƒ  d GHd  S(   Nt   OK(   R	   R   R   R   R   R   (    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/tst_robust.pyt   run&   s    N(   t
   __future__R    t   scitbx.array_familyR   t   scitbx.python_utilsR   R   R	   R   R   R   R   R   R   (    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/tst_robust.pyt   <module>   s   								