The current spatial messaging implementation uses float for the implicit x/y/z members (and associated methods such as getVirtualX).
Some users might want double precision spatial coordinates for e.g. large ranges but some dense regions, so we might want to provide a double variant.
Performance will be worse due to reduced FP64 units and incresed memory requirementsm but may be neccesary.
We could implement this in the future without breaking the API by either creating new copies of the single precision classes, with Double in the name.
Alternatively we could templating the current classes, then typedef concrete versions, using the current name for single precision and a new name for double. This would be an ABI break, but not an API break (and we don't maintain a stable ABI).
The current spatial messaging implementation uses
float
for the implicitx
/y
/z
members (and associated methods such asgetVirtualX
).Some users might want double precision spatial coordinates for e.g. large ranges but some dense regions, so we might want to provide a
double
variant.Performance will be worse due to reduced FP64 units and incresed memory requirementsm but may be neccesary.
We could implement this in the future without breaking the API by either creating new copies of the single precision classes, with
Double
in the name. Alternatively we could templating the current classes, then typedef concrete versions, using the current name for single precision and a new name for double. This would be an ABI break, but not an API break (and we don't maintain a stable ABI).