ó
U™xTc           @   s¯   d  d l  m Z d  d l m Z d  d l m Z d  d l Z d  d l Z d  d l m	 Z	 d  d l
 Z
 d  d l Z e d „ Z d d d	 „ Z e d
 k r« e e j d ƒ n  d S(   iÿÿÿÿ(   t   division(   t   fftpack(   t   flexN(   t   time_logc         C   sÂ  |  d k r |  t  j _ n  d Gt  j j GHt  j j d k } d G| GH| r] d d d f } n d d d f } t j | ƒ } d
 G| j ƒ  GHt d d d | ƒ } t d d d | ƒ } t d d d | ƒ } | j GHt j	 j
 ƒ  xÝ t | ƒ D]Ï }	 | j ƒ  t j d t j | j ƒ  ƒ ƒ }
 | j ƒ  GHt j	 j
 ƒ  | j ƒ  x0 t d |
 j ƒ  d ƒ D] } t j ƒ  |
 | <qWW| j ƒ  GHt j	 j
 ƒ  | j ƒ  | j |
 ƒ }
 | j ƒ  GHt j	 j
 ƒ  që Wd  S(   Ni    s   working omptbx.env.num_threads:i   s   use_wall_clock:i   i   i   i   i   s   rfft.m_real():t   labelt   mapt   use_wall_clockt   fillt   fftt	   flex_gridia   i   i   i   i   i   iÒ   i   i<   i¤  i   i<   i,  (   t   omptbxt   envt   num_threadsR   t   real_to_complex_3dt   m_realR   t   legendt   syst   stdoutt   flusht   xranget   startt   zeros_parallel_doubleR   t   gridt   logt   sizet   randomt   forward(   R   t   n_iterationst   quickR   t   dimst   rfftt   t_mapt   t_fillt   t_fftt   i_iterationR   t   i(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/fftpack/boost_python/timings.pyt
   one_series
   s:    	
!

i    i   c         C   sT  t  j j ƒ  } t } g  } x0 |  D]( } | d k r= t } q" | j | ƒ q" W| }  t |  ƒ d k sr t d ƒ ‚ t |  ƒ d k r¼ t |  d ƒ } t |  ƒ d k r¼ t |  d ƒ } q¼ n  t	 j
 j } d G| GH| d k r| d k rõ d G| GHn  t d | d	 | d
 | ƒ n8 x5 t d | d ƒ D]  } t d | d	 | d
 | ƒ Hq%W| ƒ  d  S(   Ns   --quicki   s'   [--quick] [num_threads, [n_iterations]]i    i   s   default omptbx.env.num_threads:s   num_threads from command line:R   R   R   (   t   libtbxt   utilst
   show_timest   Falset   Truet   appendt   lent   AssertionErrort   intR
   R   R   R$   R   (   t   argsR   R   R'   R   t   restt   argt   default_num_threads(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/fftpack/boost_python/timings.pyt   run,   s2    		t   __main__i   (   t
   __future__R    t   scitbxR   t   scitbx.array_familyR   R
   t   libtbx.utilsR%   R   R   R   R(   R$   R2   t   __name__t   argv(    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/fftpack/boost_python/timings.pyt   <module>   s   "