KloudKoder
KloudKoder
@wbl Yeah I agree. This issue is really just proposing that: carry propagation, double-precision shift/rotate, and expanding/contracting multiplication/division.
@lars-t-hansen I see, so what you want is an efficient instruction to say "ADC/SBB this memory region to that memory region and store the result over there", with an input...
@lars-t-hansen You covered it brilliantly. Yes, your "as if" method kills streaming (for example converting i32 operations to i64 operations) but frankly if you're dumb enough to do bigints with...
@lars-t-hansen I think it's telling that that 2017 feature request on GCC is still marked "NEW" as of 2021. So yeah, that underscores the justification for caring about this. I...
@sunfishcode "and agrees across all platforms"? Remember, this includes weird shit like negative zero and infinity and denormals, none of which are NaN. My guess is that they intended for...
@sunfishcode OK I'm 90% convinced, so thank you for the detailed feedback. This stuff really matters for scalability and accuracy, but I don't need to discuss all that unless someone...
@sunfishcode Brilliant deep answer. Let me see if I can squeeze in some time to do the divide-and-average comparison...
@sunfishcode I just realized that this is a harder question than it seems. On the old X87 FPU, FSQRT operated at full precision (generally, 80 bits, but programmable to 32...
@sunfishcode I see your point. Then the only solution here is divide-and-average (or square-and-average). I'd be glad to run that test and spit out 2^32 32-bit floats to a file,...
I hear that. For now, some history of the Boost interval package going back to 1999 or so (beware, not HTTPS): [http://www.mscs.mu.edu/~georgec/IFAQ/maurer1.html](http://www.mscs.mu.edu/~georgec/IFAQ/maurer1.html) "Originally, I only intended the package to assess...