On 10/27/13, 11:07, Timon Gehr wrote:
On 10/27/2013 02:11 AM, Andrei Alexandrescu wrote:
On 10/26/13 5:13 PM, Timon Gehr wrote:
The following implementation does not use conditionals; probably
not minimal.

Thanks! Fixed two minor bugs:

this(bool b) { value = b; }

void opAssign(bool b) { value = b; }

These should shift b so it becomes 2 if true. ...

Good point.

Pushed your code with the fixes and a full truth table unittest:

https://github.com/andralex/phobos/blob/allocator/std/allocator.d#L236



Nice work. I'd say this is nontrivial enough to be put in the standard
library.


Andrei



Thanks!

Couldn't this be optimized further, by doubling the constants?

(A>>(a+b)&3)<<1 ==> A2>>(a+b)&6 ?

Reply via email to