You're viewing a comment by Ben and its responses.
You're viewing a comment by Ben and its responses.
I am being sponsored by Syntress! They bought me an amazing dedicated server to run catonmat on. If you're looking web services, I highly recommend the Syntress guys!
I love to read science books. They make my day and I get ideas for awesome blog posts, such as Busy Beaver, On Functors, Recursive Regular Expressions and many others.
Take a look at my
Amazon wish list, if you're curious about what I have planned reading next, and want to surprise me. :)
If you are interested in advertising on catonmat.net, contact me.
Free tools for coding on Vietstarsoft.com.
Programming homework help.


Sorry, that did not work as expected :(
B_SET(x, 31) fails because:
- 1 is int (32-bit)
- x is unsigned long (64-bit)
- (1long->unsigned long will sign
extend the rhs of |=
One fix: use typeof
#define BIT_MASK(x,n) ( ((__typeof((x)))1)
#define B_SET(x,n) ((x)|=BIT_MASK((x),(n)))
In c++ one could use templates.
Reply To This Comment