B
    u9a                 @   sr   d dl Z d dlZd dlZd dlZd dlZd dlZe Zdd Zdd Z	dd Z
dd	 Zd
d Zedkrne  dS )    Nc                s6  t jtd|  }yt|d}W n tk
r   tj  fddt| D }yVz&t|d}t	|| |
  d }W d |ryt | W n tk
r   Y nX X W n0 tk
r } ztd|d| W d d }~X Y nX Y nZX t|}|
  xDtdD ]8}t| }|d | }|d |= |  || ~qW |S )	Nzrr%06drbc                s   g | ]
}  qS  r   ).0i)rr   /usr/lib/python3.7/sortperf.py
<listcomp>   s    zrandfloats.<locals>.<listcomp>wbzcan't write:
   )ospathjointdopenOSErrorrandomrangemarshaldumpcloseunlinkprintload	randrangereverseextend)nfnfpresultmsgr   Ztempr   )r   r   
randfloats   s:    
&



r"   c               C   s   t j  d S )N)sysstdoutflushr   r   r   r   r%   8   s    r%   c             C   s6   t  }|   t  }td||  dd t  d S )Nz%6.2f )end)timeZperf_countersortr   r%   )LZt0Zt1r   r   r   doit;   s
    r+   c       
      C   s  t dd dD }ddt|  }t|d|   x| D ]}d|> }t|}td||f d	d
 t  t| |  t| t| x>tdD ]2}t	|}t	|}|| ||  ||< ||< qW t| |dkrdd tdD |dd < t| x(t|d D ]}t |t	|< q
W t| |dkr`|dd = ||d  }t
tdd |}t| ~t
ttdg| }t| ~|d }	t
t|	d dd}|t|	 t
tt|}t| t  q:W d S )Nc             S   s   g | ]}|d  qS )r)   r   )r   Zchr   r   r   r   U   s    ztabulate.<locals>.<listcomp>z	*\/3+%~=!z%2s %7sz %6s)r   z2**i   z%2d %7dr&   )r'      r   c             S   s   g | ]}t   qS r   )r   )r   dummyr   r   r   r   k   s    id      c             S   s   |   S )Nr   )xr   r   r   <lambda>y       ztabulate.<locals>.<lambda>g         )tuplelenr   r"   r%   r+   r   r   r   r   listmapabsr   float)
r   ZcasesZfmtr   r   r*   r.   Zi1Zi2Zhalfr   r   r   tabulateB   sL    



r<   c              C   s   d} d}t jdd  rtt jd  } }t jdd  rtt jd }t jdd  rd}x&t jdd  D ]}d| t| }qfW t| t| |d }t| d S )N      r,   r4   r-   i )r#   argvinthashr   Zseedr   r<   )Zk1Zk2r1   ar   r   r   r   main   s    	
rC   __main__)r#   r(   r   r   Ztempfiler   Z
gettempdirr   r"   r%   r+   r<   rC   __name__r   r   r   r   <module>   s   'L