From d07d87964f13d3c1e6ad8c2f6d7db21101f1ef34 Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 11 May 2020 13:29:51 +0200 Subject: libftm matrix, dynamic vector instead of fixed size --- vendor/libftm/inc/libftm_mat.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 vendor/libftm/inc/libftm_mat.h (limited to 'vendor/libftm/inc/libftm_mat.h') diff --git a/vendor/libftm/inc/libftm_mat.h b/vendor/libftm/inc/libftm_mat.h new file mode 100644 index 0000000..63679bb --- /dev/null +++ b/vendor/libftm/inc/libftm_mat.h @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* libftm_mat.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/05/11 12:50:40 by charles #+# #+# */ +/* Updated: 2020/05/11 13:28:55 by charles ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef LIBFTM_MAT_H +# define LIBFTM_MAT_H + +# include +# include +# include "libftm_vec.h" + +typedef struct s_ftmmat +{ + float *m; + struct + { + size_t x; + size_t y; + } shape; +} t_ftmmat; + +t_ftmmat *ftm_matnew(size_t y, size_t x); +void ftm_matdestroy(t_ftmmat *mat); +t_ftmmat *ftm_matadd(t_ftmmat *dst, t_ftmmat *other); +t_ftmmat *ftm_matsub(t_ftmmat *dst, t_ftmmat *other); +t_ftmmat *ftm_matscale(t_ftmmat *dst, float scalar); +t_ftmmat *ftm_matmul(t_ftmmat *dst, t_ftmmat *other); +t_ftmvec *ftm_matmulvec(t_ftmmat *mat, t_ftmvec *dst); +float ftm_matat(t_ftmmat *mat, size_t y, size_t x); + +#endif -- cgit