operator * method

PgDecimal operator *(
  1. PgDecimal other
)

Implementation

PgDecimal operator *(PgDecimal other) {
  if (_kind != _finite || other._kind != _finite) {
    if (_kind == _nan || other._kind == _nan) return nan;
    final s = sign * other.sign;
    if (s == 0) return nan; // 0 * Infinity
    return s > 0 ? infinity : negativeInfinity;
  }
  final result =
      PgDecimal._finiteValue(_unscaled * other._unscaled, _scale + other._scale);
  return result._scale > maxScale ? result.rescale(maxScale) : result;
}