ó
BxTc           @   sX   d  d l  m Z d  d l m Z d Z d Z d   Z d e f d     YZ d   Z	 d	 S(
   i˙˙˙˙(   t   division(   t   matrixs  
N
100/110/00m
N
110/010/00m
N
100/1m0/001
110/100/00m
N
100/0m0/101
N
100/010/10m
N
100/0m0/101
N
100/0m0/101
N
100/0m0/101
N
100/1m0/001
N
100/110/00m
N
100/0m0/0mm
100/0m0/101
N
100/110/00m
N
100/0mm/00m
100/110/00m
N
100/0m0/0mm
N
100/0mm/00m
N
100/010/mmm
N
100/mmm/001
N
100/010/01m
100/0mm/0m0
N
100/mmm/010
100/010/mmm
N
100/010/01m
100/0mm/0m0
100/110/111
100/110/00m
N
100/010/01m
N
100/010/mmm
N
100/010/01m
100/110/111
100/110/00m
N
100/110/00m
N
100/0m0/0mm
N
100/0m0/101
N
100/0m0/101
N
100/110/00m
s  
01:a=b<=c|a<b=c:q,q,a
02:a=b<=c:q/2,q,a
03:a=b<=c:q-p/2,q,a
04:a<=b<c:q,a,q
05:q<a=b<c|a<b<c:q-p/2,a,q
06:a=b<c:q,a,q/2
07:a=b<c:q,a,p/2
08:a=b<c:q,a,q-p/2
09:a<b=c|q<a<b<c:q-p/2,q,a
10:a<b<=c:b+m*(p-q),p,a
11:q=a<b=c|a<b<c:b,a,q
12:a<b=c:n*p+q,q,a
13:a<b=c:b,a/2,a
14:q<a<b=c:b,q,q
15:q<a<b=c:b,q/2,q
16:q<a<b=c:-b+a-2*q/3,-a+q/3,-a+q/3
17:q<a<b=c:-b+a/2-q/6,-a/2-q/6,-a+q/3
18:q<a<b=c:b,q-p/2,q
19:q<a<b=c:-b+a-p/6-q/2,-a-p/6+q/2,-a+p/3
20:q<a<b=c:b,a-q/2,a
21:q<a<b<c:b,q-p/2,q
22:q<a<b<c:-b+a+p/2-q,-a+p/2,-a-p+q
23:q<a<b<c:b,a-q/2,a
24:a<b<c:b,a/2,a
25:a<b<c:b,a+p-q,p
26:a<b<c:n*p+q,a,q
27:a<b<c:b+m*(p-q),a,p
28:a<b<c:b+p-m*q,a+p-q,a
c          C   s|  i  }  d } g  } xGt  j   D]9} | d k rZ | rD | |  | <n  | d 7} g  } q n  | d d k sp t  | d d k s t  g  } xw | j d d  D]c } | d k rÁ | j d  q | d	 k rÝ | j d  q | d
 k rů | j d  q t d  q Wt j |  } t | j	    d k sKt | | j
 | j	   f   | j |  q W| d k snt  | |  | <|  S(   Ni    t   Ni   i   t   /i   t    t   0t   1t   mi˙˙˙˙s   Corrupt internal table.i   (   t   raw_mk2t   splitt   AssertionErrort   replacet   appendt   RuntimeErrorR   t   sqrt   abst   determinantt   elems(   t   setst   kt   sett   lineR   t   e(    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/uctbx/gruber_1973_table_1.pyt   get_mk2_setsh   s6     
   6
t   type_conditionsc           B   s   e  Z d    Z RS(   c         C   s   | |  _  | |  _ d  S(   N(   t   ck_typest   defks(   t   selfR   R   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/uctbx/gruber_1973_table_1.pyt   __init__   s    	(   t   __name__t
   __module__R   (    (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/uctbx/gruber_1973_table_1.pyR      s   c          C   s   i  }  d } xj t  j   D]\ } | d 7} | j d  \ } } } t |  | k sY t  t | j d  |  |  | <q W| d k s t  |  S(   Ni    i   t   :t   |i   (   t   raw_type_conditionsR	   t   intR
   R   (   t   resultR   R   t   k_ctrlt   cksR   (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/uctbx/gruber_1973_table_1.pyt   get_type_conditions   s    
 N(
   t
   __future__R    t   scitbxR   R   R!   R   t   objectR   R&   (    (    (    sM   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/uctbx/gruber_1973_table_1.pyt   <module>   s   E	