+#define DOUBLE_IS_TRUE_FOR_INT(x) ((x) & 0x7FFFFFFFFFFFFFFF) // also match "negative zero" doubles of value 0x8000000000000000
+#define DOUBLE_LOSSLESS_FORMAT "%.17g"
+#define DOUBLE_VECTOR_LOSSLESS_FORMAT "%.17g %.17g %.17g"
+#define FLOAT_IS_TRUE_FOR_INT(x) ((x) & 0x7FFFFFFF) // also match "negative zero" floats of value 0x80000000
+#define FLOAT_LOSSLESS_FORMAT "%.9g"
+#define FLOAT_VECTOR_LOSSLESS_FORMAT "%.9g %.9g %.9g"