Arbitrary Size Integer Arrays
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Mon Sep 21 13:03:28 PDT 2009
dsimcha wrote:
> I'm thinking it might be useful to have a library type that allows for
> arbitrary size integers <= 64 bits (128 if ucent is ever implemented) to be
> packed into an array. This might be nice when you want a huge array of them,
> the size you actually need is somewhere in between two native sizes, and you
> care more about space/cache efficiency than raw CPU cycles. For example,
> let's say you wanted an array of N 19-bit integers. You'd make an array of
> uints (32-bit) with ceil(N * 19 / 32) elements, and when it was indexed, you'd
> do a bunch of modulus and bit shifting to get the right 19 bits out of that
> block of memory, and return a uint. It would be slow as molasses, but really
> space efficient, which would in certain cases be a reasonable tradeoff.
>
> Has anyone implemented, or considered implementing this before? If not, if I
> implemented it well and submitted it as an enhancement, would it be a
> reasonable thing to include in std.array?
I think that would be a nice addition. We haven't established some
general rules for containers. Values or references? In the latter case:
Classes or structs? If classes: hierarchy or largely independent classes?
Andrei
More information about the Digitalmars-d
mailing list