ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/mx3.h
Revision: 2.6
Committed: Sun Mar 28 20:33:14 2004 UTC (20 years ago) by schorsch
Content type: text/plain
Branch: MAIN
CVS Tags: rad5R4, rad5R2, rad4R2P2, rad5R0, rad5R1, rad3R7P2, rad3R7P1, rad4R2, rad4R1, rad4R0, rad3R6, rad3R6P1, rad3R8, rad3R9, rad4R2P1, rad5R3, HEAD
Changes since 2.5: +19 -19 lines
Log Message:
Continued ANSIfication, and other fixes and clarifications.

File Contents

# Content
1 /* RCSid: $Id: mx3.h,v 2.5 2003/07/14 22:24:00 schorsch Exp $ */
2 #ifndef _RAD_MX3_H_
3 #define _RAD_MX3_H_
4
5 #include <string.h>
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 #define mx3_copy(a, b) memcpy(b, a, 3*3*sizeof(double))
12
13 /* FLOAT VERSIONS */
14 extern float mx3f_adjoint(/* a, b */);
15 extern void mx3f_mul(/* a, b, c */);
16 extern void mx3f_print(/* str, a */);
17 extern void mx3f_translate_mat(/* tx, ty, a */);
18 extern void mx3f_translate(/* a, tx, ty */);
19 extern void mx3f_scale_mat(/* sx, sy, a */);
20 extern void mx3f_scale(/* a, sx, sy */);
21 extern void mx3f_transform(/* p, a, q */);
22 extern float mx3f_transform_div(/* p, a, q */);
23 #define mx3f_copy(a, b) memcpy(b, a, 3*3*sizeof(float))
24
25 /* DOUBLE VERSIONS */
26 extern double mx3d_adjoint(double a[3][3], double b[3][3]);
27 extern void mx3d_mul(double a[3][3], double b[3][3], double c[3][3]);
28 extern void mx3d_print(/* str, a */); /* XXX doesn't exist */
29 extern void mx3d_translate_mat(double tx, double ty, double m[3][3]);
30 extern void mx3d_translate(double m[3][3], double tx, double ty);
31 extern void mx3d_scale_mat(double sx, double sy, double m[3][3]);
32 extern void mx3d_scale(double m[3][3], double sx, double sy);
33 extern void mx3d_transform(double p[3], double a[3][3], double q[3]);
34 extern double mx3d_transform_div(double p[3], double a[3][3], double q[2]);
35 #define mx3d_copy(a, b) memcpy(b, a, 3*3*sizeof(double))
36
37 #ifdef __cplusplus
38 }
39 #endif
40 #endif /* _RAD_MX3_H_ */