private void GenerateNormalizedFields()
{
IList<AnalystField> norm = _script.Normalize.NormalizedFields;
norm.Clear();
DataField[] dataFields = _script.Fields;
for (int i = 0; i < _script.Fields.Length; i++)
{
DataField f = dataFields[i];
NormalizationAction action;
bool isLast = i == _script.Fields.Length - 1;
if ((f.Integer || f.Real) && !f.Class)
{
action = NormalizationAction.Normalize;
AnalystField af = _range == NormalizeRange.NegOne2One ? new AnalystField(f.Name, action, 1, -1) : new AnalystField(f.Name, action, 1, 0);
norm.Add(af);
af.ActualHigh = f.Max;
af.ActualLow = f.Min;
}
else if (f.Class)
{
if (isLast && _directClassification)
{
action = NormalizationAction.SingleField;
}
else if (f.ClassMembers.Count > 2)
{
action = NormalizationAction.Equilateral;
}
else
{
action = NormalizationAction.OneOf;
}
norm.Add(_range == NormalizeRange.NegOne2One
? new AnalystField(f.Name, action, 1, -1)
: new AnalystField(f.Name, action, 1, 0));
}
else
{
action = NormalizationAction.Ignore;
norm.Add(new AnalystField(action, f.Name));
}
}
_script.Normalize.Init(_script);
}