The settle code thoroughly uses re-typing (C) functions parameters from float to double. This might cause confusion to the compiler in optimisation stage. Readability and maintainability of the code is reduced.
This is done even for functions that are "zombie" dead code - only headers exist in nr.h, no implementation.
There are equivalent functions with double as parameter - use these instead.
Note: This issue was mostly hidden by compiling C code with g++ compiler.
Description
The settle code thoroughly uses re-typing (C) functions parameters from float to double. This might cause confusion to the compiler in optimisation stage. Readability and maintainability of the code is reduced.
This is done even for functions that are "zombie" dead code - only headers exist in nr.h, no implementation.
There are equivalent functions with double as parameter - use these instead. Note: This issue was mostly hidden by compiling C code with g++ compiler.
example code
while the function odeint() is actually implemented in odeiint.cc as
example dead code headers in nr.h - retyped from float to double
re-typing
Use of the function
re-typing mathlib functions in nr.h
(Dangerous - compiled as C++ can cause floating point resolution issues !)