On 2014-03-25 21:16, "Nordlöw" wrote:
You have no guarantees that you'll have "stability" of the returned type.

What do you mean with "stability" of the return type?

More often than not, it *is* stable, but there are cases where it is not.

Could you gives examples of when it's stable and when it's not?

I'm not entirely certain if this is what monarch_dodra meant, but it's my understanding of the terms:


Stable:

    double[] arr = [1, 2, 3, 4];
    auto a = arr[0] * arr[1];
    auto b = a * arr[2];

a is of type double, b is of type double.

Unstable:
Consider a range of imaginary numbers, reduced with *.

    idouble[] arr = [1i, 2i, 3i, 4i];
    auto a = arr[0] * arr[1];
    auto b = a * arr[2];

a is of type double, b is of type idouble. When you consume the next element, the result would be double again, and it oscillates like that.

--
  Simen

Reply via email to