News for hackers. Stuff that matters.
Re:Six times faster than C by Tempest1981 on Thursday July 06, 2023 @10:01PM (#36626053)
While `false` evaluates to 0, not sure `true` always evaluate to 1 in C... maybe compiler dependent. Maybe add `? 1 : 0`
Re:Six times faster than C by ladberg on Thursday July 06, 2023 @11:09PM (#36626585)
C doesn't even originally have true/false, I think you may be conflating the two concepts that "any nonzero int is truthy" and "boolean expressions evaluate to ints". The standard mandates that boolean expressions like equality always evaluate to 0/1.
Re:Six times faster than C by loeg on Thursday July 06, 2023 @11:18PM (#36626653)
The `true` constant is always 1. C11 §7.18 (3):

> true which expands to the integer constant 1,

And equality yields a 1 or 0. C11 §6.5.9 (3):

> The == (equal to) and != (not equal to) operators are analogous to the relational operators except for their lower precedence. Each of the operators yields 1 if the specified relation is true and 0 if it is false.