+inline DataType get_matrix_column_type(DataType t)
+{
+ unsigned cols = ((t&0xC000)>>14)+1;
+ return static_cast<DataType>((t&~0xC0FF) | (get_type_size(t)/cols));
+}
+
+inline DataType get_element_type(DataType t)
+{
+ unsigned elems = (((t&0xC000)>>14)+1)*(((t&0x3000)>>12)+1);
+ return static_cast<DataType>((t&~0xC0FF) | (get_type_size(t)/elems));
+}
+