|
8 | 8 |
|
9 | 9 | </div> |
10 | 10 |
|
11 | | -**PyCustomRand** — это Python-библиотека для генерации **псевдослучайных чисел**, основанная на алгоритме, использующем системное время с наносекундной точностью и линейный конгруэнтный метод. |
| 11 | +**PyCustomRand** — это Python-библиотека для генерации **псевдослучайных чисел**, основанная на алгоритме, использующем системное время с наносекундной точностью. |
12 | 12 |
|
13 | | -Этот авторский проект создан для изучения алгоритмов и альтернативных подходов к генерации случайных чисел и их округлении. |
| 13 | +Данный авторский проект создан для изучения алгоритмов и альтернативных подходов к генерации случайных чисел и их округлении. |
14 | 14 | Меня не устраивало, что модуль `random` в Python генерирует недостаточно случайные числа ( *особенно при нескольких последовательных генерациях* ), а встроенный в Python модуль `round` довольно "грубо" округляет числа ( *`round(1.5)` = 2 и в то же время `round(2.5)` = 2* ), поэтому я решил написать *свою* библиотеку для генерации псевдослучайных чисел — более простую и с наибольшей энтропией. |
15 | 15 |
|
16 | 16 | > [!WARNING] |
17 | 17 | > PyCustomRand **не является** криптографически стойкой библиотекой и **не предназначена** для использования в системах безопасности! |
18 | 18 | > Используйте [secrets](https://docs.python.org/3/library/secrets.html#module-secrets) модуль. |
19 | 19 |
|
20 | 20 | ## ✨ Основные возможности библиотеки |
21 | | -* 🕰 Собственная реализация генератора псевдослучайных чисел: уникальный алгоритм, использующий системное время с точностью до наносекунд + линейный конгруэнтный метод. |
| 21 | +* 🕰 Собственная реализация генератора псевдослучайных чисел (PRNG): уникальный алгоритм, использующий системное время с точностью до наносекунд + линейный конгруэнтный метод (LCG). |
22 | 22 | * 🎯 Наличие честного округления (`true_round`): функция округляет числа привычным математическим способом (0.5 всегда вверх по модулю), а также исправляет погрешности плавающей точки (например, "проблему 2.675"). |
23 | 23 | * 🔢 Имеется полный набор функций для работы с числами и последовательностями, основанных на [оригинальной](https://docs.python.org/3/library/random.html) Python-библиотеке: |
24 | 24 | * Генерация целых чисел (`random_integer`, `randrange`, `gen_random_number`). |
|
29 | 29 | * 📦 Zero-Dependency: библиотека написана на чистом Python и не требует установки сторонних зависимостей. Работает везде, где есть Python. |
30 | 30 | * ✅ Надёжность: код покрыт unit-тестами, а встроенный модуль диагностики (`check_distribution`) позволяет в любой момент проверить равномерность распределения генератора. |
31 | 31 |
|
32 | | -## Установка |
33 | | -Библиотека поддерживает установку через `pip`: |
| 32 | +## 📦 Установка |
| 33 | +Установка библиотеки происходит через стандартный менеджер пакетов для Python: |
34 | 34 | ```bash |
35 | 35 | pip install pycustomrand |
36 | 36 | ``` |
37 | 37 |
|
38 | | -Альтернативный (старый) способ (клонирование репозитория): |
39 | | -```bash |
40 | | -git clone https://github.com/n1xsi/PyCustomRand.git |
41 | | -``` |
| 38 | +<details> |
| 39 | + <summary>Альтернативные способы</summary> |
| 40 | + |
| 41 | + <br> |
| 42 | + |
| 43 | + * Клонирование репозитория: |
| 44 | + ```bash |
| 45 | + git clone https://github.com/n1xsi/PyCustomRand.git |
| 46 | + ``` |
| 47 | + |
| 48 | + * Скачивание пакета напрямую в разделе *Releases*: |
| 49 | + https://github.com/n1xsi/PyCustomRand/releases |
| 50 | +</details> |
42 | 51 |
|
43 | 52 | ## Пример использования |
44 | 53 | ```python |
|
0 commit comments