diff options
Diffstat (limited to 'src/maths/matrix.c')
| -rw-r--r-- | src/maths/matrix.c | 17 |
1 files changed, 9 insertions, 8 deletions
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]); } } |
