GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-dd1a9b617b
shapiroe.c
Go to the documentation of this file.
1 #include <stdio.h>
2 #include <math.h>
3 
4 double *Cdhc_shapiro_wilk_exp(double *x, int n)
5 {
6  static double y[2];
7  double mean, b, s1, xs, sum1 = 0.0, sum2 = 0.0;
8  int i;
9 
10  for (i = 0; i < n; ++i)
11  if (i == 0 || xs > x[i])
12  xs = x[i];
13 
14  for (i = 0; i < n; ++i) {
15  sum1 += x[i];
16  sum2 += x[i] * x[i];
17  }
18 
19  s1 = sum2 - sum1 * sum1 / n;
20  mean = sum1 / n;
21  b = (mean - xs) * sqrt((double)n / (n - 1.0));
22  y[0] = b * b / s1;
23 
24 #ifdef NOISY
25  fprintf(stdout, " TEST15 SW(E) =%10.4f\n", y[0]);
26 #endif /* NOISY */
27 
28  return y;
29 }
float mean(IClass_statistics *statistics, int band)
Helper function for computing mean.
double b
Definition: r_raster.c:39
double * Cdhc_shapiro_wilk_exp(double *x, int n)
Definition: shapiroe.c:4
#define x