operator + method
- FloatingPointValue addend
Addition operation for FloatingPointValue.
Implementation
FloatingPointValue operator +(FloatingPointValue addend) {
if (isNaN | addend.isNaN) {
return clonePopulator().nan;
}
if (isAnInfinity) {
if (addend.isAnInfinity) {
if (sign != addend.sign) {
return clonePopulator().nan;
} else {
return sign.toBool()
? clonePopulator().negativeInfinity
: clonePopulator().positiveInfinity;
}
} else {
return this;
}
} else if (addend.isAnInfinity) {
return addend;
}
return _performOp(addend, (a, b) => a + b);
}