18 #include <grass/gis.h>
19 #include <grass/glocale.h>
20 #include <grass/N_pde.h>
25 static int test_mean_calc(
void);
34 G_message(_(
"\n++ Running math tool unit tests ++"));
36 sum += test_mean_calc();
39 G_warning(_(
"\n-- math tool unit tests failure --"));
41 G_message(_(
"\n-- math tool unit tests finished successfully --"));
49 int test_mean_calc(
void)
51 double a,
b, mean_n, mean,
vector, distance,
D, weight;
53 double array[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
58 for (i = 0; i < 10; i++)
68 G_message(
"N_calc_arith_mean: calc a %g and b %g = %12.18lf", a, b, mean);
70 G_message(
"N_calc_arith_mean_n: calc a %g and b %g = %12.18lf", v[0],
77 G_message(
"N_calc_geom_mean: calc a %g and b %g = %12.18lf", a, b, mean);
79 G_message(
"N_calc_geom_mean_n: calc a %g and b %g = %12.18lf", v[0], v[1],
86 G_message(
"N_calc_harmonic_mean: calc a %g and b %g = %12.18lf", a, b,
89 G_message(
"N_calc_harmonic_mean_n: calc a %g and b %g = %12.18lf", v[0],
99 G_message(
"N_calc_harmonic_mean: calc a %g and b %g = %12.18lf", a, b,
102 G_message(
"N_calc_harmonic_mean_n: calc a %g and b %g = %12.18lf", v[0],
114 G_message(
"N_calc_quad_mean: calc a %g and b %g = %12.18lf", a, b, mean);
116 G_message(
"N_calc_quad_mean_n: calc a %g and b %g = %12.18lf", v[0], v[1],
127 G_message(
"N_full_upwinding: vector %g distance %g D %g weight %g\n",
128 vector, distance, D, weight);
131 G_warning(
"Error detected in N_full_upwinding");
138 G_message(
"N_full_upwinding: vector %g distance %g D %g weight %g\n",
139 vector, distance, D, weight);
141 G_warning(
"Error detected in N_full_upwinding");
148 G_message(
"N_full_upwinding: vector %g distance %g D %g weight %g\n",
149 vector, distance, D, weight);
151 G_warning(
"Error detected in N_full_upwinding");
162 G_message(
"N_exp_upwinding: vector %g distance %g D %g weight %g\n",
163 vector, distance, D, weight);
164 sprintf(buff1,
"%1.2lf", weight);
165 sscanf(buff1,
"%lf", &weight);
167 if (weight != 0.05) {
168 G_warning(
"Error detected in N_exp_upwinding");
175 G_message(
"N_exp_upwinding: vector %g distance %g D %g weight %g\n",
176 vector, distance, D, weight);
177 sprintf(buff1,
"%1.2lf", weight);
178 sscanf(buff1,
"%lf", &weight);
180 if (weight != 0.95) {
181 G_warning(
"Error detected in N_exp_upwinding");
188 G_message(
"N_exp_upwinding: vector %g distance %g D %g weight %g\n",
189 vector, distance, D, weight);
191 G_warning(
"Error detected in N_exp_upwinding");