Marco Leise:

foreach (immutable xi; r.x .. r.x + r.w + 1)

What the heck?! I didn't know that even compiles. :)

It's an enhancement that I requested, and Kenji implemented some time ago.


About the UPPERCASE_CONSTANTS: I know we tend to use camelCase
for them, too. It's just a personal preference to have global
constants in uppercase.

In C (and In Python, that doesn't enforce their immutability) I too write global UPPERCASE_CONSTANTS, but in D module-level constants behave better, so I prefer to use the more camelCase.


If you want it submitted please go ahead.

OK. (I benchmarked it to make sure it's not slower).


My objection is that
you condensed the code too much to create a small SLOC in
comparison to e.g. C++ and moved away from the original coding
style of the benchmark that made SLOC somewhat comparable.

The style I have used is very similar to my normal style (I add few more braces, few more comments, and little more), so I think this D code is not unnatural. Most D entries in Rosettacode are written in that style.


Btw. I also wrote a new algorithm for the given problem, that
gives deterministic "full" levels without resorting to trial
and error and runs a lot faster (when compiled for 64-bit at
least):
http://dpaste.dzfl.pl/d37ba995

I don't know if the author will use that. Nice code and nice popcounts.

Bye,
bearophile

Reply via email to