I'm close to wrapping up a decimal (bigfloat) module for D (coming soon to 
dsource!) and, as you might imagine, it uses std.bigint heavily. 

I upgraded my compiler from D2.30 to D2.40 and got error messages regarding 
conflicts between struct constructors and struct initializers. I cleaned up my 
code, but when I tried to compile again it complained about struct initializers 
in std.bigint.

I'm away from my home computer, so I can't give specifics on the error(s), but 
I know bigint is overdue for a rework, and that it has been missing from the 
phobos documentation for a long time. My question is whether anyone else is 
using std.bigint and has experienced this problem.

For what it's worth, there are several features that I wish were present in 
std.bigint, mostly dealing with decimal representation:

1. Return the number of decimal digits are in a given bigint.
2. Return the first or last decimal digits in a bigint.
3. Some sort of decimal shift; divide/multiply by a given power or ten.

For the time being I've implemented these in my Decimal class, but are they of 
wider use to anyone else? (Note: I'm sure there are more efficient ways to 
implement these functions, and including them in std.bigint may allow these 
efficiency gaings.)

Reply via email to