18 lines
391 B
Python
18 lines
391 B
Python
|
|
from typing import Any
|
||
|
|
from bcrypt.lib.math import clamp_min
|
||
|
|
|
||
|
|
'''
|
||
|
|
Apply left padding to str(x) for parameter x: Any
|
||
|
|
'''
|
||
|
|
def lpad(x: Any, n: int, pad: chr = ' ') -> str:
|
||
|
|
x = str(x)
|
||
|
|
width = clamp_min(n - len(x), 0)
|
||
|
|
return width * pad + x
|
||
|
|
|
||
|
|
'''
|
||
|
|
Left pad an integer's binary representation with zeros
|
||
|
|
'''
|
||
|
|
def lpadbin(x: int, n: int) -> str:
|
||
|
|
return lpad(bin(x)[2:], n, pad='0')
|
||
|
|
|