
    BThJ                         d dl Z d dlZd dlmZ ddlmZ ddlmZ ej                  dd dkD  rdnd	Zej                  dd dkD  rd
ndZ	 G d d      Z
d Zy)    N)isinf   )report_online_progress)report_progress   )r      z{0:,.4f}z{0:.4f}z{0:>{1},.4f}{2:<{3}}z{0:>{1}.4f}{2:<{3}}c                       e Zd Zd ZefdZy)TableResultsc                 X    || _         || _        || _        || _        || _        || _        y N)columnssort	histogramname_formatlogger
scale_unit)selfr   r   r   r   r   r   s          h/var/www/catia.catastroantioquia-mas.com/valormas/lib/python3.12/site-packages/pytest_benchmark/table.py__init__zTableResults.__init__   s-    	"&$    c                 Z   |j                  d       t        ||d        |||d      D ]  \  }\  }}t        |t        j                  | j
                              }|D ]  }| j                  |      |d<    i }i }	t        |      dk(  }
 |d|d|	      D ]  \  }d
k(  rCt        fd |||d|	      D              |<   t        fd |||d|	      D              |	<   Nt        fd |||d|	      D              |<   t        fd |||d|	      D              |	<     |d|d|	      D ]&  \  }t        fd |||d|	      D              |<   ( | j                  d||	|| j
                        \  }| j                  d||	|| j
                        \  }}d| dddddddddd|rd | d!nd"d#d$t        t        d         t        d% |D                    z   d&t        t        d'         t        t        |d'                     z   d&t        t        d(         t        t        |d(                     z   d&t        t        d)         t        t        |d)                     z   d&t        t        d
         t        t        j                  |	d
   |z                    z   d*d+D ]3  d&t        t                 t        fd,|D                    z   <   5 |
