o
    GXh                     @   sx   	 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r:e  dS dS )    Nc                    sl  	 t jtd|  }zt|d}W nx ty   tj  fddt| D }zGz&t|d}t	|| |
  d }W |rMzt | W n" tyL   Y nw n|razt | W w  ty`   Y w w w W Y |S W Y |S W Y |S  ty } ztd|d| W Y d }~Y |S d }~ww w t|}|
  tdD ]}t| }|d | }|d |= |  || ~q|S )	Nzrr%06drbc                    s   g | ]}  qS  r   ).0irr   7/opt/python-3.10.19/usr/lib/python3.10/test/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)timeperf_countersortr   r'   )Lt0t1r   r   r   doit;   s
   
r1   c           
      C   s  	 t dd dD }ddt|  }t|d|   | D ]}d|> }t|}td||f d	d
 t  t| |  t| t| tdD ]}t	|}t	|}|| || ||< ||< qGt| |dkrvdd tdD |dd < t| t|d D ]}t |t	|< qt| |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d S )Nc                 S   s   g | ]}|d  qS )r-   r   )r   Zchr   r   r   r	   U       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   r2   id      c                 S   s   |   S r$   r   )xr   r   r   <lambda>y   s    ztabulate.<locals>.<lambda>g         )tuplelenr   r#   r'   r1   r   r   r   r   listmapabsr   float)
r   casesfmtr   r   r.   r5   Zi1Zi2Zhalfr   r   r   tabulateB   sP   


rD   c                  C   s   	 d} d}t jdd  rCtt jd  } }t jdd  rCtt jd }t jdd  rCd}t jdd  D ]
}d| t| }q3t| t| |d }t| d S )N      r3   r:   r4   i )r%   argvinthashr   seedr   rD   )Zk1Zk2r8   ar   r   r   r   main   s   
rL   __main__)r%   r+   r   r   tempfiler   
gettempdirr   r#   r'   r1   rD   rL   __name__r   r   r   r   <module>   s     'L
