
    h                     D    S SK Jr  S SKrS SKJr  S rS rS rS SKrS r	g)    )divisionN)PreshCounterc                     [        5       n U S   S:X  d   eU R                  SS5        U S   S:X  d   eU R                  SS5        U R                  SS5        U R                  SS5        U S   S:X  d   eU S   S:X  d   eU S   S:X  d   eg )	N   r         
   	         )r   inccounters    T/home/james-whalen/.local/lib/python3.13/site-packages/preshed/tests/test_counter.py
test_countr      s    nG2;!KKA2;!KKBKK2KKA2;!2;"1:    c                     [        5       n U R                  S5      S:X  d   eU R                  SS5        U R                  S5      S:X  d   eU R                  SS5        U R                  S5      S:X  d   eU R                  S5      S:X  d   eg )	Nr           r         ?r   r	   g]tE?gF]tE?)r   probr   r   s    r   test_unsmooth_probr      s    nG<<s"""KKA<<s"""KKB<<w&&&<<x'''r   c                     [        5       n [        S5       H  nU R                  SU-
  S5        M     [        S5       H  nU R                  SU-
  S5        M     [        S5       H  nU R                  SU-
  S	5        M     [        S5       H  nU R                  S
U-
  S5        M     [        S5       H  nU R                  SU-
  S5        M     U R                  S:X  d   eU R	                  S5      SU R                  -  :X  d   eU R	                  S5      S:X  d   eU R	                  S5      SU R                  -  :X  d   eU R                  5         U R                  S5      S:  d   eU R                  S5      S:  d   eU R	                  S5      U R	                  S5      :  d   e[        [        U S S95       H  u  p#U R                  U5      U:  a  M   e   g )Nr	   d   r      Z      r   P      F   r   <      4   r      r   g       @i  c                     U S   $ )Nr    )its    r   <lambda>"test_smooth_prob.<locals>.<lambda>;   s    "Q%r   )key)	r   ranger   totalr   smoothsmootherreversedsorted)pieventcounts       r   test_smooth_probr4      s   A 2Y	c!eQ 1X	b1fa 1X	b1fa 1X	b1fa 1X	b1fa  77FFFF66#;#-'''66#;#66":qww&&&HHJ::a=3::a=366$<!&&+%%% /?!@Azz% 5((( Br   c                  8   S[         R                  ;   a  [         R                  S   n Og [        5       n[        [	        U 5      5       HO  u  p#UR                  5       nU(       d  M  [        UR                  5       S   5      nUR                  US-   U5        MQ     WS-   nUR                  U5      S:X  d   eUR                  S5      S:  d   eUR                  5         UR                  U5      S:  d   eUR                  U5      UR                  U5      :  d   eg )NTEST_FILE_LOCr   r   r   r   g?)osenvironr   	enumerateopenstripintsplitr   r   r,   )loccountsr1   linefreqoovs         r   test_large_freqsrC   @   s    "**$jj)^FT#Y'zz|4::<?#

1Q3 ( A#C;;ss""";;q>C
MMO;;sa;;sfkk!n,,,r   )

__future__r   pytestpreshed.counterr   r   r   r4   r7   rC   r%   r   r   <module>rG      s(      (
()D 
-r   