The use case of mixed-precision computing has been suggested. This PR attempts to support that need by templating Spiner functionality on underlying data type. This means the following are all valid:
Any arithmetic type is supported, although I've only tested carefully with floating-point types. Also HDF5 is only supported for float and double at this time.
I've pinged a few people using spiner downstream. @jdolence @chadmeyer @dholladay00 @jhp-lanl and @brryan do you see this breaking anything you're doing with spiner? Is there any design consideration I'm missing here?
PR Checklist
[x] Code is formatted. (You can use the format_spiner make target.)
[x] Adds a test for any bugs fixed. Adds tests for new features.
[ ] If preparing for a new release, update the version in cmake.
PR Summary
The use case of mixed-precision computing has been suggested. This PR attempts to support that need by templating
Spiner
functionality on underlying data type. This means the following are all valid:Any arithmetic type is supported, although I've only tested carefully with floating-point types. Also HDF5 is only supported for
float
anddouble
at this time.I've pinged a few people using spiner downstream. @jdolence @chadmeyer @dholladay00 @jhp-lanl and @brryan do you see this breaking anything you're doing with spiner? Is there any design consideration I'm missing here?
PR Checklist