Skip to content

Commit 6f2a256

Browse files
committed
feat: add comments with visual separation + minor comments fixes
1 parent 11287ae commit 6f2a256

1 file changed

Lines changed: 19 additions & 5 deletions

File tree

pycustomrand/random_generator.py

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,13 @@ class PseudoRandom:
77
# Переменная класса для хранения seed генератора псевдослучайных чисел
88
_seed = None
99

10+
11+
# -------------------- Основные функции генерации случайных чисел --------------------
12+
1013
@classmethod
11-
def set_seed(cls, seed=None) -> None:
14+
def set_seed(cls, seed: Any = None) -> None:
1215
"""
13-
Установка нового значения seed для генератора псевдослучайных чисел.
16+
Установка нового значения seed.
1417
1518
seed - любой объект, который можно преобразовать в строку.
1619
"""
@@ -19,9 +22,8 @@ def set_seed(cls, seed=None) -> None:
1922

2023
@staticmethod
2124
def _get_next_seed_state(current_seed: int) -> int:
22-
"""
23-
Вспомогательная функция - меняет состояние зерна.
24-
Используется линейный конгруэнтный метод для сильного изменения зерна на каждом шаге.
25+
"""
26+
Вспомогательная функция - меняет состояние зерна с помощью линейного конгруэнтного метода.
2527
(Константы взяты из Borland C/C++ runtime library.)
2628
"""
2729
return (current_seed * 22695477 + 1) & 0xFFFFFFFF
@@ -62,11 +64,17 @@ def random() -> float:
6264
raw_str = str(raw_int).zfill(16)
6365
return float("0." + raw_str)
6466

67+
68+
# -------------------- Числовые функции --------------------
69+
6570
@staticmethod
6671
def random_from_range(start: int, end: int) -> int:
6772
"""Возвращает случайно выбранный элемент из диапазона [start, end]."""
6873
return true_round((end - start) * (PseudoRandom.random()) + start)
6974

75+
76+
# -------------------- Функции для чисел с плавающей точкой --------------------
77+
7078
@staticmethod
7179
def random_from_float_range(start: int | float, end: int | float) -> float:
7280
"""
@@ -76,11 +84,17 @@ def random_from_float_range(start: int | float, end: int | float) -> float:
7684
"""
7785
return ((end-start) * (PseudoRandom.random()) + start)
7886

87+
88+
# -------------------- Байтовые функции --------------------
89+
7990
@staticmethod
8091
def random_bytes(count: int) -> bytes:
8192
"""Возвращает случайные байты в количестве count."""
8293
return bytes([PseudoRandom.random_from_range(0, 255) for _ in range(count)])
8394

95+
96+
# -------------------- Функции для последовательностей --------------------
97+
8498
@staticmethod
8599
def choice(array: list[Any]) -> Any:
86100
"""Возвращает случайно выбранный элемент из массива."""

0 commit comments

Comments
 (0)