Can't find a reference to this anywhere -- I have the following code I'm trying to work with and can anyone please tell me what the !! means in this context? Just to be clear it's "bang bang" !! not "pipe pipe" ||. Thanks in advance!
/* Branch prediction */
#ifdef __GNUC__
# define likely(p) __builtin_expect(!!(p), 1)
# define unlikely(p) __builtin_expect(!!(p), 0)
# define unreachable() __builtin_unreachable()
#else
# define likely(p) (!!(p))
# define unlikely(p) (!!(p))
# define unreachable() ((void)0)
#endif