rd-nd.d   j                  d         dj                  fd/| j                   D              z   }t        ||d       |j                  d0j                  t        |      |dnd1|2      j#                  t        |      d3      d45       |j                  |       |j                  d3t        |      z  d45       |D ]  }|j%                  d6      }|j'                  |d   j                  d         ||7       | j                   D ](  d+v rz|j'                  t(        j                  |   z     t+        |	   |               |
 xr |   |	j%                        k(  |
 xr |   |j%                        k(  d48       d
k(  r{|j'                  t(        j                  |   |z     t+        |	   |               |
 xr |   |	j%                        k(  |
 xr |   |j%                        k(  d48       |j'                  d9j                  |                   + |j'                  d:        |j                  d3t        |      z  d45       |j                  d       | j,                  sZdd;lm} t        |      d<kD  r$| j0                  j3                  d=|d>       |d d< } || j,                  |||      }| j0                  j5                  d?| d4@        |j                  dA       |j                  dB       |j                  dC       y )DN zComputing stats ...z'Computing stats ... group {pos}/{total})keynamer   )minmaxmeanmedianiqrstddevopsz{line}: {value})liner!   c              3   .   K   | ]  \  }}|     y wr    .0_benchprops      r   	<genexpr>z'TableResults.display.<locals>.<genexpr>$          &KhaeDk  &K   z{line} ({pos}/{total})c              3   .   K   | ]  \  }}|     y wr   r$   r%   s      r   r*   z'TableResults.display.<locals>.<genexpr>%          %JXQU4[  %Jr,   c              3   .   K   | ]  \  }}|     y wr   r$   r%   s      r   r*   z'TableResults.display.<locals>.<genexpr>'   r+   r,   c              3   .   K   | ]  \  }}|     y wr   r$   r%   s      r   r*   z'TableResults.display.<locals>.<genexpr>(   r.   r,   outliersrounds
iterationsc              3   .   K   | ]  \  }}|     y wr   r$   )r&   r'   	benchmarkr)   s      r   r*   z'TableResults.display.<locals>.<genexpr>*   s      "(49IdO"r,   seconds)unit
benchmarksbestworstr   
operationszName (time in zs)MinMaxMeanStdDevRounds
IterationsIQRMedianOutlierszOPS (zops/s)OPS)r   r   r   r   r    r3   r4   r   r   r2   r!      c              3   8   K   | ]  }t        |d            yw)r   N)len)r&   r6   s     r   r*   z'TableResults.display.<locals>.<genexpr>>   s     8lT]Yv=N9O8ls   r   r3   r4   r2   )r   r3   r4   r2   r!   )r   r   r   r    r   r   c              3   f   K   | ](  }t        t        j                  |   z               * y wr   )rI   
NUMBER_FMTformat)r&   r(   
adjustmentr)   s     r   r*   z'TableResults.display.<locals>.<genexpr>E   s5       >Hsxc*BSBSTYZ^T_blTlBm>n  >Hs   .1r   
   c              3   d   K   | ]'  }|   j                  |         |d vrdz  ndz    ) yw)r1    r   N)rjust)r&   r)   labelsrpaddingwidthss     r   r*   z'TableResults.display.<locals>.<genexpr>H   sB      I t""6$<0dRvFvC(N|~Is   -0z  benchmark{name}: {count} tests rP   )countr   -T)yellow	has_error)redinvert)greenrY   boldz{0:>{1}}
)make_histogramK   zGroup z6 has too many benchmarks. Only plotting 50 benchmarks.zGenerated histogram: )r\   zLegend:zm  Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile.z2  OPS: Operations Per Second, computed as 1 / Mean)
write_liner   sortedoperator
itemgetterr   r   rI   r   r   r   strrK   rL   ljustjoinr   centergetwriteALIGNED_NUMBER_FMTcompute_baseline_scaler   r^   r   warninginfo)r   trgroupsprogress_reporterr"   groupr9   r(   r;   r:   sololine1r8   ops_unitops_adjustmentlabels_linerX   r^   output_filerM   rR   r)   rS   rT   s                      @@@@@r   displayzTableResults.display   s   
b0"6KL):62Gp)q f	S%D%5*
0C0CDII0NOJ# 8 $ 0 0 7f8 EDz?a'D0H"N_fj  Jt 5="%  &KBST^`bd|  DI  CJ  &K  #KE$K!$  %JARS]_ac{  CH  BI  %J  "JDJ"%  &KBST^`bd|  DI  CJ  &K  #KE$K!$  %JARS]_ac{  CH  BI  %J  "JDJJ  11UWY[lswx t! "8I*VXZry~8" d
  $I*[_glsws|s|}D*'+LU_fjrw  C  H  H  (I$Hn(b1""*"&3;xj/F CF6N 3S8lak8l5lmmc#fX&6"7Sx=Q9RSS#c&*>&?S|I\E]A^"__Cz(:$;SU:EVAW=X YY3s6%=13z7H7HeWeIe7f3ghhF H I 3s6$<'8#  >H  }G  >H  ;H  $I   ItI !qbH ...vf~> I LLI B K ##4b"=MM299j/$}AeY- :  &[)3/   MM+&MM#K 00M># !IIk2	v,,VF^<)T]^ LL ODPP.55 %dj 8&,H^_cdh_ikpqukv  yA  IB  DL '+("LuT{dhhtn/L$( KU4[EIIdO-K!% !  .55 %dn < &t 6tDz5;PX Y (	 '+("LuT{dhhtn/L$( KU4[EIIdO-K!% ! 
 !2!25;t!MN/O0 78 MM#K 00M>MM"~~5z?R'KK''&	9o(pq!+CRJ,T^^UJPTV`a  #8!FT RMf	SP 	i 
  I  	J
JKr   N)__name__
__module____qualname__r   r   rx   r$   r   r   r
   r
      s    % 5D mLr   r
   c                     |sy|| k(  rdj                  |      S | rt        || z        n
t        d      }|dkD  r-t        |      rdj                  |      S dj                  |      S d|dd	j                  |      S )
Nr   z (1.0)infi  z (inf)z
 (>1000.0)z (z.2f))re   absfloatr   )baselinevaluewidthscales       r   rk   rk      s    ~~e$$%-C !5<Et|<>>%((%%e,,E#;a &&u--r   )rb   sysmathr   utilsr   r   version_inforK   rj   r
   rk   r$   r   r   <module>r      sa     
  ) "++BQ/&8Zi
/2/?/?/Cf/L+Rg vL vLr.r   