
And let's not forget to mention in the documentation
that the cpp_dec_float back-end (in the present implementation) is limited to < 500 (need to check) decimal digits of precision.
Nope, I didn't set an upper limit on the number of digits - except of course that the type will grow too large to instantiate / allocate on the stack if too many are used. I should note that though. Thanks, John.
Thanks, John. Unfortunately, it's worse than that. My O(N^2), base-10^8 school-method multiplication stores multiple carries in its rows of the multiplication algorithm. These can can potentially overflow 64-bit. Also, since cpp_dec_float does not climb the digit scale elegantly switching from school O(N^2) multiply to Karatsuba to FFT, the N^2 crushes efficiency for more than a few hundred digits. I had originally set an upper limit of 300 decimal digits. It's so critical that I would maybe go so far as to use a static_assert on it. This is one of the weakest parts of my original design and one that I would be most interested in eliminating in future versions. Best regards, Chris.