import std.math;
float M = 2.0f ^^ (float.max_exp-1);
double N = 2.0 ^^ (float.max_exp-1);
auto s = Summator!float(0); //float summator
s += M;
s += M;
assert(float.infinity == s.sum());
auto e = cast(Summator!double) s;
assert(isFinite(e.sum()));
assert(N+N == e.sum());
Returns Summator with extended internal partial sums.