ó
ì™xTc           @   sø  d  d l  m Z d „  Z d „  Z d d „ Z d d „ Z e d k rôd GHi  Z x‘ e d ƒ D]ƒ \ Z	 Z
 e	 Ge
 GHe j e	 g  ƒ e
 e e	 k s™ t ‚ e e	 j e
 ƒ e j e
 g  ƒ e	 e e
 k sÐ t ‚ e e
 j e	 ƒ q^ We GHx@ e D]8 Z e e e ƒ d	 k st ‚ e e e k sñ t ‚ qñ Wd
 GHx9 e e d d d ƒƒ D] \ Z \ Z	 Z
 e Ge	 Ge
 GHqKWe d k s€t ‚ d GHe d ƒ Z x# e e ƒ D] \ Z	 Z
 e	 Ge
 GHqžWd GHx- e e d e d ƒD] \ Z	 Z
 e	 Ge
 GHqÓWd
 GHn  d S(   iÿÿÿÿ(   t   divisionc         C   s   |  d @r t  p t S(   Ni   (   t   Truet   False(   t   n(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/queuing_system_utils/looping.pyt   isodd   s    c         C   s    t  |  ƒ t  | ƒ k r t St S(   N(   R   R   R   (   R   t   m(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/queuing_system_utils/looping.pyt   both_same_odd_or_even   s    c         c   sÆ   x¿ t  |  ƒ D]± } | d  k	 r1 | | k r1 q n  xz t  |  ƒ D]l } | | k rp t | d | d ƒ r> qŸ q> n/ | | k  r> t | d | d ƒ s> qŸ q> n q> | | f Vq> W| | k r Pq q Wd  S(   Ni   (   t   ranget   NoneR   (   R   t   onlyt   it   j(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/queuing_system_utils/looping.pyt   generate_balanaced_list
   s       c         c   s”   | d  k	 rT | |  k s t ‚ x* t |  ƒ D] \ } } | | k r+ Pq+ q+ W| } n  x9 t t |  ƒ d | ƒD] \ } } |  | |  | f Vqm Wd  S(   NR	   (   R   t   AssertionErrort	   enumerateR   t   len(   t   lR	   R
   t   itemR   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/queuing_system_utils/looping.pyt!   generate_balanaced_list_from_list   s     	%t   __main__s   test generate_balanaced_listi   i   t   OKR	   i    i   s&   test generate_balanaced_list_from_listt   abcdeft   -i
   i   Ns
   ----------(   t
   __future__R    R   R   R   R   R   t   __name__t   pairsR
   R   t
   setdefaultR   t   appendt   keyR   R   t   kt   listR   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/queuing_system_utils/looping.pyt   <module>   s>   				+#