diff options
author | Determinant <ted.sybil@gmail.com> | 2016-02-15 15:04:13 +0800 |
---|---|---|
committer | Determinant <ted.sybil@gmail.com> | 2016-02-15 15:04:13 +0800 |
commit | 3362020a6bc43766a92882abe6d127c8bb98a628 (patch) | |
tree | cad93eb88c2813694c0ae4ca4ecb9873a719ad85 /nerv/lib/matrix/generic/mmatrix.h | |
parent | dcad8a3f80fc55ca93984d981f9b829d2e4ea728 (diff) |
try a basic merge
Diffstat (limited to 'nerv/lib/matrix/generic/mmatrix.h')
-rw-r--r-- | nerv/lib/matrix/generic/mmatrix.h | 45 |
1 files changed, 42 insertions, 3 deletions
diff --git a/nerv/lib/matrix/generic/mmatrix.h b/nerv/lib/matrix/generic/mmatrix.h index f00a04d..c54c4e5 100644 --- a/nerv/lib/matrix/generic/mmatrix.h +++ b/nerv/lib/matrix/generic/mmatrix.h @@ -1,8 +1,47 @@ #include "../../common.h" #include "../../io/chunk_file.h" -Matrix *nerv_matrix_(load)(ChunkData *cdp, Status *status); -void nerv_matrix_(save)(Matrix *self, ChunkFile *cfp, Status *status); -void nerv_matrix_(copy_from)(Matrix *a, const Matrix *b, +void nerv_matrix_(add)(Matrix *c, const Matrix *a, const Matrix *b, + MATRIX_ELEM alpha, MATRIX_ELEM beta, + Status *status); +void nerv_matrix_(mul)(Matrix *c, const Matrix *a, const Matrix *b, + MATRIX_ELEM alpha, MATRIX_ELEM beta, + int ta, int tb, Status *status); +void nerv_matrix_(sigmoid)(Matrix *a, const Matrix *b, Status *status); +void nerv_matrix_(sigmoid_grad)(Matrix *nerr, const Matrix *err, + const Matrix *output, Status *status); + +Matrix *nerv_matrix_(softmax)(Matrix *b, const Matrix *a, Status *status); +Matrix *nerv_matrix_(rowsum)(Matrix *a, Status *status); +Matrix *nerv_matrix_(colsum)(Matrix *a, Status *status); +Matrix *nerv_matrix_(colsame)(Matrix *a, const Matrix *ref, + Status *status); +Matrix *nerv_matrix_(rowmax)(Matrix *a, Status *status); +void nerv_matrix_(rowmax_idx)(Matrix *a, Matrix **b, Matrix **idx, + Status *status); +void nerv_matrix_(add_row)(Matrix *b, const Matrix *a, double beta, + Status *status); +void nerv_matrix_(clip)(Matrix *self, double val_1, double val_2, Status *status); +void nerv_matrix_(fill)(Matrix *self, double val, Status *status); +void nerv_matrix_(copy_fromh)(Matrix *a, const Matrix *b, int a_begin, int b_begin, int b_end, Status *status); +Matrix *nerv_matrix_(trans)(Matrix *a, Status *status); +void nerv_matrix_(mul_elem)(Matrix *c, const Matrix *a, const Matrix *b, + Status *status); + +void nerv_matrix_(log_elem)(Matrix *b, const Matrix *a, Status *status); + +Matrix *nerv_matrix_(decompress)(const Matrix *a, int orig_col, Status *status); +void nerv_matrix_(copy_rows_fromh_by_idx)(Matrix *a, const Matrix *b, + const Matrix *idx, int b_begin, Status *status); +void nerv_matrix_(expand_frm)(Matrix *a, const Matrix *b, + int context, Status *status); +void nerv_matrix_(rearrange_frm)(Matrix *a, const Matrix *b, + int step, Status *status); +void nerv_matrix_(scale_rows_by_col)(Matrix *a, const Matrix *b, + Status *status); +void nerv_matrix_(scale_rows_by_row)(Matrix *a, const Matrix *b, + Status *status); +Matrix *nerv_matrix_(load)(ChunkData *cdp, Status *status); +void nerv_matrix_(save)(Matrix *self, ChunkFile *cfp, Status *status); |