ó
Ó™xTc           @   sU   d  d l  m Z d „  Z d „  Z e d k rQ d  d l Z e d e j d ƒ n  d S(   iÿÿÿÿ(   t   divisionc    	      C   sŽ  d d l  m }  m } |  d d d g ƒ } |  d d d g ƒ } |  d	 d	 d	 g ƒ } d
 } xt d d d ƒ D]} |  | d | d | d | d | d t ƒ ƒ } t t | | ƒ t | | ƒ ƒ d k  sÑ t ‚ t t | | ƒ t | | ƒ ƒ d k  st ‚ | d k r6t | | ƒ d k  s)t ‚ | d 7} n  | j d | d | d t ƒ | } t | | ƒ d k  sn t ‚ qn W| d k sŠt ‚ d  S(   Niÿÿÿÿ(   t   colt   rotate_point_around_axisgÅ °rh@g¶óýÔxi@gÉv¾Ÿ¯@g=
×£p½@gTã¥›Ä @gX9´Èv>!@g      @i    i˜þÿÿii  i   t   axis_point_1t   axis_point_2t   pointt   anglet   degg�íµ ÷Æ°>ih  i   i   (   i˜þÿÿi    ih  (   t   scitbx.matrixR   R   t   ranget   Truet   abst   AssertionErrort#   rt_for_rotation_around_axis_through(	   R   R   t   cbt   cgt   cat   count_unchangedt   angle_it   cg_rt   cg_r_alt(    (    sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/refinement/tst_fit_rotamers.pyt!   exercise_rotate_point_around_axis   s"    	$00	 c         C   s(   t  |  ƒ d k s t ‚ t ƒ  d GHd  S(   Ni    t   OK(   t   lenR   R   (   t   args(    (    sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/refinement/tst_fit_rotamers.pyt   run   s    t   __main__NR   i   (   t
   __future__R    R   R   t   __name__t   syst   argv(    (    (    sO   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/mmtbx/refinement/tst_fit_rotamers.pyt   <module>   s
   		