Back to index

radiance  4R0+20100331
mx3.h
Go to the documentation of this file.
00001 /* RCSid: $Id: mx3.h,v 2.6 2004/03/28 20:33:14 schorsch Exp $ */
00002 #ifndef _RAD_MX3_H_
00003 #define _RAD_MX3_H_
00004 
00005 #include <string.h>
00006 
00007 #ifdef __cplusplus
00008 extern "C" {
00009 #endif
00010 
00011 #define mx3_copy(a, b) memcpy(b, a, 3*3*sizeof(double))
00012 
00013 /* FLOAT VERSIONS */
00014 extern float  mx3f_adjoint(/* a, b */);
00015 extern void  mx3f_mul(/* a, b, c */);
00016 extern void  mx3f_print(/* str, a */);
00017 extern void  mx3f_translate_mat(/* tx, ty, a */);
00018 extern void  mx3f_translate(/* a, tx, ty */);
00019 extern void  mx3f_scale_mat(/* sx, sy, a */);
00020 extern void  mx3f_scale(/* a, sx, sy */);
00021 extern void  mx3f_transform(/* p, a, q */);
00022 extern float  mx3f_transform_div(/* p, a, q */);
00023 #define mx3f_copy(a, b) memcpy(b, a, 3*3*sizeof(float))
00024 
00025 /* DOUBLE VERSIONS */
00026 extern double  mx3d_adjoint(double a[3][3], double b[3][3]);
00027 extern void  mx3d_mul(double a[3][3], double b[3][3], double c[3][3]);
00028 extern void  mx3d_print(/* str, a */);  /* XXX doesn't exist */
00029 extern void  mx3d_translate_mat(double tx, double ty, double m[3][3]);
00030 extern void  mx3d_translate(double m[3][3], double tx, double ty);
00031 extern void  mx3d_scale_mat(double sx, double sy, double m[3][3]);
00032 extern void  mx3d_scale(double m[3][3], double sx, double sy);
00033 extern void  mx3d_transform(double p[3], double a[3][3], double q[3]);
00034 extern double  mx3d_transform_div(double p[3], double a[3][3], double q[2]);
00035 #define mx3d_copy(a, b) memcpy(b, a, 3*3*sizeof(double))
00036 
00037 #ifdef __cplusplus
00038 }
00039 #endif
00040 #endif /* _RAD_MX3_H_ */