From 3faacaed4ff7553f6dd9066fc3e7fc89da950c2a Mon Sep 17 00:00:00 2001 From: AZEN-SGG Date: Sun, 13 Apr 2025 16:01:33 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20Ma?= =?UTF-8?q?kefile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2025.04.04/dist/Krivoruchenko_SK/Makefile | 23 +++++++++--- 2025.04.04/dist/Krivoruchenko_SK/solve.c | 44 ----------------------- 2 files changed, 19 insertions(+), 48 deletions(-) diff --git a/2025.04.04/dist/Krivoruchenko_SK/Makefile b/2025.04.04/dist/Krivoruchenko_SK/Makefile index be580b4..cb41b2f 100644 --- a/2025.04.04/dist/Krivoruchenko_SK/Makefile +++ b/2025.04.04/dist/Krivoruchenko_SK/Makefile @@ -10,17 +10,32 @@ WFLAGS = -fstack-protector-all -W -Wall -Wextra -Wunused \ CFLAGS = -mfpmath=sse -std=gnu99 -O3 -TARGET = a.exe +ifeq ($(OS),Windows_NT) + EXE = exe + CLEAN = del + LFLAGS = -lssp -lm +else + EXE = out + CLEAN = rm -f + LFLAGS = -lm +endif + +TARGET = a.$(EXE) OBJ = main.o solve.o array_io.o init_f.o matrix.o %.o: %.c gcc $(CFLAGS) $(WFLAGS) -c $< -o $@ $(TARGET): $(OBJ) - gcc $^ -o $@ -lssp -lm + gcc $^ -o $@ $(LFLAGS) -gdb: CFLAGS = -mfpmath=sse -std=gnu99 -g +# Отладочная сборка (gdb) +gdb: CFLAGS = -mfpmath=sse -std=gnu99 -g -O0 gdb: clean $(TARGET) +# Профилировочная сборка (gprof) +prof: CFLAGS = -mfpmath=sse -std=gnu99 -pg -O3 -fno-omit-frame-pointer +prof: clean $(TARGET) + clean: - del *.o *.exe + $(CLEAN) *.o *$(EXE) diff --git a/2025.04.04/dist/Krivoruchenko_SK/solve.c b/2025.04.04/dist/Krivoruchenko_SK/solve.c index 616c90b..292a871 100644 --- a/2025.04.04/dist/Krivoruchenko_SK/solve.c +++ b/2025.04.04/dist/Krivoruchenko_SK/solve.c @@ -91,50 +91,6 @@ int t14_solve(int n, double * restrict A, double * restrict X, int * restrict c) gauss_back_substitution(n, A, X); -/* - for (int k = 0; k < n; ++k) - { - int i = c[k]; - - if (i != k) - { - double last_swap = 0; - double cur_swap; - - for (int j = 0; j < n-1; ++j) - { - int cur_p = i; - last_swap = X[k*n + j]; - - do { - cur_swap = X[cur_p*n + j]; - X[cur_p*n + j] = last_swap; - cur_p = c[cur_p]; - last_swap = cur_swap; - } while (cur_p != k); - - X[k*n + j] = last_swap; - } - - last_swap = X[k*n + n-1]; - - do - { - int last_p = i; - i = c[i]; - c[last_p] = last_p; - - cur_swap = X[last_p*n + n-1]; - X[last_p*n + n-1] = last_swap; - last_swap = cur_swap; - } while (i != k); - - X[k*n + n-1] = last_swap; - c[k] = k; - } - } -*/ - for (int k = 0; k < n; ++k) { const int kn = k*n;