#ifndef VECMATH_H
#define VECMATH_H

#include "types.h"

void  vector_assign        (vector*, coord, coord, coord) ;
coord vector_norm          (vector*) ;
void  vector_add           (vector*, vector) ;
void  vector_sub           (vector*, vector) ;
void  vector_scale         (vector*, coord) ;
coord vector_scalar        (vector, vector) ;
void  vector_product       (vector* a, vector b, vector c) ; /* a = b v c */
void  vector_normalize     (vector*) ;
void  vector_computenormal (vector*, vector a, vector b, vector c) ;
void  vector_applymatrix   (vector*, matrix, coord) ;
void  matrix_rotation      (matrix*, coord angle,coord x,coord y,coord z) ;
void  matrix_translation   (matrix*, coord x, coord y, coord z) ;
void  matrix_identity      (matrix*) ;
void  matrix_display       (matrix) ;
void  matrix_inverse       (matrix*, matrix);

#endif VECMATH_H
