| # automatically generated by the FlatBuffers compiler, do not modify |
| |
| # Copyright (c) 2020, ARM Limited. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| |
| # namespace: tosa |
| |
| import flatbuffers |
| |
| class RescaleAttribute(object): |
| __slots__ = ['_tab'] |
| |
| @classmethod |
| def GetRootAsRescaleAttribute(cls, buf, offset): |
| n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) |
| x = RescaleAttribute() |
| x.Init(buf, n + offset) |
| return x |
| |
| # RescaleAttribute |
| def Init(self, buf, pos): |
| self._tab = flatbuffers.table.Table(buf, pos) |
| |
| # RescaleAttribute |
| def InputZp(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) |
| if o != 0: |
| return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos) |
| return 0 |
| |
| # RescaleAttribute |
| def OutputZp(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) |
| if o != 0: |
| return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos) |
| return 0 |
| |
| # RescaleAttribute |
| def Multiplier(self, j): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) |
| if o != 0: |
| a = self._tab.Vector(o) |
| return self._tab.Get(flatbuffers.number_types.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4)) |
| return 0 |
| |
| # RescaleAttribute |
| def MultiplierAsNumpy(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) |
| if o != 0: |
| return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o) |
| return 0 |
| |
| # RescaleAttribute |
| def MultiplierLength(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) |
| if o != 0: |
| return self._tab.VectorLen(o) |
| return 0 |
| |
| # RescaleAttribute |
| def Shift(self, j): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10)) |
| if o != 0: |
| a = self._tab.Vector(o) |
| return self._tab.Get(flatbuffers.number_types.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4)) |
| return 0 |
| |
| # RescaleAttribute |
| def ShiftAsNumpy(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10)) |
| if o != 0: |
| return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o) |
| return 0 |
| |
| # RescaleAttribute |
| def ShiftLength(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10)) |
| if o != 0: |
| return self._tab.VectorLen(o) |
| return 0 |
| |
| # RescaleAttribute |
| def Scale32(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12)) |
| if o != 0: |
| return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos)) |
| return False |
| |
| # RescaleAttribute |
| def DoubleRound(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14)) |
| if o != 0: |
| return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos)) |
| return False |
| |
| # RescaleAttribute |
| def PerChannel(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16)) |
| if o != 0: |
| return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos)) |
| return False |
| |
| def RescaleAttributeStart(builder): builder.StartObject(7) |
| def RescaleAttributeAddInputZp(builder, inputZp): builder.PrependInt32Slot(0, inputZp, 0) |
| def RescaleAttributeAddOutputZp(builder, outputZp): builder.PrependInt32Slot(1, outputZp, 0) |
| def RescaleAttributeAddMultiplier(builder, multiplier): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(multiplier), 0) |
| def RescaleAttributeStartMultiplierVector(builder, numElems): return builder.StartVector(4, numElems, 4) |
| def RescaleAttributeAddShift(builder, shift): builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(shift), 0) |
| def RescaleAttributeStartShiftVector(builder, numElems): return builder.StartVector(4, numElems, 4) |
| def RescaleAttributeAddScale32(builder, scale32): builder.PrependBoolSlot(4, scale32, 0) |
| def RescaleAttributeAddDoubleRound(builder, doubleRound): builder.PrependBoolSlot(5, doubleRound, 0) |
| def RescaleAttributeAddPerChannel(builder, perChannel): builder.PrependBoolSlot(6, perChannel, 0) |
| def RescaleAttributeEnd(builder): return builder.EndObject() |