multiplyDecimalFixedPoint function

DecimalFixedPoint multiplyDecimalFixedPoint(
  1. DecimalFixedPoint a,
  2. Object b, [
  3. FixedPointRoundingMode rounding = FixedPointRoundingMode.strict
])

Multiplies a by b and returns a value with a's shape.

When b is another DecimalFixedPoint, it must have the same signedness; its scale is used to rescale the product back to a's decimals.

Implementation

DecimalFixedPoint multiplyDecimalFixedPoint(
  DecimalFixedPoint a,
  Object b, [
  FixedPointRoundingMode rounding = FixedPointRoundingMode.strict,
]) {
  final raw = switch (b) {
    final BigInt scalar => a.raw * scalar,
    final DecimalFixedPoint value => _multiplyByFixedPoint(a, value, rounding),
    _ => throw ArgumentError.value(
      b,
      'b',
      'Expected BigInt or DecimalFixedPoint.',
    ),
  };
  return _withDecimalRaw(a, raw);
}