Wow awesome, it would be nice if you could add it as a dub package ( http://code.dlang.org/publish) to dub repository (http://code.dlang.org)
On Mon, Jan 8, 2018 at 11:16 PM, rumbu via Digitalmars-d-announce < [email protected]> wrote: > This is my first D finalized project (+16k loc). > > I know that there are other two projects intended to provide a decimal > data type for D, but I consider mine the most complete and most compliant > to the standards (at least until now). > > There are two years of since I'm working on it (and learning D in the same > time), but I concentrated most of the efforts in the last two months. > > It was a nice exercise because I was happy to remember the math I learn > through my college years (trigonometry, logarithms, Taylor series, > derivatives, etc). Unfortunately I'm not using the same math during my > day-to day job. > > Maybe in another post I will share my struggles I encountered during the > development (plenty of). But a big thank you goes to Rainer Schuetze: > without Visual Studio and without the integrated debugger this project was > impossible to maintain. > > Now on topic: > > - fully IEEE-754-2008 compliant; > - one flat file; > - using Intel's binary decimal enconding; > - three decimal data types: decimal32, decimal64 and decimal128 > - all D operators supported for all numeric types (left and right side > integrals, floats, chars); > - conversion supported from/to integrals, floats, bools, chars > - conversion to/from other decimal formats (Microsoft Currency, Microsoft > Decimal, IBM Densely Packed Decimal) > - all std.math functions implemented (even logarithms and trigonometry); > - all format specifiers implemented (%f, %e, %g, %a); > - integrated with phobos format and conversion functions (to, format, > writef); > - thread local precision (from 1 to 34 decimal digits); > - new rounding mode - Europe's most used - tiesToAway; > - alternate exception handling (through flags); > - minimal dependencies (some traits and some floating point functions); > - comprehensive documentation; > > Source code: https://github.com/rumbu13/decimal/blob/master/src/decimal.d > > Documentation: http://rumbu13.github.io/decimal/doc/decimal.html > > The project is more than in an alpha state, all operations were tested but > not exhaustively. > > What's next: > - more tests; > - benchmarks; > > >
