Why use !!(condition) instead of (condition)? [duplicate]
Well if the variable you are applying !! is not already a bool(either zero or one) then it will normalize the value to either 0 or 1. With respect to __builtin_expect this kernel newbies thread discusses the notation and one of the responses explains (emphasis mine): The signature of __builtin_expect http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html) is: long __builtin_expect (long … Read more