The IMAP format, defined in ST1201, is a method of encoding floating point numbers in KLV. Currently, we map all IMAP values to double. However, this is not technically comprehensive, since IMAP is capable of encoding some special values such as "above maximum" (distinct from infinity) and user-defined payloads. These cannot be expressed as doubles, so we need a new custom data type klv_imap, and we need to change any value that could technically contain a special IMAP value to be klv_imap instead of double, and handle conversions between the two. This ends up being a lot of code changed.
The IMAP format, defined in ST1201, is a method of encoding floating point numbers in KLV. Currently, we map all IMAP values to
double
. However, this is not technically comprehensive, since IMAP is capable of encoding some special values such as "above maximum" (distinct from infinity) and user-defined payloads. These cannot be expressed asdouble
s, so we need a new custom data typeklv_imap
, and we need to change any value that could technically contain a special IMAP value to beklv_imap
instead ofdouble
, and handle conversions between the two. This ends up being a lot of code changed.