diff options
Diffstat (limited to 'ethosu/vela/tosa/TosaGraph.py')
-rw-r--r-- | ethosu/vela/tosa/TosaGraph.py | 61 |
1 files changed, 50 insertions, 11 deletions
diff --git a/ethosu/vela/tosa/TosaGraph.py b/ethosu/vela/tosa/TosaGraph.py index f54a44a..84b51a7 100644 --- a/ethosu/vela/tosa/TosaGraph.py +++ b/ethosu/vela/tosa/TosaGraph.py @@ -3,17 +3,27 @@ # namespace: tosa import flatbuffers +from flatbuffers.compat import import_numpy +np = import_numpy() class TosaGraph(object): __slots__ = ['_tab'] @classmethod - def GetRootAsTosaGraph(cls, buf, offset): + def GetRootAs(cls, buf, offset=0): n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) x = TosaGraph() x.Init(buf, n + offset) return x + @classmethod + def GetRootAsTosaGraph(cls, buf, offset=0): + """This method is deprecated. Please switch to GetRootAs.""" + return cls.GetRootAs(buf, offset) + @classmethod + def TosaGraphBufferHasIdentifier(cls, buf, offset, size_prefixed=False): + return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x4F\x53\x41", size_prefixed=size_prefixed) + # TosaGraph def Init(self, buf, pos): self._tab = flatbuffers.table.Table(buf, pos) @@ -23,34 +33,63 @@ class TosaGraph(object): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) if o != 0: x = self._tab.Indirect(o + self._tab.Pos) - from .Version import Version + from tosa.Version import Version obj = Version() obj.Init(self._tab.Bytes, x) return obj return None # TosaGraph - def Blocks(self, j): + def Regions(self, j): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) if o != 0: x = self._tab.Vector(o) x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4 x = self._tab.Indirect(x) - from .TosaBasicBlock import TosaBasicBlock - obj = TosaBasicBlock() + from tosa.TosaRegion import TosaRegion + obj = TosaRegion() obj.Init(self._tab.Bytes, x) return obj return None # TosaGraph - def BlocksLength(self): + def RegionsLength(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) if o != 0: return self._tab.VectorLen(o) return 0 -def TosaGraphStart(builder): builder.StartObject(2) -def TosaGraphAddVersion(builder, version): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(version), 0) -def TosaGraphAddBlocks(builder, blocks): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(blocks), 0) -def TosaGraphStartBlocksVector(builder, numElems): return builder.StartVector(4, numElems, 4) -def TosaGraphEnd(builder): return builder.EndObject() + # TosaGraph + def RegionsIsNone(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) + return o == 0 + +def TosaGraphStart(builder): + builder.StartObject(2) + +def Start(builder): + TosaGraphStart(builder) + +def TosaGraphAddVersion(builder, version): + builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(version), 0) + +def AddVersion(builder, version): + TosaGraphAddVersion(builder, version) + +def TosaGraphAddRegions(builder, regions): + builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(regions), 0) + +def AddRegions(builder, regions): + TosaGraphAddRegions(builder, regions) + +def TosaGraphStartRegionsVector(builder, numElems): + return builder.StartVector(4, numElems, 4) + +def StartRegionsVector(builder, numElems: int) -> int: + return TosaGraphStartRegionsVector(builder, numElems) + +def TosaGraphEnd(builder): + return builder.EndObject() + +def End(builder): + return TosaGraphEnd(builder) |