protected void ValidateEqual(string msg, GaSymMultivector mv1, GaSymMultivector mv2) { ReportComposer.AppendLineAtNewLine(); ReportComposer.AppendAtNewLine(msg); var diff = mv2 - mv1; if (diff.IsNearNumericZero(NumericEpsilon)) { ReportComposer.AppendLine("... << Validated >>"); if (ShowValidatedResults) { ReportComposer .IncreaseIndentation(); ReportComposer .AppendLineAtNewLine("Result: ") .IncreaseIndentation() .AppendLine(mv1.ToString()) .DecreaseIndentation() .AppendLine(); ReportComposer .DecreaseIndentation(); } return; } ReportComposer.AppendLine("... << Invalid >>"); ReportComposer .IncreaseIndentation(); ReportComposer .AppendLineAtNewLine("First Value: ") .IncreaseIndentation() .AppendLine(mv1.ToString()) .DecreaseIndentation() .AppendLine(); ReportComposer .AppendLineAtNewLine("Second Value: ") .IncreaseIndentation() .AppendLine(mv2.ToString()) .DecreaseIndentation() .AppendLine(); ReportComposer .AppendLineAtNewLine("Difference: ") .IncreaseIndentation() .AppendLine(diff.ToString()) .DecreaseIndentation() .AppendLine(); ReportComposer .DecreaseIndentation(); }