aboutsummaryrefslogtreecommitdiffstats
path: root/matrix.h
diff options
context:
space:
mode:
authorjustanothercatgirl <sotov@twistea.su>2024-10-14 21:03:47 +0300
committerjustanothercatgirl <sotov@twistea.su>2024-10-14 21:03:47 +0300
commit0a10914e4f3c5e11f192e6b541ba9cebb3efd679 (patch)
treecbc2239aa2f7cea5f94abe75f3bcd01d77eb24b1 /matrix.h
parentf5e0076a8455eec5b4a515b39202217f8a8b9e71 (diff)
initial commit
Diffstat (limited to 'matrix.h')
-rw-r--r--matrix.h69
1 files changed, 0 insertions, 69 deletions
diff --git a/matrix.h b/matrix.h
deleted file mode 100644
index 32f7da5..0000000
--- a/matrix.h
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef JAC_MATRIX_H
-#define JAC_MATRIX_H
-
-#include <stdio.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <math.h>
-
-// Черная магия, чтобы сделать ввод более безопасным
-#define SKIP_INPUT do { \
- int c; \
- do { c = getchar(); } \
- while (c != '\n' && c != EOF); \
-} while(0)
-
-
-typedef size_t usz;
-typedef ssize_t isz;
-
-typedef double(*func_t)(double);
-
-// матрица
-struct matrix {
- double **data;
- usz rows, columns;
-};
-
-// матрица функций (Function MATRIX)
-struct fmatrix {
- func_t **funcs;
- usz rows, columns;
-};
-
-// треугольная верхняя матрица. (Triangle Up MATRIX)
-struct tumatrix {
- double **data;
- usz size;
-};
-
-// генерирует случайное число в диапазоне, используя внутреннее представление типа double в памяти
-double frand(double min, double max);
-
-// создаёт матрицу
-struct matrix matrix_new(usz rows, usz columns);
-// удаляет матрицу
-void matrix_free(struct matrix m);
-// выводит матрицу
-void matrix_print(struct matrix *m);
-// заполняет матрицу случайными числами
-void matrix_fill(struct matrix *m, double min, double max);
-// поэлементно применяет функцию из fm на m
-void matrix_apply(struct matrix *m, const struct fmatrix *fm);
-
-// создаёт новую треугольную матрицу
-struct tumatrix tumatrix_new(usz size);
-// удаляет треугольную матрицу
-void tumatrix_free(struct tumatrix m);
-// берёт i,j-ый элемент треугольной матрицы
-double tumatrix_at(const struct tumatrix *m, usz row, usz column);
-// умножает треугольные матрицы
-struct tumatrix tumatrix_mul(const struct tumatrix *a, const struct tumatrix *b);
-// определитель треугольной матрицы
-double tumatrix_det(const struct tumatrix *m);
-// заполняет треугольную матрицу
-void tumatrix_fill(struct tumatrix *m, double min, double max);
-// выводит треугольную матрицу на экран
-void tumatrix_print(const struct tumatrix *m);
-
-#endif // JAC_MATRIX_H