Switch to side-by-side view

--- a/StatLib.mod.m2pp
+++ b/StatLib.mod.m2pp
@@ -34,6 +34,7 @@
   (*                entsprechenden Daten eingefuegt.                        *)
   (*                WilcoxonDaten ist komplett neu, Parameterliste von      *)
   (*                Wilcoxon um Ua,Uxy,NInv,iFehl erweitert                 *)
+  (* 18.11.18, MRi: Average & StdDev eingefuegt                             *)
   (*------------------------------------------------------------------------*)
   (* Offene Punkte                                                          *)
   (*                                                                        *)
@@ -60,6 +61,29 @@
 
 CONST debug   = FALSE;
 
+PROCEDURE sqr(x : LONGREAL) : LONGREAL; BEGIN RETURN x*x; END sqr;
+
+PROCEDURE Average(VAR X  : ARRAY OF LONGREAL;
+                      N : CARDINAL) : LONGREAL;
+
+          VAR i : CARDINAL;
+              s : LONGREAL;
+BEGIN
+      s:=0.0;
+      FOR i:=0 TO N-1 DO s:=s + X[i]; END;
+      RETURN s / LFLOAT(N);
+END Average;
+
+PROCEDURE StdDev(VAR X : ARRAY OF LONGREAL;   
+                     N : CARDINAL) : LONGREAL;
+          VAR i     : CARDINAL;
+              s,avg : LONGREAL;
+BEGIN
+      avg := Average(X,N);
+      s:=0.0;
+      FOR i:=0 TO N-1 DO s:=s + sqr(avg - X[i]); END;
+      RETURN sqrt(s / LFLOAT(N-1));
+END StdDev;
 
 PROCEDURE CDF(x : LONGREAL) : LONGREAL;