Hum, either you need to teach me how nova handles such expressions, either I just don't understand your reasonning.
This "nothing happens" line, are you implying that using the r operator, there's actually a 3rd possibility? I think not, but feel free to correct this, if there's actually 3 results to "r".
Then I see r(!b1). Does that mean it will only work if b1 is not set by the first r(b1)? I don't think so either, actually I would expect nova to treat r(b1) and r(!b1) the same, meaning, ignoring wether or not it is already set or cleared and randomize the state of b1.
So, it looks to me that it would go like this:
b1 gets set or cleared.
b1 gets set or cleared.
b1 gets set or cleared.
Resulting in 50% chance of either set or cleared.
EDIT: Wait. I think something is taking form in my head. Just one second... right... aaahh.. you're saying the r operator either leaves the bit's state unchanged OR sets it to what's in the parentheses? That would effectively mean that r(!b1) cannot set b1. I'd like to test that... I probably should, but testing randomness sounds silly to me. Then again, that would be valuable information...
EDIT 2: Aaaaaaah, it makes sense now!!! Thanks! :laugh:
This post has been edited by Mumbling Psycho : 10 September 2007 - 05:54 PM