<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Feb 8, 2014 at 5:00 PM, Roman Cheplyaka <span dir="ltr"><<a href="mailto:roma@ro-che.info" target="_blank">roma@ro-che.info</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* Omari Norman <<a href="mailto:omari@smileystation.com">omari@smileystation.com</a>> [2014-02-08 16:45:02-0500]<br>

<div class="">> Also, note that you get 34 significant digits, but that doesn't mean the<br>
> exponent is limited to 34.<br>
><br>
> >>> let x = fromJust . strToDeka $ "3E-200"<br>
> >>> let y = fromJust . strToDeka $ "4E-200"<br>
> >>> x + y<br>
> Deka {unDeka = 7E-200}<br>
><br>
> ...which you could do in Fixed, true.  If you defined E200 first.  But,<br>
> oops, now I need E250...<br>
<br>
</div>I see now. So this is a decimal floating-point numbers library, which<br>
also attempts to track the precision of numbers. Does this sound right?</blockquote><div><br></div><div>That's roughly right, yes. I would say"attempts" is too soft a word. decNumber and, therefore, deka, tracks every significant digit and at least maintains that significance.  If it trashes significant digits without notifying you, it's a bug; please report it.</div>
<div><br></div><div>The differences between Data.Fixed and this library are so huge (Fixed manipulates Integers alone; decNumber stores numbers as binary-coded decimal coefficients and integer exponents) that I didn't even think to compare them, and I won't be the one to draw performance comparisons between the two because deka is for situations where solutions like Fixed are simply wrong.  Fixed does me no good, no matter how fast it is, so there's no reason for me to know how it performs. </div>
<div><br></div></div></div></div>