"INTERPOLATE" missing keyword "DOUBLE"
The function INTERPOLATE is missing the keyword "DOUBLE". According to documentation, this changes the precision used in calculations, not the precision of the returned data: if data is input as a float, interpolation is done in double and then converted to a float and returned (and if given as a double, it's calculated as a double and returned as a double). The lack of this keyword makes some procedures/functions (such as LINTERP in NASA's astrolib library) crash or otherwise not work as intended, decreasing compatibility with IDL libraries.
Comments (4)
-
repo owner -
reporter You might have a slightly outdated version of astrolib. The DOUBLE call was added in Feb. 2015.
I can cause the crash by simply calling
linterp,[0:1],[0:1d],0,a
Really, the input data (second input to LINTERP) needs to be a double. That causes LINTERP to call the DOUBLE keyword, which then errors with "% Error: INTERPOLATE: keyword not allowed: DOUBLE"
-
repo owner I have a recent Astrolib from the official github site. It turned out, that linterp.pro was out of sync from the ftp site. Wayne fixed this today.
-
repo owner - changed status to resolved
Closed.
- Log in to comment
FL's INTERPOLATE always uses double precision internally. I have added a (dummy) DOUBLE keyword to avoid missing keyword messages.
My copy of LINTERP does not use DOUBLE. How does it crash?