ó
G™xTc           @   s•   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d  d l m Z d  d l m	 Z	 d „  Z
 d „  Z d	 „  Z e d
 k r‘ e
 ƒ  n  d S(   iÿÿÿÿ(   t   division(   t   xray(   t   crystal(   t   miller(   t   flex(   t   approx_equalc          C   s  t  j d d d d	 ƒ }  t j d
 |  d t d d ƒ } | j d t j t j | j	 ƒ  ƒ d d t j | j	 ƒ  ƒ d d ƒ ƒ } t j ƒ  } | j d | t j
 | j ƒ  ƒ t j | j	 ƒ  ƒ d d d t j | j	 ƒ  ƒ ƒ } | j ƒ  t | | | ƒ t | ƒ d GHd  S(   Nt	   unit_celli
   i   i   iU   i_   id   t   space_group_symbols   P 1t   crystal_symmetryt   anomalous_flagt   d_mini   t   datai   i   i   t   sigmast   OK(   i
   i   i   iU   i_   id   (   R   t   symmetryR   t	   build_sett   Falset   arrayR   t   polart   random_doublet   sizet   normR   t#   set_observation_type_xray_intensityt   exercise_shelx_weightingt   exercise_quasi_unit_weighting(   R   t
   miller_sett   f_calct   scale_factort   obs(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/regression/tst_weighting_schemes.pyt   run   s&    					#	4

c   	      C   s•  d \ } } t  j j | | ƒ } t  j j ƒ  } | | _ | j ƒ  | | _ | j |  | ƒ t | j | j ƒ sw t ‚ x| d  f D]	} d \ } } t  j j
 | | ƒ } t  j j | | ƒ } x- | | f D] } | | _ | j |  | ƒ qÍ Wt | j | j ƒ st ‚ | j d  k s t ‚ x- | | f D] } t | _ | j |  | ƒ q-Wt | j | j ƒ skt ‚ | j j ƒ  | _ | j |  | ƒ q„ Wd  S(   Ni    i
   id   (   i    i    (   i
   id   (   R   t   weighting_schemest   simple_shelx_weightingt   pure_statistical_weightingt   observedt   computeR   t   weightst   AssertionErrort   Nonet   shelx_weightingt   derivatives_wrt_f_ct   Truet   computing_derivatives_wrt_f_ct   discard_sigmas(	   R   R   R   t   at   bt	   weightingt   weighting_reft   kt   w(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/regression/tst_weighting_schemes.pyR       s0    	
				c         C   s^   t  j j ƒ  } |  j ƒ  | _ | j ƒ  t t | j ƒ t d d |  j	 ƒ  ƒ ƒ sZ t
 ‚ d  S(   Ni   g      @(   R   R   t   intensity_quasi_unit_weightingR*   R!   R"   R   t   listR#   R   R$   (   R   R0   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/regression/tst_weighting_schemes.pyR   <   s    
t   __main__N(   t
   __future__R    t   cctbxR   R   R   t   cctbx.array_familyR   t   libtbx.test_utilsR   R   R   R   t   __name__(    (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/regression/tst_weighting_schemes.pyt   <module>   s   			