#ifndef CR_SYS_H
#define CR_SYS_H

void noMoreMemory();
void get_matrix(float *matrix, float *rxyz, float *txyz, float *stack);
void rotate_x(float *xyz, float r);
void rotate_y(float *xyz, float r);
void rotate_z(float *xyz, float r);
//void rotate(float *xyz, float *matrix, float *rxyz, float *txyz, float *stack[]);
void rotate(float *xyz, float *matrix);
void translate(float *xyz, float x, float y, float z);
void matrix4x4(float *, float *, float *);

void normalize(float *v0, float *v1);
void subVector(float *v0, float *v1, float *v2);
void outerProduct(float *v0, float *v1, float *v2);
float innerProduct(float *v0, float *v1);
void applyMatrix(float *v0, float *m, float *v1);
void inversMatrix(float *m0, float *m1);
void transposeMatrix(float *m0, float *m1);
void unitMatrix(float *m);
void transMatrix(float *m0, float *m1, float *v);
void ApplyMatrix(float *v1, float *v2);

#endif
