CIRCT 23.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
esiaccel.types.ESIType Class Reference
Inheritance diagram for esiaccel.types.ESIType:
Inheritance graph
[legend]

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
 
 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 
)

Member Function Documentation

◆ __eq__()

bool esiaccel.types.ESIType.__eq__ (   self,
  other 
)

◆ __hash__()

int esiaccel.types.ESIType.__hash__ (   self)

Definition at line 97 of file types.py.

◆ __str__()

str esiaccel.types.ESIType.__str__ (   self)

◆ _init_from_cpp()

esiaccel.types.ESIType._init_from_cpp (   self,
cpp.Type  cpp_type 
)
protected

◆ bit_width()

int esiaccel.types.ESIType.bit_width (   self)

◆ deserialize()

Tuple[object, bytearray] esiaccel.types.ESIType.deserialize (   self,
bytearray  data 
)
Convert a bytearray to a Python object. Return the object and the
leftover bytes.

Reimplemented in esiaccel.types.ChannelType, esiaccel.types.VoidType, esiaccel.types.AnyType, esiaccel.types.BitsType, esiaccel.types.UIntType, esiaccel.types.SIntType, esiaccel.types.StructType, esiaccel.types.ArrayType, and esiaccel.types.TypeAlias.

Definition at line 92 of file types.py.

◆ id()

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

Definition at line 57 of file types.py.

References esiaccel.types.ESIType.cpp_type.

Referenced by esiaccel.types.ESIType.__eq__().

◆ is_valid()

Tuple[bool, Optional[str]] esiaccel.types.ESIType.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 in esiaccel.types.ChannelType, esiaccel.types.VoidType, esiaccel.types.AnyType, esiaccel.types.BitsType, esiaccel.types.UIntType, esiaccel.types.SIntType, esiaccel.types.StructType, esiaccel.types.ArrayType, and esiaccel.types.TypeAlias.

Definition at line 70 of file types.py.

◆ max_size()

int esiaccel.types.ESIType.max_size (   self)

◆ serialize()

bytearray esiaccel.types.ESIType.serialize (   self,
  obj 
)

◆ supports_host()

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

◆ 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

◆ id

esiaccel.types.ESIType.id

Definition at line 98 of file types.py.

Referenced by esiaccel.types.ESIType.__eq__().


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