toString method
A string representation of this object.
Some classes have a default textual representation,
often paired with a static parse
function (like int.parse).
These classes will provide the textual representation as
their string representation.
Other classes have no meaningful textual representation
that a program will care about.
Such classes will typically override toString
to provide
useful information when inspecting the object,
mainly for debugging or logging.
Implementation
@override
String toString() {
if (isZero) {
return '0';
}
final result = StringBuffer();
for (int deg = degree; deg >= 0; deg--) {
int coefficient = getCoefficient(deg);
if (coefficient != 0) {
if (coefficient < 0) {
if (deg == degree) {
result.write('-');
} else {
result.write(' - ');
}
coefficient = -coefficient;
} else {
if (result.length > 0) {
result.write(' + ');
}
}
if (deg == 0 || coefficient != 1) {
final alphaPower = _field.log(coefficient);
if (alphaPower == 0) {
result.write('1');
} else if (alphaPower == 1) {
result.write('a');
} else {
result.write('a^');
result.write(alphaPower);
}
}
if (deg != 0) {
if (deg == 1) {
result.write('x');
} else {
result.write('x^');
result.write(deg);
}
}
}
}
return result.toString();
}