
On 11/03/2011 00:36, Jeremy Maitin-Shepard wrote:
Maybe what you have in mind is letting the digit type be a template parameter, and then substituting in a user-defined type (or in the case of some compilers, a compiler-defined non-standard type) that serves as a 128-bit unsigned integer. I'm not convinced that this level of abstraction is compatible with generation of optimal code, though. Furthermore, this abstraction doesn't seem particularly useful, as the only purpose I can imagine of specifying a non-default digit type would be for this particular optimization.
That's what I had in mind when I suggested the idea. I don't think there are really missed optimizations, but I may be wrong in this. Otherwise, this abstraction is also necessary to allow arbitrary ranges as input.