You've already forked lazarus-ccr
Lazstats: Less hints and warnings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7917 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -1,41 +1,41 @@
|
|||||||
inherited ABCLogLinearForm: TABCLogLinearForm
|
inherited ABCLogLinearForm: TABCLogLinearForm
|
||||||
Left = 596
|
Left = 596
|
||||||
Height = 408
|
Height = 414
|
||||||
Top = 216
|
Top = 216
|
||||||
Width = 854
|
Width = 854
|
||||||
HelpType = htKeyword
|
HelpType = htKeyword
|
||||||
HelpKeyword = 'html/html/AxBxCLogLinear.htm'
|
HelpKeyword = 'html/html/AxBxCLogLinear.htm'
|
||||||
Caption = 'Log Linear Analysis for AxBxC Classification Table'
|
Caption = 'Log Linear Analysis for AxBxC Classification Table'
|
||||||
ClientHeight = 408
|
ClientHeight = 414
|
||||||
ClientWidth = 854
|
ClientWidth = 854
|
||||||
inherited ParamsPanel: TPanel
|
inherited ParamsPanel: TPanel
|
||||||
Height = 392
|
Height = 398
|
||||||
Width = 376
|
Width = 376
|
||||||
ClientHeight = 392
|
ClientHeight = 398
|
||||||
ClientWidth = 376
|
ClientWidth = 376
|
||||||
inherited CloseBtn: TButton
|
inherited CloseBtn: TButton
|
||||||
Left = 321
|
Left = 321
|
||||||
Top = 367
|
Top = 373
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
end
|
end
|
||||||
inherited ComputeBtn: TButton
|
inherited ComputeBtn: TButton
|
||||||
Left = 237
|
Left = 237
|
||||||
Top = 367
|
Top = 373
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
end
|
end
|
||||||
inherited ResetBtn: TButton
|
inherited ResetBtn: TButton
|
||||||
Left = 175
|
Left = 175
|
||||||
Top = 367
|
Top = 373
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
end
|
end
|
||||||
inherited HelpBtn: TButton
|
inherited HelpBtn: TButton
|
||||||
Tag = 101
|
Tag = 101
|
||||||
Left = 116
|
Left = 116
|
||||||
Top = 367
|
Top = 373
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
end
|
end
|
||||||
inherited ButtonBevel: TBevel
|
inherited ButtonBevel: TBevel
|
||||||
Top = 351
|
Top = 357
|
||||||
Width = 376
|
Width = 376
|
||||||
end
|
end
|
||||||
object FileFromGrp: TRadioGroup[5]
|
object FileFromGrp: TRadioGroup[5]
|
||||||
@ -77,10 +77,10 @@ inherited ABCLogLinearForm: TABCLogLinearForm
|
|||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
AnchorSideBottom.Control = ButtonBevel
|
AnchorSideBottom.Control = ButtonBevel
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 284
|
Height = 290
|
||||||
Top = 67
|
Top = 67
|
||||||
Width = 376
|
Width = 376
|
||||||
PageIndex = 1
|
PageIndex = 0
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
BorderSpacing.Top = 16
|
BorderSpacing.Top = 16
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
@ -140,7 +140,7 @@ inherited ABCLogLinearForm: TABCLogLinearForm
|
|||||||
AnchorSideBottom.Control = Page1
|
AnchorSideBottom.Control = Page1
|
||||||
AnchorSideBottom.Side = asrBottom
|
AnchorSideBottom.Side = asrBottom
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 292
|
Height = 290
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 166
|
Width = 166
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
@ -460,6 +460,6 @@ inherited ABCLogLinearForm: TABCLogLinearForm
|
|||||||
end
|
end
|
||||||
inherited ParamsSplitter: TSplitter
|
inherited ParamsSplitter: TSplitter
|
||||||
Left = 388
|
Left = 388
|
||||||
Height = 408
|
Height = 414
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -9,7 +9,7 @@ interface
|
|||||||
uses
|
uses
|
||||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs,
|
Classes, SysUtils, Forms, Controls, Graphics, Dialogs,
|
||||||
ExtCtrls, StdCtrls, Buttons, Grids,
|
ExtCtrls, StdCtrls, Buttons, Grids,
|
||||||
MainUnit, Globals, DataProcs, BasicStatsReportFormUnit;
|
MainUnit, Globals, BasicStatsReportFormUnit;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -69,16 +69,14 @@ type
|
|||||||
var Total: double; Model: integer; AReport: TStrings);
|
var Total: double; Model: integer; AReport: TStrings);
|
||||||
procedure Iterate(
|
procedure Iterate(
|
||||||
Nrows, Ncols, Nslices: integer;
|
Nrows, Ncols, Nslices: integer;
|
||||||
const Data: DblDyneCube;
|
|
||||||
const RowMarg, ColMarg, SliceMarg: DblDyneVec;
|
const RowMarg, ColMarg, SliceMarg: DblDyneVec;
|
||||||
var Total: double;
|
|
||||||
const Expected: DblDyneCube;
|
const Expected: DblDyneCube;
|
||||||
const NewRowMarg, NewColMarg, NewSliceMarg: DblDyneVec;
|
const NewRowMarg, NewColMarg, NewSliceMarg: DblDyneVec;
|
||||||
var NewTotal: double);
|
var NewTotal: double);
|
||||||
|
|
||||||
procedure PrintTable(Nrows, Ncols, Nslices: integer;
|
procedure PrintTable(Nrows, Ncols, Nslices: integer;
|
||||||
const Data: DblDyneCube; const RowMarg, ColMarg, SliceMarg: DblDyneVec;
|
const Data: DblDyneCube; const RowMarg, ColMarg, SliceMarg: DblDyneVec;
|
||||||
Total: double; AReport: TStrings);
|
AReport: TStrings);
|
||||||
procedure PrintLamdas(Nrows,Ncols,Nslices: integer;
|
procedure PrintLamdas(Nrows,Ncols,Nslices: integer;
|
||||||
const CellLambdas: DblDyneQuad; mu: double; AReport: TStrings);
|
const CellLambdas: DblDyneQuad; mu: double; AReport: TStrings);
|
||||||
procedure PrintMatrix(const X: DblDyneMat;
|
procedure PrintMatrix(const X: DblDyneMat;
|
||||||
@ -358,7 +356,7 @@ begin
|
|||||||
// print observed matrix
|
// print observed matrix
|
||||||
astr := 'Observed Frequencies';
|
astr := 'Observed Frequencies';
|
||||||
lReport.Add(astr);
|
lReport.Add(astr);
|
||||||
PrintTable(Nrows,Ncols,Nslices,Data,RowMarg,ColMarg,SliceMarg,Total, lReport);
|
PrintTable(Nrows,Ncols,Nslices,Data,RowMarg,ColMarg,SliceMarg, lReport);
|
||||||
lReport.Add('');
|
lReport.Add('');
|
||||||
|
|
||||||
// Print sub-matrices
|
// Print sub-matrices
|
||||||
@ -388,16 +386,23 @@ procedure TABCLogLinearForm.ModelEffect(
|
|||||||
Model: integer;
|
Model: integer;
|
||||||
AReport: TStrings);
|
AReport: TStrings);
|
||||||
var
|
var
|
||||||
i, j, k: integer;
|
i, j, k: integer;
|
||||||
CellLambdas : DblDyneQuad;
|
CellLambdas: DblDyneQuad = nil;
|
||||||
LogData, Expected : DblDyneCube;
|
LogData: DblDyneCube = nil;
|
||||||
Title, astr : string;
|
Expected: DblDyneCube = nil;
|
||||||
NewRowMarg,NewColMarg,NewSliceMarg : DblDyneVec;
|
Title, astr : string;
|
||||||
LogRowMarg, LogColMarg, LogSliceMarg : DblDyneVec;
|
NewRowMarg: DblDyneVec = nil;
|
||||||
NewTotal: double = 0.0;
|
NewColMarg: DblDyneVec = nil;
|
||||||
ABLogs, ACLogs, BCLogs : DblDyneMat;
|
NewSliceMarg: DblDyneVec = nil;
|
||||||
LogTotal, mu, Ysqr : double;
|
LogRowMarg: DblDyneVec = nil;
|
||||||
DF : integer;
|
LogColMarg: DblDyneVec = nil;
|
||||||
|
LogSliceMarg: DblDyneVec = nil;
|
||||||
|
NewTotal: double = 0.0;
|
||||||
|
ABLogs: DblDyneMat = nil;
|
||||||
|
ACLogs: DblDyneMat = nil;
|
||||||
|
BCLogs: DblDyneMat = nil;
|
||||||
|
LogTotal, mu, Ysqr: double;
|
||||||
|
DF: integer;
|
||||||
begin
|
begin
|
||||||
// Get expected values for chosen model
|
// Get expected values for chosen model
|
||||||
SetLength(Expected,Nrows+1, Ncols+1, Nslices+1);
|
SetLength(Expected,Nrows+1, Ncols+1, Nslices+1);
|
||||||
@ -425,8 +430,8 @@ begin
|
|||||||
if Model = 2 then // independence
|
if Model = 2 then // independence
|
||||||
begin
|
begin
|
||||||
Title := 'Model of Independence';
|
Title := 'Model of Independence';
|
||||||
Iterate(Nrows, Ncols, Nslices, Data, RowMarg, ColMarg, SliceMarg,
|
Iterate(Nrows, Ncols, Nslices, RowMarg, ColMarg, SliceMarg,
|
||||||
Total, Expected, NewRowMarg, NewColMarg, NewSliceMarg, NewTotal);
|
Expected, NewRowMarg, NewColMarg, NewSliceMarg, NewTotal);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if Model = 3 then // no AB effect
|
if Model = 3 then // no AB effect
|
||||||
@ -437,6 +442,7 @@ begin
|
|||||||
for k := 1 to Nslices do
|
for k := 1 to Nslices do
|
||||||
Expected[i,j,k] := AC[i,k] * BC[j,k] / SliceMarg[k];
|
Expected[i,j,k] := AC[i,k] * BC[j,k] / SliceMarg[k];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if Model = 4 then // no AC effect
|
if Model = 4 then // no AC effect
|
||||||
begin
|
begin
|
||||||
Title := 'No AC Effect';
|
Title := 'No AC Effect';
|
||||||
@ -445,6 +451,7 @@ begin
|
|||||||
for k := 1 to Nslices do
|
for k := 1 to Nslices do
|
||||||
Expected[i,j,k] := AB[i,j] * BC[j,k] / ColMarg[j];
|
Expected[i,j,k] := AB[i,j] * BC[j,k] / ColMarg[j];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if Model = 5 then // no BC effect
|
if Model = 5 then // no BC effect
|
||||||
begin
|
begin
|
||||||
Title := 'No BC Effect';
|
Title := 'No BC Effect';
|
||||||
@ -453,6 +460,7 @@ begin
|
|||||||
for k := 1 to Nslices do
|
for k := 1 to Nslices do
|
||||||
Expected[i,j,k] := AB[i,j] * AC[i,k] / RowMarg[i];
|
Expected[i,j,k] := AB[i,j] * AC[i,k] / RowMarg[i];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if Model = 6 then // no C effect
|
if Model = 6 then // no C effect
|
||||||
begin
|
begin
|
||||||
Title := 'Model of No Slice (C) effect';
|
Title := 'Model of No Slice (C) effect';
|
||||||
@ -607,13 +615,12 @@ begin
|
|||||||
|
|
||||||
astr := 'Expected Frequencies';
|
astr := 'Expected Frequencies';
|
||||||
AReport.Add(astr);
|
AReport.Add(astr);
|
||||||
PrintTable(Nrows,Ncols,Nslices,Expected,NewRowMarg,NewColMarg,
|
PrintTable(Nrows,Ncols,Nslices,Expected,NewRowMarg,NewColMarg, NewSliceMarg,AReport);
|
||||||
NewSliceMarg,NewTotal, AReport);
|
|
||||||
AReport.Add('');
|
AReport.Add('');
|
||||||
|
|
||||||
astr := 'Log Frequencies';
|
astr := 'Log Frequencies';
|
||||||
AReport.Add(astr);
|
AReport.Add(astr);
|
||||||
PrintTable(Nrows,Ncols,Nslices,LogData,LogRowMarg,LogColMarg,LogSliceMarg,LogTotal, AReport);
|
PrintTable(Nrows,Ncols,Nslices,LogData,LogRowMarg,LogColMarg,LogSliceMarg,AReport);
|
||||||
|
|
||||||
AReport.Add('');
|
AReport.Add('');
|
||||||
AReport.Add('======================================================================');
|
AReport.Add('======================================================================');
|
||||||
@ -660,20 +667,18 @@ end;
|
|||||||
|
|
||||||
procedure TABCLogLinearForm.Iterate(
|
procedure TABCLogLinearForm.Iterate(
|
||||||
Nrows, Ncols, Nslices: integer;
|
Nrows, Ncols, Nslices: integer;
|
||||||
const Data: DblDyneCube; const RowMarg, ColMarg, SliceMarg: DblDyneVec;
|
const RowMarg, ColMarg, SliceMarg: DblDyneVec;
|
||||||
var Total: double;
|
|
||||||
const Expected: DblDyneCube; const NewRowMarg, NewColMarg, NewSliceMarg: DblDyneVec;
|
const Expected: DblDyneCube; const NewRowMarg, NewColMarg, NewSliceMarg: DblDyneVec;
|
||||||
var NewTotal: double);
|
var NewTotal: double);
|
||||||
|
|
||||||
Label Step;
|
Label Step;
|
||||||
var
|
var
|
||||||
Aprevious : DblDyneCube;
|
Aprevious: DblDyneCube = nil;
|
||||||
i, j, k : integer;
|
i, j, k: integer;
|
||||||
delta : double;
|
delta: double;
|
||||||
difference : double;
|
difference: double;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
SetLength(Aprevious,Nrows+1,Ncols+1,Nslices+1);
|
SetLength(Aprevious ,Nrows+1,Ncols+1,Nslices+1);
|
||||||
delta := 0.1;
|
delta := 0.1;
|
||||||
difference := 0.0;
|
difference := 0.0;
|
||||||
for i := 1 to Nrows do newrowmarg[i] := 0.0;
|
for i := 1 to Nrows do newrowmarg[i] := 0.0;
|
||||||
@ -753,30 +758,32 @@ Step:
|
|||||||
end;
|
end;
|
||||||
Aprevious := nil;
|
Aprevious := nil;
|
||||||
end;
|
end;
|
||||||
//-------------------------------------------------------------------
|
|
||||||
|
|
||||||
procedure TABCLogLinearForm.PrintTable(
|
procedure TABCLogLinearForm.PrintTable(
|
||||||
Nrows, Ncols, Nslices: integer;
|
Nrows, Ncols, Nslices: integer;
|
||||||
const Data: DblDyneCube; const RowMarg, ColMarg, SliceMarg: DblDyneVec;
|
const Data: DblDyneCube; const RowMarg, ColMarg, SliceMarg: DblDyneVec;
|
||||||
Total: double;
|
|
||||||
AReport: TStrings);
|
AReport: TStrings);
|
||||||
var
|
var
|
||||||
i, j, k: integer;
|
i, j, k: integer;
|
||||||
begin
|
begin
|
||||||
AReport.Add(' A B C VALUE ');
|
AReport.Add(' A B C VALUE');
|
||||||
for i := 1 to Nrows do
|
for i := 1 to Nrows do
|
||||||
for j := 1 to Ncols do
|
for j := 1 to Ncols do
|
||||||
for k := 1 to Nslices do
|
for k := 1 to Nslices do
|
||||||
AReport.Add('%3d %3d %3d %8.3f', [i, j, k, Data[i,j,k]]);
|
AReport.Add('%3d %3d %3d %8.3f', [i, j, k, Data[i,j,k]]);
|
||||||
|
|
||||||
|
AReport.Add('');
|
||||||
AReport.Add('Totals for Dimension A');
|
AReport.Add('Totals for Dimension A');
|
||||||
for i := 1 to Nrows do
|
for i := 1 to Nrows do
|
||||||
AReport.Add('Row %d %8.3f', [i, RowMarg[i]]);
|
AReport.Add('Row %d %8.3f', [i, RowMarg[i]]);
|
||||||
|
|
||||||
|
AReport.Add('');
|
||||||
AReport.Add('Totals for Dimension B');
|
AReport.Add('Totals for Dimension B');
|
||||||
for j := 1 to Ncols do
|
for j := 1 to Ncols do
|
||||||
AReport.Add('Col %d %8.3f', [j, ColMarg[j]]);
|
AReport.Add('Col %d %8.3f', [j, ColMarg[j]]);
|
||||||
|
|
||||||
|
AReport.Add('');
|
||||||
AReport.Add('Totals for Dimension C');
|
AReport.Add('Totals for Dimension C');
|
||||||
for k := 1 to Nslices do
|
for k := 1 to Nslices do
|
||||||
AReport.Add('Slice %d %8.3f', [k, SliceMarg[k]]);
|
AReport.Add('Slice %d %8.3f', [k, SliceMarg[k]]);
|
||||||
@ -851,8 +858,6 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
procedure TABCLogLinearForm.Reset;
|
procedure TABCLogLinearForm.Reset;
|
||||||
var
|
|
||||||
i: integer;
|
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
object LogLinScreenFrm: TLogLinScreenFrm
|
object LogLinScreenForm: TLogLinScreenForm
|
||||||
Left = 417
|
Left = 417
|
||||||
Height = 379
|
Height = 379
|
||||||
Top = 130
|
Top = 130
|
||||||
|
@ -21,9 +21,9 @@ uses
|
|||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TLogLinScreenFrm }
|
{ TLogLinScreenForm }
|
||||||
|
|
||||||
TLogLinScreenFrm = class(TForm)
|
TLogLinScreenForm = class(TForm)
|
||||||
Bevel1: TBevel;
|
Bevel1: TBevel;
|
||||||
Bevel2: TBevel;
|
Bevel2: TBevel;
|
||||||
HelpBtn: TButton;
|
HelpBtn: TButton;
|
||||||
@ -115,16 +115,16 @@ type
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
LogLinScreenFrm: TLogLinScreenFrm;
|
LogLinScreenForm: TLogLinScreenForm;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Math, LCLIntf, LCLType, Utils;
|
Math, LCLIntf, LCLType, Utils;
|
||||||
|
|
||||||
{ TLogLinScreenFrm }
|
{ TLogLinScreenForm }
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.ResetBtnClick(Sender: TObject);
|
procedure TLogLinScreenForm.ResetBtnClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
i : integer;
|
i : integer;
|
||||||
begin
|
begin
|
||||||
@ -135,13 +135,13 @@ begin
|
|||||||
UpdateMinMaxGrid;
|
UpdateMinMaxGrid;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.SelectListSelectionChange(Sender: TObject;
|
procedure TLogLinScreenForm.SelectListSelectionChange(Sender: TObject;
|
||||||
User: boolean);
|
User: boolean);
|
||||||
begin
|
begin
|
||||||
UpdateBtnStates;
|
UpdateBtnStates;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.InBtnClick(Sender: TObject);
|
procedure TLogLinScreenForm.InBtnClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
begin
|
begin
|
||||||
@ -160,7 +160,7 @@ begin
|
|||||||
UpdateBtnStates;
|
UpdateBtnStates;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.FormActivate(Sender: TObject);
|
procedure TLogLinScreenForm.FormActivate(Sender: TObject);
|
||||||
var
|
var
|
||||||
w: Integer;
|
w: Integer;
|
||||||
begin
|
begin
|
||||||
@ -185,24 +185,24 @@ begin
|
|||||||
FAutoSized := true;
|
FAutoSized := true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.FormCreate(Sender: TObject);
|
procedure TLogLinScreenForm.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Assert(OS3MainFrm <> nil);
|
Assert(OS3MainFrm <> nil);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.FormShow(Sender: TObject);
|
procedure TLogLinScreenForm.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
ResetBtnClick(Self);
|
ResetBtnClick(Self);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.HelpBtnClick(Sender: TObject);
|
procedure TLogLinScreenForm.HelpBtnClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
if ContextHelpForm = nil then
|
if ContextHelpForm = nil then
|
||||||
Application.CreateForm(TContextHelpForm, ContextHelpForm);
|
Application.CreateForm(TContextHelpForm, ContextHelpForm);
|
||||||
ContextHelpForm.HelpMessage((Sender as TButton).Tag);
|
ContextHelpForm.HelpMessage((Sender as TButton).Tag);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.AllBtnClick(Sender: TObject);
|
procedure TLogLinScreenForm.AllBtnClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
begin
|
begin
|
||||||
@ -213,7 +213,7 @@ begin
|
|||||||
UpdateMinMaxGrid;
|
UpdateMinMaxGrid;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.ComputeBtnClick(Sender: TObject);
|
procedure TLogLinScreenForm.ComputeBtnClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
ArraySize : integer;
|
ArraySize : integer;
|
||||||
N : integer;
|
N : integer;
|
||||||
@ -607,7 +607,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.OutBtnClick(Sender: TObject);
|
procedure TLogLinScreenForm.OutBtnClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
begin
|
begin
|
||||||
@ -626,7 +626,7 @@ begin
|
|||||||
UpdateMinMaxGrid;
|
UpdateMinMaxGrid;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.Screen(var NVAR: integer; var MP: integer;
|
procedure TLogLinScreenForm.Screen(var NVAR: integer; var MP: integer;
|
||||||
var MM: integer; var NTAB: integer; var TABLE: DblDyneVec;
|
var MM: integer; var NTAB: integer; var TABLE: DblDyneVec;
|
||||||
var DIM: IntDyneVec; var GSQ: DblDyneVec; var DGFR: IntDyneVec;
|
var DIM: IntDyneVec; var GSQ: DblDyneVec; var DGFR: IntDyneVec;
|
||||||
var PART: DblDyneMat; var MARG: DblDyneMat; var DFS: IntDyneMat;
|
var PART: DblDyneMat; var MARG: DblDyneMat; var DFS: IntDyneMat;
|
||||||
@ -775,7 +775,7 @@ begin
|
|||||||
end; // 200 CONTINUE
|
end; // 200 CONTINUE
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.CONF(var N: integer; var M: integer;
|
procedure TLogLinScreenForm.CONF(var N: integer; var M: integer;
|
||||||
var MP: integer; var MM: integer; var ISET: IntDyneVec; var JSET: IntDyneVec;
|
var MP: integer; var MM: integer; var ISET: IntDyneVec; var JSET: IntDyneVec;
|
||||||
var IP: IntDyneMat; var IM: IntDyneMat; var NP: integer);
|
var IP: IntDyneMat; var IM: IntDyneMat; var NP: integer);
|
||||||
Label 100, 120;
|
Label 100, 120;
|
||||||
@ -824,12 +824,12 @@ begin
|
|||||||
GOTO 120;
|
GOTO 120;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.CountVarChkChange(Sender: TObject);
|
procedure TLogLinScreenForm.CountVarChkChange(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
UpdateMinMaxGrid;
|
UpdateMinMaxGrid;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.COMBO(var ISET: IntDyneVec; N, M: Integer;
|
procedure TLogLinScreenForm.COMBO(var ISET: IntDyneVec; N, M: Integer;
|
||||||
var LAST: boolean);
|
var LAST: boolean);
|
||||||
label 100, 110, 130, 150;
|
label 100, 110, 130, 150;
|
||||||
VAR
|
VAR
|
||||||
@ -879,7 +879,7 @@ begin
|
|||||||
end; //160 CONTINUE
|
end; //160 CONTINUE
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.EVAL(var IAR: IntDyneMat; NC, NV, IBEG, NVAR,
|
procedure TLogLinScreenForm.EVAL(var IAR: IntDyneMat; NC, NV, IBEG, NVAR,
|
||||||
MAX: integer; var CONFIG: IntDyneMat; var DIM: IntDyneVec; var DF: integer);
|
MAX: integer; var CONFIG: IntDyneMat; var DIM: IntDyneVec; var DF: integer);
|
||||||
VAR I, J, K, KK, L : integer;
|
VAR I, J, K, KK, L : integer;
|
||||||
// SUBROUTINE EVAL(IAR, NC, NV, IBEG, NVAR, MAX, CONFIG, DIM, DF)
|
// SUBROUTINE EVAL(IAR, NC, NV, IBEG, NVAR, MAX, CONFIG, DIM, DF)
|
||||||
@ -913,7 +913,7 @@ begin
|
|||||||
end; // 110 CONTINUE
|
end; // 110 CONTINUE
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.RESET(var FIT: DblDyneVec; NTAB: Integer; AVG: Double
|
procedure TLogLinScreenForm.RESET(var FIT: DblDyneVec; NTAB: Integer; AVG: Double
|
||||||
);
|
);
|
||||||
VAR I : integer;
|
VAR I : integer;
|
||||||
|
|
||||||
@ -933,7 +933,7 @@ begin
|
|||||||
end; // 100 CONTINUE
|
end; // 100 CONTINUE
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.LIKE(var GSQ: Double; var FIT: DblDyneVec;
|
procedure TLogLinScreenForm.LIKE(var GSQ: Double; var FIT: DblDyneVec;
|
||||||
var TABLE: DblDyneVec; NTAB: integer);
|
var TABLE: DblDyneVec; NTAB: integer);
|
||||||
VAR I : integer;
|
VAR I : integer;
|
||||||
ZERO, TWO : Double;
|
ZERO, TWO : Double;
|
||||||
@ -959,7 +959,7 @@ begin
|
|||||||
GSQ := TWO * GSQ;
|
GSQ := TWO * GSQ;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.LOGFIT(NVAR, NTAB, NCON: integer;
|
procedure TLogLinScreenForm.LOGFIT(NVAR, NTAB, NCON: integer;
|
||||||
var DIM: IntDyneVec; var CONFIG: IntDyneMat; var TABLE: DblDyneVec;
|
var DIM: IntDyneVec; var CONFIG: IntDyneMat; var TABLE: DblDyneVec;
|
||||||
var FIT: DblDyneVec; var SIZE: IntDyneVec; var COORD: IntDyneVec;
|
var FIT: DblDyneVec; var SIZE: IntDyneVec; var COORD: IntDyneVec;
|
||||||
var X: DblDyneVec; var Y: DblDyneVec);
|
var X: DblDyneVec; var Y: DblDyneVec);
|
||||||
@ -1070,7 +1070,7 @@ begin
|
|||||||
end; // 230 CONTINUE
|
end; // 230 CONTINUE
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.MaxCombos(NumDims: integer; out MM, MP: integer);
|
procedure TLogLinScreenForm.MaxCombos(NumDims: integer; out MM, MP: integer);
|
||||||
var
|
var
|
||||||
combos: integer;
|
combos: integer;
|
||||||
i,j: integer;
|
i,j: integer;
|
||||||
@ -1096,7 +1096,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TLogLinScreenFrm.ArrayPosition(NumDims: integer;
|
function TLogLinScreenForm.ArrayPosition(NumDims: integer;
|
||||||
const Data: DblDyneVec; const Subscripts, DimSize: IntDyneVec): integer;
|
const Data: DblDyneVec; const Subscripts, DimSize: IntDyneVec): integer;
|
||||||
var
|
var
|
||||||
Pos : integer;
|
Pos : integer;
|
||||||
@ -1121,7 +1121,7 @@ begin
|
|||||||
PriorSizes := nil;
|
PriorSizes := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.Marginals(NumDims, ArraySize: integer;
|
procedure TLogLinScreenForm.Marginals(NumDims, ArraySize: integer;
|
||||||
const Indexes: IntDyneMat; const Data: DblDyneVec; const Margins: IntDyneMat);
|
const Indexes: IntDyneMat; const Data: DblDyneVec; const Margins: IntDyneMat);
|
||||||
var
|
var
|
||||||
i, j, category: integer;
|
i, j, category: integer;
|
||||||
@ -1136,14 +1136,14 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.UpdateBtnStates;
|
procedure TLogLinScreenForm.UpdateBtnStates;
|
||||||
begin
|
begin
|
||||||
InBtn.Enabled := AnySelected(VarList);
|
InBtn.Enabled := AnySelected(VarList);
|
||||||
OutBtn.Enabled := AnySelected(SelectList);
|
OutBtn.Enabled := AnySelected(SelectList);
|
||||||
AllBtn.Enabled := VarList.Items.Count > 0;
|
AllBtn.Enabled := VarList.Items.Count > 0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.UpdateMinMaxGrid;
|
procedure TLogLinScreenForm.UpdateMinMaxGrid;
|
||||||
var
|
var
|
||||||
NumDims, j: Integer;
|
NumDims, j: Integer;
|
||||||
begin
|
begin
|
||||||
@ -1161,7 +1161,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLogLinScreenFrm.VarListSelectionChange(Sender: TObject; User: boolean);
|
procedure TLogLinScreenForm.VarListSelectionChange(Sender: TObject; User: boolean);
|
||||||
begin
|
begin
|
||||||
UpdateBtnStates;
|
UpdateBtnStates;
|
||||||
end;
|
end;
|
||||||
|
Reference in New Issue
Block a user