Oscar Smith

Results 353 comments of Oscar Smith

If you want more details on my thought process here, my Juliacon talk was on floating point math implementation and testing. https://www.youtube.com/watch?v=-tFS4PUHqT0

the argument for splitting them up is that a lot of libraries want to use gamma functions without the precompilation time of loading everything.

Well `using SpecialFunctions` is already .35 seconds (and most of the code is just calling C functions).

Also, you should look at https://github.com/cgeoga/BesselK.jl. It allows for autodiff of `besselk` with respect to the order which is pretty cool. Also, it apparently uses some fancyness to automatically generate...

in floating point, all multiplies retain full accuracy (unless they underflow or overflow). Also, `exp` and `cosh` are pretty fast. They're both in the range of the cost of 2...

This looks like it could be made a lot faster by factoring out small bits. It looks like there is a lot of duplicated work.

IMO this isn't quite correct. `NaNMath` says that functions return `NaN` rather than throwing so we should check if we get an error and return `NaN` in these fallback methods.

I've talked to @vtjnash about this a bit and he thinks that libm might be leaking effectful information (rounding modes and signals) but I haven't been able to find observe...