implement customer models

This commit is contained in:
2024-07-07 15:17:24 -05:00
parent 06a0076105
commit 08bfd08b4a
2 changed files with 84 additions and 0 deletions

25
src/utils.py Normal file
View File

@@ -0,0 +1,25 @@
import secrets
def random_number_in_range(min_val: int, max_val: int) -> int:
""" originally secure_rand """
return min_val + secrets.randbelow(max_val - min_val + 1)
def random_number_in_range_excluding(min_val: int, max_val: int, exclude: list[int]) -> int:
""" originally secure_rand """
return min_val + secrets.randbelow(max_val - min_val + 1)
def generate_random_list(list_len: int, min_val: int = 0, max_val: int = 255) -> list[int]:
return [random_number_in_range(min_val, max_val) for _ in range(list_len)]
def generate_random_matrix(rows: int, cols: int, min_val: int = 0, max_val: int = 255) -> list[list[int]]:
return [[random_number_in_range(min_val, max_val) for _ in range(rows)] for _ in range(cols)]
def xor_lists(l1: list[int], l2: list[int]):
assert len(l1) == len(l2)
return [l2[i] ^ l1[i] for i in range(len(l1))]