diff options
author | justanothercatgirl <sotov@twistea.su> | 2024-10-14 21:03:47 +0300 |
---|---|---|
committer | justanothercatgirl <sotov@twistea.su> | 2024-10-14 21:03:47 +0300 |
commit | 0a10914e4f3c5e11f192e6b541ba9cebb3efd679 (patch) | |
tree | cbc2239aa2f7cea5f94abe75f3bcd01d77eb24b1 /matrix.h | |
parent | f5e0076a8455eec5b4a515b39202217f8a8b9e71 (diff) |
initial commit
Diffstat (limited to 'matrix.h')
-rw-r--r-- | matrix.h | 69 |
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 |