On Thursday, April 30, 2015 at 8:01:05 PM UTC-4, Páll Haraldsson wrote:
>
> >"Mixed operations involving decimal and binary floating-point or integer 
> types are supported (the result is promoted to decimal floating-point)."
>
> >Is that really advised?
>
> I meant for binary only. Mixing with integer is ok.
>
> Another idea. Mixing ok, but promoting to binary. Subsequent calculations 
> will not be slow :) Con, why start with decimal in the first place?
>

Very bad idea... the reason people use decimal arithmetic is for 
correctness (different sort of correctness than what the numerical 
computing people want...)

Both very much have there place...
 

> Another idea, can convertions be disabled by default (get runtime 
> errors/exceptions) and you could enable them if you want globally? Not sure 
> if that works or has to do with macros.. Runtime penalty?
>
> -- 
> Palli.
>
> On Thursday, April 30, 2015 at 11:56:28 PM UTC, Páll Haraldsson wrote:
>>
>> "In general, you should be able to use the DecFP types in any context 
>> where you would have used binary floating-point types: arrays, complex 
>> arithmetic, and linear algebra should all work, for the most part."
>>
>> Way better than what I was going for - I thought only +, -, *, / was 
>> needed and maybe only wanted.. plus convert but not automatic:
>>
>> "Mixed operations involving decimal and binary floating-point or integer 
>> types are supported (the result is promoted to decimal floating-point)."
>>
>> Is that really advised? Is that what you do or the C library? In C you 
>> have automatic promotion between native types, but I guess you can't 
>> otherwise. The library you wrap provides converts (good), you make them 
>> automatic (bad?).
>>
>> At first blush, as Julia is generic by default, this seems what you would 
>> want, but is it? When I thought about this, it seemed just dangerous. If 
>> you force people to use manual conversion you might get away with wrapping 
>> fewer functions?
>>
>> "Most basic arithmetic functions are supported, and many special 
>> functions (sqrt, log, trigonometric functions, etc.)."
>>
>> I'm not sure if the library you wrap provides this and if it does, 
>> doesn't convert to binary floating point, runs the function, then converts 
>> back? Whether it does it or you do it, is it not better to let the user 
>> decide on both converts? And faster if you eliminate some..
>>
>> I just scanned the code or one file:
>>
>> for c in (:π, :e, :γ, :catalan, :φ)
>>
>> Not sure if these are the only Julia constants.. Or only you care about. 
>> Anyway, wasn't expecting to see them in any decimal context. I would not be 
>> rich with π dollars in my account. :)
>>
>> -- 
>> Palli.
>>
>> On Wednesday, April 29, 2015 at 1:26:17 AM UTC, Steven G. Johnson wrote:
>>>
>>> The DecFP package
>>>
>>>       https://github.com/stevengj/DecFP.jl
>>>
>>> provides 32-bit, 64-bit, and 128-bit binary-encoded decimal 
>>> floating-point types following the IEEE 754-2008, implemented as a wrapper 
>>> around the (BSD-licensed) Intel Decimal Floating-Point Math Library 
>>> <https://software.intel.com/en-us/articles/intel-decimal-floating-point-math-library>.
>>>   
>>> Decimal floating-point types are useful in situations where you need to 
>>> exactly represent decimal values, typically human inputs.
>>>
>>> As software floating point, this is about 100x slower than hardware 
>>> binary floating-point math.  On the other hand, it is significantly 
>>> (10-100x) faster than arbitrary-precision decimal arithmetic, and is a 
>>> memory-efficient bitstype.
>>>
>>> The basic arithmetic functions, conversions from other numeric types, 
>>> and numerous special functions are supported.
>>>
>>

Reply via email to