text: # automatically generated by the FlatBuffers compiler, do not modify
  
  # namespace: ppx
  
  import flatbuffers
  from flatbuffers.compat import import_numpy
  np = import_numpy()
  
  class Exponential(object):
      __slots__ = ['_tab']
  
      @classmethod
      def GetRootAsExponential(cls, buf, offset):
          n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
          x = Exponential()
          x.Init(buf, n + offset)
          return x
  
      @classmethod
      def ExponentialBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
          return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x50\x50\x58\x46", size_prefixed=size_prefixed)
  
      # Exponential
      def Init(self, buf, pos):
          self._tab = flatbuffers.table.Table(buf, pos)
  
      # Exponential
      def Rate(self):
          o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
          if o != 0:
              x = self._tab.Indirect(o + self._tab.Pos)
              from ppx.Tensor import Tensor
              obj = Tensor()
              obj.Init(self._tab.Bytes, x)
              return obj
          return None
  
  def ExponentialStart(builder): builder.StartObject(1)
  def ExponentialAddRate(builder, rate): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(rate), 0)
  def ExponentialEnd(builder): return builder.EndObject()
  