"pouët != scene && scene != pouët"
category: general [glöplog]
Beneath the pouet logo, the following slogan appears sometimes:
"pouët != scene && scene != pouët"
I wonder whether the person who wrote this is a programmer. Is it that he doesn't understand much about logics or is it that he assumes the pouet users to have so little understanding about logics that he made this statement so redundant?
Since "!=" is a commutative operator, "pouët != scene" implies that "scene != pouët", so it's obsolete to test for both.
"pouët != scene && scene != pouët"
I wonder whether the person who wrote this is a programmer. Is it that he doesn't understand much about logics or is it that he assumes the pouet users to have so little understanding about logics that he made this statement so redundant?
Since "!=" is a commutative operator, "pouët != scene" implies that "scene != pouët", so it's obsolete to test for both.
Take thy bike and ride my little friend.
(you mean "redundant" and not "obsolete").
(you mean "redundant" and not "obsolete").
yeh, that dude sucks.
let for the sake of incompleteness define that the &&-operator binds stronger than the != operator. that gives more meaning :D (ie. implies that pouet is false!)
alas the real world has many idiosyncracies that the digital form cannot wholeheartedly represent. in respect there are some few people who outfacing multiple contexts choose to depict their lack of complete understanding following ambiguous satire and higher cognitive comprehension of the obvious. i pity them.
If && binds stronger than !=, then:
1) If scene == true, then scene && scene == true; then:
1.1) If the compiler evaluates from left to right
1.1.1) If pouët == true, then pouët != true is false. Then false != pouët is true. So we get true.
1.1.2) If pouët == false, then pouët != true is true. Then true != pouët is true. So we get true.
1.2) If the compiler evaluates from right to left:
1.2.1) If pouët == true, then true != pouët is false. Then pouët != false is true. So we get true.
1.2.2) If pouët == false, then true != pouët is true. Then pouët != true is true. So we get true.
2) If scene == false, then scene && scene == false; then:
2.1) If the compiler evaluates from left to right
2.1.1) If pouët == true, then pouët != false is true. Then true != pouët is false. So we get false.
2.1.2) If pouët == false, then pouët != false is false Then false != pouët is false. So we get false.
2.2) If the compiler evaluates from right to left:
2.2.1) If pouët == true, then false != pouët is true. Then pouët != true is false. So we get false.
2.2.2) If pouët == false, then false != pouët is false. Then pouët != false is false. So we get false.
So no matter whether the compiler evaluates from left to right or from right to left, we get: (pouët != scene && scene != pouët) == scene.
1) If scene == true, then scene && scene == true; then:
1.1) If the compiler evaluates from left to right
1.1.1) If pouët == true, then pouët != true is false. Then false != pouët is true. So we get true.
1.1.2) If pouët == false, then pouët != true is true. Then true != pouët is true. So we get true.
1.2) If the compiler evaluates from right to left:
1.2.1) If pouët == true, then true != pouët is false. Then pouët != false is true. So we get true.
1.2.2) If pouët == false, then true != pouët is true. Then pouët != true is true. So we get true.
2) If scene == false, then scene && scene == false; then:
2.1) If the compiler evaluates from left to right
2.1.1) If pouët == true, then pouët != false is true. Then true != pouët is false. So we get false.
2.1.2) If pouët == false, then pouët != false is false Then false != pouët is false. So we get false.
2.2) If the compiler evaluates from right to left:
2.2.1) If pouët == true, then false != pouët is true. Then pouët != true is false. So we get false.
2.2.2) If pouët == false, then false != pouët is false. Then pouët != false is false. So we get false.
So no matter whether the compiler evaluates from left to right or from right to left, we get: (pouët != scene && scene != pouët) == scene.
!= have higher precedence level anyway so this operation is simply redundant. You can translate it by:
Now that's it for the geek talk.
Code:
if(pouet != scene) {
if(scene != pouet) {
Big BullShit here
}
}
Now that's it for the geek talk.
hitchhikr: That's just what I said in my first posting. I assumed that != has a higher precedence level than && (in other words: != is evaluated first). This is the usual behaviour in languages such as C.
But Rasmus' variant is also interesting, of course. From a theoretical aspect, that is.
pouet uses its own coding language called lobsterssealbasherwithavenageancefromtheyear7006kingsizeextrabullmasterstrong
its for advanced minds only.
its for advanced minds only.
you need to master the way of the bass before you can start trying to comprehend it.
<scali>
I never said you were wrong. Just that it's "redundant" and not "obsolete".
Kind Rasmus is eventually mixing up && with & and in this case he's also wrong because the condition is verified if, for example, pouet=0 and scene=1 (just an arbitrary example).
</scali>
People understimate the true power of the bass, believe me.
I never said you were wrong. Just that it's "redundant" and not "obsolete".
Kind Rasmus is eventually mixing up && with & and in this case he's also wrong because the condition is verified if, for example, pouet=0 and scene=1 (just an arbitrary example).
</scali>
People understimate the true power of the bass, believe me.
bass is god!
Quote:
"Kind Rasmus is eventually mixing up && with & and in this case he's also wrong because the condition is verified if, for example, pouet=0 and scene=1 (just an arbitrary example)."
That's right. I've already shown all the possible cases in one of my postings. Feel free to correct any mistakes in case you find any.
That's a work for SuperCali.
how about you just jump on the cluetrain the next time it passes by, adok?
Who the fuck cares. Stop whining, and code some productions intead of starting somewhat useless topics.
move.l pouet(pc),d0
move.l scene(pc),d1
cmp.l d0,d1
beq.s .nope
cmp.l d1,d0
beq.s .nope
move.l dosbase(pc),a6
jsr _LVOOutput(a6)
move.l d0,d1
move.l #big_bullshit,d2
move.l #big_bullshit_len,d3
.nope
move.l scene(pc),d1
cmp.l d0,d1
beq.s .nope
cmp.l d1,d0
beq.s .nope
move.l dosbase(pc),a6
jsr _LVOOutput(a6)
move.l d0,d1
move.l #big_bullshit,d2
move.l #big_bullshit_len,d3
.nope
Argh fuck i forgot the jsr _LVOWrite(a6)
the only one who's probably got it is optimus.
GET A LIFE™!
dear adok,
you really are a fucking huge lamer.
lots of love,
the world.
you really are a fucking huge lamer.
lots of love,
the world.
some ppl just have way too much sparetime on their hands :P