operator * method
- FloatingPointValue multiplicand
Multiply operation for FloatingPointValue.
Implementation
FloatingPointValue operator *(FloatingPointValue multiplicand) {
if (isAnInfinity) {
if (multiplicand.isAnInfinity) {
return sign != multiplicand.sign
? clonePopulator().negativeInfinity
: clonePopulator().positiveInfinity;
} else if (multiplicand.isAZero) {
return clonePopulator().nan;
} else {
return this;
}
} else if (multiplicand.isAnInfinity) {
if (isAZero) {
return clonePopulator().nan;
} else {
return multiplicand;
}
}
return _performOp(multiplicand, (a, b) => a * b);
}