ó
]™xTc           @   s<   d  d l  m Z d „  Z d „  Z e d k r8 e ƒ  n  d S(   iÿÿÿÿ(   t   divisionc         C   s$  |  d k  r- t  |  | ƒ \ } } | | f S| | } | | d f | d | f } } xÅ t r| d | d | d | d f } |  | d | d k rº | | d k  r± | S| } q[ |  | d | d k r| | d k ræ | S| d | d k  rþ | S| S| | d k  r| S| } q[ Wd S(   s¦   
    determine closest fraction for floating point value v
    such that lim is the maximum denominator
    the function returns a (numerator, denominator) tuple
    i    i   N(   t   fareyt   True(   t   vt   limt   nt   dt   zt   lowert   uppert   mediant(    (    s?   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/math/farey.pyR      s(    
!	$	c          C   sÄ   d d  l  }  t |  j d ƒ \ } } | d k s6 t ‚ | d k sH t ‚ t |  j d ƒ \ } } | d k sr t ‚ | d k s„ t ‚ t |  j d ƒ \ } } | d	 k s® t ‚ | d
 k sÀ t ‚ d  S(   Niÿÿÿÿid   i   i   iè  ic  iq   i † iqÅ iÌ„ (   t   mathR   t   pit   AssertionError(   t   smathR   R   (    (    s?   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/math/farey.pyt   tst%   s    t   __main__N(   t
   __future__R    R   R   t   __name__(    (    (    s?   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/math/farey.pyt   <module>   s   		