divideBinaryFixedPoint function

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

Divides 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 quotient back to a's fractional bits.

Implementation

BinaryFixedPoint divideBinaryFixedPoint(
  BinaryFixedPoint a,
  Object b, [
  FixedPointRoundingMode rounding = FixedPointRoundingMode.strict,
]) {
  final raw = switch (b) {
    final BigInt scalar => _divideChecked(a.raw, scalar, rounding),
    final BinaryFixedPoint value => _divideByFixedPoint(a, value, rounding),
    _ => throw ArgumentError.value(
      b,
      'b',
      'Expected BigInt or BinaryFixedPoint.',
    ),
  };
  return _withBinaryRaw(a, raw);
}