- * Note: The type flags are designed so that a smaller type may override a
- * larger one by or'ing it into the existing one.
- */
-#define CF_NONE 0x0000 /* No special flags */
-
-#define CF_TYPE 0x0007 /* Mask for operand type */
-#define CF_CHAR 0x0003 /* Operation on characters */
-#define CF_INT 0x0001 /* Operation on ints */
-#define CF_PTR CF_INT /* Alias for readability */
-#define CF_LONG 0x0000 /* Operation on longs */
+** Note: The type flags are designed so that a smaller type may override a
+** larger one by or'ing it into the existing one.
+** Note^2: The actual type including the sign flag is in the lower bits, so
+** we can mask the information and use them as a table index.
+*/
+#define CF_NONE 0x0000 /* No special flags */
+
+/* Values for the actual type */
+#define CF_CHAR 0x0003 /* Operation on characters */
+#define CF_INT 0x0001 /* Operation on ints */
+#define CF_PTR CF_INT /* Alias for readability */
+#define CF_LONG 0x0000 /* Operation on longs */