ó
-xTc           @   sz   d  d l  m Z d  d l Z d d d d g Z d e f d     YZ x e D] Z d	 e d UqK W[ d d
 e d  Z	 d S(   i’’’’(   t   divisionNt   from_scatterers_directt   from_scatterers_fftt   gradients_directt   gradients_fftt   calls_and_accumulated_timec           B   s   e  Z d    Z d   Z RS(   c         C   s   d |  _  d |  _ d  S(   Ni    (   t   callst   time(   t   self(    (    sZ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/xray/structure_factors/global_counters.pyt   __init__   s    	c         C   s"   |  j  d 7_  |  j | 7_ d  S(   Ni   (   R   R   (   R   R   (    (    sZ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/xray/structure_factors/global_counters.pyt   process   s    (   t   __name__t
   __module__R	   R
   (    (    (    sZ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/xray/structure_factors/global_counters.pyR   
   s   	s!   %s = calls_and_accumulated_time()t    c         C   sK  |  d  k r t j }  n  t   } g  g  t D] } | | j ^ q+ D] } d | ^ qB } g  g  t D] } | | j ^ qb D] } d | ^ qy } d t g  | D] }	 t |	  ^ q  t g  | D] }	 t |	  ^ q¾  f }
 xg t	 t | |  D]S \ } } } | r| d k rqš n  |  | |
 | d | | f j
 d d  IJqš Wd  S(   Ns   %ds   %.2fs   %%-23s %%%ds calls, %%%ds st   0t   :s	    1 calls,s	    1 call, (   t   Nonet   syst   stdoutt   globalst   itemsR   R   t   maxt   lent   zipt   replace(   t   outt   prefixt   show_zero_callst   gt   itemt   cR   t   tt   timest   st   fmtt   i(    (    sZ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/xray/structure_factors/global_counters.pyt   show   s     	77")" (
   t
   __future__R    R   R   t   objectR   R   R   t   FalseR$   (    (    (    sZ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/xray/structure_factors/global_counters.pyt   <module>   s   	
