ActionScript3 states the following:
Note: The Math functions acos, asin, atan, atan2, cos, exp, log, pow, sin, and sqrt may result in slightly different values depending on the algorithms used by the CPU or operating system. Flash runtimes call on the CPU (or operating system if the CPU doesn’t support floating point calculations) when performing the calculations for the listed functions, and results have shown slight variations depending upon the CPU or operating system in use.
My web application works with very large and small numbers that I suspect may see a difference depending on which machine is running it (especially with mobile devices whose processors aren’t as powerful as desktop machines’). My question is, is this behavior a function of the language?
That is, I assume some languages implement their own algorithms for the above functions, and so may be more consistent (except for differences in round-off errors introduced by the choice of processor/CPU that would exist for all languages).
Anyone know if Javascript has it’s own algorithms, or does it outsource them to the CPU/processor like ActionScript?
Excerpt from the ECMAScript 5 standard, section 15.8.2
Essentially that means that every implementation (including every browser) can decide how they want to deal with those functions. As recommended, I presume the vast majority use
fdlibmalthough checking that will be left as an exercise for the reader.