3 ms·
Taking a guess: if you use this form to do a bunch of operations before normalizing, you don't need to worry as much about intermediate overflow. E.g. you coul
by dgoldstein0 6y ago
Taking a guess: if you use this form to do a bunch of operations before normalizing, you don't need to worry as much about intermediate overflow. E.g. you could easily add 10 different 256 bit numbers in this form and normalize at the end. Whereas if the leading chunk is 64 bits, every addition can overflow.
So 52/51/51/51/51 seems like the more generally useful choice
- romwell 6y agoTo expand of that: the whole idea is that normalization is not applied after every step. This approach is efficient when you know you have to add a bunch of numbers together. You add them up, and then normalize. The example can be, e.g. doing long multiplication, or adding all numbers in a list. (Just repeating what was said in the parent comment for emphasis)
- bonzini 6y agoWhy would you ever worry about overflow of the leading chunk (aka limb)?
- dgoldstein0 6y agoBecause you want to know when your result is inaccurate?
- bonzini 6y agoBut you're operating modulo 2^256.