From 864bcb49f63837901015d19a8217f3598816aed2 Mon Sep 17 00:00:00 2001 From: Ralf Gommers Date: Sun, 3 May 2026 20:26:10 +0200 Subject: [PATCH 1/2] Add kDLBComplex type to DLDataTypeCode --- include/dlpack/dlpack.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/dlpack/dlpack.h b/include/dlpack/dlpack.h index d497652..110fc3c 100644 --- a/include/dlpack/dlpack.h +++ b/include/dlpack/dlpack.h @@ -179,6 +179,10 @@ typedef enum { * while the consumer must stop importing if the value is unexpected. */ kDLFloat4_e2m1fn = 17U, + /*! \brief complex number (2x bfloat16) + * (C/C++/Python layout: same as kDLComplex, compact struct per complex number) + */ + kDLBComplex = 18U, } DLDataTypeCode; /*! @@ -191,6 +195,8 @@ typedef enum { * - float4(vectorized 4 float): type_code = 2, bits = 32, lanes = 4 * - int8: type_code = 0, bits = 8, lanes = 1 * - std::complex: type_code = 5, bits = 64, lanes = 1 + * - std::complex: type_code = 5, bits = 32, lanes = 1 + * - std::complex: type_code = 18, bits = 32, lanes = 1 * - bool: type_code = 6, bits = 8, lanes = 1 (as per common array library convention, the underlying storage size of bool is 8 bits) * - float8_e4m3: type_code = 8, bits = 8, lanes = 1 (packed in memory) * - float6_e3m2fn: type_code = 16, bits = 6, lanes = 1 (packed in memory) From 28170d8a2bf85186fa2a1736b475371364374d0f Mon Sep 17 00:00:00 2001 From: Ralf Gommers Date: Thu, 28 May 2026 11:32:02 +0200 Subject: [PATCH 2/2] Rename to kDLBcomplex (lowercase c) --- include/dlpack/dlpack.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/dlpack/dlpack.h b/include/dlpack/dlpack.h index 110fc3c..7365717 100644 --- a/include/dlpack/dlpack.h +++ b/include/dlpack/dlpack.h @@ -182,7 +182,7 @@ typedef enum { /*! \brief complex number (2x bfloat16) * (C/C++/Python layout: same as kDLComplex, compact struct per complex number) */ - kDLBComplex = 18U, + kDLBcomplex = 18U, } DLDataTypeCode; /*!