Inductive componentTypeT : Set :=
  (** Signed 8-bit integer scalar. Size: 1 octet. *)
  | INTEGER_SIGNED_8
  (** Vector of two signed 8-bit integers. Size: 2 octets. *)
  | INTEGER_SIGNED_8_VEC2
  (** Vector of three signed 8-bit integers. Size: 3 octets. *)
  | INTEGER_SIGNED_8_VEC3
  (** Vector of four signed 8-bit integers. Size: 4 octets. *)
  | INTEGER_SIGNED_8_VEC4

  (** Unsigned 8-bit integer scalar. Size: 1 octet. *)
  | INTEGER_UNSIGNED_8
  (** Vector of two unsigned 8-bit integers. Size: 2 octets. *)
  | INTEGER_UNSIGNED_8_VEC2
  (** Vector of three unsigned 8-bit integers. Size: 3 octets. *)
  | INTEGER_UNSIGNED_8_VEC3
  (** Vector of four unsigned 8-bit integers. Size: 4 octets. *)
  | INTEGER_UNSIGNED_8_VEC4

  (** Signed 16-bit integer scalar. Size: 2 octets. *)
  | INTEGER_SIGNED_16
  (** Vector of two signed 16-bit integers. Size: 4 octets. *)
  | INTEGER_SIGNED_16_VEC2
  (** Vector of three signed 16-bit integers. Size: 6 octets. *)
  | INTEGER_SIGNED_16_VEC3
  (** Vector of four signed 16-bit integers. Size: 8 octets. *)
  | INTEGER_SIGNED_16_VEC4

  (** Unsigned 16-bit integer scalar. Size: 2 octets. *)
  | INTEGER_UNSIGNED_16
  (** Vector of two unsigned 16-bit integers. Size: 4 octets. *)
  | INTEGER_UNSIGNED_16_VEC2
  (** Vector of three unsigned 16-bit integers. Size: 6 octets. *)
  | INTEGER_UNSIGNED_16_VEC3
  (** Vector of four unsigned 16-bit integers. Size: 8 octets. *)
  | INTEGER_UNSIGNED_16_VEC4

  (** Signed 32-bit integer scalar. Size: 4 octets. *)
  | INTEGER_SIGNED_32
  (** Vector of two signed 32-bit integers. Size: 8 octets. *)
  | INTEGER_SIGNED_32_VEC2
  (** Vector of three signed 32-bit integers. Size: 12 octets. *)
  | INTEGER_SIGNED_32_VEC3
  (** Vector of four signed 32-bit integers. Size: 16 octets. *)
  | INTEGER_SIGNED_32_VEC4

  (** Unsigned 32-bit integer scalar. Size: 4 octets. *)
  | INTEGER_UNSIGNED_32
  (** Vector of two unsigned 32-bit integers. Size: 8 octets. *)
  | INTEGER_UNSIGNED_32_VEC2
  (** Vector of three unsigned 32-bit integers. Size: 12 octets. *)
  | INTEGER_UNSIGNED_32_VEC3
  (** Vector of four unsigned 32-bit integers. Size: 16 octets. *)
  | INTEGER_UNSIGNED_32_VEC4

  (** Signed 64-bit integer scalar. Size: 8 octets. *)
  | INTEGER_SIGNED_64
  (** Vector of two signed 64-bit integers. Size: 16 octets. *)
  | INTEGER_SIGNED_64_VEC2
  (** Vector of three signed 64-bit integers. Size: 24 octets. *)
  | INTEGER_SIGNED_64_VEC3
  (** Vector of four signed 64-bit integers. Size: 32 octets. *)
  | INTEGER_SIGNED_64_VEC4

  (** Unsigned 64-bit integer scalar. Size: 8 octets. *)
  | INTEGER_UNSIGNED_64
  (** Vector of two unsigned 64-bit integers. Size: 16 octets. *)
  | INTEGER_UNSIGNED_64_VEC2
  (** Vector of three unsigned 64-bit integers. Size: 24 octets. *)
  | INTEGER_UNSIGNED_64_VEC3
  (** Vector of four unsigned 64-bit integers. Size: 32 octets. *)
  | INTEGER_UNSIGNED_64_VEC4

  (** IEEE-754 half-precision floating point scalar. Size: 2 octets. *)
  | FLOAT_16
  (** Vector of two IEEE-754 half-precision floating point values. Size: 4 octets. *)
  | FLOAT_16_VEC2
  (** Vector of three IEEE-754 half-precision floating point values. Size: 6 octets. *)
  | FLOAT_16_VEC3
  (** Vector of four IEEE-754 half-precision floating point values. Size: 8 octets. *)
  | FLOAT_16_VEC4

  (** IEEE-754 single-precision floating point scalar. Size: 4 octets. *)
  | FLOAT_32
  (** Vector of two IEEE-754 single-precision floating point values. Size: 8 octets. *)
  | FLOAT_32_VEC2
  (** Vector of three IEEE-754 single-precision floating point values. Size: 12 octets. *)
  | FLOAT_32_VEC3
  (** Vector of four IEEE-754 single-precision floating point values. Size: 16 octets. *)
  | FLOAT_32_VEC4

  (** IEEE-754 double-precision floating point scalar. Size: 8 octets. *)
  | FLOAT_64
  (** Vector of two IEEE-754 double-precision floating point values. Size: 16 octets. *)
  | FLOAT_64_VEC2
  (** Vector of three IEEE-754 double-precision floating point values. Size: 24 octets. *)
  | FLOAT_64_VEC3
  (** Vector of four IEEE-754 double-precision floating point values. Size: 32 octets. *)
  | FLOAT_64_VEC4
  .
