X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fapi.git;a=blobdiff_plain;f=matrix%2Fmatrix.h;fp=matrix%2Fmatrix.h;h=3d2ed1959079f360adbfd929d214732d8edcbb6b;hp=0000000000000000000000000000000000000000;hb=f416df2f818fb4f591dd71f492f7dd1d1a94d3e4;hpb=b75390faa6d63ccc1a940bbe5db66141c8e0a1a0 diff --git a/matrix/matrix.h b/matrix/matrix.h new file mode 100644 index 0000000..3d2ed19 --- /dev/null +++ b/matrix/matrix.h @@ -0,0 +1,39 @@ +/* matrix.h -- matrix headers */ + +#ifndef MATRIX_H +#define MATRIX_H + +/* includes */ +#define _GNU_SOURCE +#include +#include +#include +#include + +/* defines */ +#define M_SUCCESS 1 +#define M_ERROR -1 +#define M_NOT_SUPPORTED -2 +#define M_DIM_FAILURE -3 +#define M_ALLOC_FAIL -4 + +typedef struct s_matrix { + int outfd; + unsigned char type; +#define MULT (1<<0) +#define ADD (1<<1) +#define INV (1<<2) +#define DIAG (1<<3) + int m,n,z; + double *m1; + double *m2; + double *res; +} t_matrix; + +/* function prototypes */ +int matrix_init(t_matrix *matrix,int outfd); +int matrix_alloc_data(t_matrix *matrix); +int matrix_calc(t_matrix *matrix); +int matrix_shutdown(t_matrix *matrix); + +#endif