# automatically generated by the FlatBuffers compiler, do not modify

# namespace: MNN

import flatbuffers
from flatbuffers.compat import import_numpy
np = import_numpy()

class ArgMaxSuperAcmeQuantizedParam(object):
    __slots__ = ['_tab']

    @classmethod
    def GetRootAs(cls, buf, offset=0):
        n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
        x = ArgMaxSuperAcmeQuantizedParam()
        x.Init(buf, n + offset)
        return x

    @classmethod
    def GetRootAsArgMaxSuperAcmeQuantizedParam(cls, buf, offset=0):
        """This method is deprecated. Please switch to GetRootAs."""
        return cls.GetRootAs(buf, offset)
    # ArgMaxSuperAcmeQuantizedParam
    def Init(self, buf, pos):
        self._tab = flatbuffers.table.Table(buf, pos)

    # ArgMaxSuperAcmeQuantizedParam
    def Mouttype(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

    # ArgMaxSuperAcmeQuantizedParam
    def Mscale(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
        if o != 0:
            return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
        return 0.0

    # ArgMaxSuperAcmeQuantizedParam
    def Mzero(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
        if o != 0:
            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
        return 0

def ArgMaxSuperAcmeQuantizedParamStart(builder): builder.StartObject(3)
def Start(builder):
    return ArgMaxSuperAcmeQuantizedParamStart(builder)
def ArgMaxSuperAcmeQuantizedParamAddMouttype(builder, mouttype): builder.PrependInt32Slot(0, mouttype, 0)
def AddMouttype(builder, mouttype):
    return ArgMaxSuperAcmeQuantizedParamAddMouttype(builder, mouttype)
def ArgMaxSuperAcmeQuantizedParamAddMscale(builder, mscale): builder.PrependFloat32Slot(1, mscale, 0.0)
def AddMscale(builder, mscale):
    return ArgMaxSuperAcmeQuantizedParamAddMscale(builder, mscale)
def ArgMaxSuperAcmeQuantizedParamAddMzero(builder, mzero): builder.PrependInt32Slot(2, mzero, 0)
def AddMzero(builder, mzero):
    return ArgMaxSuperAcmeQuantizedParamAddMzero(builder, mzero)
def ArgMaxSuperAcmeQuantizedParamEnd(builder): return builder.EndObject()
def End(builder):
    return ArgMaxSuperAcmeQuantizedParamEnd(builder)