On Friday, 27 February 2015 at 09:27:49 UTC, Ilya Yaroshenko wrote: >> Unfortunate overlap in functionality is unfortunate. >> >> $ git grep -i kahan >> std/algorithm/iteration.d:$(D sum) uses the $(WEB en.wikip edia.org/ wiki/Kahan_ summation, >> std/algorithm/ iteration. d:Kahan summation) algorithm.) >> std/algorithm/iteration.d: return sumKahan!E(seed, r); >> std/algorithm/iteration.d:// Kahan algo >> std/algorithm/ iteration. d:private auto sumKahan(Result, R)(Result result, R r) >> $ _ >> >> >> Andrei Unfortunate overlap in functionality is unfortunate.$ git grep -i kahanstd/algorithm/iteration.d:$(D sum) uses the $(WEBsummation) algorithm.)std/algorithm/iteration.d: return sumKahan!E(seed, r);std/algorithm/iteration.d:// Kahan algo http:// en.wikip edia.org/ wiki/ Kahan_ summation_ algorithm auto sumKahan(Result, R)(Result result, R r)$ _Andrei > > Would one of the following solutions be fortunate ? > > I. Use alias of fsum!(Summation. Appropriate) for floating version of std.algorithm.sum. > > Appropriate algorithm performs D Pairwise summation for random access ranges. > Otherwise performs D KBN summation of floating point and complex numbers and > Kahan summation of user defined types. > > or > > II. Move this submodule to std.algorithm.iteration. > > or > > III. Remove Kahan (including KBN and KB2) and Pairwise algorithms from fsum, and use only Precise algorithm for std.numeric. Would one of the following solutions be fortunate ?I. Use alias of fsum!(Summation. Appropriate) for floating version of std.algorithm.sum.Appropriate algorithm performs D Pairwise summation for random access ranges.Otherwise performs D KBN summation of floating point and complex numbers andKahan summation of user defined types.orII. Move this submodule to std.algorithm.iteration.orIII. Remove Kahan (including KBN and KB2) and Pairwise algorithms from fsum, and use only Precise algorithm for std.numeric.