
    f_                     ,    d Z ddlmZ d Zd Zd Zd Zy)za
utilities for formatting the datastructures used in pyuca.

Useful mostly for debugging output.
    )unicode_literalsc                 @    | D cg c]  }t        |d       c}S c c}w )zu
    list of hex strings to list of integers

    >>> hexstrings2int(["0000", "0001", "FFFF"])
    [0, 1, 65535]
       )int)
hexstrings	hexstrings     +lib/python3.12/site-packages/pyuca/utils.pyhexstrings2intr
   	   s     1;;9C	2;;;s   c                 \    | D cg c]  }t        dj                  |             c}S c c}w )z}
    list of integers to list of 4-digit hex strings

    >>> int2hexstrings([0, 1, 65535])
    ['0000', '0001', 'FFFF']
    {:04X})strformat)number_listns     r	   int2hexstringsr      s&     .99C"#999s   !)c                 8    | ydj                  d | D              S )z
    format collation element array (list of list of integer weights)

    >>> str(format_collation_elements([[1, 2, 3], [4, 5]]))
    '[0001.0002.0003], [0004.0005]'
    >>> format_collation_elements(None)
    Nz, c              3   \   K   | ]$  }d dj                  t        |            z   dz    & yw)[.]N)joinr   ).0collation_elements     r	   	<genexpr>z,format_collation_elements.<locals>.<genexpr>(   s;      
 * #((01 
s   *,r   )collation_elementss    r	   format_collation_elementsr      s.     !yy 
 .@
 
 	
    c                 2    dj                  d | D              S )z
    format sort key (list of integers) with | level boundaries
    >>> str(format_sort_key([1, 0, 65535]))
    '0001 | FFFF'
     c              3   F   K   | ]  }|rd j                  |      nd  yw)r   |N)r   )r   xs     r	   r   z"format_sort_key.<locals>.<genexpr>5   s%      /0q	c	)s   !r   )sort_keys    r	   format_sort_keyr%   /   s"     88 4<  r   N)__doc__
__future__r   r
   r   r   r%    r   r	   <module>r)      s#   
 (<:
$r   