multiplyBinaryFixedPoint function
BinaryFixedPoint
multiplyBinaryFixedPoint(
- BinaryFixedPoint a,
- Object b, [
- FixedPointRoundingMode rounding = FixedPointRoundingMode.strict
Multiplies a by b and returns a value with a's shape.
When b is another BinaryFixedPoint, it must have the same signedness;
its fractional bit count is used to rescale the product back to a's
fractional bits.
Implementation
BinaryFixedPoint multiplyBinaryFixedPoint(
BinaryFixedPoint a,
Object b, [
FixedPointRoundingMode rounding = FixedPointRoundingMode.strict,
]) {
final raw = switch (b) {
final BigInt scalar => a.raw * scalar,
final BinaryFixedPoint value => _multiplyByFixedPoint(a, value, rounding),
_ => throw ArgumentError.value(
b,
'b',
'Expected BigInt or BinaryFixedPoint.',
),
};
return _withBinaryRaw(a, raw);
}