psLookupTableInterpolate and psLookupTableInterpolateAll do not match spec
The implementations contain "psLookupStatusType *status" and "psVector *stats",
which are not specified in the SDRS. As far as I can tell, the specification in
the SDRS contains sufficient status information (return NaN or NULL in event of
failure).
[This is of less importance:]
Regarding the implementation, psLookupTableInterpolateAll calls
psLookupTableInterpolate for each column, which is inefficient. Ideally, each
should call an additional function that finds the desired index in the lookup
table (would it help to define a psVectorSearch to perform a binary search?) and
then perform the interpolation.
Change History
(5)
| Owner: |
changed from robert.desonia@… to Eric.VanAlst@…
|
| Owner: |
changed from Eric.VanAlst@… to Paul Price
|
| Resolution: |
→ fixed
|
| Status: |
new → closed
|
| Keywords: |
VERIFIED removed
|
The status has been removed from both psLookupTableInterpolate and
psLookupTableInterpolateAll. Both functions should match SDR prototype. I'll
leave it to you to decide whether performance increase is necessary. Currently,
the only place where lookup tables are used is in the time functions.