>>> static inline unsigned int constant_time_msb(unsigned int a) {
>>> -    *return 0 - (a >> (sizeof(a) * 8 - 1));*
>>> + return (((unsigned)((int)(a) >> (sizeof(int) * 8 - 1))));
>>> }
>>
>>
>> ... Both versions
>> look reasonable to me (ignoring the hardcoded 8 - implying a char is 8
>> bits).
> 
> Hardcoded 8 is not reference to char C type, but to units in which
> sizeof(variable) is measured. For example when we say ILP32 or LP64,
> what do we mean and what role does 8 play in the drama?

Well, one can argue that language standard doesn't actually dictate the
unit of sizeof(variable) to be 8-bit wide (only that it's *at least* 8,
right?), but we do so to say live in an "ILP" world and 8 is ubiquitous.

_______________________________________________
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

Reply via email to