Skip to content
This repository has been archived by the owner on Mar 31, 2022. It is now read-only.

Commit

Permalink
(#24) Приведение имён процедур к подобному виду:
Browse files Browse the repository at this point in the history
* Вспомогательная процедура извлечения тренда теперь использует флаги;
* Имена процедур приведены к подобному виду;
* Обновлены make-файлы.
  • Loading branch information
Pavel Sobolev authored Mar 28, 2020
1 parent e84a2a2 commit 539e4c7
Show file tree
Hide file tree
Showing 53 changed files with 718 additions and 603 deletions.
132 changes: 83 additions & 49 deletions Make-файлы/gfortran-9
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,19 @@
## Имя координатора
make_name := make

## Указание оболочки
SHELL := /bin/bash

## Указание make-файлу выполнять все правила в одном вызове оболочки
.ONESHELL :

## Заглушка на вывод сообщений указанными правилами
## (без указания имён подавляет вывод со стороны make-файла у всех правил)

.SILENT :

## Правила-псевдоцели

.PHONY : result, result-r, result-d, result-c, clean, \
git, git-am, git-new, git-clean
.PHONY : result, result-r, result-d, result-c, clean

## Правило, выполняющееся при вызове координатора без аргументов
ALL : result
Expand Down Expand Up @@ -104,15 +108,14 @@
$(obj_path)scats_visualize_m.o $(obj_path)scats_result_m.o \
$(obj_path)scats_do_m.o $(obj_path)prec_m.o

# Вспомогательная процедура генерации
# Вспомогательная процедура для вызова генератора временного ряда
$(obj_path)scats_generate_s.o : $(obj_path)scats.o

# Процедура общего освобождения памяти
# Процедура для общего освобождения памяти
$(obj_path)scats_deallocate_s.o : $(obj_path)scats.o

# Вспомогательная процедура для вызова процедуры,
# извлекающей линейный тренд из данных
$(obj_path)scats_remove_linear_trend_s.o : $(obj_path)scats.o
# Вспомогательная процедура для извлечения тренда из входных данных
$(obj_path)scats_remove_trend_s.o : $(obj_path)scats.o

# Вспомогательная процедура для вычисления периодограммы
$(obj_path)scats_calculate_periodogram_s.o : $(obj_path)scats.o
Expand All @@ -133,81 +136,112 @@
# Генератор
$(obj_path)scats_gen_m.o : $(obj_path)prec_m.o $(obj_path)scats_gen_params_m.o $(obj_path)scats_input_m.o

# Процедура генерации
# Процедура для вывода ошибок (генерация временного ряда)
$(obj_path)scats_gen_log_error_s.o : $(obj_path)scats_gen_params_m.o

# Процедура для генерации временного ряда
$(obj_path)scats_gen_generate_s.o : $(obj_path)scats_gen_m.o

# Процедура для генерации массива значений нормально распределенных случайных величин
$(obj_path)scats_generate_random_array_s.o : $(obj_path)scats_gen_m.o
$(obj_path)scats_gen_generate_random_array_s.o : $(obj_path)scats_gen_m.o

# Параметры генератора
$(obj_path)scats_gen_params_m.o : $(obj_path)prec_m.o $(obj_path)scats_gen_settings_m.o

$(obj_path)scats_read_gen_params_s.o : $(obj_path)scats_gen_params_m.o
$(obj_path)scats_log_gen_params_error_s.o : $(obj_path)scats_gen_params_m.o
$(obj_path)scats_deallocate_gen_params_s.o : $(obj_path)scats_gen_params_m.o
# Процедура для вывода ошибок (параметры генерации временного ряда)
$(obj_path)scats_gen_params_log_error_s.o : $(obj_path)scats_gen_params_m.o

# Процедура для считывания параметров для генерации временного ряда
$(obj_path)scats_gen_params_read_s.o : $(obj_path)scats_gen_params_m.o

# Процедура для освобождения памяти из-под параметров
$(obj_path)scats_gen_params_deallocate_s.o : $(obj_path)scats_gen_params_m.o

# Настройки считывания параметров генератора
$(obj_path)scats_gen_settings_m.o : $(obj_path)prec_m.o

$(obj_path)scats_read_gen_settings_s.o : $(obj_path)scats_gen_settings_m.o
$(obj_path)scats_log_gen_settings_error_s.o : $(obj_path)scats_gen_settings_m.o
# Процедура для вывода ошибок (настройки считывания параметров)
$(obj_path)scats_gen_settings_log_error_s.o : $(obj_path)scats_gen_settings_m.o

# Процедура для считывания настроек считывания параметров для генерации временного ряда
$(obj_path)scats_gen_settings_read_s.o : $(obj_path)scats_gen_settings_m.o

# Входные данные
$(obj_path)scats_input_m.o : $(obj_path)prec_m.o

$(obj_path)scats_input_deallocate_s.o : $(obj_path)scats_input_m.o
$(obj_path)scats_log_input_error_s.o : $(obj_path)scats_input_m.o
# Процедура для вывода ошибок (входные данные)
$(obj_path)scats_input_log_error_s.o : $(obj_path)scats_input_m.o

# Процедура для считывания входных данных
$(obj_path)scats_input_read_s.o : $(obj_path)scats_input_m.o

# Процедура для записи входных данных в файл
$(obj_path)scats_input_write_to_file_s.o : $(obj_path)scats_input_m.o

# Процедура освобождения памяти из-под входных данных
$(obj_path)scats_input_deallocate_s.o : $(obj_path)scats_input_m.o

# Результат
$(obj_path)scats_result_m.o : $(obj_path)prec_m.o

$(obj_path)scats_log_result_error_s.o : $(obj_path)scats_result_m.o
$(obj_path)scats_result_deallocate_s.o : $(obj_path)scats_result_m.o
# Процедура для вывода ошибок (результат)
$(obj_path)scats_result_log_error_s.o : $(obj_path)scats_result_m.o

# Процедура для записи результата в файл
$(obj_path)scats_result_write_to_file_s.o : $(obj_path)scats_result_m.o

# Операции над данными
# Процедура для освобождения памяти из-под результата
$(obj_path)scats_result_deallocate_s.o : $(obj_path)scats_result_m.o

# Операции над данными
$(obj_path)scats_do_m.o : $(obj_path)scats_input_m.o $(obj_path)scats_result_m.o \
$(obj_path)scats_do_trend_m.o $(obj_path)scats_do_periodogram_m.o \
$(obj_path)scats_do_correlogram_m.o

# Ошибки
$(obj_path)scats_log_do_error_s.o : $(obj_path)scats_do_errors_m.o
# Процедура для вывода ошибок (действия)
$(obj_path)scats_do_errors_log_error_s.o : $(obj_path)scats_do_errors_m.o

# Проверка
# Проверка на совпадение форм входных данных и результата
$(obj_path)scats_do_check_m.o : $(obj_path)scats_input_m.o $(obj_path)scats_result_m.o \
$(obj_path)scats_do_errors_m.o

# Процедура для проверки на совпадение форм входных данных и результата
$(obj_path)scats_do_check_s.o : $(obj_path)scats_do_check_m.o

# Извлечение тренда
$(obj_path)scats_do_trend_m.o : $(obj_path)prec_m.o $(obj_path)scats_input_m.o $(obj_path)scats_result_m.o \
$(obj_path)scats_do_errors_m.o $(obj_path)scats_do_check_m.o

$(obj_path)scats_do_trend_check_s.o : $(obj_path)scats_do_trend_m.o

# Процедура для удаления линейного тренда из входных данных
$(obj_path)scats_do_trend_remove_linear_trend_s.o : $(obj_path)scats_do_trend_m.o

# Быстрого преобразование Фурье
# Быстрое преобразование Фурье
$(obj_path)scats_do_fft_m.o : $(obj_path)prec_m.o

# Процедура для выполнения быстрого преобразования Фурье
$(obj_path)scats_do_fft_calculate_s.o : $(obj_path)scats_do_fft_m.o

# Функция для выполнения поразрядно обратной перестановки
$(obj_path)scats_do_fft_rev_s.o : $(obj_path)scats_do_fft_m.o

# Вычисление периодограммы
$(obj_path)scats_do_periodogram_m.o : $(obj_path)prec_m.o $(obj_path)scats_result_m.o \
$(obj_path)scats_do_errors_m.o $(obj_path)scats_do_fft_m.o

# Процедура для вычисления периодограммы
$(obj_path)scats_do_periodogram_calculate_s.o : $(obj_path)scats_do_periodogram_m.o

# Процедура для вычисления сглаженной периодограммы
$(obj_path)scats_do_periodogram_calculate_w_s.o : $(obj_path)scats_do_periodogram_m.o

# Вычисление коррелограммы
$(obj_path)scats_do_correlogram_m.o : $(obj_path)prec_m.o $(obj_path)scats_result_m.o \
$(obj_path)scats_do_errors_m.o $(obj_path)scats_do_fft_m.o

# Процедура для вычисления коррелограммы
$(obj_path)scats_do_correlogram_calculate_s.o : $(obj_path)scats_do_correlogram_m.o

# Процедура для вычисления взвешенной коррелограммы
$(obj_path)scats_do_correlogram_calculate_w_s.o : $(obj_path)scats_do_correlogram_m.o

# Определение флагов компилятора
Expand Down Expand Up @@ -260,25 +294,25 @@
touch input

result : $(main_name)
if [ "true" = "$(use_input)" ]; then\
$(make_name) input;\
if [ "true" = "$(use_output)" ]; then\
time ./$< < input > output;\
else\
time ./$< < input;\
fi\
else\
if [ "true" = "$(use_output)" ]; then\
time ./$< > output;\
else\
time ./$<;\
fi\
if [ "true" = "$(use_input)" ]; then
$(make_name) input;
if [ "true" = "$(use_output)" ]; then
time ./$< < input > output;
else
time ./$< < input;
fi
else
if [ "true" = "$(use_output)" ]; then
time ./$< > output;
else
time ./$<;
fi
fi

result-r :
if [ "true" != "$(use_output)" ]; then\
echo; echo "Вы не можете использовать это правило, пока значение переменной use_output != true."; echo;\
exit 1;\
if [ "true" != "$(use_output)" ]; then
echo; echo "Вы не можете использовать это правило, пока значение переменной use_output != true."; echo;
exit 1;
fi
$(make_name) result
cat output
Expand All @@ -288,18 +322,18 @@
$(make_name) clean

result-c :
if [ "true" != "$(use_output)" ]; then\
echo; echo "Вы не можете использовать это правило, пока значение переменной use_output != true."; echo;\
exit 1;\
if [ "true" != "$(use_output)" ]; then
echo; echo "Вы не можете использовать это правило, пока значение переменной use_output != true."; echo;
exit 1;
fi
$(make_name) result-r
$(make_name) clean

# Правило для очистки

clean :
if [ "true" = "$(save_main)" ]; then\
rm -f $(obj_main) $(obj_mod) $(obj_path)*.smod $(mod);\
else\
rm -f $(obj_main) $(obj_mod) $(obj_path)*.smod $(mod) $(main_name);\
if [ "true" = "$(save_main)" ]; then
rm -f $(obj_main) $(obj_mod) $(obj_path)*.smod $(mod);
else
rm -f $(obj_main) $(obj_mod) $(obj_path)*.smod $(mod) $(main_name);
fi
Loading

0 comments on commit 539e4c7

Please sign in to comment.