Performs an interval multiplication.
[a, b] * [c, d] = [min(ac, ad, bc, bd), max(ac, ad, bc, bd)]
Source
operator*(Interval i) {
if (this.isEmpty() || i.isEmpty()) return new Interval.empty();
num min = _min(this.min*i.min, this.min*i.max, this.max*i.min, this.max*i.max);
num max = _max(this.min*i.min, this.min*i.max, this.max*i.min, this.max*i.max);
return new Interval(min, max);
}