internal string ToHTML() { string result = string.Empty; if (VariableName.Contains("Log")) { Log log = Log.ParseFromHTML(VariableName); for (int i = Odds.Count() - 1; i >= 0; i--) { log.SetPower(i); if (Odds[i] != (double)0) { result += Odds[i] > (Fraction)0 ? "+" : "-"; result += i < Odds.Count() - 1 ? " " : ""; result += Odds[i].Abs() > (Fraction)1 || i == 0 ? $"{Odds[i].Abs()}" : ""; result += i > 0 ? $"{log.ToHTML()} " : ""; } } } else if (VariableName.Contains("power")) { VariableName = VariableName.Replace("power", ""); PowerFunc powerFunc = PowerFunc.ParseFromHTML(VariableName); for (int i = Odds.Count() - 1; i >= 0; i--) { powerFunc.SetPower(i); if (Odds[i] != (double)0) { result += Odds[i] > (Fraction)0 ? "+" : "-"; result += i < Odds.Count() - 1 ? " " : ""; if (Odds[i].IntDenominator == 0) { result += Odds[i].Abs() != (Fraction)1 || i == 0 ? $"{Odds[i].Abs()}{(i != 0 ? "⋅" : "")}" : ""; } else { result += Odds[i].Abs() != 1 || i == 0 ? $"{Odds[i].Abs().ToHTML()}{(i != 0 ? "⋅" : "")}" : ""; } result += i > 0 ? $"{powerFunc.ToHTML()} " : ""; } } } else { for (int i = Odds.Count() - 1; i >= 0; i--) { if (Odds[i] != (double)0) { result += Odds[i] > (Fraction)0 ? "+" : "-"; result += i < Odds.Count() - 1 ? " " : ""; result += Odds[i].Abs() > (Fraction)1 || i == 0 ? $"{Odds[i].Abs()}" : ""; result += i > 0 ? $"{VariableName}" : ""; result += i > 1 ? $"<sup>{i}</sup> " : " "; } } } result = result.Trim('+'); result = result.Trim(' '); return($"{result}"); }