ó
t™xTc           @   sD  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z e j Z e j d k	 rk d  d l	 m
 Z
 n d „  Z
 d GHd „  Z d  d l Z d „  Z d e f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z d „  Z d „  Z e d k r@e e j d ƒ n  d S(   iÿÿÿÿ(   t   divisionN(   t   approx_equalc         C   s   t  S(   N(   t   True(   t   a1t   a2(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyR      s    s8   libtbx.test_utils not available: approx_equal() disabledc         C   s%   d } x |  D] } | | 7} q W| S(   Ni    (    (   t   lt   resultt   e(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyt   sum   s     c          C   s  t  t t j d5 ƒ ƒ d
 ƒ s$ t ‚ t  t t j d6 ƒ ƒ d ƒ sH t ‚ t  t t j d t j d7 d8 f ƒ ƒ ƒ d
 ƒ s~ t ‚ t  t t j	 d9 ƒ ƒ d ƒ s¢ t ‚ t  t t j
 d: ƒ ƒ d ƒ sÆ t ‚ t j d d d t j d; ƒ d t j d d< ƒ ƒ }  t  t |  ƒ d ƒ st ‚ t  t j d |  d t j d= ƒ ƒ d ƒ sDt ‚ t j d t j d> d? d@ g ƒ d# d$ d% d& g ƒ } t  | j ƒ  d' ƒ s’t ‚ t  | j ƒ  d( d) d* g ƒ s¶t ‚ t  | j d' ƒ sÎt ‚ t  | j d+ t j dA ƒ ƒ d/ d0 d1 d0 d2 d3 d1 d3 d4 g	 ƒ st ‚ d  S(B   Ni   i   i   i   i   i   i   i   i	   iZ   t   cbi    t   mgX9´Èv¾ó?t   ct   it   sym_mat3gš™™™™™¹?gš™™™™™É?g333333Ó?gu“VN5@t	   i_spatialt	   v_spatialgåÐ"ÛùÆR@t   sitesg‘í|?5^î?g…ëQ¸…@g¨ÆK7‰Á@gìQ¸…ëÙ?goƒÀÊ¡@g^ºI«@g!°rh‘íè?g?5^ºI@gœÄ °rè@t   massesg¸…ëQ¸@g{®Gáz@gHáz®Gù?gìQ¸…ë@g"XWµïä?gã@±Jäý@gTïã]�,@t   pivotgÍÌÌÌÌÌì?gÍÌÌÌÌÌô¿gš™™™™™Ù?g«aáHLy@g¬NÖÁ$$@g×?ºž	1$@g9�Dn¡÷h@g´@ý<ëhÀgººøšÚ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   gš™™™™™¹?gš™™™™™É?g333333Ó?(   i   i   i   i   i   i   (   g‘í|?5^î?g…ëQ¸…@g¨ÆK7‰Á@(   gìQ¸…ëÙ?goƒÀÊ¡@g^ºI«@(   g!°rh‘íè?g?5^ºI@gœÄ °rè@(   gÍÌÌÌÌÌì?gÍÌÌÌÌÌô¿gš™™™™™Ù?(   R   R   t   spatial_libt   xrott   AssertionErrort   xtranst   cb_as_spatial_transformt   matrixt   rtt   crmt   crft   mcit   colt   symt   kinetic_energyt   body_libt   mass_pointst   col_listt   sum_of_massest   center_of_masst   _sum_of_massest   inertia(   R   R!   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyt   exercise_basic   s:    $$'$$	$			t   zero_dof_bodyc           B   s   e  Z d  „  Z RS(   c         C   sž   t  j ƒ  |  _ t j d g d ƒ |  _ t  j ƒ  |  _ |  j j |  _	 |  j j
 d |  j	 ƒ d  k sj t ‚ |  j j d d  d d  ƒ d  k s‘ t ‚ d |  _ d  S(   Ni    i$   t   qdt   valueiÿÿÿÿ(   t	   joint_libt   zero_dof_alignmentt	   alignmentR   t   sqrR   t   zero_doft   jointt   qd_zeroR)   t   get_linear_velocityt   NoneR   t   new_linear_velocityt   parent(   t   O(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyt   __init__6   s    $'(   t   __name__t
   __module__R7   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyR(   4   s   t   six_dof_bodyc           B   s   e  Z d  „  Z RS(   c         C   sE  t  j d# d$ d% g ƒ } t j d
 | d d d d g ƒ } t j d | j ƒ  ƒ |  _ | j d |  j j	 ƒ |  _
 t  j d& ƒ j ƒ  } t  j d' ƒ } t j d | d | ƒ |  _ t  j d( ƒ |  _ |  j j d |  j ƒ j d) k sç t ‚ |  j j d |  j d t  j d* ƒ ƒ |  _ |  j j d |  j ƒ j d+ k s8t ‚ d" |  _ d  S(,   Ng‘í|?5^î?g…ëQ¸…@g¨ÆK7‰Á@gìQ¸…ëÙ?goƒÀÊ¡@g^ºI«@g!°rh‘íè?g?5^ºI@gœÄ °rè@R   R   g      ð?R$   t   alignment_cb_0bg
×£p=
Ç?g
×£p=
×?gHáz®Gá?g\�Âõ(\ç¿gš™™™™™¹¿g333333Ó?gš™™™™™É?t   qet   qrg{®Gáz”¿g{®GázÄ¿gš™™™™™©?gR¸…ëQÈ?g�Âõ(\�Ò¿R)   R*   gš™™™™™©¿gR¸…ëQÈ¿g�Âõ(\�Ò?iÿÿÿÿ(   g‘í|?5^î?g…ëQ¸…@g¨ÆK7‰Á@(   gìQ¸…ëÙ?goƒÀÊ¡@g^ºI«@(   g!°rh‘íè?g?5^ºI@gœÄ °rè@(   g
×£p=
Ç?g
×£p=
×?gHáz®Gá?g\�Âõ(\ç¿(   gš™™™™™¹¿g333333Ó?gš™™™™™É?(   g
×£p=
Ç?g{®Gáz”¿g{®GázÄ¿gš™™™™™©?gR¸…ëQÈ?g�Âõ(\�Ò¿(   gš™™™™™©?gR¸…ëQÈ?g�Âõ(\�Ò¿(   gš™™™™™©¿gR¸…ëQÈ¿g�Âõ(\�Ò?(   gš™™™™™©¿gR¸…ëQÈ¿g�Âõ(\�Ò?(   R   R"   R    R!   R+   t   six_dof_alignmentR$   R-   t   spatial_inertiat   cb_0bR   R   t	   normalizet   six_dofR0   R)   R2   t   elemsR   R4   R5   (   R6   R   R!   R<   R=   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyR7   A   s$    !		''(   R8   R9   R7   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyR:   ?   s   t   spherical_bodyc           B   s   e  Z d  „  Z RS(   c         C   sý   t  j d d g ƒ } t j d | d d	 d	 g ƒ } t j d
 | j ƒ  ƒ |  _ | j d |  j j	 ƒ |  _
 t  j d ƒ j ƒ  } t j d | ƒ |  _ t  j d ƒ |  _ |  j j d |  j ƒ d  k sÉ t ‚ |  j j d d  d d  ƒ d  k sð t ‚ d |  _ d  S(   Ng{®Gáz¤?g{®GázÄ¿gR¸…ëQÈ?gš™™™™™¹?g333333Ã¿g
×£p=
Ç?R   R   g      ð?R   R;   g      à¿g…ëQ¸Õ¿gq=
×£på?gáz®GáÚ¿R<   g¸…ëQ¸¾?g{®Gáz´¿g)\�Âõ(¼?R)   R*   i    (   g{®Gáz¤?g{®GázÄ¿gR¸…ëQÈ?(   gš™™™™™¹?g333333Ã¿g
×£p=
Ç?(   g      à¿g…ëQ¸Õ¿gq=
×£på?gáz®GáÚ¿(   g¸…ëQ¸¾?g{®Gáz´¿g)\�Âõ(¼?(   R   R"   R    R!   R+   t   spherical_alignmentR$   R-   R?   R@   R   R   RA   t	   sphericalR0   R)   R2   R3   R   R4   R5   (   R6   R   R!   R<   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyR7   W   s    		$'(   R8   R9   R7   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyRD   U   s   t   revolute_bodyc           B   s   e  Z d  „  Z RS(   c         C   s  t  j d ƒ } t  j d ƒ j ƒ  } t  j d g ƒ } t j d
 | d d g ƒ } t j d | d | ƒ |  _ | j	 d |  j j
 ƒ |  _ t j d t  j d g ƒ ƒ |  _ t  j d g ƒ |  _ |  j j d |  j ƒ d  k sá t ‚ |  j j d d  d d  ƒ d  k st ‚ | |  _ d  S(   Ng!°rh‘íè?g?5^ºI@gœÄ °rè@g      Ð?g…ëQ¸…ë?gÍÌÌÌÌÌÜ¿g/Ý$�µ¿g\�Âõ(\@gX9´Èv¾@R   R   g      ð?R   t   normalR;   R<   g¤p=
×£Ð?gR¸…ëQÈ¿R)   R*   (   g!°rh‘íè?g?5^ºI@gœÄ °rè@(   g      Ð?g…ëQ¸…ë?gÍÌÌÌÌÌÜ¿(   g/Ý$�µ¿g\�Âõ(\@gX9´Èv¾@(   R   R   RA   R"   R    R!   R+   t   revolute_alignmentR-   R?   R@   R   t   revoluteR0   R)   R2   R3   R   R4   R5   (   R6   R5   R   RH   R   R!   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyR7   i   s    	!$'(   R8   R9   R7   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyRG   g   s   t   translational_bodyc           B   s   e  Z d  „  Z RS(   c         C   s%  t  j d ƒ g } t j d | d d g ƒ } t j d | j ƒ  ƒ |  _ | j d |  j j	 ƒ |  _
 t  j d ƒ } t j d | ƒ |  _ t  j d ƒ |  _ |  j j d |  j ƒ j |  j j k sÆ t ‚ |  j j d |  j d |  j ƒ |  _ |  j j d |  j ƒ j |  j j k st ‚ d |  _ d  S(   Ng‘í|?5^î?g…ëQ¸…@g¨ÆK7‰Á@R   R   g      ð?R$   R;   gš™™™™™¹¿g333333Ó?gš™™™™™É?R=   gš™™™™™©?gR¸…ëQÈ?g�Âõ(\�Ò¿R)   R*   iÿÿÿÿ(   g‘í|?5^î?g…ëQ¸…@g¨ÆK7‰Á@(   gš™™™™™¹¿g333333Ó?gš™™™™™É?(   gš™™™™™©?gR¸…ëQÈ?g�Âõ(\�Ò¿(   R   R   R    R!   R+   t   translational_alignmentR$   R-   R?   R@   R   t   translationalR0   R)   R2   RC   R   R4   R5   (   R6   R   R!   R=   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyR7   y   s    		-%-(   R8   R9   R7   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyRK   w   s   c          C   sb  t  ƒ  t ƒ  t d d ƒ t ƒ  g }  t j d |  ƒ t j d |  ƒ } t | j	 ƒ  d ƒ sa t
 ‚ t | j ƒ  d d d d d d d	 d
 d d d d d g ƒ s£ t
 ‚ t j d“ d” d• d– g ƒ } t j d— d˜ d™ dš g ƒ } t j d› ƒ } dœ d� dž dŸ g } xG d  | g D]9 } | j d, | ƒ } t | d  d¡ d¢ d£ g ƒ st
 ‚ qW| j d7 | ƒ } t | | ƒ skt
 ‚ | j d, | ƒ } t | d¤ d¥ d¦ d§ g ƒ sžt
 ‚ | j d7 | ƒ } t | | ƒ sÅt
 ‚ | j d, | dB | ƒ } t | d¨ d© dª d« g ƒ sþt
 ‚ | j d7 | dB | ƒ } t | | ƒ s+t
 ‚ | j d, | dB | dP | ƒ } t | d¬ d­ d® d¯ g ƒ sjt
 ‚ | j d7 | dB | dP | ƒ } t | | ƒ s�t
 ‚ g  | j D]* }	 |	 j j d^ |	 j d_ d ƒ j ƒ  ^ q§}
 t |
 d° d± d² d³ g ƒ søt
 ‚ g  t | j | ƒ D]0 \ }	 } |	 j j d^ |	 j do | d_ d ƒ ^ q} t | d´ dµ d¶ d· g ƒ sbt
 ‚ xS t | j d¸ d¹ dº g ƒ D]6 \ }	 } t |	 j j d‡ | ƒ j ƒ  | ƒ s~t
 ‚ q~Wg  } x3 | j D]( }	 |	 j j |	 _ | j |	 j j ƒ qÈW| j ƒ  | j d, | dB | ƒ } t | d» d¼ d½ d¾ g ƒ s7t
 ‚ | j dB | ƒ } t | | ƒ s^t
 ‚ d  S(¿   NR5   i   t   bodiesg�ãÐ±sm@guBCZ¾‰º?g„:‚
ýº?gÙ¡P’f¾?gÈ¾V§yâ?g¥`×@fÆ?gÓØRÒ?g­õêˆè|Ì?g«"ÜdTYõ?g»¹øÛž ö?g{®Gáz¤¿gš™™™™™©?gq=
×£pÍ?g{®Gáz„¿g{®Gáz´¿g{®Gáz¤?g{®Gáz´?gìQ¸…ëÁ?gÃõ(\�ÂÕ¿gìQ¸…ëÑ?gš™™™™™¹¿g333333Ó?g{®Gáz„?g¸…ëQ¸®?g
×£p=
·?g        gìQ¸…ë±?g)\�Âõ(¼¿g¸…ëQ¸ž?gìQ¸…ë±¿g{®GázÄ¿g…ëQ¸Õ¿gffffffÖ?g{®Gáz”¿gš™™™™™É¿g{®Gáz”?g¤p=
×£À¿g333333Ã?g¤p=
×£Ð?i    t	   qdd_arrayg²y 	Ü@gîŸjbf˜ÿ¿giF-"âî¿gšÇ–éÌàã?g©t’úré?g,Ç©>¼/à?g¸NëÛlÀg¹D_Ù$Jë?goN=¾ÚXò¿gfCa´mÅå¿t	   tau_arrayg†þ[\~<Àg¼?(ðÑã+Àgœ&V�B@gp4ŸÓ¹@gd/¦»7V
ÀgTs|H«Lø?gß……ˆ6@g	Ç)­ö¡ý?g&Aç·rÿ¿g;«o›Úà?t   f_ext_arraygjnIý4<Àg[bá{T,Àg�ÐÀ "C@g'äÐgÅó	@g`ëxw
Àg�ªI³®Ðõ?g¨YÏñ�6@g¼XŒ †@gl‡ÜÚ;ÀgIE‚ã?g
×£p=
×¿g{®GázÔ¿g¸…ëQ¸Þ?t	   grav_accng^Ã±ŠU=@gM ©SõÅø?g€Y‡päÐ#Àg"jD2Àgìœ¯Š¿%@gNýJ¬”3Àgà¤ÀêËÐÀg.ê]wäó¿g^33%ó?g|	˜	e²Ö¿gòÏ½‡á?g@Þ«V&üÆ¿g	áÑÆkÅ?R)   t   delta_tg½âg+HÇ?gfËfÌ,×?gŸ7ƒ¦bá?gÅ«¬mŠç¿gã˜Ù¥º¿gyz!ôžÓ?gÚuRÝÉ?gœ<~Òýà¿gzG×–KÕ¿gYr—�å?gÙ}"ªK!Û¿g?ÆÜµ„Ð?gî|?5^º¹¿g£¼Ó?gà-� øÉ?t   qddgéH.ÿ!ýÆ?g+‡ÙÎ÷“¿g:#J{ƒ/Ä¿g»'µ¦©¿g•Ô	h"lÈ¿g ‰°áé•Ò?g?W[±¿ì¾?gM„O¯´¿g•Ô	h"¼?gÜFx$È¿goð…ÉTÁÈ¿g46<½Ò?i   i   i   i   i   i   i   i	   i
   i   i   t   qgwº÷kÄWÒ?gÒ¦cN|*Ì¿gCÏC“AUò?gŽÔC«Ã?g�7$º— �¿gÉì—©äßÃ¿gÑâ&‰MQá?gÓ|¼OVüÙ?go™£û	ê¿gffffffÖ¿gš™™™™™É?(   g{®Gáz¤¿gš™™™™™©?gq=
×£pÍ?g{®Gáz„¿g{®Gáz´¿g{®Gáz¤?(   g{®Gáz´?g{®Gáz´¿g{®Gáz„¿(   gìQ¸…ëÁ?(   g{®Gáz„¿gÃõ(\�ÂÕ¿gìQ¸…ëÑ?(   gš™™™™™¹¿g333333Ó?g{®Gáz„¿g{®Gáz„¿g{®Gáz„?g¸…ëQ¸®?(   gìQ¸…ëÑ?g
×£p=
·?gìQ¸…ëÁ?gq=
×£pÍ?g        gìQ¸…ë±?(   g)\�Âõ(¼¿g¸…ëQ¸ž?gìQ¸…ë±¿g)\�Âõ(¼¿g¸…ëQ¸®?g{®Gáz´?(   g{®GázÄ¿gìQ¸…ëÁ?g…ëQ¸Õ¿gffffffÖ?g{®Gáz”¿gš™™™™™É¿(   g{®Gáz”?g¤p=
×£À¿g333333Ã?g¤p=
×£Ð?g{®GázÄ¿gìQ¸…ëÁ?(   i    i    i    i    i    i    (   i    i    i    (   i    (   i    i    i    (   g²y 	Ü@gîŸjbf˜ÿ¿giF-"âî¿gšÇ–éÌàã?g©t’úré?g,Ç©>¼/à?(   g¸NëÛlÀg¹D_Ù$Jë?goN=¾ÚXò¿(   gfCa´mÅå¿(   g        g        g        (   g†þ[\~<Àg¼?(ðÑã+Àgœ&V�B@gp4ŸÓ¹@gd/¦»7V
ÀgTs|H«Lø?(   gß……ˆ6@g	Ç)­ö¡ý?g&Aç·rÿ¿(   g;«o›Úà?(   g{®Gáz„¿gÃõ(\�ÂÕ¿gìQ¸…ëÑ?(   gjnIý4<Àg[bá{T,Àg�ÐÀ "C@g'äÐgÅó	@g`ëxw
Àg�ªI³®Ðõ?(   g¨YÏñ�6@g¼XŒ †@gl‡ÜÚ;À(   gIE‚ã?(   g
×£p=
×¿g{®GázÔ¿g¸…ëQ¸Þ?(   g^Ã±ŠU=@gM ©SõÅø?g€Y‡päÐ#Àg"jD2Àgìœ¯Š¿%@gNýJ¬”3À(   gà¤ÀêËÐÀg.ê]wäó¿g^33%ó?(   g|	˜	e²Ö¿(   gòÏ½‡á?g@Þ«V&üÆ¿g	áÑÆkÅ?(   g½âg+HÇ?gfËfÌ,×?gŸ7ƒ¦bá?gÅ«¬mŠç¿gã˜Ù¥º¿gyz!ôžÓ?gÚuRÝÉ?(   gœ<~Òýà¿gzG×–KÕ¿gYr—�å?gÙ}"ªK!Û¿(   g?ÆÜµ„Ð?(   gî|?5^º¹¿g£¼Ó?gà-� øÉ?(   géH.ÿ!ýÆ?g+‡ÙÎ÷“¿g:#J{ƒ/Ä¿g»'µ¦©¿g•Ô	h"lÈ¿g ‰°áé•Ò?(   g?W[±¿ì¾?gM„O¯´¿g•Ô	h"¼?(   gÜFx$È¿(   g»'µ¦©¿goð…ÉTÁÈ¿g46<½Ò?(   i   i   i   i   i   i   i   (   i   i	   i
   i   (   i   (   gwº÷kÄWÒ?gÒ¦cN|*Ì¿gCÏC“AUò?gŽÔC«Ã?g�7$º— �¿gÉì—©äßÃ¿(   gÑâ&‰MQá?gÓ|¼OVüÙ?go™£û	ê¿(   gìQ¸…ë±?(   gffffffÖ¿g{®Gáz”?gš™™™™™É?(   R:   RD   RG   RK   R    t   set_cb_treet   featherstonet   system_modelR   t   e_kinR   t   qd_e_kin_scalesR   R"   R   R3   t   inverse_dynamicst   forward_dynamics_abRN   R0   t   time_step_positionR)   t   get_qt   zipt   time_step_velocityt   new_qR1   t   appendt   qdd_zerot   flag_velocities_as_changedt   f_ext_as_tau(   RN   t   modelRT   t   f_extRR   t   qdd0RO   t   taut   qdd2t   bodyRa   t   qdd_it   new_qdRU   t   tau0(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyt   exercise_system_modelˆ   sÂ    		   	 	7 F(.
 c       	   C   s|  t  ƒ  t d d ƒ g }  t j d |  ƒ t j d |  ƒ } t | j ƒ  d ƒ sU t ‚ t | j	 ƒ  d g ƒ ss t ‚ t
 j d$ d% g ƒ } t
 j d& d' g ƒ } t
 j d( ƒ } | j d | ƒ } t | d) d* g ƒ sÙ t ‚ | j d | ƒ } t | | ƒ s t ‚ | j d | d | ƒ } t | d+ d, g ƒ s3t ‚ | j d | d | ƒ } t | | ƒ s`t ‚ | j d | d | d | ƒ } t | d- d. g ƒ s™t ‚ | j d | d | d | ƒ } t | | ƒ sÌt ‚ g  | j D]* } | j j d | j d d
 ƒ j ƒ  ^ qÖ} t | d/ d0 g ƒ s!t ‚ g  t | j | ƒ D]0 \ } }	 | j j d | j d |	 d d
 ƒ ^ q4}
 t |
 d1 d2 g ƒ s…t ‚ xP t | j d3 d4 g ƒ D]6 \ } } t | j j d" | ƒ j ƒ  | ƒ sžt ‚ qžWg  } x3 | j D]( } | j j | _ | j | j j ƒ qèW| j ƒ  | j d | d | ƒ } t | d5 d6 g ƒ sQt ‚ | j d | ƒ } t | | ƒ sxt ‚ d  S(7   NR5   i    RN   gQë³caÃ”?g«"ÜdTYõ?gìQ¸…ëÁ?gš™™™™™¹¿g333333Ó?g{®Gáz„¿g{®Gáz„?g¸…ëQ¸®?g)\�Âõ(¼¿g¸…ëQ¸ž?gìQ¸…ë±¿g{®Gáz´?g{®Gáz”?g¤p=
×£À¿g333333Ã?g¤p=
×£Ð?g{®GázÄ¿RO   gÜs1zj!Ä?RP   RQ   gÒœ�	-Í?RR   gº€Š$“ã?R)   RS   g?ÆÜµ„Ð?RT   gÜFx$È¿i   RU   gìQ¸…ë±?(    (   gìQ¸…ëÁ?(   gš™™™™™¹¿g333333Ó?g{®Gáz„¿g{®Gáz„¿g{®Gáz„?g¸…ëQ¸®?(   g)\�Âõ(¼¿g¸…ëQ¸ž?gìQ¸…ë±¿g)\�Âõ(¼¿g¸…ëQ¸®?g{®Gáz´?(   g{®Gáz”?g¤p=
×£À¿g333333Ã?g¤p=
×£Ð?g{®GázÄ¿gìQ¸…ëÁ?(    (   gÜs1zj!Ä?(    (   gÒœ�	-Í?(    (   gº€Š$“ã?(    (   g?ÆÜµ„Ð?(    (   gÜFx$È¿(    (   i   (    (   gìQ¸…ë±?(   R(   RG   R    RV   RW   RX   R   RY   R   RZ   R   R"   R   R[   R\   RN   R0   R]   R)   R^   R_   R`   Ra   R1   Rb   Rc   Rd   Re   (   RN   Rf   RT   Rg   RR   Ri   Rj   Rk   Ra   Rl   Rm   RU   Rn   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyt(   exercise_system_model_with_zero_dof_bodyö   sn    		7F%.
c         C   s6   t  |  ƒ d k s t ‚ t ƒ  t ƒ  t ƒ  d GHd  S(   Ni    t   OK(   t   lenR   R'   Ro   Rp   (   t   args(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyt   run8  s
    t   __main__i   (   t
   __future__R    RW   R    R+   R   R   t   scitbxR3   t   libtbx.test_utilsR   R   t   sysR'   t   objectR(   R:   RD   RG   RK   Ro   Rp   Rt   R8   t   argv(    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/rigid_body/essence/tst_basic.pyt   <module>   s,   				 	n	B	