LazStats: Less hints and warning.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7814 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-10-26 18:00:52 +00:00
parent af63896d52
commit cfe3a9c460
49 changed files with 222 additions and 192 deletions

View File

@ -763,7 +763,7 @@ var
ColLabels: StrDyneVec = nil;
RowLabels: StrDyneVec = nil;
AMatrix: DblDyneMat = nil;
ColHeader: string;
{%H-}ColHeader: string;
Title: string;
i, j, k, row: integer;
begin
@ -861,7 +861,7 @@ var
AMatrix: DblDyneMat = nil;
PooledMat: DblDyneMat = nil;
M1, M2, Sum1, C1, C2, f1, f2, chi, ProbChi, X, avgvar, avgcov: double;
ColHeader, LabelStr: string;
{%H-}ColHeader, LabelStr: string;
Title: string;
i, j, k, l, row, SubjA, SubjB, N, p, quad : integer;
Det: Double = 0.0;

View File

@ -700,9 +700,9 @@ var
SSTotal: double;
// SSExplained: double;
SSGrpTot: double = 0.0;
tProbs: DblDyneVec;
BTtests: DblDyneVec;
BStdErrs: DblDyneVec; // standard errors of regression weights
tProbs: DblDyneVec = nil;
BTtests: DblDyneVec = nil;
BStdErrs: DblDyneVec = nil; // standard errors of regression weights
localReport: TStrings;
begin
{$IFDEF ANCOVA_DEBUG}
@ -1061,14 +1061,14 @@ end;
procedure TANCOVAfrm.AdjustMeans(AReport: TStrings);
var
sum : double;
GrpCovMeans : DblDyneMat;
AdjMeans : DblDyneVec;
Intercepts : DblDyneVec;
GrpCovMeans : DblDyneMat = nil;
AdjMeans : DblDyneVec = nil;
Intercepts : DblDyneVec = nil;
i, j, k, col, grp, nogrps : integer;
value : double;
Labels : StrDyneVec;
noingrp : IntDyneVec;
XValue : DblDyneVec;
Labels : StrDyneVec = nil;
noingrp : IntDyneVec = nil;
XValue : DblDyneVec = nil;
maxmean : double;
cell1 : string;
begin
@ -1221,9 +1221,9 @@ end;
procedure TANCOVAfrm.MultCompare(AReport: TStrings);
var
i, j, size : integer;
covmat : DblDyneMat;
covmat : DblDyneMat = nil;
title : string;
Labels : StrDyneVec;
Labels : StrDyneVec = nil;
sum : double;
df1, df2, F, Prob : double;

View File

