when building with the c++ compiler.
-MAT3direction_matrix(result_mat, mat)
-register MAT3mat result_mat, mat;
+MAT3direction_matrix(register double (*result_mat)[4], register double (*mat)[4])
-MAT3normal_matrix(result_mat, mat)
-register MAT3mat result_mat, mat;
+MAT3normal_matrix(register double (*result_mat)[4], register double (*mat)[4])
{
register int ret;
MAT3mat tmp_mat;
{
register int ret;
MAT3mat tmp_mat;
-MAT3scale(result_mat, scale)
-MAT3mat result_mat;
-MAT3vec scale;
+MAT3scale(double (*result_mat)[4], double *scale)
{
MAT3identity(result_mat);
{
MAT3identity(result_mat);
#define SELECT .7071 /* selection constant (roughly .5*sqrt(2) */
void
#define SELECT .7071 /* selection constant (roughly .5*sqrt(2) */
void
-MAT3rotate(result_mat, axis, angle_in_radians)
-MAT3mat result_mat;
-MAT3vec axis;
-double angle_in_radians;
+MAT3rotate(double (*result_mat)[4], double *axis, double angle_in_radians)
{
MAT3vec naxis, /* Axis of rotation, normalized */
base2, /* 2nd unit basis vec, perp to axis */
{
MAT3vec naxis, /* Axis of rotation, normalized */
base2, /* 2nd unit basis vec, perp to axis */
-MAT3translate(result_mat, trans)
-MAT3mat result_mat;
-MAT3vec trans;
+MAT3translate(double (*result_mat)[4], double *trans)
{
MAT3identity(result_mat);
{
MAT3identity(result_mat);
-MAT3shear(result_mat, xshear, yshear)
-MAT3mat result_mat;
-double xshear, yshear;
+MAT3shear(double (*result_mat)[4], double xshear, double yshear)
{
MAT3identity(result_mat);
{
MAT3identity(result_mat);
-MAT3invert(result_mat, mat)
-MAT3mat result_mat, mat;
+MAT3invert(double (*result_mat)[4], double (*mat)[4])
{
MAT3mat src, inv;
register int i, j, simple;
{
MAT3mat src, inv;
register int i, j, simple;
-MAT3mult (result_mat, mat1, mat2)
-MAT3mat result_mat;
-register MAT3mat mat1, mat2;
+MAT3mult (double (*result_mat)[4], register double (*mat1)[4], register double (*mat2)[4])
{
register int i, j;
MAT3mat tmp_mat;
{
register int i, j;
MAT3mat tmp_mat;
-MAT3transpose (result_mat, mat)
-MAT3mat result_mat;
-register MAT3mat mat;
+MAT3transpose (double (*result_mat)[4], register double (*mat)[4])
{
register int i, j;
MAT3mat tmp_mat;
{
register int i, j;
MAT3mat tmp_mat;
-MAT3print(mat, fp)
-MAT3mat mat;
-FILE *fp;
+MAT3print(double (*mat)[4], FILE *fp)
{
MAT3print_formatted(mat, fp, CNULL, CNULL, CNULL, CNULL);
}
{
MAT3print_formatted(mat, fp, CNULL, CNULL, CNULL, CNULL);
}
-MAT3print_formatted(mat, fp, title, head, format, tail)
-MAT3mat mat;
-FILE *fp;
-char *title, *head, *format, *tail;
+MAT3print_formatted(double (*mat)[4], FILE *fp, char *title, char *head, char *format, char *tail)
-MAT3mult_vec(result_vec, vec, mat)
-MAT3vec result_vec;
-register MAT3vec vec;
-register MAT3mat mat;
+MAT3mult_vec(double *result_vec, register double *vec, register double (*mat)[4])
{
MAT3vec tempvec;
register double *temp = tempvec;
{
MAT3vec tempvec;
register double *temp = tempvec;
-MAT3mult_hvec(result_vec, vec, mat, normalize)
-MAT3hvec result_vec;
-register MAT3hvec vec;
-register MAT3mat mat;
+MAT3mult_hvec(double *result_vec, register double *vec, register double (*mat)[4], int normalize)
{
MAT3hvec tempvec;
double norm_fac;
{
MAT3hvec tempvec;
double norm_fac;
-MAT3cross_product(result_vec, vec1, vec2)
-MAT3vec result_vec;
-register MAT3vec vec1, vec2;
+MAT3cross_product(double *result_vec, register double *vec1, register double *vec2)
{
MAT3vec tempvec;
register double *temp = tempvec;
{
MAT3vec tempvec;
register double *temp = tempvec;
#define SELECT .7071 /* selection constant (roughly .5*sqrt(2) */
void
#define SELECT .7071 /* selection constant (roughly .5*sqrt(2) */
void
-MAT3perp_vec(result_vec, vec, is_unit)
-MAT3vec result_vec, vec;
-int is_unit;
+MAT3perp_vec(double *result_vec, double *vec, int is_unit)
{
MAT3vec norm;
double dot;
{
MAT3vec norm;
double dot;
MAT3vec.o: MAT3vec.c mat3.h
fg_geodesy.o: fg_geodesy.c fg_geodesy.h ../Include/constants.h
fg_random.o: fg_random.c fg_random.h
MAT3vec.o: MAT3vec.c mat3.h
fg_geodesy.o: fg_geodesy.c fg_geodesy.h ../Include/constants.h
fg_random.o: fg_random.c fg_random.h
-geotest.o: geotest.c ../Include/constants.h fg_geodesy.h
polar.o: polar.c polar.h ../Include/types.h ../Include/constants.h
vector.o: vector.c vector.h ../Math/mat3.h
polar.o: polar.c polar.h ../Include/types.h ../Include/constants.h
vector.o: vector.c vector.h ../Math/mat3.h
void MAT3print (MAT3mat, FILE *fp);
void MAT3print_formatted (MAT3mat, FILE *fp,
char *title, char *head, char *format, char *tail);
void MAT3print (MAT3mat, FILE *fp);
void MAT3print_formatted (MAT3mat, FILE *fp,
char *title, char *head, char *format, char *tail);
-extern int MAT3equal();
-extern double MAT3trace();
-extern int MAT3power();
-extern int MAT3column_reduce();
-extern int MAT3kernel_basis();
+extern int MAT3equal( void );
+extern double MAT3trace( void );
+extern int MAT3power( void );
+extern int MAT3column_reduce( void );
+extern int MAT3kernel_basis( void );
/* In MAT3vec.c */
void MAT3mult_vec(MAT3vec result_vec, MAT3vec vec, MAT3mat mat);
/* In MAT3vec.c */
void MAT3mult_vec(MAT3vec result_vec, MAT3vec vec, MAT3mat mat);