operator * method

Interval operator *(
  1. Interval i
)

Performs an interval multiplication.

[a, b] * [c, d] = [min(ac, ad, bc, bd), max(ac, ad, bc, bd)]

Implementation

Interval operator *(Interval i) {
  if (this.isEmpty() || i.isEmpty()) return Interval.empty();
  final num min = _min(
      this.min * i.min, this.min * i.max, this.max * i.min, this.max * i.max);
  final num max = _max(
      this.min * i.min, this.min * i.max, this.max * i.min, this.max * i.max);
  return Interval(min, max);
}