| 1 | 
greg | 
2.2 | 
/* RCSid: $Id$ */ | 
| 2 | 
greg | 
2.1 | 
#ifndef MX3_HDR | 
| 3 | 
  | 
  | 
#define MX3_HDR | 
| 4 | 
  | 
  | 
 | 
| 5 | 
  | 
  | 
#define mx3_copy(a, b) bcopy(a, b, 3*3*sizeof(double)) | 
| 6 | 
  | 
  | 
 | 
| 7 | 
  | 
  | 
/* FLOAT VERSIONS */ | 
| 8 | 
  | 
  | 
float  mx3f_adjoint(/* a, b */); | 
| 9 | 
  | 
  | 
void  mx3f_mul(/* a, b, c */); | 
| 10 | 
  | 
  | 
void  mx3f_print(/* str, a */); | 
| 11 | 
  | 
  | 
void  mx3f_translate_mat(/* tx, ty, a */); | 
| 12 | 
  | 
  | 
void  mx3f_translate(/* a, tx, ty */); | 
| 13 | 
  | 
  | 
void  mx3f_scale_mat(/* sx, sy, a */); | 
| 14 | 
  | 
  | 
void  mx3f_scale(/* a, sx, sy */); | 
| 15 | 
  | 
  | 
void  mx3f_transform(/* p, a, q */); | 
| 16 | 
  | 
  | 
float  mx3f_transform_div(/* p, a, q */); | 
| 17 | 
  | 
  | 
#define mx3f_copy(a, b) bcopy(a, b, 3*3*sizeof(float)) | 
| 18 | 
  | 
  | 
 | 
| 19 | 
  | 
  | 
/* DOUBLE VERSIONS */ | 
| 20 | 
  | 
  | 
double  mx3d_adjoint(/* a, b */); | 
| 21 | 
  | 
  | 
void  mx3d_mul(/* a, b, c */); | 
| 22 | 
  | 
  | 
void  mx3d_print(/* str, a */); | 
| 23 | 
  | 
  | 
void  mx3d_translate_mat(/* tx, ty, a */); | 
| 24 | 
  | 
  | 
void  mx3d_translate(/* a, tx, ty */); | 
| 25 | 
  | 
  | 
void  mx3d_scale_mat(/* sx, sy, a */); | 
| 26 | 
  | 
  | 
void  mx3d_scale(/* a, sx, sy */); | 
| 27 | 
  | 
  | 
void  mx3d_transform(/* p, a, q */); | 
| 28 | 
  | 
  | 
double  mx3d_transform_div(/* p, a, q */); | 
| 29 | 
  | 
  | 
#define mx3d_copy(a, b) bcopy(a, b, 3*3*sizeof(double)) | 
| 30 | 
  | 
  | 
 | 
| 31 | 
  | 
  | 
#endif |