From 25fa757e7d4a2d928afefd92496a8995aac03b8f Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sun, 11 Oct 2020 16:53:34 +0000 Subject: [PATCH] LazStats: Some cleanup for less hints and warnings. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7770 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../analysis/multiple_regression/lsmrunit.lfm | 2 +- .../analysis/multiple_regression/lsmrunit.pas | 9 ++- .../lazstats/source/units/matrixlib.pas | 61 +++++++++---------- 3 files changed, 36 insertions(+), 36 deletions(-) diff --git a/applications/lazstats/source/forms/analysis/multiple_regression/lsmrunit.lfm b/applications/lazstats/source/forms/analysis/multiple_regression/lsmrunit.lfm index 5ba525f41..90cc74978 100644 --- a/applications/lazstats/source/forms/analysis/multiple_regression/lsmrunit.lfm +++ b/applications/lazstats/source/forms/analysis/multiple_regression/lsmrunit.lfm @@ -352,7 +352,7 @@ inherited LSMregForm: TLSMregForm Caption = 'Correlations' end object MeanVarStddevPage: TTabSheet - Caption = 'MeanVarStdDev' + Caption = 'Mean, Variance, StdDev' end end object SaveDialog: TSaveDialog[3] diff --git a/applications/lazstats/source/forms/analysis/multiple_regression/lsmrunit.pas b/applications/lazstats/source/forms/analysis/multiple_regression/lsmrunit.pas index 1ceac5ced..d97c900be 100644 --- a/applications/lazstats/source/forms/analysis/multiple_regression/lsmrunit.pas +++ b/applications/lazstats/source/forms/analysis/multiple_regression/lsmrunit.pas @@ -312,23 +312,26 @@ begin if MeansChkBox.Checked then begin - title := 'Means'; + title := 'MEANS'; DynVectorPrint(Means, NEntered, title, IndColLabels, NCases, lReport); lReport.Add(DIVIDER_SMALL); + lReport.Add(''); end; if VarChkBox.Checked then begin - title := 'Variances'; + title := 'VARIANCES'; DynVectorPrint(Variances, NEntered, title, IndColLabels, NCases, lReport); lReport.Add(DIVIDER_SMALL); + lReport.Add(''); end; if StdDevChkBox.Checked then begin - title := 'Standard Deviations'; + title := 'STANDARD DEVIATIONS'; DynVectorPrint(StdDevs, NEntered, title, IndColLabels, NCases, lReport); lReport.Add(DIVIDER_SMALL); + lReport.Add(''); end; FMeanVarStddevFrame.DisplayReport(lReport); diff --git a/applications/lazstats/source/units/matrixlib.pas b/applications/lazstats/source/units/matrixlib.pas index 6df5adfaf..c5f575551 100644 --- a/applications/lazstats/source/units/matrixlib.pas +++ b/applications/lazstats/source/units/matrixlib.pas @@ -147,7 +147,7 @@ implementation uses Math, StrUtils, - Utils, MathUnit; + MathUnit; procedure GridDotProd(col1, col2: integer; out Product: double; var Ngood: integer); // Get the cross-product of two vectors @@ -159,10 +159,10 @@ procedure GridDotProd(col1, col2: integer; out Product: double; var Ngood: integ // ==> Renamed from "GridVecProd" to "GridDotProd" var i: integer; - Selected: IntDyneVec; + Selected: IntDyneVec = nil; X1, X2: double; begin - SetLength(Selected,2); + SetLength(Selected, 2); Product := 0.0; Selected[0] := col1; Selected[1] := col2; @@ -398,9 +398,10 @@ procedure nonsymroots(a : DblDyneMat; nv : integer; ev is the percent of trace extracted } label 40; var - y, z : DblDyneVec; - ek, e2, d : real; - i, j, k, m : integer; + y: DblDyneVec = nil; + z: DblDyneVec = nil; + ek, e2, d : real; + i, j, k, m : integer; begin SetLength(y,nv); SetLength(z,nv); @@ -464,7 +465,7 @@ const var k,j,imax,i: integer; sum,dum,big: double; - vv: DblDyneVec; + vv: DblDyneVec = nil; BEGIN SetLength(vv,n); d := 1.0; @@ -547,10 +548,10 @@ end; procedure Determ(const a: DblDyneMat; Rows, Cols: integer; out determ: double; out ErrorCode: boolean); var - indx: IntDyneVec; + indx: IntDyneVec = nil; i: integer; begin - SetLength(indx,rows); + SetLength(indx, rows); ErrorCode := false; if (rows <> cols) then ErrorCode := true @@ -567,7 +568,7 @@ procedure EffectCode(GridCol, min, max: integer; FactLetter: string; var StartCol, EndCol, NoVectors: integer); var levels, i, j, grp, col, cval: integer; - coef: IntDyneMat; + coef: IntDyneMat = nil; labelstr: string; begin Assert(OS3MainFrm <> nil); @@ -912,7 +913,8 @@ procedure Dynnonsymroots(var a : DblDyneMat; nv : integer; ev is the percent of trace extracted } label 40; var - y, z : DblDyneVec; + y: DblDyneVec = nil; + z: DblDyneVec = nil; ek, e2, d : real; i, j, k, m : integer; begin @@ -1226,9 +1228,9 @@ procedure MReg2(NCases : integer; var i, j, k, l : integer; IndexX, IndexY : integer; - IndRowLabels : StrDyneVec; - IndColLabels : StrDyneVec; - XYCorrs : DblDyneVec; + IndRowLabels : StrDyneVec = nil; + IndColLabels : StrDyneVec = nil; + XYCorrs : DblDyneVec = nil; df1, df2, df3 : double; SSt, SSres, SSreg : double; VarEst, F : double; @@ -1242,7 +1244,7 @@ var AdjR2 : double; VIF, TOL : double; outcount : integer; - varsout : IntDyneVec; + varsout : IntDyneVec = nil; begin Assert(AReport <> nil); @@ -1472,10 +1474,9 @@ end; //--------------------------------------------------------------------------- procedure eigens(VAR a: DblDyneMat; Var d : DblDyneVec; n : integer); - -var e : DblDyneVec; - i : integer; - +var + e: DblDyneVec = nil; + i: integer; begin SetLength(e,n); for i := 1 to n do @@ -1838,9 +1839,9 @@ var valuestring : string[2]; howlong : integer; outline : string; - Labels : StrDyneVec; + Labels : StrDyneVec = nil; begin - SetLength(Labels,NoVariables); + SetLength(Labels, NoVariables); for i := 1 to nocases do Labels[i-1] := VarLabels[i-1]; height := 40; rangex := x_max - x_min ; @@ -2006,14 +2007,13 @@ Label one, three, nine, fifteen; var L, IT, j, k : integer; Test, sum1, sum2 : double; - X, Y, Z : DblDyneVec; - + X: DblDyneVec = nil; + Y: DblDyneVec = nil; begin // Adapted from: "Multivariate Data Analysis" by William W. Cooley and Paul // R. Lohnes, 1971, page 121 SetLength(X, M); SetLength(Y, M); - SetLength(Z, M); sum2 := 0.0; L := 0; Test := 0.00000001; @@ -2056,26 +2056,23 @@ nine: L := L + 1; goto one; fifteen: - Z := nil; - Y := nil; X := nil; + Y := nil; end; procedure matinv(a, vtimesw, v, w: DblDyneMat; n: integer); LABEL 1,2,3; -VAR - ainverse : array of array of double; - m,mp,np,nm,l,k,j,its,i: integer; +var + ainverse: array of array of double = nil; + rv1: array of double = nil; + m,nm,l,k,j,its,i: integer; z,y,x,scale,s,h,g,f,c,anorm: double; - rv1: array of double; begin setlength(rv1,n); setlength(ainverse,n,n); m := n; - mp := n; - np := n; g := 0.0; scale := 0.0; anorm := 0.0;