Available Types for psUnaryOp and psBinaryOp
In the SDRS section 4.7, the p_psScalar struct only lists 4 supported types,
but a few lines before this definition, 8 types are required for the psUnaryOp
and psBinaryOp functions. Since psBinaryOp uses p_psScalar, I'd like to keep
the supported PS types to the 4 listed in p_psScalar. The number of macros
required to support the various combinations with all types results in
approximately 65,000 LOC being generated and requires about 10 seconds to
preprocess and compile. If support of the extra types, needed in the future,
they can easily be added back in.
Change History
(3)
| Resolution: |
→ fixed
|
| Status: |
assigned → closed
|
I don't know why psScalar got dropped down to only those types, but that was
definitely a mistake. We certainly need the psU8 (for masks) and the psS16 (for
FITS) types for the psBinaryOp and psUnaryOp functions. I'd prefer requiring
p_psScalar support the same basic 8 types as the other two functions.
I'm impressed at the speed of the preprocessor -- and the volume of code generated!