Readme improvement
This commit is contained in:
39
README.md
39
README.md
@@ -1,3 +1,40 @@
|
||||
# cmc-pseudo-polynomials
|
||||
|
||||
Курсовой проект за первый курс магистратуры ВМК МГУ
|
||||
Курсовой проект за первый курс магистратуры ВМК МГУ
|
||||
|
||||
## Сборка
|
||||
Требуется cmake и компилятор C++ с поддержкой C++14.
|
||||
Если это не gcc, возможно, потребуется поправить CMakeLists.txt.
|
||||
|
||||
Команды для сборки могут быть такими:
|
||||
```
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
```
|
||||
|
||||
Количество аргументов у функции изменяются в коде через изменение `ARGS_COUNT` в файле `main.cpp`.
|
||||
Поддерживаются значения от 2 до 5.
|
||||
Также может быть полезно отключить генерацию разбиения по классам эквивалентности, это параметр `ONLY_CREATE_CLASSES` в том же классе.
|
||||
Это может ускорить полную генерацию и значительно сократит потребление памяти.
|
||||
|
||||
## Запуск
|
||||
Для запуска достаточно собрать проект и вызвать
|
||||
```
|
||||
./main
|
||||
````
|
||||
|
||||
|
||||
## Анализ результатов
|
||||
Результаты записываются в файлы вида `base_4_rank_3.txt` в рабочей директории.
|
||||
Первое число означает число аргументов у функции, а второе длину функций в классе ПСПФ.
|
||||
Сам файл представляет собой вектор битов,
|
||||
где бит N выставлен если функция принадлежит множеству функций с фиксированным числом аргументов и длиной в классе ПСПФ.
|
||||
|
||||
Для анализа этих файлов удобно использовать `get_function_len.py` (требуется Python3). Для экономии места эти файлы можно предварительно сжать в XZ архивы. Есть несколько вариантов использования:
|
||||
|
||||
1. Получить длину некоторой функции. Пример `python3 get_function_len.py 10101010`, где `10101010` -- вектор значений функции.
|
||||
2. Подсчёт количества функций по классам. Пример: `python3 get_function_len.py count_lens 3`, где 3 -- количество аргументов у функций.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user