Conversation
…d function in interpolation.
This reverts commit 2a17248.
|
|
Changing all the check to be compliant with the solution using the lambert W function is pretty hard. Also the functions converning the compatibility with appl grid files seem to get compromised. Anyway the issue is related to the FMA Fused-multiply-add-operation. Compiling that function in C or Fortran works only on x86. On arm/M1pro the function will fail for certain values and oscillate if using -ffast-math with -ffp-contract=on. On arm/M1 -ffast-math -ffp-contrac=off the function works. The same oscillating behaviour happens in Rust, which does (and should in general imho) do the FMA optimisation. Maybe there is a way to have just this function unoptimised? |
|
I believe there's a bug in the Newton's method implementation. The statement |
fx2
|
This is now ready to be merged. Sorry that I reverted your work, @peterkrack, but I think fixing this bug is the easiest solution. |
I had some issue when calling pineko theory opcards for two of my grids, when the value y = 6.786550974400577 was passed. The newton method here would not converge in 10 steps.
Now using https://crates.io/crates/lambert_w