From ee14ad272e68d9363202d7f668e0b20302827209 Mon Sep 17 00:00:00 2001 From: hachem Date: Mon, 14 Sep 2026 12:20:52 +0200 Subject: feat: simd + testing + formatting --- src/maths/matrix.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src/maths/matrix.c') diff --git a/src/maths/matrix.c b/src/maths/matrix.c index 44b953c..2415395 100644 --- a/src/maths/matrix.c +++ b/src/maths/matrix.c @@ -6,18 +6,17 @@ struct PsiMatrix psi_new_matrix(size_t rows, size_t cols) { - struct PsiComplex *data = calloc(rows * cols, sizeof(struct PsiComplex)); + struct PsiComplex* data = calloc(rows * cols, sizeof(struct PsiComplex)); assert(data != NULL || rows * cols == 0); - return (struct PsiMatrix) - { + return (struct PsiMatrix){ data, rows, cols, }; } -struct PsiMatrix psi_new_matrix_from(const struct PsiComplex *data, size_t rows, size_t cols) +struct PsiMatrix psi_new_matrix_from(const struct PsiComplex* data, size_t rows, size_t cols) { struct PsiMatrix m = psi_new_matrix(rows, cols); memcpy(m.data, data, rows * cols * sizeof(struct PsiComplex)); @@ -39,7 +38,7 @@ struct PsiMatrix psi_identity_matrix(size_t size) return m; } -void psi_free_matrix(struct PsiMatrix *m) +void psi_free_matrix(struct PsiMatrix* m) { free(m->data); m->data = NULL; @@ -53,7 +52,7 @@ struct PsiComplex psi_get_matrix(struct PsiMatrix m, size_t row, size_t col) return m.data[row * m.cols + col]; } -void psi_set_matrix(struct PsiMatrix *m, size_t row, size_t col, struct PsiComplex value) +void psi_set_matrix(struct PsiMatrix* m, size_t row, size_t col, struct PsiComplex value) { assert(row < m->rows && col < m->cols); m->data[row * m->cols + col] = value; @@ -69,7 +68,8 @@ struct PsiMatrix psi_dot_matrix(struct PsiMatrix a, struct PsiMatrix b) { struct PsiComplex sum = psi_new_complex(0.0, 0.0); for (size_t k = 0; k < a.cols; k++) - sum = psi_add_complex(sum, psi_mul_complex(a.data[i * a.cols + k], b.data[k * b.cols + j])); + sum = psi_add_complex( + sum, psi_mul_complex(a.data[i * a.cols + k], b.data[k * b.cols + j])); result.data[i * result.cols + j] = sum; } @@ -89,7 +89,8 @@ struct PsiMatrix psi_kronecker_matrix(struct PsiMatrix a, struct PsiMatrix b) { size_t row = i * b.rows + k; size_t col = j * b.cols + l; - result.data[row * result.cols + col] = psi_mul_complex(a_val, b.data[k * b.cols + l]); + result.data[row * result.cols + col] = + psi_mul_complex(a_val, b.data[k * b.cols + l]); } } -- cgit v1.3