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/
