-inline bool is_matrix(DataType t) { return (t>>14)&3; }
-inline bool is_vector(DataType t) { return !is_matrix(t) && ((t>>12)&3); }
+inline bool is_matrix(DataType t) { return t&0xC000; }
+inline bool is_vector(DataType t) { return !is_matrix(t) && (t&0x3000); }
+inline bool is_image(DataType t) { return t&0x70000; }