ó
m™xTc           @   s}   d  d l  m Z d  d l Z d d d e d „ Z d d d e d	 d d
 „ Z d „  Z d „  Z e	 d k ry e ƒ  d GHn  d S(   iÿÿÿÿ(   t   divisionNi
   iP   i   c         C   s    | d d k r% |  d | d IJn  | d | d k rN |  d | d In  | d | d k ry |  d I|  j  ƒ  n  | rœ |  J|  J|  d | IJ|  Jn  d  S(   Ni   i    t    s   Starting searchs   
t   .s       Done after %s iterations(   t   flush(   t   outt   iit	   n_monitort   widtht   offsett   is_final(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/golden_section_search.pyt   print_progress_dots   s    
gH¯¼šò×z>iè  i   c	         C   s  | d  k r t j } n  d }	 |	 | d |	 | }
 |  |
 ƒ } d |	 | |	 | } |  | ƒ } x:t d | d ƒ D]%} | r¡ t | | | d d d | ƒn  | | k  rä | } |
 } | } |	 | d |	 | }
 |  |
 ƒ } n4 |
 } | }
 | } d |	 | |	 | } |  | ƒ } t | | ƒ | k  rv | | k  ri| ret | | | d d d | d t ƒn  |
 S| r”t | | | d d d | d t ƒn  | Sqv qv W| | k  rÚ| rÖt | | | d d d | d t ƒn  |
 S| rt | | | d d d | d t ƒn  | Sd  S(   Ngí/7ïÆã?i   i   R   i(   R   R	   (   t   Nonet   syst   stdoutt   rangeR
   t   abst   True(   t   ft   at   bt   epst   NR   t   monitor_progressR   R   t   ct   x1t   fx1t   x2t   fx2t   i(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/golden_section_search.pyt   gss   sH     % % % %c         C   s   |  d d } | S(   Ng      @g       @(    (   t   xt   y(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/golden_section_search.pyt   function;   s    c          C   s2   t  t d d ƒ }  t |  d ƒ d k  s. t ‚ d  S(   Niöÿÿÿi
   g      @g-Cëâ6?(   R   R    R   t   AssertionError(   t   opti(    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/golden_section_search.pyt   tst_it?   s    t   __main__t   OK(
   t
   __future__R    R   t   FalseR
   R   R   R    R#   t   __name__(    (    (    sJ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/golden_section_search.pyt   <module>   s   '		