On 01/21/2013 04:36:42 PM, Måns Rullgård wrote:
Scott Wood <scottw...@freescale.com> writes:
> On 01/19/2013 03:30:30 AM, Albert ARIBAUD wrote:
>> /* what I favor */
>> clk_is_enabled = ((reg_val >> 9) & 1) ? true: false;
>> ip_is_enabled = clk_is_enabled && pwd_is_enabled;
>> if (clk_is_enabled) { ...
>>
>> rather than assigning them 'zero/nonzero', or using bitwise ops on
>> booleans, or testing against boolean constants (although I concede
>> that the first line below wins over its counterpart above as far as
>> concision is concerned).
>
> Conciseness can be improved with "!!((reg_val >> 9) & 1)".
x & 1 is already either zero or one. Any further operations are
nothing
but obfuscation.
The point is to avoid depending on the actual integer values of the
boolean type, and make the code more robust against changes (e.g.
someone later comes along and says "hmm, that 1 should be a 3 because
we care about that other register bit as well" without noticing that
it's being assigned to a boolean.
-Scott
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot