CIRCT 24.0.0git
Loading...
Searching...
No Matches
esiaccel.types.ESIType Class Reference
Inheritance diagram for esiaccel.types.ESIType:
Collaboration diagram for esiaccel.types.ESIType:

Public Member Functions

 __init__ (self, str id)
 wrap_cpp (cls, cpp.Type cpp_type)
str id (self)
Tuple[bool, Optional[str]] supports_host (self)
Tuple[bool, Optional[str]] is_valid (self, obj)
int bit_width (self)
int max_size (self)
bytearray serialize (self, obj)
Tuple[object, bytearray] deserialize (self, bytearray data)
int __hash__ (self)
bool __eq__ (self, other)
str __str__ (self)

Public Attributes

 cpp_type = cpp_type
str id

Protected Member Functions

 _init_from_cpp (self, cpp.Type cpp_type)

Detailed Description

Definition at line 40 of file types.py.

Constructor & Destructor Documentation

◆ __init__()

esiaccel.types.ESIType.__init__ ( self,
str id )

Definition at line 42 of file types.py.

References _init_from_cpp().

Member Function Documentation

◆ __eq__()

◆ __hash__()

int esiaccel.types.ESIType.__hash__ ( self)

Definition at line 97 of file types.py.

◆ __str__()

str esiaccel.types.ESIType.__str__ ( self)

Definition at line 103 of file types.py.

References cpp_type.

◆ _init_from_cpp()

◆ bit_width()

int esiaccel.types.ESIType.bit_width ( self)
Size of this type, in bits. Negative for unbounded types.

Definition at line 76 of file types.py.

References cpp_type.

Referenced by esiaccel.types.SIntType.deserialize(), esiaccel.types.UnionType.deserialize(), esiaccel.types.SIntType.is_valid(), max_size(), esiaccel.types.UnionType.serialize(), and supports_host().

◆ deserialize()

Tuple[object, bytearray] esiaccel.types.ESIType.deserialize ( self,
bytearray data )

◆ id()

str esiaccel.types.ESIType.id ( self)
Get the stable id of this type.

Definition at line 57 of file types.py.

References cpp_type.

◆ is_valid()

Tuple[bool, Optional[str]] esiaccel.types.ESIType.is_valid ( self,
obj )

◆ max_size()

int esiaccel.types.ESIType.max_size ( self)
Maximum size of a value of this type, in bytes.

Definition at line 81 of file types.py.

References bit_width(), and esiaccel.types.UIntType.bit_width.

◆ serialize()

◆ supports_host()

Tuple[bool, Optional[str]] esiaccel.types.ESIType.supports_host ( self)
Does this type support host communication via Python? Returns either
'(True, None)' if it is, or '(False, reason)' if it is not.

Reimplemented in esiaccel.types.ChannelType, esiaccel.types.ListType, and esiaccel.types.WindowType.

Definition at line 62 of file types.py.

References bit_width(), and esiaccel.types.UIntType.bit_width.

◆ wrap_cpp()

esiaccel.types.ESIType.wrap_cpp ( cls,
cpp.Type cpp_type )
Wrap a C++ ESI type with its corresponding Python ESI Type.

Definition at line 46 of file types.py.

References esiaccel.types.BundlePort.__new__().

Member Data Documentation

◆ cpp_type

esiaccel.types.ESIType.cpp_type = cpp_type

◆ id

str esiaccel.types.ESIType.id

Definition at line 98 of file types.py.

Referenced by __eq__().


The documentation for this class was generated from the following file: