|
CIRCT 24.0.0git
|


Public Member Functions | |
| __init__ (self, str id, List[Tuple[str, "ESIType"]] fields) | |
| Tuple[bool, Optional[str]] | is_valid (self, obj) |
| bytearray | serialize (self, obj) |
| Tuple[Dict[str, Any], bytearray] | deserialize (self, bytearray data) |
| Public Member Functions inherited from esiaccel.types.ESIType | |
| __init__ (self, str id) | |
| wrap_cpp (cls, cpp.Type cpp_type) | |
| str | id (self) |
| Tuple[bool, Optional[str]] | supports_host (self) |
| int | bit_width (self) |
| int | max_size (self) |
| int | __hash__ (self) |
| bool | __eq__ (self, other) |
| str | __str__ (self) |
Public Attributes | |
| list | fields = [(name, _get_esi_type(ty)) for (name, ty) in cpp_type.fields] |
| Public Attributes inherited from esiaccel.types.ESIType | |
| cpp_type = cpp_type | |
| str | id |
Protected Member Functions | |
| _init_from_cpp (self, cpp.UnionType cpp_type) | |
| esiaccel.types.UnionType.__init__ | ( | self, | |
| str | id, | ||
| List[Tuple[str, "ESIType"]] | fields ) |
Definition at line 486 of file types.py.
References esiaccel.types.ESIType._init_from_cpp().
|
protected |
Initialize instance attributes from a C++ type object.
Reimplemented from esiaccel.types.ESIType.
Definition at line 490 of file types.py.
References _init_from_cpp().
Referenced by _init_from_cpp().
| Tuple[Dict[str, Any], bytearray] esiaccel.types.UnionType.deserialize | ( | self, | |
| bytearray | data ) |
Convert a bytearray to a Python object. Return the object and the leftover bytes.
Reimplemented from esiaccel.types.ESIType.
Definition at line 526 of file types.py.
References esiaccel.types.ESIType.bit_width(), esiaccel.types.UIntType.bit_width, circt::om::evaluator::ObjectValue.fields, esi::StructType.fields, esi::UnionType.fields, esi::WindowType::Frame.fields, esiaccel.types.StructType.fields, fields, and esiaccel.types.WindowType.Frame.fields.
| Tuple[bool, Optional[str]] esiaccel.types.UnionType.is_valid | ( | self, | |
| obj ) |
Is a Python object compatible with HW type? Returns either '(True, None)' if it is, or '(False, reason)' if it is not.
Reimplemented from esiaccel.types.ESIType.
Definition at line 495 of file types.py.
References circt::om::evaluator::ObjectValue.fields, esi::StructType.fields, esi::UnionType.fields, esi::WindowType::Frame.fields, esiaccel.types.StructType.fields, fields, and esiaccel.types.WindowType.Frame.fields.
| bytearray esiaccel.types.UnionType.serialize | ( | self, | |
| obj ) |
Convert a Python object to a bytearray.
Reimplemented from esiaccel.types.ESIType.
Definition at line 509 of file types.py.
References esiaccel.types.ESIType.bit_width(), esiaccel.types.UIntType.bit_width, circt::om::evaluator::ObjectValue.fields, esi::StructType.fields, esi::UnionType.fields, esi::WindowType::Frame.fields, esiaccel.types.StructType.fields, fields, and esiaccel.types.WindowType.Frame.fields.
| list esiaccel.types.UnionType.fields = [(name, _get_esi_type(ty)) for (name, ty) in cpp_type.fields] |
Definition at line 493 of file types.py.
Referenced by deserialize(), is_valid(), and serialize().