Am Wed, 08 Aug 2012 11:48:54 +0400 schrieb Denis Shelomovskij <verylonglogin....@gmail.com>:
> The question about module names. > > Is it supposed that e.g. std.hash.crc module will contain many CRC > implementations, not only one CRC-32? If not, it will be better to > call it std.hash.crc32 because other CRC variants are also in use. Or > even std.hash.crc.crc32. > > Same with std.hash.sha and std.hash.md modules. > They're supposed to contain more implementations in the future. I basically just wrote the new API, then ported what we already had in phobos (and in a pull request by redstar) to the new API. The rest of the SHA functions could probably follow soon as Piotr Szturmaj already has a properly licensed implementation. The Boost project has a templated CRC implementation, we could port that as well. One problem is that the current MD5 and SHA implementations have been manually optimized for dmds inliner though, so those probably won't be replaced by a more generic version until we have benchmarks in phobos which ensure that there won't be performance regressions.