// Copyright (c) Meta Platforms, Inc. and affiliates.

//
// See README.md before modifying this file.
//

namespace executorch_flatbuffer;

// The scalar data type.
// Must match executorch/runtime/core/portable_type/tensor_impl.h
enum ScalarType : byte {
  BYTE = 0,
  CHAR = 1,
  SHORT = 2,
  INT = 3,
  LONG = 4,
  HALF = 5,
  FLOAT = 6,
  DOUBLE = 7,
  BOOL = 11,
  QINT8 = 12,
  QUINT8 = 13,
  QINT32 = 14,
  QUINT4X2 = 16,
  QUINT2X4 = 17,
  BITS16 = 22,
  FLOAT8E5M2 = 23,
  FLOAT8E4M3FN = 24,
  FLOAT8E5M2FNUZ = 25,
  FLOAT8E4M3FNUZ = 26,
  UINT16 = 27,
  UINT32 = 28,
  UINT64 = 29,
  // Types currently not implemented.
  // COMPLEXHALF = 8,
  // COMPLEXFLOAT = 9,
  // COMPLEXDOUBLE = 10,
  // BFLOAT16 = 15,
  // BITS1x8 = 18,
  // BITS2x4 = 19,
  // BITS4x2 = 20,
  // BITS8 = 21,
}