@ -236,10 +236,14 @@ var
group, col: integer;
p, X, f1, f2, f3, probf1, probf2, probf3, fd1, fd2, TotMean: double;
TotStdDev, den, maxmean: double;
C, StdDev: DblDyneMat;
squaredsumx, sumxsquared, coltot, sumsum: DblDyneVec;
C: DblDyneMat = nil;
StdDev: DblDyneMat = nil;
squaredsumx: DblDyneVec = nil;
sumxsquared: DblDyneVec = nil;
coltot: DblDyneVec = nil;
sumsum: DblDyneVec = nil;
degfree: array[1..8] of integer;
ColNoSelected: IntDyneVec;
ColNoSelected: IntDyneVec = nil;
ss: array[1..8] of double;
ms: array[1..8] of double;
coeff: array[1..6] of double;
@ -259,7 +263,7 @@ begin
exit;
end;
SetLength(ColNoSelected,NoVariables+1);
SetLength(ColNoSelected, NoVariables+1);
NoSelected := 1;
// Get between subjects group variable
@ -644,8 +648,8 @@ end;
procedure TAxSAnovaFrm.PostHocTests(NoSelected: Integer; MSerr: double;
dferr: integer; Count: integer; ColMeans: DblDyneVec; AReport: TStrings);
var
group_total: DblDyneVec;
group_count: DblDyneVec;
group_total: DblDyneVec = nil;
group_count: DblDyneVec = nil;
i, mingrp: integer;
begin
SetLength(group_total,NoSelected);
@ -780,7 +784,7 @@ procedure TAxSAnovaFrm.Newman_Keuls(
var
i, j: integer;
temp1, temp2: double;
groupno: IntDyneVec;
groupno: IntDyneVec = nil;
alpha: double;
contrast, mean1, mean2: double;
q_stat: double;
@ -924,7 +928,7 @@ var
df1: double;
qstat: double;
tstat: double;
groupno: IntDyneVec;
groupno: IntDyneVec = nil;
temp1, temp2: double;
tempno: integer;
NoGrps: integer;

View File

@ -2056,14 +2056,14 @@ procedure TBlksAnovaFrm.TwoWayContrasts(AReport: TStrings);
var
i, j : integer;
value : double;
variances : DblDyneVec;
variances : DblDyneVec = nil;
RowSS, ColSS : double;
begin
if CompError then
exit;
SetLength(variances,totcells);
SetLength(variances, totcells);
// Do row comparisons
if (NF1cells > 2) then
@ -2209,7 +2209,7 @@ procedure TBlksAnovaFrm.ThreeWayContrasts(AReport: TStrings);
var
i, j, k : integer;
value : double;
variances : DblDyneVec;
variances : DblDyneVec = nil;
RowSS, ColSS, SlcSS : double;
begin

View File

@ -147,10 +147,10 @@ var
DataVar: string;
cellstring: string;
i, j, rangeA, rangeB, rangeC, mn, mx: integer;
cellcnts: IntDyneMat;
celltotals: DblDyneMat;
Ctotals: DblDyneVec;
design: StrDyneMat;
cellcnts: IntDyneMat = nil;
celltotals: DblDyneMat = nil;
Ctotals: DblDyneVec = nil;
design: StrDyneMat = nil;
G, term1, term2, term3, term4, term5, term6, sumxsqr: double;
sumAsqr, sumBsqr, sumCsqr, sumABCsqr, SSA, SSB, SSC: double;
SSwithin, SSres, SStotal: double;
@ -442,10 +442,10 @@ var
i, j, k: integer;
rangeA, rangeB, rangeC, rangeD: integer;
mn, mx, minD: Integer;
cellcnts: IntDyneCube;
celltotals: DblDyneCube;
Ctotals: DblDyneVec;
design: StrDyneMat;
cellcnts: IntDyneCube = nil;
celltotals: DblDyneCube = nil;
Ctotals: DblDyneVec = nil;
design: StrDyneMat = nil;
G, term1, term2, term3, term4, term5, term6, term7, term8: double;
term9, sumxsqr: double;
sumAsqr, sumBsqr, sumCsqr, sumDsqr, SSA, SSB, SSC, SSD: double;

View File

@ -7,7 +7,7 @@ interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls, StdCtrls,
MainUnit, Globals, FunctionsLib, OutputUnit, DataProcs;
MainUnit, Globals, OutputUnit, DataProcs;
type
@ -166,7 +166,7 @@ var
variance1, variance2, pooled, sedif, df, ConfInt, tconfint: double;
i, v1, v2, ncases1, ncases2, NoSelected: integer;
group, min, max: integer;
ColNoSelected: IntDyneVec;
ColNoSelected: IntDyneVec = nil;
label1Str, label2Str: string;
msg: String;
C: TWinControl;

View File

@ -199,7 +199,7 @@ end;
procedure TTwoCorrsFrm.ComputeBtnClick(Sender: TObject);
var
lReport: TStrings;
Corxy, Corxz, Coryz, Cor1, Cor2, alpha, tvalue, df1, df2: double;
Corxy, Corxz, Coryz, Cor1, Cor2, alpha, tvalue, df2: double;
CorDif, zOne, zTwo, zDif, StdErr, zValue, zprobability: double;
UCL, LCL, ztest, ConfLevel, tprobability, ttest: double;
mean1, mean2, mean3, variance1, variance2, variance3: double;
@ -273,7 +273,6 @@ begin
CorDif := Corxy - Corxz;
alpha := (1.0 - ConfLevel) / 2.0;
tvalue := CorDif * sqrt((SSize - 3.0) * (1.0 + Coryz)) / sqrt(2.0 * (1.0 - Corxy*Corxy - Corxz*Corxz - Coryz*Coryz + 2.0*Corxy*Corxz*Coryz));
df1 := 1.0;
df2 := SSize - 3.0;
tprobability := probt(tvalue,df2);
ttest := inverset(1.0 - alpha, df2);
@ -454,7 +453,6 @@ begin
alpha := (1.0 - ConfLevel) / 2.0;
tvalue := CorDif * sqrt((SSize - 3.0) * (1.0 + Coryz)) /
sqrt(2.0 * (1.0 - Corxy * Corxy - Corxz * Corxz - Coryz * Coryz + 2.0 * Corxy * Corxz * Coryz));
df1 := 1.0;
df2 := SSize - 3.0;
tprobability := probt(tvalue,df2);
ttest := inverset(1.0 - alpha, df2);

View File

@ -164,7 +164,7 @@ var
P, Q: double;
i, v1, v2, NoSelected, f1, f2, f3, f4, ncases1, ncases2: integer;
min, max, group, AB, AC, CD, BD: integer;
ColNoSelected: IntDyneVec;
ColNoSelected: IntDyneVec = nil;
msg: String;
C: TWinControl;
lReport: TStrings;

View File

@ -108,7 +108,7 @@ implementation
uses
TAChartUtils, TACustomSeries,
GridProcs,
Utils, MathUnit, MatrixUnit, ChartFrameUnit;
Utils, MathUnit, ChartFrameUnit;
{ TWithinANOVAFrm }
@ -161,13 +161,17 @@ procedure TWithinANOVAFrm.CalcANOVA(
out ARowMeans, ARowVariances, AColMeans,AColVariances: DblDyneVec;
out AResults: TWithinANOVAResults);
var
S: Double = 0;
SS: Double = 0;
term1, term2, term3, term4: Double;
noSelected: Integer;
i, count: Integer;
begin
ARowMeans := nil;
ARowVariances := nil;
AColMeans := nil;
AColVariances := nil;
noSelected := SelList.Items.Count;
count := Length(ARowSums);
@ -297,7 +301,7 @@ end;
procedure TWithinANOVAFrm.Compute;
var
j, noSelected, DF: integer;
noSelected, DF: integer;
r1, r2, r3, r4: double;
grandSum, grandSS: Double;
determ1, determ2, chi2, prob: Double;
@ -532,6 +536,9 @@ var
avgVar, avgCov, C2, M2: Double;
i, j, noSelected, count: Integer;
begin
ASampleVarCovarMat := nil;
AssumedVarCovarMat := nil;
ErrorFound := false;
noSelected := Length(ASelected);
count := NoCases;

View File

@ -79,6 +79,7 @@ function TMoveAvgFrm.GetRawWeights: DblDyneVec;
var
r: Integer;
begin
Result := nil;
SetLength(Result, WeightGrid.RowCount - 1);
for r := 1 to WeightGrid.RowCount - 1 do
if WeightGrid.cells[1, r] = '' then

View File

@ -53,7 +53,7 @@ type
procedure InBtnClick(Sender: TObject);
procedure OutBtnClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
procedure SelectListSelectionChange(Sender: TObject; User: boolean);
procedure SelectListSelectionChange(Sender: TObject; {%H-}User: boolean);
function ArrayPosition(NumDims: integer; const Data: DblDyneVec;
const Subscripts, DimSize: IntDyneVec): integer;
procedure Marginals(NumDims, ArraySize: integer; const Indexes: IntDyneMat;

View File

@ -51,7 +51,7 @@ implementation
uses
Math, Grids,
Utils, DictionaryUnit, GridProcs;
Utils, GridProcs;
{ TCrossTabCalculator }

View File

@ -27,7 +27,6 @@ type
FValues: DblDyneVec;
FMean, FStdErrorMean: Double;
FMin, FMax: Double;
FSum: Double;
FVariance, FStdDev: Double;
FSkew, FStdErrorSkew: Double;
FKurtosis, FStdErrorKurtosis: Double;
@ -380,7 +379,7 @@ end;
procedure TDescriptiveFrm.Compute;
var
i, j: Integer;
i: Integer;
nSelected: Integer;
selected: IntDyneVec = nil;
page: TTabSheet;
@ -556,7 +555,6 @@ procedure TDescriptiveFrm.UpdateBtnStates;
var
lSelected: Boolean;
i: Integer;
F: TReportFrame;
begin
inherited;

View File

@ -9,7 +9,7 @@ interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls, ExtCtrls, Buttons, Clipbrd, ComCtrls,
MainUnit, Globals, DataProcs, DictionaryUnit,
MainUnit, Globals, DataProcs,
BasicStatsReportAndChartFormUnit, ReportFrameUnit, ChartFrameUnit;
type
@ -96,7 +96,6 @@ var
//minX, maxX, minY, maxY,
X, Y: double;
cellstring: string;
maxGrpSize: integer = 0;
numInGrp: IntDyneVec = nil;
xValues: DblDyneMat = nil;
yValues: DblDyneMat = nil;

View File

@ -162,7 +162,6 @@ var
tmpY: DblDyneVec = nil;
conf: DblDyneVec = nil;
ext: TDoubleRect;
xmin, xmax, ymin, ymax: Double;
rightLabels: TListChartSource;
topLabels: TListChartSource;
ser: TChartSeries;

View File

@ -45,7 +45,7 @@ type
procedure FormShow(Sender: TObject);
procedure HelpBtnClick(Sender: TObject);
procedure InBtnClick(Sender: TObject);
procedure ItemListSelectionChange(Sender: TObject; User: boolean);
procedure ItemListSelectionChange(Sender: TObject; {%H-}User: boolean);
procedure OutBtnClick(Sender: TObject);
procedure RelListClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
@ -170,10 +170,10 @@ var
Rmat, RelMat: DblDyneMat;
Weights, Reliabilities, VectProd, means, variances, stddevs: DblDyneVec;
CompRel, numerator, denominator, compscore: double;
colnoselected: IntDyneVec;
colnoselected: IntDyneVec = nil;
cellstring: string;
title: string;
RowLabels: StrDyneVec;
RowLabels: StrDyneVec = nil;
lReport: TStrings;
begin
if ItemList.Count = 0 then
@ -191,7 +191,7 @@ begin
SetLength(means,NoVariables);
SetLength(variances,NoVariables);
SetLength(stddevs,NoVariables);
SetLength(RowLabels,NoVariables);
SetLength(RowLabels{%H-},NoVariables);
// get variable col. no.s selected
NoVars := ItemList.Items.Count;

View File

@ -84,7 +84,7 @@ type
procedure ItemInBtnClick(Sender: TObject);
procedure ItemOutBtnClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
{ private declarations }
@ -958,7 +958,7 @@ end;
procedure TDIFfrm.ItemTestCorrs(AReport: TStrings);
var
i, j: integer;
Cors: DblDyneVec;
Cors: DblDyneVec = nil;
title: string;
begin
SetLength(Cors,NoItems);
@ -987,8 +987,8 @@ end;
procedure TDIFfrm.ItemCurves;
var
i, j: integer;
XPlotPts: DblDyneMat;
YPlotPts: DblDyneMat;
XPlotPts: DblDyneMat = nil;
YPlotPts: DblDyneMat = nil;
max: integer;
begin
SetLength(XPlotPts, 1, nolevels);

View File

@ -33,7 +33,7 @@ type
procedure InBtnClick(Sender: TObject);
procedure OutBtnClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
{ private declarations }
FAutoSized: Boolean;
@ -110,22 +110,22 @@ procedure TGuttmanFrm.ComputeBtnClick(Sender: TObject);
var
i, j, k, col, X, e0, e1, e2, e3, first, last, errors : integer;
totalerrors, rowno : integer;
FreqMat0 : IntDyneMat; // Pointer to array of 0 responses for each item by score group
FreqMat1 : IntDyneMat; // Pointer to array of 1 responses for each item by score group
RowTots : IntDyneVec; // Pointer to vector of total score frequencies for items
ColTots : IntDyneMat; // Pointer to array of 0 and 1 column totals
ColProps : DblDyneVec; // Pointer to array of proportions correct in columns
ColNoSelected : IntDyneVec; // Pointer to vector of item Grid columns
CaseVector : IntDyneVec; // Pointer to vector of subject's item responses
FreqMat0 : IntDyneMat = nil; // Pointer to array of 0 responses for each item by score group
FreqMat1 : IntDyneMat = nil; // Pointer to array of 1 responses for each item by score group
RowTots : IntDyneVec= nil; // Pointer to vector of total score frequencies for items
ColTots : IntDyneMat = nil; // Pointer to array of 0 and 1 column totals
ColProps : DblDyneVec = nil; // Pointer to array of proportions correct in columns
ColNoSelected : IntDyneVec = nil; // Pointer to vector of item Grid columns
CaseVector : IntDyneVec = nil; // Pointer to vector of subject's item responses
TotalScore : integer; // Total score of a subject
temp : integer; // temporary variable used in sorting
CutScore : IntDyneVec; // Optimal cut scores for each item
ErrorMat : IntDyneMat; // matrix of errors above and below cut scores
sequence : IntDyneVec; // original and sorted sequence no. of items
CaseNo : IntDyneVec; // ID number for each case
ModalArray : IntDyneMat; // Array of modal item responses
CutScore : IntDyneVec = nil; // Optimal cut scores for each item
ErrorMat : IntDyneMat = nil; // matrix of errors above and below cut scores
sequence : IntDyneVec = nil; // original and sorted sequence no. of items
CaseNo : IntDyneVec = nil; // ID number for each case
ModalArray : IntDyneMat = nil; // Array of modal item responses
NoSelected : integer;
VarLabels : StrDyneVec; // variable labels
VarLabels : StrDyneVec = nil; // variable labels
outline, astring : string;
done : boolean;
CoefRepro : double;

View File

@ -339,9 +339,9 @@ var
cellstring: string;
title: string;
nsize: array [1..2] of integer;
FData: IntDyneCube; //no. of category values within item for focal group
RData: IntDyneCube; //no. of category values within item for reference group
TotData: IntDyneCube; // sum of the above two
FData: IntDyneCube = nil; //no. of category values within item for focal group
RData: IntDyneCube = nil; //no. of category values within item for reference group
TotData: IntDyneCube = nil; // sum of the above two
t, Mf, Mb, Sf, Sb, Nb, Nf, df, d, Sd: DblDyneVec;
Zc, Vart, BigJ, SumE, SumV, Term1, MY, prob: double;
X, BigDnum, BigDden, BigD, BigDS, Zd, M2, E, VarE, Ti, dftot: double;

View File

@ -45,7 +45,7 @@ type
procedure OutBtnClick(Sender: TObject);
procedure SelListDblClick(Sender: TObject);
procedure VarListDblClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
@ -109,19 +109,19 @@ var
errcode : boolean;
filename : string;
cellstring: string;
Corrs : DblDyneMat;
Means : DblDyneVec;
Variances : DblDyneVec;
StdDevs : DblDyneVec;
ColNoSelected : IntDyneVec;
Corrs : DblDyneMat = nil;
Means : DblDyneVec = nil;
Variances : DblDyneVec = nil;
StdDevs : DblDyneVec = nil;
ColNoSelected : IntDyneVec = nil;
title : string;
RowLabels : StrDyneVec;
ColLabels : StrDyneVec;
InverseMat : DblDyneMat;
ProdMat : DblDyneMat;
CorrMat : DblDyneMat;
BetaWeights : DblDyneVec;
IndepIndex : IntDyneVec;
RowLabels : StrDyneVec = nil;
ColLabels : StrDyneVec = nil;
InverseMat : DblDyneMat = nil;
ProdMat : DblDyneMat = nil;
CorrMat : DblDyneMat = nil;
BetaWeights : DblDyneVec = nil;
IndepIndex : IntDyneVec = nil;
constant : double;
lReport: TStrings;
begin

View File

@ -49,7 +49,7 @@ type
procedure InBtnClick(Sender: TObject);
procedure OutBtnClick(Sender: TObject);
procedure VarListDblClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
{ private declarations }
@ -294,7 +294,7 @@ var
filename: string;
R2: double;
StdErrEst: double;
IndepIndex: IntDyneVec;
IndepIndex: IntDyneVec = nil;
constant: double;
lReport: TStrings;
begin

View File

@ -10,7 +10,7 @@ interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Buttons, ExtCtrls,
Globals, MainUnit, MatrixLib, FunctionsLib, DataProcs, DictionaryUnit, BasicStatsReportFormUnit;
Globals, MainUnit, MatrixLib, DataProcs, DictionaryUnit, BasicStatsReportFormUnit;
type
@ -53,7 +53,7 @@ type
procedure NextBlkBtnClick(Sender: TObject);
procedure OutBtnClick(Sender: TObject);
procedure VarListDblClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
BlkVarCols : IntDyneMat;
NoBlocks : integer;
@ -140,24 +140,22 @@ var
R2, df1, df2: double;
StdErrEst, F, FProbF, OldR2 : double;
pdf1, probin, prout : double;
BetaWeights : DblDyneVec;
corrs : DblDyneMat;
Means : DblDyneVec;
Variances : DblDyneVec;
StdDevs : DblDyneVec;
BetaWeights : DblDyneVec = nil;
corrs : DblDyneMat = nil;
Means : DblDyneVec = nil;
Variances : DblDyneVec = nil;
StdDevs : DblDyneVec = nil;
title : string;
IndRowLabels : StrDyneVec;
IndColLabels : StrDyneVec;
IndepInverse : DblDyneMat;
IndepIndex : IntDyneVec;
Candidate : IntDyneVec;
IndRowLabels : StrDyneVec = nil;
IndColLabels : StrDyneVec = nil;
IndepInverse : DblDyneMat = nil;
IndepIndex : IntDyneVec = nil;
Candidate : IntDyneVec = nil;
filename : string;
ColEntered : IntDyneVec;
ColEntered : IntDyneVec = nil;
constant : double;
errcode: boolean = false;
NCases: Integer = 0;
msg: String;
C: TWinControl;
lReport: TStrings;
begin
SetLength(corrs,NoVariables+1,NoVariables+1);

View File

@ -46,7 +46,7 @@ type
function Norm(z : double): double;
function ix(j, k, nCols : integer): integer;
procedure VarListDblClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
{ private declarations }
@ -133,7 +133,7 @@ var
cellstring : string;
outline : string;
nR : integer; // no. independent variables
ColNoSelected : IntDyneVec;
ColNoSelected : IntDyneVec = nil;
nC : integer; // no. cases
nP : integer; // survival time variable
nS : integer; // survival status variable
@ -149,18 +149,18 @@ var
RowLabels, ColLabels : StrDyneVec;
CSq : double; // chi square statistic
prob : double; // probability of chi square
SurvT : DblDyneVec;
Stat : DblDyneVec;
Alpha : DblDyneVec;
a : DblDyneVec;
b : DblDyneVec;
s1 : DblDyneVec;
s2 : DblDyneVec;
s : DblDyneVec;
Av : DblDyneVec;
SD : DblDyneVec;
SE : DblDyneVec;
x : DblDyneVec; // data matrix for independent variables
SurvT : DblDyneVec = nil;
Stat : DblDyneVec = nil;
Alpha : DblDyneVec = nil;
a : DblDyneVec = nil;
b : DblDyneVec = nil;
s1 : DblDyneVec = nil;
s2 : DblDyneVec = nil;
s : DblDyneVec = nil;
Av : DblDyneVec = nil;
SD : DblDyneVec = nil;
SE : DblDyneVec = nil;
x : DblDyneVec = nil; // data matrix for independent variables
Lo95 : double;
Hi95 : double;
d : double;

View File

@ -35,7 +35,7 @@ type
procedure InBtnClick(Sender: TObject);
procedure OutBtnClick(Sender: TObject);
procedure VarListDblClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
@ -43,7 +43,7 @@ type
procedure AdjustConstraints; override;
procedure Compute; override;
procedure UpdateBtnStates; override;
function Validate(out AMsg: String; out AControl: TWinControl): Boolean;
function Validate(out AMsg: String; out AControl: TWinControl): Boolean; override;
public
procedure Reset; override;
@ -162,7 +162,6 @@ var
iters : integer;
Table : array[1..3,1..3] of integer;
row, col : integer;
maxIts: Integer;
lReport: TStrings;
begin
lReport := TStringList.Create;
@ -191,9 +190,6 @@ begin
end;
end;
// Max count of iterations
maxIts := StrToInt(MaxItsEdit.Text);
nP := nR + 1;
nP1 := nP + 1;
for j := 1 to NoVariables do

View File

@ -7,7 +7,7 @@ interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls, Buttons, ExtCtrls,
Globals, MainUnit, MatrixLib, FunctionsLib, DataProcs, BasicStatsReportFormUnit;
Globals, MainUnit, MatrixLib, DataProcs, BasicStatsReportFormUnit;
type
@ -48,7 +48,7 @@ type
procedure DepOutBtnClick(Sender: TObject);
procedure InBtnClick(Sender: TObject);
procedure SelListDblClick(Sender: TObject);
procedure SelListSelectionChange(Sender: TObject; User: boolean);
procedure SelListSelectionChange(Sender: TObject; {%H-}User: boolean);
procedure OutBtnClick(Sender: TObject);
procedure VarListDblClick(Sender: TObject);

View File

@ -7,7 +7,7 @@ interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls, Buttons, ExtCtrls, ComCtrls,
Globals, MainUnit, DictionaryUnit, Matrixlib, DataProcs,
Globals, MainUnit, DictionaryUnit,
RegressionUnit, ReportFrameUnit, ChartFrameUnit, BasicStatsParamsFormUnit;
type
@ -196,7 +196,7 @@ procedure TWLSForm.AddVariable(AVarName: String; AData: DblDyneVec;
end;
var
i, j, colIndex, row: Integer;
i, colIndex, row: Integer;
begin
colIndex := GetVariableIndex(OS3MainFrm.DataGrid, AVarname);
if colIndex = -1 then

View File

@ -169,8 +169,8 @@ var
outline, ColHead: string;
Title : string;
GrpVar, NoGrps, nowithin, TotalCases, value, grpno : integer;
ColNoSelected : IntDyneVec;
NoInGrp : IntDyneVec;
ColNoSelected : IntDyneVec = nil;
NoInGrp : IntDyneVec = nil;
VarLabels, ColLabels, GrpNos : StrDyneVec;
X, Y, GroupSS, ErrorSS, GroupMS, ErrorMS, TotalSS, num, s, v2, den : double;
Lambda, ChiSquare, Pillia, TotChi, p, Rc, chi, chiprob, m, L2, F, Fprob : double;

View File

@ -118,10 +118,10 @@ var
i, j, k, k1, k3, L, w3, n3, n4, n5, M, col, count: integer;
GrpCnt, Nrows, Ncols, NoSelected: integer;
w2, k4, k5, L1 : IntDyneVec;
ColSelected : IntDyneVec;
ColSelected : IntDyneVec = nil;
X, Y, d1, x1, MaxError : double;
W, XAxis, YAxis, means, variances, stddevs : DblDyneVec;
Distance : DblDyneMat;
Distance : DblDyneMat = nil;
lReport: TStrings;
begin
if MaxGrpsChk.Checked then

View File

@ -59,7 +59,7 @@ type
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure InBtnClick(Sender: TObject);
procedure ListBox1SelectionChange(Sender: TObject; User: boolean);
procedure ListBox1SelectionChange(Sender: TObject; {%H-}User: boolean);
procedure OutBtnClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
procedure ResetModelBtnClick(Sender: TObject);

View File

@ -290,7 +290,7 @@ var
yates : boolean;
NoSelected, NCases, NRows, NCols: Integer;
i, j, rowNo, colNo, depNo: integer;
Row, Col, df: integer;
df: integer;
ChiSquare, probChi, phi: double;
AdjChiSqr, AdjProbChi, pearsonr, G, likelihood, MantelHaenszel, prob: double;
CoefCont, CramerV: double;

View File

@ -35,7 +35,7 @@ type
procedure InBtnClick(Sender: TObject);
procedure OutBtnClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
{ private declarations }
FAutoSized: Boolean;
@ -113,7 +113,7 @@ end;
procedure TCochranQFrm.ComputeBtnClick(Sender: TObject);
var
i, j, k, col: integer;
ColNoSelected: IntDyneVec;
ColNoSelected: IntDyneVec = nil;
R1, L1, L2, C1, g1, Q, g2, chiprob: double;
cellstring: string;
lReport: TStrings;

View File

@ -35,7 +35,7 @@ type
procedure InBtnClick(Sender: TObject);
procedure OutBtnClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
{ private declarations }
FAutoSized: Boolean;
@ -119,13 +119,13 @@ var
Temp, TotalCorrect, JudgeCorrect, ChiSquare, Probability : double;
TotalRankSums, Concordance, AvgRankCorr, AvgTotalRanks : double;
statistic : double;
scorearray : DblDyneMat;
scorearray : DblDyneMat = nil;
temprank, ObjRankSums : DblDyneVec;
tempindex : IntDyneVec;
tempindex : IntDyneVec = nil;
done : boolean;
value, cellstring, outline : string;
ColNoSelected : IntDyneVec;
ColLabels : StrDyneVec;
ColNoSelected : IntDyneVec = nil;
ColLabels : StrDyneVec = nil;
lReport: TStrings;
begin
if SelList.Items.Count = 0 then

View File

@ -186,7 +186,7 @@ var
N, APlusB, APlusC, BPlusD, CPlusD, NoSelected, dep: integer;
FirstP, p, SumProb, Tocher, Alpha, X: double;
obs: array[1..2, 1..2] of integer;
ColNoSelected: IntDyneVec;
ColNoSelected: IntDyneVec = nil;
done, ok: boolean;
response: string;
lReport: TStrings;
@ -210,7 +210,7 @@ begin
end;
end;
SetLength(ColNoSelected,3);
SetLength(ColNoSelected, 3);
ColNoSelected[0] := row;
ColNoSelected[1] := col;
if InputGrp.ItemIndex = 2 then

View File

@ -88,7 +88,7 @@ object FriedmanFrm: TFriedmanFrm
OnClick = HelpBtnClick
TabOrder = 1
end
object Bevel1: TBevel
object ButtonBevel: TBevel
AnchorSideLeft.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
@ -105,7 +105,7 @@ object FriedmanFrm: TFriedmanFrm
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Bevel1
AnchorSideBottom.Control = ButtonBevel
Left = 8
Height = 273
Top = 8

View File

@ -15,7 +15,7 @@ type
{ TFriedmanFrm }
TFriedmanFrm = class(TForm)
Bevel1: TBevel;
ButtonBevel: TBevel;
HelpBtn: TButton;
Panel1: TPanel;
ResetBtn: TButton;
@ -41,7 +41,7 @@ type
procedure ResetBtnClick(Sender: TObject);
procedure TrtInClick(Sender: TObject);
procedure TrtOutClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
{ private declarations }
FAutosized: Boolean;
@ -150,13 +150,14 @@ Var
s, t, TotRanks, chisqr, probchi, score : double;
X, ColRanks : DblDyneVec;
Ranks, means : DblDyneMat;
RowLabels, ColLabels : StrDyneVec;
RowLabels: StrDyneVec = nil;
ColLabels: StrDyneVec = nil;
index : IntDyneVec;
GrpNo : IntdyneMat;
cellstring: string;
title : string;
ties : boolean;
ColNoSelected : IntDyneVec;
ColNoSelected : IntDyneVec = nil;
lReport: TStrings;
begin
if GrpVar.Text = '' then begin
@ -173,7 +174,7 @@ begin
k := TreatVars.Items.Count;
NoSelected := k + 1;
SetLength(ColNoSelected,NoVariables);
SetLength(ColLabels,NoVariables);
SetLength(ColLabels, NoVariables);
// get group variable and treatment variables
GrpCol := 0;

View File

@ -43,7 +43,7 @@ type
procedure GrpInClick(Sender: TObject);
procedure GrpOutClick(Sender: TObject);
procedure ResetBtnClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
{ private declarations }
FAutoSized: Boolean;
@ -111,12 +111,12 @@ var
i, j, k, m, ind_var, dep_var, min_grp, max_grp, group, total_n : integer;
NoTies, NoTieGroups, nogroups, NoSelected, npairs, n1, n2 : integer;
largestn : integer;
ColNoSelected : IntdyneVec;
group_count : IntDyneVec;
ColNoSelected : IntdyneVec = nil;
group_count : IntDyneVec = nil;
score, t, SumT, Avg, Probchi, H, CorrectedH, value : double;
Correction, Temp, TieSum, alpha, U, U2, SD, z, prob : double;
Ranks, X : DblDyneMat;
RankSums : DblDyneVec;
RankSums : DblDyneVec = nil;
cellstring, outline: string;
lReport: TStrings;
begin
@ -151,7 +151,6 @@ begin
MessageDlg('Alpha level must be a valid number between 0 and 1.', mtError, [mbOK], 0);
end;
// allocate space
SetLength(ColNoSelected,NoVariables);
SetLength(Ranks,NoCases,2);

View File

@ -9,7 +9,7 @@ interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls, Buttons, ExtCtrls,
MainUnit, FunctionslIB, Globals, DataProcs, BasicStatsReportFormUnit;
MainUnit, FunctionslIB, Globals, BasicStatsReportFormUnit;
type
@ -32,7 +32,7 @@ type
procedure GrpInClick(Sender: TObject);
procedure GrpOutClick(Sender: TObject);
procedure VarListDblClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
protected

View File

@ -209,10 +209,10 @@ var
i, j, RowNo, RefColNo, NoToAnalyze : integer;
Row, Col, Ncases, Nrows, Ncols, df : integer;
RowLabels, ColLabels : StrDyneVec;
ColNoSelected : IntDyneVec;
ColNoSelected : IntDyneVec = nil;
cellstring : string;
outline : string;
Freq : IntDyneMat;
Freq : IntDyneMat = nil;
Prop, Expected, CellChi : DblDyneMat;
ChiSquare, ProbChi : double;
yates : boolean;

View File

@ -28,7 +28,7 @@ type
procedure Var2InClick(Sender: TObject);
procedure Var2OutClick(Sender: TObject);
procedure VarListDblClick(Sender: TObject);
procedure VarListSelectionChange(Sender: TObject; User: boolean);
procedure VarListSelectionChange(Sender: TObject; {%H-}User: boolean);
private
protected

View File

@ -7,7 +7,7 @@ interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls, Buttons, ExtCtrls,
MainUnit, FunctionsLib, Globals, DataProcs, BasicStatsReportFormUnit;
MainUnit, Globals, DataProcs, BasicStatsReportFormUnit;
type
@ -71,7 +71,7 @@ procedure TSpearmanForm.Compute;
var
index: IntDyneMat = nil;
Ranks: DblDyneMat = nil;
X: DblDyneMat;
X: DblDyneMat = nil;
d: DblDyneVec = nil;
ColNoSelected: IntDyneVec = nil;
ColLabels: StrDyneVec = nil;

View File

@ -49,8 +49,6 @@ implementation
{$R *.lfm}
uses
Math;
{ TWilcoxonForm }

View File

@ -7,8 +7,8 @@ interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls,
StdCtrls, ComCtrls, Buttons,
Globals, MainUnit, ContextHelpUnit,
BasicStatsReportAndChartFormUnit, ReportFrameUnit, ChartFrameUnit;
Globals, MainUnit,
BasicStatsReportAndChartFormUnit, ChartFrameUnit;
type

View File

@ -6,7 +6,7 @@ interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ComCtrls, ExtCtrls,
StdCtrls, ReportFrameUnit, ChartFrameUnit, BasicStatsParamsFormUnit;
ReportFrameUnit, ChartFrameUnit, BasicStatsParamsFormUnit;
type

View File

@ -94,18 +94,18 @@ end;
procedure TMultGenFrm.ComputeBtnClick(Sender: TObject);
var
RhoMat: DblDyneMat;
SampMat: DblDyneMat;
Mus: DblDyneVec;
means: DblDyneVec;
Sigmas: DblDyneVec;
stddevs: DblDyneVec;
RhoMat: DblDyneMat = nil;
SampMat: DblDyneMat = nil;
Mus: DblDyneVec = nil;
means: DblDyneVec = nil;
Sigmas: DblDyneVec = nil;
stddevs: DblDyneVec = nil;
i, j, k, i1, i2, n2, k1: integer;
determ, n3, r1, s8, s9, d2, x, y, mean: double;
cellstring: string;
title: string;
RowLabels: StrDyneVec;
ColLabels: StrDyneVec;
RowLabels: StrDyneVec = nil;
ColLabels: StrDyneVec = nil;
lReport: TStrings;
begin
if (NoVarsEdit.Text = '') then begin

View File

@ -82,8 +82,8 @@ var
alphas: array[1..6] of double;
zalphas: array[1..6] of double;
xalphas: array[1..6] of double;
XPlotPts: DblDyneMat;
YPlotPts: DblDyneMat;
XPlotPts: DblDyneMat = nil;
YPlotPts: DblDyneMat = nil;
LabelStr, outline: string;
oldCursor: TCursor;
lReport: TStrings;

View File

@ -223,7 +223,7 @@ var
i, j: integer;
temp1: double;
temp2: Integer;
groupno : IntDyneVec;
groupno : IntDyneVec = nil;
contrast, mean1, mean2 : double;
q_stat : double;
divisor : double;
@ -524,7 +524,7 @@ var
df1: double;
qstat: double;
tstat: double;
groupno: IntDyneVec;
groupno: IntDyneVec = nil;
temp1: Double;
temp2: Integer;
tempno: integer;

View File

@ -50,6 +50,7 @@ var
row, n: Integer;
val: Double;
begin
Result := nil;
SetLength(Result, AGrid.RowCount);
n := 0;
for row := 1 to AGrid.RowCount-1 do
@ -82,6 +83,7 @@ var
r, c, i, j: Integer;
val: Double;
begin
Result := nil;
SetLength(Result, AGrid.RowCount, Length(AColIndices));
i := 0;
for r:= 1 to AGrid.RowCount-1 do

View File

@ -121,6 +121,7 @@ operator + (A, B: TDblVector): TDblVector;
var
i, n: Integer;
begin
Result := nil;
VecCheck(A, B, n);
SetLength(Result, n);
for i := 0 to n-1 do
@ -132,6 +133,7 @@ operator - (A, B: TDblVector): TDblVector;
var
i, n: Integer;
begin
Result := nil;
VecCheck(A, B, n);
SetLength(Result, n);
for i := 0 to n-1 do
@ -156,6 +158,7 @@ operator * (A: TDblVector; b: Double): TDblVector;
var
i, n: Integer;
begin
Result := nil;
n := Length(A);
SetLength(Result, n);
for i := 0 to n-1 do
@ -166,6 +169,7 @@ operator * (a: Double; B: TDblVector): TDblVector;
var
i, n: Integer;
begin
Result := nil;
n := Length(B);
SetLength(Result, n);
for i := 0 to n-1 do
@ -190,6 +194,7 @@ function VecCopy(A: TDblVector): TDblVector;
var
i: Integer;
begin
Result := nil;
SetLength(Result, Length(A));
for i := 0 to High(A) do Result[i] := A[i];
end;
@ -199,6 +204,7 @@ function VecMultiply(A, B: TDblVector): TDblVector;
var
i, n: Integer;
begin
Result := nil;
VecCheck(A, B, n);
SetLength(Result, n);
for i := 0 to n-1 do
@ -210,6 +216,7 @@ function VecOnes(n: Integer): TDblVector;
var
i: Integer;
begin
Result := nil;
SetLength(Result, n);
for i := 0 to n-1 do Result[i] := 1;
end;
@ -333,6 +340,7 @@ var
i, j: Integer;
factor: Double;
begin
Result := nil;
SetLength(Result, N);
for j := 0 to N-1 do Result[j] := 0;
@ -375,6 +383,7 @@ begin
if (n <> Length(B)) or (m <> Length(B[0])) then
raise EMatrix.Create('Matrix subtraction: dimension error');
Result := nil;
SetLength(Result, n,m);
for i := 0 to n-1 do
for j := 0 to m-1 do
@ -391,6 +400,7 @@ begin
if (n <> Length(B)) or (m <> Length(B[0])) then
raise EMatrix.Create('Matrix subtraction: dimension error');
Result := nil;
SetLength(Result, n,m);
for i := 0 to n-1 do
for j := 0 to m-1 do
@ -409,6 +419,7 @@ begin
if ma <> nb then
raise EMatrix.Create('Matrix product: dimension error');
Result := nil;
SetLength(Result, na,mb);
for i := 0 to na-1 do
@ -432,6 +443,7 @@ begin
if ma <> nv then
raise EMatrix.Create('Dimension error.');
Result := nil;
SetLength(Result, na);
for i := 0 to na-1 do
begin
@ -454,6 +466,7 @@ begin
if n <> nv then
raise EMatrix.Create('Dimension error.');
Result := nil;
SetLength(Result, n, m+1);
for i := 0 to n-1 do
begin
@ -502,6 +515,10 @@ var
n, m, i, j: Integer;
s, ss: Double;
begin
AMeans := nil;
AVariances := nil;
AStdDevs := nil;
MatSize(A, n, m);
SetLength(AMeans, m);
SetLength(AVariances, m);
@ -527,6 +544,7 @@ var
i, j, n, m: Integer;
sum: Double;
begin
Result := nil;
MatSize(A, n, m);
SetLength(Result, m);
for j := 0 to m-1 do
@ -543,6 +561,7 @@ function MatColVector(A: TDblMatrix; AColIndex: Integer): TDblVector;
var
i, n, m: Integer;
begin
Result := nil;
MatSize(A, n,m);
SetLength(Result, n);
for i := 0 to n-1 do
@ -554,6 +573,7 @@ function MatCopy(A: TDblMatrix): TDblMatrix;
var
n, m, i, j: Integer;
begin
Result := nil;
MatSize(A, n,m);
SetLength(Result, n, m);
for i := 0 to n-1 do
@ -619,8 +639,10 @@ function MatInverse(A: TDblMatrix): TDblMatrix;
var
i, j, n: integer;
S: TLUSolver;
v: TDblVector;
v: TDblVector = nil;
begin
Result := nil;
MatCheck(A);
MatCheckSquare(A, n);
SetLength(Result, n,n);
@ -672,6 +694,8 @@ var
i, j, n, m: Integer;
sum: Double;
begin
Result := nil;
MatSize(A, n,m);
SetLength(Result, n);
for i := 0 to n-1 do
@ -688,6 +712,8 @@ function MatRowVector(A: TDblMatrix; ARowIndex: Integer): TDblVector;
var
j, n, m: Integer;
begin
Result := nil;
MatSize(A, n,m);
SetLength(Result, m);
for j := 0 to m-1 do
@ -713,6 +739,8 @@ function MatTransposed(A: TDblMatrix): TDblMatrix;
var
n, m, i, j: Integer;
begin
Result := nil;
MatCheck(A);
MatSize(A, n, m);
SetLength(Result, m, n);
@ -726,6 +754,8 @@ function SubMatrix(A: TDblMatrix; i1,j1, i2,j2: Integer): TDblMatrix;
var
i, j, n, m: Integer;
begin
Result := nil;
MatSize(A, n,m);
i1 := EnsureRange(i1, 0, n);
i2 := EnsureRange(i2, 0, n);
@ -811,7 +841,7 @@ const
var
k, j, imax, i: integer;
sum, dum, big: float;
vv: TDblVector;
vv: TDblVector = nil;
n : integer;
begin
n := MatNumRows(FLU);

View File

@ -28,7 +28,7 @@ function IndexOfString(L: StrDyneVec; s: String): Integer;
implementation
uses
StrUtils, Math, ToolWin;
StrUtils, ToolWin;
// https://stackoverflow.com/questions/4093595/create-ttoolbutton-runtime
procedure AddButtonToToolbar(AToolButton: TToolButton; AToolBar: TToolBar);