On 05/11/2015 08:45 PM, Andrei Alexandrescu wrote:
On 5/11/15 11:06 AM, Timon Gehr wrote:
- If the rounding function is not piecewise constant with one fixed
point per piece, it can happen that 'allocated >= needed' but 'allocated
< goodAllocSize(needed)'. Then, the allocated size will be inconsistent
with goodAllocSize. (This is why I recommended to require the rounding
function to have this property, which is stronger than monotonicity.)

Got it. That's a rather subtle requirement, so I changed the code to
keep things simple for the user:

https://github.com/andralex/phobos/commit/9307b9f8969b7bfd0906e0441a13cbbded7f8418
...

OK. It can make things unnecessarily slow though. (Is there any compelling use case for a Quantizer that always leaves some unused slack space, no matter the allocation size?)


- If b.ptr is null, then line 113 is bad in case goodAllocSize(0) > 0.

That should be fixed in the same commit; I just handle expansion of null
blocks up front in expand().
...

OK.

Reply via email to