Based on the PyType and PyConcreteType classes, this patch implements the bindings of Complex Type, Vector Type and Tuple Type subclasses.
For the convenience of type checking, this patch defines a mlirTypeIsAIntegerOrFloat function to check whether the given type is an integer or float type.
These three subclasses in this patch have similar binding strategy:
- The function pointer isaFunction points to mlirTypeIsA***.
- The mlir***TypeGet C API is bound with the get_*** method in the python side.
- The Complex Type and Vector Type check whether the given type is an integer or float type.