I can reproduce this if I use Float16 instead of Float64 as
floating-point representation...

What happens if you type just "float(44099)", or "typeof(1/1)", etc.?

-erik

On Wed, Nov 19, 2014 at 6:26 PM, Stefan Karpinski <[email protected]> wrote:
> That's a bizarre error - I cannot reproduce it either. In IEEE 754
> arithmetic multiplication by 1.0 should be the identity for all finite
> numbers. Julia uses the same floating-point arithmetic that your hardware
> implements and which is the same as C, Fortran, Java, JavaScript, etc., so
> you should see exactly the same rounding in Julia as in all those other
> languages. If that's not the case something is very wrong with your Julia
> setup.
>
> On Wed, Nov 19, 2014 at 2:47 PM, Intrinsic Audio <[email protected]>
> wrote:
>>
>> I've found an interesting issue in Julia that, though it seems trivial in
>> the application I've given, is really messing up my code and my ability to
>> guarantee its performance.
>>
>> Apparently, 44099 * (1/1) == 44100, which in my book is a very massive
>> error.
>>
>> I wrote a resample() function for the project I'm working on, and I found
>> that rounding errors in Julia have made the language unacceptable to my
>> superiors.  Is this a fundamental issue with Julia, or is there something I
>> can do to fix this?
>>
>> Here is a screenshot of a simple script that demonstrates this:
>>
>> http://i.imgur.com/mA9hpqw.png
>>
>> Why does this happen?
>
>



-- 
Erik Schnetter <[email protected]>
http://www.perimeterinstitute.ca/personal/eschnetter/

Reply via email to