1002 double dav[3] = { -0.123, 0.0987, 0.0654 };
1003 double dav2m_expected[3][3] = {
1004 { 0.9930075842721269, 0.05902743090199868, -0.1022335560329612 },
1005 { -0.07113807138648245, 0.9903204657727545, -0.1191836812279541 },
1006 { 0.09420887631983825, 0.1256229973879967, 0.9875948309655174 },
1011 double deuler_expected[3][3] = {
1012 { -0.1681574770810878, 0.1981362273264315, 0.9656423242187410 },
1013 { -0.2285369373983370, 0.9450659587140423, -0.2337117924378156 },
1014 { -0.9589024617479674, -0.2599853247796050, -0.1136384607117296 } };
1018 double dmxm_expected[3][3] = {
1019 { -0.09010460088585805, 0.3075993402463796, 0.9472400998581048 },
1020 { -0.3161868071070688, 0.8930686362478707, -0.3200848543149236 },
1021 { -0.9444083141897035, -0.3283459407855694, 0.01678926022795169 },
1036 vrmat( drm1, dav2m_expected,
"palDav2m", 1.0e-12, status );
1039 palDeuler(
"YZY", 2.345, -0.333, 2.222, drm2 );
1040 vrmat( drm2, deuler_expected,
"palDeuler", 1.0e-12, status );
1044 vrmat( drm, dmxm_expected,
"palDmxm", 1.0e-12, status );
1048 vvd ( dv1[0], -0.5366267667260525, 1e-12,
1049 "palDcs2c",
"x", status );
1050 vvd ( dv1[1], 0.06977111097651444, 1e-12,
1051 "palDcs2c",
"y", status );
1052 vvd ( dv1[2], -0.8409302618566215, 1e-12,
1053 "palDcs2c",
"z", status );
1058 vvd ( dv3[0], -0.7267487768696160, 1e-12,
1059 "palDmxv",
"x", status );
1060 vvd ( dv3[1], 0.5011537352639822, 1e-12,
1061 "palDmxv",
"y", status );
1062 vvd ( dv3[2], 0.4697671220397141, 1e-12,
1063 "palDmxv",
"z", status );
1067 vvd ( dv4[0], -0.5366267667260526, 1e-12,
1068 "palDimxv",
"X", status );
1069 vvd ( dv4[1], 0.06977111097651445, 1e-12,
1070 "palDimxv",
"Y", status );
1071 vvd ( dv4[2], -0.8409302618566215, 1e-12,
1072 "palDimxv",
"Z", status );
1076 vvd ( dv5[0], 0.006889040510209034, 1e-12,
1077 "palDm2av",
"X", status );
1078 vvd ( dv5[1], -1.577473205461961, 1e-12,
1079 "palDm2av",
"Y", status );
1080 vvd ( dv5[2], 0.5201843672856759, 1e-12,
1081 "palDm2av",
"Z", status );
1083 for (i=0; i<3; i++) {
1088 palDvn( dv5, dv6, &dvm );
1089 vvd ( dv6[0], 0.004147420704640065, 1e-12,
1090 "palDvn",
"X", status );
1091 vvd ( dv6[1], -0.9496888606842218, 1e-12,
1092 "palDvn",
"Y", status );
1093 vvd ( dv6[2], 0.3131674740355448, 1e-12,
1094 "palDvn",
"Z", status );
1095 vvd ( dvm, 1661.042127339937, 1e-9,
"palDvn",
1098 vvd (
palDvdv ( dv6, dv1 ), -0.3318384698006295,
1099 1e-12,
"palDvn",
" ", status );
1103 vvd ( dv7[0], 0.7767720597123304, 1e-12,
1104 "palDvxv",
"X", status );
1105 vvd ( dv7[1], -0.1645663574562769, 1e-12,
1106 "palDvxv",
"Y", status );
1107 vvd ( dv7[2], -0.5093390925544726, 1e-12,
1108 "palDvxv",
"Z", status );
void palDm2av(double rmat[3][3], double axvec[3])
void palDmxv(double dm[3][3], double va[3], double vb[3])
void palDvn(double v[3], double uv[3], double *vm)
void palDmxm(double a[3][3], double b[3][3], double c[3][3])
double palDvdv(double va[3], double vb[3])
void palDvxv(double va[3], double vb[3], double vc[3])
void palDcs2c(double a, double b, double v[3])
void palDeuler(const char *order, double phi, double theta, double psi, double rmat[3][3])
static void vrmat(double rmat[3][3], double expected[3][3], const char *func, double dval, int *status)
void palDav2m(double axvec[3], double rmat[3][3])
void palDimxv(double dm[3][3], double va[3], double vb[3])
static void vvd(double val, double valok, double dval, const char *func, const char *test, int *status)