[math] Matrix get value at row, column index
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
#include "matrix.h"
|
#include "matrix.h"
|
||||||
|
|
||||||
|
|
||||||
matrix_t *matrix_new(size_t m, size_t n) {
|
matrix_t *matrix_new(size_t m, size_t n) {
|
||||||
matrix_t *matrix = malloc(sizeof(matrix_t));
|
matrix_t *matrix = malloc(sizeof(matrix_t));
|
||||||
|
|
||||||
@@ -50,6 +49,11 @@ inline void matrix_set_scalar(matrix_t *self, size_t row_index, size_t col_index
|
|||||||
values[offset] = value;
|
values[offset] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline double matrix_get(matrix_t *self, size_t row_index, size_t col_index) {
|
||||||
|
size_t index = row_index * self->n + col_index;
|
||||||
|
return self->values->a[index];
|
||||||
|
}
|
||||||
|
|
||||||
inline matrix_t *matrix_new_value(size_t m, size_t n, double value) {
|
inline matrix_t *matrix_new_value(size_t m, size_t n, double value) {
|
||||||
matrix_t *matrix = matrix_new(m, n);
|
matrix_t *matrix = matrix_new(m, n);
|
||||||
matrix_set(matrix, value);
|
matrix_set(matrix, value);
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ void matrix_set(matrix_t *self, double value);
|
|||||||
void matrix_set_row(matrix_t *self, size_t index, double *row);
|
void matrix_set_row(matrix_t *self, size_t index, double *row);
|
||||||
void matrix_set_scalar(matrix_t *self, size_t row_index, size_t col_index, double value);
|
void matrix_set_scalar(matrix_t *self, size_t row_index, size_t col_index, double value);
|
||||||
|
|
||||||
|
double matrix_get(matrix_t *self, size_t row_index, size_t col_index);
|
||||||
|
|
||||||
void matrix_scale(matrix_t *self, double value);
|
void matrix_scale(matrix_t *self, double value);
|
||||||
void matrix_dot_vector(matrix_t *self, double *vec, double *result);
|
void matrix_dot_vector(matrix_t *self, double *vec, double *result);
|
||||||
int matrix_dot_matrix(matrix_t *m1, matrix_t *m2, matrix_t *result);
|
int matrix_dot_matrix(matrix_t *m1, matrix_t *m2, matrix_t *result);
|
||||||
|
|||||||
Reference in New Issue
Block a user