# QairtTensor

Note

Some methods in this module are not yet implemented in the current release
and will raise an exception if called. See the C API for full functionality.

**Include:** `#include "QairtCppApi/QairtTensor.hpp"`

C++ wrapper for the QAIRT tensor API.

Provides data-type, quantization-encoding, and tensor classes used
        to describe and transfer tensor data across QAIRT backends.
    Copy to clipboard

- namespace qairt

    - Enums

- enum class DataType : std::underlying\_type\_t&lt;[Qairt\_DataType\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv416Qairt_DataType_t)&gt;

    - Element data types supported for tensor data.

| Enumerator | Description |
| --- | --- |
| `Int2` | Signed 2-bit integer. |
| `Int4` | Signed 4-bit integer. |
| `Int8` | Signed 8-bit integer. |
| `Int16` | Signed 16-bit integer. |
| `Int32` | Signed 32-bit integer. |
| `Int64` | Signed 64-bit integer. |
| `UInt2` | Unsigned 2-bit integer. |
| `UInt4` | Unsigned 4-bit integer. |
| `UInt8` | Unsigned 8-bit integer. |
| `UInt16` | Unsigned 16-bit integer. |
| `UInt32` | Unsigned 32-bit integer. |
| `UInt64` | Unsigned 64-bit integer. |
| `Float4` | 4-bit floating-point. |
| `Float8` | 8-bit floating-point. |
| `Float16` | 16-bit floating-point (IEEE 754 half precision). |
| `BFloat16` | 16-bit brain floating-point (bfloat16). |
| `Float32` | 32-bit floating-point (IEEE 754 single). |
| `Float64` | 64-bit floating-point (IEEE 754 double). |
| `SFixedPoint2` | Signed 2-bit fixed-point. |
| `SFixedPoint4` | Signed 4-bit fixed-point. |
| `SFixedPoint8` | Signed 8-bit fixed-point. |
| `SFixedPoint16` | Signed 16-bit fixed-point. |
| `SFixedPoint32` | Signed 32-bit fixed-point. |
| `UFixedPoint2` | Unsigned 2-bit fixed-point. |
| `UFixedPoint4` | Unsigned 4-bit fixed-point. |
| `UFixedPoint8` | Unsigned 8-bit fixed-point. |
| `UFixedPoint16` | Unsigned 16-bit fixed-point. |
| `UFixedPoint32` | Unsigned 32-bit fixed-point. |
| `Bool8` | 8-bit boolean. |
| `String` | Variable-length string. |
| `Undefined` | Unspecified or unknown data type. |

*Values:*

- enumerator Int2 = [QAIRT\_DATATYPE\_INT\_2](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t20QAIRT_DATATYPE_INT_2E)

    - 

- enumerator Int4 = [QAIRT\_DATATYPE\_INT\_4](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t20QAIRT_DATATYPE_INT_4E)

    - 

- enumerator Int8 = [QAIRT\_DATATYPE\_INT\_8](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t20QAIRT_DATATYPE_INT_8E)

    - 

- enumerator Int16 = [QAIRT\_DATATYPE\_INT\_16](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t21QAIRT_DATATYPE_INT_16E)

    - 

- enumerator Int32 = [QAIRT\_DATATYPE\_INT\_32](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t21QAIRT_DATATYPE_INT_32E)

    - 

- enumerator Int64 = [QAIRT\_DATATYPE\_INT\_64](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t21QAIRT_DATATYPE_INT_64E)

    - 

- enumerator UInt2 = [QAIRT\_DATATYPE\_UINT\_2](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t21QAIRT_DATATYPE_UINT_2E)

    - 

- enumerator UInt4 = [QAIRT\_DATATYPE\_UINT\_4](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t21QAIRT_DATATYPE_UINT_4E)

    - 

- enumerator UInt8 = [QAIRT\_DATATYPE\_UINT\_8](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t21QAIRT_DATATYPE_UINT_8E)

    - 

- enumerator UInt16 = [QAIRT\_DATATYPE\_UINT\_16](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t22QAIRT_DATATYPE_UINT_16E)

    - 

- enumerator UInt32 = [QAIRT\_DATATYPE\_UINT\_32](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t22QAIRT_DATATYPE_UINT_32E)

    - 

- enumerator UInt64 = [QAIRT\_DATATYPE\_UINT\_64](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t22QAIRT_DATATYPE_UINT_64E)

    - 

- enumerator Float4 = [QAIRT\_DATATYPE\_FLOAT\_4](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t22QAIRT_DATATYPE_FLOAT_4E)

    - 

- enumerator Float8 = [QAIRT\_DATATYPE\_FLOAT\_8](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t22QAIRT_DATATYPE_FLOAT_8E)

    - 

- enumerator Float16 = [QAIRT\_DATATYPE\_FLOAT\_16](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t23QAIRT_DATATYPE_FLOAT_16E)

    - 

- enumerator BFloat16 = [QAIRT\_DATATYPE\_BFLOAT\_16](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t24QAIRT_DATATYPE_BFLOAT_16E)

    - 

- enumerator Float32 = [QAIRT\_DATATYPE\_FLOAT\_32](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t23QAIRT_DATATYPE_FLOAT_32E)

    - 

- enumerator Float64 = [QAIRT\_DATATYPE\_FLOAT\_64](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t23QAIRT_DATATYPE_FLOAT_64E)

    - 

- enumerator SFixedPoint2 = [QAIRT\_DATATYPE\_SFIXED\_POINT\_2](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t29QAIRT_DATATYPE_SFIXED_POINT_2E)

    - 

- enumerator SFixedPoint4 = [QAIRT\_DATATYPE\_SFIXED\_POINT\_4](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t29QAIRT_DATATYPE_SFIXED_POINT_4E)

    - 

- enumerator SFixedPoint8 = [QAIRT\_DATATYPE\_SFIXED\_POINT\_8](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t29QAIRT_DATATYPE_SFIXED_POINT_8E)

    - 

- enumerator SFixedPoint16 = [QAIRT\_DATATYPE\_SFIXED\_POINT\_16](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t30QAIRT_DATATYPE_SFIXED_POINT_16E)

    - 

- enumerator SFixedPoint32 = [QAIRT\_DATATYPE\_SFIXED\_POINT\_32](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t30QAIRT_DATATYPE_SFIXED_POINT_32E)

    - 

- enumerator UFixedPoint2 = [QAIRT\_DATATYPE\_UFIXED\_POINT\_2](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t29QAIRT_DATATYPE_UFIXED_POINT_2E)

    - 

- enumerator UFixedPoint4 = [QAIRT\_DATATYPE\_UFIXED\_POINT\_4](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t29QAIRT_DATATYPE_UFIXED_POINT_4E)

    - 

- enumerator UFixedPoint8 = [QAIRT\_DATATYPE\_UFIXED\_POINT\_8](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t29QAIRT_DATATYPE_UFIXED_POINT_8E)

    - 

- enumerator UFixedPoint16 = [QAIRT\_DATATYPE\_UFIXED\_POINT\_16](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t30QAIRT_DATATYPE_UFIXED_POINT_16E)

    - 

- enumerator UFixedPoint32 = [QAIRT\_DATATYPE\_UFIXED\_POINT\_32](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t30QAIRT_DATATYPE_UFIXED_POINT_32E)

    - 

- enumerator Bool8 = [QAIRT\_DATATYPE\_BOOL\_8](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t21QAIRT_DATATYPE_BOOL_8E)

    - 

- enumerator String = [QAIRT\_DATATYPE\_STRING](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t21QAIRT_DATATYPE_STRINGE)

    - 

- enumerator Undefined = [QAIRT\_DATATYPE\_UNDEFINED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtCommon.html#_CPPv4N16Qairt_DataType_t24QAIRT_DATATYPE_UNDEFINEDE)

    -

- enum class QuantizationEncoding : std::underlying\_type\_t&lt;[Qairt\_QuantizationEncoding\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv428Qairt_QuantizationEncoding_t)&gt;

    - Quantization encoding types for tensor data.

| Enumerator | Description |
| --- | --- |
| `ScaleOffset` | Per-tensor scale-offset encoding. |
| `AxisScaleOffset` | Per-axis (e.g., per-channel) scale-offset encoding. |
| `BwScaleOffset` | Bit-width scale-offset encoding. |
| `BwAxisScaleOffset` | Bit-width per-axis scale-offset encoding. |
| `Block` | Per-block scale-offset encoding. |
| `BlockwiseExpansion` | Blockwise expansion encoding. |
| `Vector` | Vector quantization (VQ) compression encoding. |
| `BwAxisScaleOffsetMapped` | Bit-width per-axis scale-offset encoding with mapping. |
| `BwBlockMapped` | Bit-width per-block scale-offset encoding with mapping. |
| `BwBlockwiseExpansionMapped` | Bit-width blockwise expansion encoding with mapping. |
| `FloatBlock` | Per-block float scale-offset encoding. |
| `BwFloatBlock` | Bit-width per-block float scale-offset encoding. |
| `Microscaling` | [Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Microscaling) (MX) encoding. |
| `Undefined` | Unused sentinel; present to ensure a 32-bit enum storage. |

*Values:*

- enumerator ScaleOffset = [QAIRT\_QUANTIZATION\_ENCODING\_SCALE\_OFFSET](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t40QAIRT_QUANTIZATION_ENCODING_SCALE_OFFSETE)

    - 

- enumerator AxisScaleOffset = [QAIRT\_QUANTIZATION\_ENCODING\_AXIS\_SCALE\_OFFSET](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t45QAIRT_QUANTIZATION_ENCODING_AXIS_SCALE_OFFSETE)

    - 

- enumerator BwScaleOffset = [QAIRT\_QUANTIZATION\_ENCODING\_BW\_SCALE\_OFFSET](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t43QAIRT_QUANTIZATION_ENCODING_BW_SCALE_OFFSETE)

    - 

- enumerator BwAxisScaleOffset = [QAIRT\_QUANTIZATION\_ENCODING\_BW\_AXIS\_SCALE\_OFFSET](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t48QAIRT_QUANTIZATION_ENCODING_BW_AXIS_SCALE_OFFSETE)

    - 

- enumerator Block = [QAIRT\_QUANTIZATION\_ENCODING\_BLOCK](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t33QAIRT_QUANTIZATION_ENCODING_BLOCKE)

    - 

- enumerator BlockwiseExpansion = [QAIRT\_QUANTIZATION\_ENCODING\_BLOCKWISE\_EXPANSION](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t47QAIRT_QUANTIZATION_ENCODING_BLOCKWISE_EXPANSIONE)

    - 

- enumerator Vector = [QAIRT\_QUANTIZATION\_ENCODING\_VECTOR](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t34QAIRT_QUANTIZATION_ENCODING_VECTORE)

    - 

- enumerator BwAxisScaleOffsetMapped = [QAIRT\_QUANTIZATION\_ENCODING\_BW\_AXIS\_SCALE\_OFFSET\_MAPPED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t55QAIRT_QUANTIZATION_ENCODING_BW_AXIS_SCALE_OFFSET_MAPPEDE)

    - 

- enumerator BwBlockMapped = [QAIRT\_QUANTIZATION\_ENCODING\_BW\_BLOCK\_MAPPED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t43QAIRT_QUANTIZATION_ENCODING_BW_BLOCK_MAPPEDE)

    - 

- enumerator BwBlockwiseExpansionMapped = [QAIRT\_QUANTIZATION\_ENCODING\_BW\_BLOCKWISE\_EXPANSION\_MAPPED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t57QAIRT_QUANTIZATION_ENCODING_BW_BLOCKWISE_EXPANSION_MAPPEDE)

    - 

- enumerator FloatBlock = [QAIRT\_QUANTIZATION\_ENCODING\_FLOAT\_BLOCK](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t39QAIRT_QUANTIZATION_ENCODING_FLOAT_BLOCKE)

    - 

- enumerator BwFloatBlock = [QAIRT\_QUANTIZATION\_ENCODING\_BW\_FLOAT\_BLOCK](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t42QAIRT_QUANTIZATION_ENCODING_BW_FLOAT_BLOCKE)

    - 

- enumerator Microscaling = [QAIRT\_QUANTIZATION\_ENCODING\_MICROSCALING](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t40QAIRT_QUANTIZATION_ENCODING_MICROSCALINGE)

    - 

- enumerator Undefined = [QAIRT\_QUANTIZATION\_ENCODING\_UNDEFINED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N28Qairt_QuantizationEncoding_t37QAIRT_QUANTIZATION_ENCODING_UNDEFINEDE)

    -

- enum class QuantizationEncodingMapping : std::underlying\_type\_t&lt;[Qairt\_QuantizationEncodingMapping\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv435Qairt_QuantizationEncodingMapping_t)&gt;

    - Quantized value mapping schemes for scale-offset encodings.

| Enumerator | Description |
| --- | --- |
| `StandardSymmetric` | Standard symmetric two’s complement mapping. |
| `AsymmetricPlusOne` | Two’s complement mapping with a positive shift of one. |
| `LinearSymmetricExcludeZero` | Linear mapping symmetric about zero, excluding zero from the range. |
| `Undefined` | Unused sentinel; present to ensure a 32-bit enum storage. |

*Values:*

- enumerator StandardSymmetric = [QAIRT\_QUANTIZATION\_ENCODING\_MAPPING\_STANDARD\_SYMMETRIC](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N35Qairt_QuantizationEncodingMapping_t54QAIRT_QUANTIZATION_ENCODING_MAPPING_STANDARD_SYMMETRICE)

    - 

- enumerator AsymmetricPlusOne = [QAIRT\_QUANTIZATION\_ENCODING\_MAPPING\_ASYMMETRIC\_PLUS\_ONE](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N35Qairt_QuantizationEncodingMapping_t55QAIRT_QUANTIZATION_ENCODING_MAPPING_ASYMMETRIC_PLUS_ONEE)

    - 

- enumerator LinearSymmetricExcludeZero = [QAIRT\_QUANTIZATION\_ENCODING\_MAPPING\_LINEAR\_SYMMETRIC\_EXCLUDE\_ZERO](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N35Qairt_QuantizationEncodingMapping_t65QAIRT_QUANTIZATION_ENCODING_MAPPING_LINEAR_SYMMETRIC_EXCLUDE_ZEROE)

    - 

- enumerator Undefined = [QAIRT\_QUANTIZATION\_ENCODING\_MAPPING\_UNDEFINED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N35Qairt_QuantizationEncodingMapping_t45QAIRT_QUANTIZATION_ENCODING_MAPPING_UNDEFINEDE)

    -

- enum class FloatEncoding : std::underlying\_type\_t&lt;[Qairt\_FloatEncoding\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv421Qairt_FloatEncoding_t)&gt;

    - Floating-point sub-format encodings used in [Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Microscaling) (MX) quantization.

| Enumerator | Description |
| --- | --- |
| `MXFP8_E5M2` | MXFP8 format with 5 exponent bits and 2 mantissa bits; compatible with Float8. |
| `MXFP8_E4M3` | MXFP8 format with 4 exponent bits and 3 mantissa bits; compatible with Float8. |
| `MXFP6_E3M2` | MXFP6 format with 3 exponent bits and 2 mantissa bits. |
| `MXFP6_E2M3` | MXFP6 format with 2 exponent bits and 3 mantissa bits. |
| `MXFP4_E2M1` | MXFP4 format with 2 exponent bits and 1 mantissa bit. |
| `Undefined` | Unused sentinel; present to ensure a 32-bit enum storage. |

*Values:*

- enumerator MXFP8\_E5M2 = [QAIRT\_FLOAT\_ENCODING\_MXFP8\_E5M2](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N21Qairt_FloatEncoding_t31QAIRT_FLOAT_ENCODING_MXFP8_E5M2E)

    - 

- enumerator MXFP8\_E4M3 = [QAIRT\_FLOAT\_ENCODING\_MXFP8\_E4M3](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N21Qairt_FloatEncoding_t31QAIRT_FLOAT_ENCODING_MXFP8_E4M3E)

    - 

- enumerator MXFP6\_E3M2 = [QAIRT\_FLOAT\_ENCODING\_MXFP6\_E3M2](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N21Qairt_FloatEncoding_t31QAIRT_FLOAT_ENCODING_MXFP6_E3M2E)

    - 

- enumerator MXFP6\_E2M3 = [QAIRT\_FLOAT\_ENCODING\_MXFP6\_E2M3](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N21Qairt_FloatEncoding_t31QAIRT_FLOAT_ENCODING_MXFP6_E2M3E)

    - 

- enumerator MXFP4\_E2M1 = [QAIRT\_FLOAT\_ENCODING\_MXFP4\_E2M1](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N21Qairt_FloatEncoding_t31QAIRT_FLOAT_ENCODING_MXFP4_E2M1E)

    - 

- enumerator Undefined = [QAIRT\_FLOAT\_ENCODING\_UNDEFINED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N21Qairt_FloatEncoding_t30QAIRT_FLOAT_ENCODING_UNDEFINEDE)

    -

- enum class TensorMemType : std::underlying\_type\_t&lt;[QairtTensor\_MemoryType\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv424QairtTensor_MemoryType_t)&gt;

    - Memory access strategies for tensor data.

| Enumerator | Description |
| --- | --- |
| `Raw` | Raw memory pointer provided directly by the client. |
| `MemHandle` | Shared memory object handle enabling memory sharing across backends. |
| `RetrieveRaw` | Callback-based retrieval; the backend calls client-supplied callbacks to fetch raw data. |
| `Undefined` | Unused sentinel; present to ensure a 32-bit enum storage. |

*Values:*

- enumerator Raw = [QAIRT\_TENSORMEMTYPE\_RAW](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N24QairtTensor_MemoryType_t23QAIRT_TENSORMEMTYPE_RAWE)

    - 

- enumerator MemHandle = [QAIRT\_TENSORMEMTYPE\_MEMHANDLE](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N24QairtTensor_MemoryType_t29QAIRT_TENSORMEMTYPE_MEMHANDLEE)

    - 

- enumerator RetrieveRaw = [QAIRT\_TENSORMEMTYPE\_RETRIEVE\_RAW](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N24QairtTensor_MemoryType_t32QAIRT_TENSORMEMTYPE_RETRIEVE_RAWE)

    - 

- enumerator Undefined = [QAIRT\_TENSORMEMTYPE\_UNDEFINED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv4N24QairtTensor_MemoryType_t29QAIRT_TENSORMEMTYPE_UNDEFINEDE)

    -

- enum class BlockwiseExpansionBlockScaleStorageType : std::underlying\_type\_t&lt;[Qairt\_BlockwiseExpansionBlockScaleStorageType\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv447Qairt_BlockwiseExpansionBlockScaleStorageType_t)&gt;

    - Storage bit-widths for block scales in blockwise expansion quantization.

| Enumerator | Description |
| --- | --- |
| `Storage8` | Block scales stored as 8-bit values. |
| `Storage16` | Block scales stored as 16-bit values. |
| `Undefined` | Unused sentinel; present to ensure a 32-bit enum storage. |

*Values:*

- enumerator Storage8 = [QAIRT\_BLOCKWISE\_EXPANSION\_BITWIDTH\_SCALE\_STORAGE\_8](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N47Qairt_BlockwiseExpansionBlockScaleStorageType_t50QAIRT_BLOCKWISE_EXPANSION_BITWIDTH_SCALE_STORAGE_8E)

    - 

- enumerator Storage16 = [QAIRT\_BLOCKWISE\_EXPANSION\_BITWIDTH\_SCALE\_STORAGE\_16](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N47Qairt_BlockwiseExpansionBlockScaleStorageType_t51QAIRT_BLOCKWISE_EXPANSION_BITWIDTH_SCALE_STORAGE_16E)

    - 

- enumerator Undefined = [QAIRT\_BLOCKWISE\_EXPANSION\_BITWIDTH\_SCALE\_STORAGE\_UNDEFINED](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv4N47Qairt_BlockwiseExpansionBlockScaleStorageType_t58QAIRT_BLOCKWISE_EXPANSION_BITWIDTH_SCALE_STORAGE_UNDEFINEDE)

    -

- class AxisScaleOffset : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffsetE), [QairtQuantizeParams\_AxisScaleOffsetV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv439QairtQuantizeParams_AxisScaleOffsetV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Per-axis (e.g., per-channel) collection of scale-offset pairs for axis scale-offset quantization.

Construct directly: AxisScaleOffset(). Set the quantization axis via [setAxis()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1AxisScaleOffset_1a7fe398a1a195a93b4a2891cb6ba444ff) and supply one [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1ScaleOffset) per axis element via [setScaleOffsets()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1AxisScaleOffset_1a59c875f824c84f3d28c05b72d1c6d597). Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setAxisScaleOffsetEncoding().

Public Functions

- inline ~AxisScaleOffset()

    - 

- AxisScaleOffset() noexcept = default

    - 

- inline AxisScaleOffset([AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffset15AxisScaleOffsetERR15AxisScaleOffset) &&other) noexcept

    - 

- inline [AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffsetE) &operator=([AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffsetE) &&other) noexcept

    - 

- inline AxisScaleOffset(const [AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffset15AxisScaleOffsetERK15AxisScaleOffset) &other)

    - 

- inline [AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffsetE) &operator=(const [AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffsetE) &other)

    - 

- inline [AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffsetE) shallowCopy() const

    - 

- inline int32\_t getAxis() const

    - See also

[QairtQuantizeParams\_AxisScaleOffset\_getAxis](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1aeae9aec091a2a57de6a9f5486dbff714)

- inline void setAxis(int32\_t axis) const

    - See also

[QairtQuantizeParams\_AxisScaleOffset\_setAxis](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1afdb67f150977040e56528707247200db)

- inline std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &getScaleOffsets()

    - Get the per-axis scale-offset pairs for this encoding.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- Returns

    - Reference to the vector of [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1ScaleOffset) objects, one per axis element.

- inline const std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &getScaleOffsets() const

    - Wrapper which allows for const access to the per-axis scale-offset pairs.

See also

[AxisScaleOffset::getScaleOffsets()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1AxisScaleOffset_1ae28ce29f4bf8fc0d5a5029c3bb0306cf)

- inline void setScaleOffsets(const std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &scaleOffsets)

    - Set the per-axis scale-offset pairs for this encoding.

- Parameters

    - **scaleOffsets** – **[in]** Scale-offset pairs, one per element along the quantization axis.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt15AxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt15AxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt15AxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt15AxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffset7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffset7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffset7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt15AxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt15AxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt15AxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt15AxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit AxisScaleOffset(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt;&gt;, &interface\_type::getScaleOffsetAt, &interface\_type::getNumScaleOffsets, &interface\_type::setScaleOffsets&gt; m\_scaleOffsets

    - Per-axis scale-offset pairs indexed along the quantization axis.

Friends

- *friend class* Api

- class BlockEncoding : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncodingE), [QairtQuantizeParams\_BlockEncodingV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv437QairtQuantizeParams_BlockEncodingV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Block sizes and per-block scale-offset pairs for per-block scale-offset quantization.

Construct directly: [BlockEncoding(const std::vector&lt;uint32\_t&gt;& blockSize,const std::vector&lt;ScaleOffset&gt;& scaleOffsets)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BlockEncoding_1aec3c5ec998a7572718be07ffe51e20ed). Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setBlockEncoding().

Public Functions

- inline ~BlockEncoding()

    - 

- BlockEncoding() noexcept = default

    - 

- inline BlockEncoding([BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncoding13BlockEncodingERR13BlockEncoding) &&other) noexcept

    - 

- inline [BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncodingE) &operator=([BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncodingE) &&other) noexcept

    - 

- inline BlockEncoding(const [BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncoding13BlockEncodingERK13BlockEncoding) &other)

    - 

- inline [BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncodingE) &operator=(const [BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncodingE) &other)

    - 

- inline [BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncodingE) shallowCopy() const

    - 

- inline BlockEncoding(const std::vector&lt;uint32\_t&gt; &blockSize, const std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &scaleOffsets)

    - Construct a block encoding with the given block sizes and per-block scale-offset pairs.

- Parameters

    - - **blockSize** – **[in]** Block sizes, one per quantization dimension.
- **scaleOffsets** – **[in]** Scale-offset pairs, one per quantization block.

- inline std::vector&lt;uint32\_t&gt; getBlockSizes() const

    - Get the block sizes along each quantization dimension.

- Returns

    - Vector of block sizes.

- inline void setBlockSizes(const std::vector&lt;uint32\_t&gt; &blockSizes) const

    - Set the block sizes along each quantization dimension.

- Parameters

    - **blockSizes** – **[in]** Block sizes, one per quantization dimension.

- inline void setBlockSizes(std::vector&lt;uint32\_t&gt; &&blockSizes) const

    - See also

BlockEncoding::setBlockSizes(const std::vector&lt;uint32\_t&gt;&)

- inline std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &getScaleOffsets()

    - Get the per-block scale-offset pairs for this encoding.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- Returns

    - Reference to the vector of [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1ScaleOffset) objects, one per quantization block.

- inline const std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &getScaleOffsets() const

    - Wrapper which allows for const access to the per-block scale-offset pairs.

See also

[BlockEncoding::getScaleOffsets()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BlockEncoding_1a0faf9598d7b637a5a79cf6e57a792ce0)

- inline void setScaleOffsets(std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; scaleOffsets)

    - Set the per-block scale-offset pairs for this encoding.

- Parameters

    - **scaleOffsets** – **[in]** Scale-offset pairs, one per quantization block.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncoding7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncoding7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncoding7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit BlockEncoding(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- friend Api

    - 

- mutable std::vector&lt;uint32\_t&gt; m\_blockSize

    - Block sizes along each quantization dimension.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt;&gt;, &interface\_type::getScaleOffsetAt, &interface\_type::getNumScaleOffsets, &interface\_type::setScaleOffsets&gt; m\_scaleOffsets

    - Scale-offset pairs for each quantization block.

- class BlockwiseExpansion : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansionE), [QairtQuantizeParams\_BlockwiseExpansionV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv442QairtQuantizeParams_BlockwiseExpansionV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Per-axis blockwise expansion quantization parameters, including axis, per-block scale-offset pairs, and block scale data.

Construct directly: BlockwiseExpansion(int32\_t axis,

const std::vector&lt;ScaleOffset&gt;& scaleOffsets, uint32\_t numBlocksPerAxis,

uint32\_t blockScaleBitwidth). Supply block scale data as either 8-bit values via setBlocksScale8() or 16-bit values via setBlocksScale16() — these are mutually exclusive. Attach to a

[QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setBlockwiseExpansion().

Note

Setting 8-bit block scales clears any 16-bit block scales and vice versa.

Public Functions

- inline ~BlockwiseExpansion()

    - 

- BlockwiseExpansion() noexcept = default

    - 

- inline BlockwiseExpansion([BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansion18BlockwiseExpansionERR18BlockwiseExpansion) &&other) noexcept

    - 

- inline [BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansionE) &operator=([BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansionE) &&other) noexcept

    - 

- inline BlockwiseExpansion(const [BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansion18BlockwiseExpansionERK18BlockwiseExpansion) &other)

    - 

- inline [BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansionE) &operator=(const [BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansionE) &other)

    - 

- inline [BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansionE) shallowCopy() const

    - 

- inline BlockwiseExpansion(int32\_t axis, const std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &ScaleOffsets, uint32\_t numBlocksPerAxis, uint32\_t blockScaleBitwidth)

    - 

- inline int32\_t getAxis() const

    - 

- inline void setAxis(int32\_t axis) const

    - 

- inline uint32\_t getNumBlocksPerAxis() const

    - 

- inline void setNumBlocksPerAxis(uint32\_t setNumBlocks) const

    - 

- inline uint32\_t getBlockScaleBitwidth() const

    - 

- inline void setBlockScaleBitwidth(uint32\_t setBlockScaleBw) const

    - 

- inline std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &getScaleOffsets()

    - 

- inline const std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &getScaleOffsets() const

    - 

- inline void setScaleOffsets(const std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &scaleOffsets)

    - 

- inline [BlockwiseExpansionBlockScaleStorageType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt39BlockwiseExpansionBlockScaleStorageTypeE) getStorageType() const

    - 

- inline const std::vector&lt;uint8\_t&gt; &getBlocksScale8() const

    - 

- inline const std::vector&lt;uint16\_t&gt; &getBlocksScale16() const

    - 

- inline void setBlocksScale8(const std::vector&lt;uint8\_t&gt; &blocksScale8)

    - 

- inline void setBlocksScale16(const std::vector&lt;uint16\_t&gt; &blocksScale16)

    - 

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18BlockwiseExpansion7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18BlockwiseExpansion7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18BlockwiseExpansion7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18BlockwiseExpansion7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansion7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansion7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansion7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18BlockwiseExpansion7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18BlockwiseExpansion7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18BlockwiseExpansion7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18BlockwiseExpansion7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit BlockwiseExpansion(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- friend Api

    - 

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt;&gt;, &interface\_type::getScaleOffsetAt, &interface\_type::getNumScaleOffsets, &interface\_type::setScaleOffsets&gt; m\_scaleOffsets

    - Scale-offset pairs for each quantization block in the expansion encoding.

- mutable std::vector&lt;uint8\_t&gt; m\_blocksScale8

    - Block scale values stored as 8-bit data; mutually exclusive with m\_blocksScale16.

- mutable std::vector&lt;uint16\_t&gt; m\_blocksScale16

    - Block scale values stored as 16-bit data; mutually exclusive with m\_blocksScale8.

- class BwAxisScaleOffset : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE), [QairtQuantizeParams\_BwAxisScaleOffsetV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv441QairtQuantizeParams_BwAxisScaleOffsetV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Bit-width and per-axis float scales and integer offsets for bit-width per-axis scale-offset quantization.

Construct directly: [BwAxisScaleOffset(uint32\_t bitwidth, int32\_t axis,const std::vector&lt;float&gt;& scales, const std::vector&lt;int32\_t&gt;& offsets)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwAxisScaleOffset_1aa354a6b1a0115a3711a42dd5cd293943). Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setBwAxisScaleOffsetEncoding(), or supply as the codebook descriptor for [VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1VectorEncoding).

Public Functions

- inline ~BwAxisScaleOffset()

    - 

- BwAxisScaleOffset() noexcept = default

    - 

- inline BwAxisScaleOffset([BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffset17BwAxisScaleOffsetERR17BwAxisScaleOffset) &&other) noexcept

    - 

- inline [BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE) &operator=([BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE) &&other) noexcept

    - 

- inline BwAxisScaleOffset(const [BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffset17BwAxisScaleOffsetERK17BwAxisScaleOffset) &other)

    - 

- inline [BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE) &operator=(const [BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE) &other)

    - 

- inline [BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE) shallowCopy() const

    - 

- inline BwAxisScaleOffset(uint32\_t bitwidth, int32\_t axis, const std::vector&lt;float&gt; &scales, const std::vector&lt;int32\_t&gt; &offsets)

    - Construct a bit-width per-axis scale-offset encoding with the given parameters.

- Parameters

    - - **bitwidth** – **[in]** Storage bit-width of the quantized values.
- **axis** – **[in]** Quantization axis index.
- **scales** – **[in]** Per-axis scale values, one per element along the quantization axis.
- **offsets** – **[in]** Per-axis integer zero-point offsets, one per axis element.

- inline uint32\_t getBitwidth() const

    - See also

[QairtQuantizeParams\_BwAxisScaleOffset\_getBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1ac9bc5268e847b30fc98c1d332188f305)

- inline void setBitwidth(uint32\_t bitwidth) const

    - See also

[QairtQuantizeParams\_BwAxisScaleOffset\_setBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a1f5ff71e5181cd348d8534c45808d602)

- inline int32\_t getAxis() const

    - See also

[QairtQuantizeParams\_BwAxisScaleOffset\_getAxis](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a4ccb32d449e8e2c61251138e2d8f6480)

- inline void setAxis(int32\_t axis) const

    - See also

[QairtQuantizeParams\_BwAxisScaleOffset\_setAxis](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a290b3b474c8f865c1810cf662a783f4e)

- inline const std::vector&lt;float&gt; &getScales() const

    - Get the per-axis scale values.

- Returns

    - Reference to the vector of scale values, one per element along the quantization axis.

- inline void setScales(const std::vector&lt;float&gt; &scales)

    - Set the per-axis scale values.

- Parameters

    - **scales** – **[in]** Scale values, one per element along the quantization axis.

- inline void setScales(std::vector&lt;float&gt; &&scales)

    - See also

[BwAxisScaleOffset::setScales(const std::vector&lt;float&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwAxisScaleOffset_1ad1a145f9458e66a1d4b0ee67c84578d4)

- inline const std::vector&lt;int32\_t&gt; &getOffsets() const

    - Get the per-axis integer offset values.

- Returns

    - Reference to the vector of offset values, one per element along the quantization axis.

- inline void setOffsets(const std::vector&lt;int32\_t&gt; &offsets)

    - Set the per-axis integer offset values.

- Parameters

    - **offsets** – **[in]** Integer zero-point offsets, one per element along the quantization axis.

- inline void setOffsets(std::vector&lt;int32\_t&gt; &&offsets)

    - See also

[BwAxisScaleOffset::setOffsets(const std::vector&lt;int32\_t&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwAxisScaleOffset_1af82ea9c590f4b9233d6254e5a76fc2b5)

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt17BwAxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt17BwAxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt17BwAxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt17BwAxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffset7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffset7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffset7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt17BwAxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt17BwAxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt17BwAxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt17BwAxisScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit BwAxisScaleOffset(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- friend Api

    - 

- mutable std::vector&lt;float&gt; m\_scales

    - Per-axis scale values, one per element along the quantization axis.

- mutable std::vector&lt;int32\_t&gt; m\_offsets

    - Per-axis offset values, one per element along the quantization axis.

- class BwAxisScaleOffsetMapped : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMappedE), [QairtQuantizeParams\_BwAxisScaleOffsetMappedV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv447QairtQuantizeParams_BwAxisScaleOffsetMappedV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Bit-width, per-axis scales and offsets, and a quantization mapping for bit-width per-axis scale-offset mapped quantization.

Construct directly: BwAxisScaleOffsetMapped(). Supply scales via [setScales()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwAxisScaleOffsetMapped_1a686e3b4d2682aa196e5db68447a63766), offsets via [setOffsets()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwAxisScaleOffsetMapped_1a6c15cf4806fc7267ed93813c20fd0324), and a mapping scheme via [setMapping()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwAxisScaleOffsetMapped_1ac77002c32fe813f459c52d1dc3db85fe). Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setBwAxisScaleOffsetMappedEncoding().

Public Functions

- inline ~BwAxisScaleOffsetMapped()

    - 

- BwAxisScaleOffsetMapped() noexcept = default

    - 

- inline BwAxisScaleOffsetMapped([BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMapped23BwAxisScaleOffsetMappedERR23BwAxisScaleOffsetMapped) &&other) noexcept

    - 

- inline [BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMappedE) &operator=([BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMappedE) &&other) noexcept

    - 

- inline BwAxisScaleOffsetMapped(const [BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMapped23BwAxisScaleOffsetMappedERK23BwAxisScaleOffsetMapped) &other)

    - 

- inline [BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMappedE) &operator=(const [BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMappedE) &other)

    - 

- inline [BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMappedE) shallowCopy() const

    - 

- inline uint32\_t getBitwidth() const

    - See also

[QairtQuantizeParams\_BwAxisScaleOffsetMapped\_getBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a952bb59d0f12932efab74dc5fecc715b)

- inline void setBitwidth(uint32\_t bitwidth) const

    - See also

[QairtQuantizeParams\_BwAxisScaleOffsetMapped\_setBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a693652c670560afbf1e7abc04c623f0f)

- inline int32\_t getAxis() const

    - See also

[QairtQuantizeParams\_BwAxisScaleOffsetMapped\_getAxis](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a3abe74f7c3308d725f5408eac52d6ee8)

- inline void setAxis(int32\_t axis) const

    - See also

[QairtQuantizeParams\_BwAxisScaleOffsetMapped\_setAxis](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a14d64383e368b0bfc4c09b2a803c9374)

- inline [QuantizationEncodingMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt27QuantizationEncodingMappingE) getMapping() const

    - See also

[QairtQuantizeParams\_BwAxisScaleOffsetMapped\_getMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a517b1c6ceb14afbdd0fe67cde5a606ee)

- inline void setMapping([QuantizationEncodingMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt27QuantizationEncodingMappingE) mapping) const

    - See also

[QairtQuantizeParams\_BwAxisScaleOffsetMapped\_setMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a524232014591ddffb9f792cc3bee7f62)

- inline const std::vector&lt;float&gt; &getScales() const

    - Get the per-axis scale values for this encoding.

- Returns

    - Reference to the vector of scale values, one per element along the quantization axis.

- inline void setScales(const std::vector&lt;float&gt; &scales)

    - Set the per-axis scale values for this encoding.

- Parameters

    - **scales** – **[in]** Scale values, one per element along the quantization axis.

- inline void setScales(std::vector&lt;float&gt; &&scales)

    - See also

[BwAxisScaleOffsetMapped::setScales(const std::vector&lt;float&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwAxisScaleOffsetMapped_1a686e3b4d2682aa196e5db68447a63766)

- inline const std::vector&lt;int32\_t&gt; &getOffsets() const

    - Get the per-axis offset values for this encoding.

- Returns

    - Reference to the vector of offset values, one per element along the quantization axis.

- inline void setOffsets(const std::vector&lt;int32\_t&gt; &offsets)

    - Set the per-axis offset values for this encoding.

- Parameters

    - **offsets** – **[in]** Integer zero-point offsets, one per element along the quantization axis.

- inline void setOffsets(std::vector&lt;int32\_t&gt; &&offsets)

    - See also

[BwAxisScaleOffsetMapped::setOffsets(const std::vector&lt;int32\_t&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwAxisScaleOffsetMapped_1a6c15cf4806fc7267ed93813c20fd0324)

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt23BwAxisScaleOffsetMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt23BwAxisScaleOffsetMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt23BwAxisScaleOffsetMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt23BwAxisScaleOffsetMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMapped7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMapped7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMapped7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt23BwAxisScaleOffsetMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt23BwAxisScaleOffsetMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt23BwAxisScaleOffsetMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt23BwAxisScaleOffsetMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit BwAxisScaleOffsetMapped(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- friend Api

    - 

- mutable std::vector&lt;float&gt; m\_scales

    - Per-axis scale values for the mapped encoding, one per quantization axis element.

- mutable std::vector&lt;int32\_t&gt; m\_offsets

    - Per-axis offset values for the mapped encoding, one per quantization axis element.

- class BwBlockMapped : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[BwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMappedE), [QairtQuantizeParams\_BwBlockMappedV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv437QairtQuantizeParams_BwBlockMappedV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Bit-width, block sizes, a quantization mapping, and per-block scale-offset pairs for bit-width per-block mapped quantization.

Construct directly: BwBlockMapped(). Supply block sizes via [setBlockSizes()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwBlockMapped_1afe65900a77c49b34ed68fea2e4182149), a mapping scheme via [setMapping()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwBlockMapped_1aea67c45fd8c3c8c99bbf2e04e507a1d6), and per-block [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1ScaleOffset) values via [setScaleOffsets()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwBlockMapped_1a7cb968bc2b00872bdd5effbbdc0a011d). Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setBwBlockMapped().

Public Functions

- inline ~BwBlockMapped()

    - 

- BwBlockMapped() noexcept = default

    - 

- inline BwBlockMapped([BwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMapped13BwBlockMappedERR13BwBlockMapped) &&other) noexcept

    - 

- inline [BwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMappedE) &operator=([BwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMappedE) &&other) noexcept

    - 

- inline BwBlockMapped(const [BwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMapped13BwBlockMappedERK13BwBlockMapped) &other)

    - 

- inline [BwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMappedE) &operator=(const [BwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMappedE) &other)

    - 

- inline [BwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMappedE) shallowCopy() const

    - 

- inline uint32\_t getBitwidth() const

    - See also

[QairtQuantizeParams\_BwBlockMapped\_getBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a62e199df62f93d062a9541e8c405ed55)

- inline void setBitwidth(uint32\_t bitwidth) const

    - See also

[QairtQuantizeParams\_BwBlockMapped\_setBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1ada0d614b318a1a75f257469a25ad9417)

- inline [QuantizationEncodingMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt27QuantizationEncodingMappingE) getMapping() const

    - See also

[QairtQuantizeParams\_BwBlockMapped\_getMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a2e947f56d300dd6319b5ebb7089a84c4)

- inline void setMapping([QuantizationEncodingMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt27QuantizationEncodingMappingE) mapping) const

    - See also

[QairtQuantizeParams\_BwBlockMapped\_setMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a63ef97ca9e64d077d4c01db03f532bf3)

- inline const std::vector&lt;uint32\_t&gt; &getBlockSizes() const

    - Get the block sizes along each quantization dimension.

- Returns

    - Reference to the vector of block sizes.

- inline void setBlockSizes(const std::vector&lt;uint32\_t&gt; &blockSizes)

    - Set the block sizes along each quantization dimension.

- Parameters

    - **blockSizes** – **[in]** Block sizes, one per quantization dimension.

- inline void setBlockSizes(std::vector&lt;uint32\_t&gt; &&blockSizes)

    - See also

[BwBlockMapped::setBlockSizes(const std::vector&lt;uint32\_t&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwBlockMapped_1afe65900a77c49b34ed68fea2e4182149)

- inline void setBlockSize(std::vector&lt;uint32\_t&gt; blockSizes)

    - See also

[BwBlockMapped::setBlockSizes(const std::vector&lt;uint32\_t&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwBlockMapped_1afe65900a77c49b34ed68fea2e4182149)

- inline std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &getScaleOffsets()

    - Get the per-block scale-offset pairs for this encoding.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- Returns

    - Reference to the vector of [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1ScaleOffset) objects, one per quantization block.

- inline const std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &getScaleOffsets() const

    - Wrapper which allows for const access to the per-block scale-offset pairs.

See also

[BwBlockMapped::getScaleOffsets()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwBlockMapped_1a9c85e8a3fc73b97a8877a2a5e16566b2)

- inline void setScaleOffsets(std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; scaleOffsets)

    - Set the per-block scale-offset pairs for this encoding.

- Parameters

    - **scaleOffsets** – **[in]** Scale-offset pairs, one per quantization block.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwBlockMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwBlockMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwBlockMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwBlockMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMapped7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMapped7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMapped7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwBlockMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwBlockMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwBlockMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwBlockMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit BwBlockMapped(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- friend Api

    - 

- mutable std::vector&lt;uint32\_t&gt; m\_blockSizes

    - Block sizes along each quantization dimension.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt;&gt;, &interface\_type::getScaleOffsetAt, &interface\_type::getNumScaleOffsets, &interface\_type::setScaleOffsets&gt; m\_scaleOffsets

    - Scale-offset pairs for each quantization block.

- class BwBlockwiseExpansionMapped : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMappedE), [QairtQuantizeParams\_BwBlockwiseExpansionMappedV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv450QairtQuantizeParams_BwBlockwiseExpansionMappedV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Bit-width, per-axis block expansion parameters, a quantization mapping, and per-block scale data for bit-width blockwise expansion mapped quantization.

Construct directly: BwBlockwiseExpansionMapped(). Supply block scale data as either 8-bit values via [setBlocksScale8()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwBlockwiseExpansionMapped_1a92841d11e15f88c5e7d4fa0e46cbb9e5) or 16-bit values via [setBlocksScale16()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwBlockwiseExpansionMapped_1aa3c0d41d713727ec9b749bee5d6cfc76) — these are mutually exclusive. Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setBwBlockwiseExpansionMapped().

Note

Setting 8-bit block scales clears any 16-bit block scales and vice versa.

Public Functions

- inline ~BwBlockwiseExpansionMapped()

    - 

- BwBlockwiseExpansionMapped() noexcept = default

    - 

- inline BwBlockwiseExpansionMapped([BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMapped26BwBlockwiseExpansionMappedERR26BwBlockwiseExpansionMapped) &&other) noexcept

    - 

- inline [BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMappedE) &operator=([BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMappedE) &&other) noexcept

    - 

- inline BwBlockwiseExpansionMapped(const [BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMapped26BwBlockwiseExpansionMappedERK26BwBlockwiseExpansionMapped) &other)

    - 

- inline [BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMappedE) &operator=(const [BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMappedE) &other)

    - 

- inline [BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMappedE) shallowCopy() const

    - 

- inline uint32\_t getBitwidth() const

    - See also

[QairtQuantizeParams\_BwBlockwiseExpansionMapped\_getBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1ac3ae012c9a657a6203915db9938aa332)

- inline void setBitwidth(uint32\_t bitwidth) const

    - See also

[QairtQuantizeParams\_BwBlockwiseExpansionMapped\_setBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a56ab949178b5eb662ec782e2b3af5d18)

- inline [QuantizationEncodingMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt27QuantizationEncodingMappingE) getMapping() const

    - See also

[QairtQuantizeParams\_BwBlockwiseExpansionMapped\_getMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1adaae6d42b809570fdb91945576a1fd1b)

- inline void setMapping([QuantizationEncodingMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt27QuantizationEncodingMappingE) mapping) const

    - See also

[QairtQuantizeParams\_BwBlockwiseExpansionMapped\_setMapping](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a240a4a035ab13d2ffd18d4170afe9eb3)

- inline int32\_t getAxis() const

    - See also

[QairtQuantizeParams\_BwBlockwiseExpansionMapped\_getAxis](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a208f4e6ddcdd5e3814000a9a750065d7)

- inline void setAxis(int32\_t axis) const

    - See also

[QairtQuantizeParams\_BwBlockwiseExpansionMapped\_setAxis](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a2ef0ac62dff81af5e1dd8a6e84519b46)

- inline uint32\_t getNumBlocksPerAxis() const

    - See also

[QairtQuantizeParams\_BwBlockwiseExpansionMapped\_getNumBlocksPerAxis](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1ae0b7fae60b335a4ce023721315957b32)

- inline void setNumBlocksPerAxis(uint32\_t numBlocksPerAxis) const

    - See also

[QairtQuantizeParams\_BwBlockwiseExpansionMapped\_setNumBlocksPerAxis](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a30b35a4a9db6616a086f28de028ecb70)

- inline uint32\_t getBlockScaleBitwidth() const

    - See also

[QairtQuantizeParams\_BwBlockwiseExpansionMapped\_getBlockScaleBitwidth](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a61db84849d7e15074e1fdde1be9dbdc7)

- inline void setBlockScaleBitwidth(uint32\_t blockScaleBitwidth) const

    - See also

[QairtQuantizeParams\_BwBlockwiseExpansionMapped\_setBlockScaleBitwidth](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a7badf439bf672ae5e82a602f34e9c7d3)

- inline std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &getScaleOffsets()

    - Get the per-block scale-offset pairs for this encoding.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- Returns

    - Reference to the vector of [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1ScaleOffset) objects, one per quantization block.

- inline const std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &getScaleOffsets() const

    - Wrapper which allows for const access to the per-block scale-offset pairs.

See also

[BwBlockwiseExpansionMapped::getScaleOffsets()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwBlockwiseExpansionMapped_1aefc2e7308f77106f40edb2c49797d7e5)

- inline void setScaleOffsets(const std::vector&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt; &scaleOffsets)

    - Set the per-block scale-offset pairs for this encoding.

- Parameters

    - **scaleOffsets** – **[in]** Scale-offset pairs, one per quantization block.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- inline const std::vector&lt;uint8\_t&gt; &getBlocksScale8() const

    - Get the 8-bit block scale values.

- Returns

    - Reference to the vector of 8-bit scale values.

Note

Valid only when block scales were set via [setBlocksScale8()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwBlockwiseExpansionMapped_1a92841d11e15f88c5e7d4fa0e46cbb9e5).

- inline const std::vector&lt;uint16\_t&gt; &getBlocksScale16() const

    - Get the 16-bit block scale values.

- Returns

    - Reference to the vector of 16-bit scale values.

Note

Valid only when block scales were set via [setBlocksScale16()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwBlockwiseExpansionMapped_1aa3c0d41d713727ec9b749bee5d6cfc76).

- inline void setBlocksScale8(const std::vector&lt;uint8\_t&gt; &blocksScale8)

    - Set the 8-bit block scale values.

Clears any previously set 16-bit block scales.

- Parameters

    - **blocksScale8** – **[in]** 8-bit block scale values, one per quantization block.

- inline void setBlocksScale16(const std::vector&lt;uint16\_t&gt; &blocksScale16)

    - Set the 16-bit block scale values.

Clears any previously set 8-bit block scales.

- Parameters

    - **blocksScale16** – **[in]** 16-bit block scale values, one per quantization block.

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt26BwBlockwiseExpansionMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt26BwBlockwiseExpansionMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt26BwBlockwiseExpansionMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt26BwBlockwiseExpansionMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMapped7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMapped7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMapped7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt26BwBlockwiseExpansionMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt26BwBlockwiseExpansionMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt26BwBlockwiseExpansionMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt26BwBlockwiseExpansionMapped7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit BwBlockwiseExpansionMapped(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- friend Api

    - 

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt;&gt;, &interface\_type::getScaleOffsetAt, &interface\_type::getNumScaleOffsets, &interface\_type::setScaleOffsets&gt; m\_scaleOffsets

    - Scale-offset pairs for each quantization block in the mapped encoding.

- mutable std::vector&lt;uint8\_t&gt; m\_blocksScale8

    - Block scale values stored as 8-bit data; mutually exclusive with m\_blocksScale16.

- mutable std::vector&lt;uint16\_t&gt; m\_blocksScale16

    - Block scale values stored as 16-bit data; mutually exclusive with m\_blocksScale8.

- class BwFloatBlockEncoding : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncodingE), [QairtQuantizeParams\_BwFloatBlockEncodingV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv444QairtQuantizeParams_BwFloatBlockEncodingV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Bit-width and per-block floating-point scale-offset pairs for bit-width float block quantization.

Construct directly: BwFloatBlockEncoding(). Supply block sizes via [setBlockSizes()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwFloatBlockEncoding_1a5c5129bc176ce7f2d322f96d73326383) and one [FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1FloatScaleOffset) per block via [setFloatScaleOffsets()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwFloatBlockEncoding_1a2885b1a38713f53c29d32dd8cce0a856). Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setBwFloatBlockEncoding().

Public Functions

- inline ~BwFloatBlockEncoding()

    - 

- BwFloatBlockEncoding() noexcept = default

    - 

- inline BwFloatBlockEncoding([BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncoding20BwFloatBlockEncodingERR20BwFloatBlockEncoding) &&other) noexcept

    - 

- inline [BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncodingE) &operator=([BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncodingE) &&other) noexcept

    - 

- inline BwFloatBlockEncoding(const [BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncoding20BwFloatBlockEncodingERK20BwFloatBlockEncoding) &other)

    - 

- inline [BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncodingE) &operator=(const [BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncodingE) &other)

    - 

- inline [BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncodingE) shallowCopy() const

    - 

- inline uint32\_t getBitwidth() const

    - See also

[QairtQuantizeParams\_BwFloatBlockEncoding\_getBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a8cf015debc01c9d798454e59fc6044f5)

- inline void setBitwidth(uint32\_t bitwidth) const

    - See also

[QairtQuantizeParams\_BwFloatBlockEncoding\_setBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a7757feaea0459ee7cf8b1b1c330953b9)

- inline const std::vector&lt;uint32\_t&gt; &getBlockSizes() const

    - Get the block sizes along each quantization dimension.

- Returns

    - Reference to the vector of block sizes.

- inline void setBlockSizes(const std::vector&lt;uint32\_t&gt; &blockSizes)

    - Set the block sizes along each quantization dimension.

- Parameters

    - **blockSizes** – **[in]** Block sizes, one per quantization dimension.

- inline void setBlockSizes(std::vector&lt;uint32\_t&gt; &&blockSizes)

    - See also

[BwFloatBlockEncoding::setBlockSizes(const std::vector&lt;uint32\_t&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwFloatBlockEncoding_1a5c5129bc176ce7f2d322f96d73326383)

- inline std::vector&lt;[FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE)&gt; &getFloatScaleOffsets()

    - Get the per-block floating-point scale-offset pairs.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- Returns

    - Reference to the vector of [FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1FloatScaleOffset) objects, one per quantization block.

- inline const std::vector&lt;[FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE)&gt; &getFloatScaleOffsets() const

    - Wrapper which allows for const access to the per-block float scale-offset pairs.

See also

[BwFloatBlockEncoding::getFloatScaleOffsets()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwFloatBlockEncoding_1a5d8fb3be34436de010852b6c1e71a5c0)

- inline void setFloatScaleOffsets(std::vector&lt;[FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE)&gt; floatScaleOffsets)

    - Set the per-block floating-point scale-offset pairs.

- Parameters

    - **floatScaleOffsets** – **[in]** Float scale-offset pairs, one per quantization block.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt20BwFloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt20BwFloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt20BwFloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt20BwFloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncoding7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncoding7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncoding7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt20BwFloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt20BwFloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt20BwFloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt20BwFloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit BwFloatBlockEncoding(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- friend Api

    - 

- mutable std::vector&lt;uint32\_t&gt; m\_blockSizes

    - Block size along each quantization dimension for the float block encoding.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE)&gt;&gt;, &interface\_type::getFloatScaleOffsetAt, &interface\_type::getNumFloatScaleOffsets, &interface\_type::setFloatScaleOffsets&gt; m\_floatScaleOffsets

    - Float scale-offset pairs, one per quantization block.

- class BwScaleOffset : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffsetE), [QairtQuantizeParams\_BwScaleOffsetV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv437QairtQuantizeParams_BwScaleOffsetV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Bit-width, scale, and integer offset for bit-width scale-offset quantization.

Construct directly: [BwScaleOffset(uint32\_t bitwidth, float scale, int32\_t offset)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwScaleOffset_1a8832696a449e621c7ac728aa98e3590f). Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setBwScaleOffsetEncoding().

Public Functions

- inline ~BwScaleOffset()

    - 

- BwScaleOffset() noexcept = default

    - 

- inline BwScaleOffset([BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffset13BwScaleOffsetERR13BwScaleOffset) &&other) noexcept

    - 

- inline [BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffsetE) &operator=([BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffsetE) &&other) noexcept

    - 

- inline BwScaleOffset(const [BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffset13BwScaleOffsetERK13BwScaleOffset) &other)

    - 

- inline [BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffsetE) &operator=(const [BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffsetE) &other)

    - 

- inline [BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffsetE) shallowCopy() const

    - 

- inline BwScaleOffset(uint32\_t bitwidth, float scale, int32\_t offset)

    - Construct a bit-width scale-offset encoding with the given parameters.

- Parameters

    - - **bitwidth** – **[in]** Storage bit-width of the quantized values.
- **scale** – **[in]** Scale factor.
- **offset** – **[in]** Integer zero-point offset.

- inline uint32\_t getBitwidth() const

    - See also

[QairtQuantizeParams\_BwScaleOffset\_getBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a3ac7c493ff35e1f7eeaecc711962d367)

- inline void setBitwidth(uint32\_t bitwidth) const

    - See also

[QairtQuantizeParams\_BwScaleOffset\_setBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1ace9d8237c4a8202ae8fe8d79103c6633)

- inline float getScale() const

    - See also

[QairtQuantizeParams\_BwScaleOffset\_getScale](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a99b80e7cb1724050f4e3342bfbc8400a)

- inline void setScale(float scale) const

    - See also

[QairtQuantizeParams\_BwScaleOffset\_setScale](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a4eb4cabe392b3a1544d2672e4ae08b58)

- inline int32\_t getOffset() const

    - See also

[QairtQuantizeParams\_BwScaleOffset\_getOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1af4ce3751dca48805be107fd617fcd182)

- inline void setOffset(int32\_t offset) const

    - See also

[QairtQuantizeParams\_BwScaleOffset\_setOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1aebd0af92a2585d0a03a6ca7ebe3cf32b)

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffset7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffset7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffset7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt13BwScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit BwScaleOffset(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Friends

- *friend class* Api

- class ClientBuffer : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE), [QairtTensor\_ClientBufferV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv428QairtTensor_ClientBufferV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Raw memory descriptor for tensor data provided by the caller.

Construct directly: ClientBuffer(). Associate with a [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor) via [TensorMemory::setClientBuffer()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1TensorMemory_1acae7c5eb77f00ea67d64df51ba5125dd).

Public Functions

- ClientBuffer() noexcept = default

    - 

- ClientBuffer(const [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBuffer12ClientBufferERK12ClientBuffer)&) = delete

    - 

- [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE) &operator=(const [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE)&) = delete

    - 

- ClientBuffer([ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBuffer12ClientBufferERR12ClientBuffer)&&) noexcept = default

    - 

- [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE) &operator=([ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE)&&) noexcept = default

    - 

- inline void \*getData()

    - See also

[QairtTensor\_ClientBuffer\_getData](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1add9051a48258df16c43f8ae2a906a6d1)

- inline const void \*getData() const

    - See also

[QairtTensor\_ClientBuffer\_getData](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1add9051a48258df16c43f8ae2a906a6d1)

- inline void setData(void \*data)

    - See also

[QairtTensor\_ClientBuffer\_setData](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1aa2485873c8368ae790ae771fbc826c6d)

- inline uint32\_t getDataSize() const

    - See also

[QairtTensor\_ClientBuffer\_getDataSize](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1a9f4839aaadb6697d1afe594ed8c37b92)

- inline void setDataSize(uint32\_t dataSize)

    - See also

[QairtTensor\_ClientBuffer\_setDataSize](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1a79135a936d3511e4e20c31164d471fc5)

Private Functions

- inline explicit ClientBuffer(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    - 

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    -

Private Members

- friend Api

    -

Friends

- *friend class* TensorMemory

- *friend class* Tensor

- class FloatBlockEncoding : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncodingE), [QairtQuantizeParams\_FloatBlockEncodingV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv442QairtQuantizeParams_FloatBlockEncodingV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Per-block floating-point scale-offset pairs for float block quantization.

Construct directly: FloatBlockEncoding(). Supply block sizes via [setBlockSizes()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1FloatBlockEncoding_1ae2b1ba8fb0889a02be827751520a92ff) and one [FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1FloatScaleOffset) per block via [setFloatScaleOffsets()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1FloatBlockEncoding_1a6c98ceead056b55b31c2da479f7c3741). Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setFloatBlockEncoding().

Public Functions

- inline ~FloatBlockEncoding()

    - 

- FloatBlockEncoding() noexcept = default

    - 

- inline FloatBlockEncoding([FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncoding18FloatBlockEncodingERR18FloatBlockEncoding) &&other) noexcept

    - 

- inline [FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncodingE) &operator=([FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncodingE) &&other) noexcept

    - 

- inline FloatBlockEncoding(const [FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncoding18FloatBlockEncodingERK18FloatBlockEncoding) &other)

    - 

- inline [FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncodingE) &operator=(const [FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncodingE) &other)

    - 

- inline [FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncodingE) shallowCopy() const

    - 

- inline const std::vector&lt;uint32\_t&gt; &getBlockSizes() const

    - Get the block sizes along each quantization dimension.

- Returns

    - Reference to the vector of block sizes.

- inline void setBlockSizes(const std::vector&lt;uint32\_t&gt; &blockSizes)

    - Set the block sizes along each quantization dimension.

- Parameters

    - **blockSizes** – **[in]** Block sizes, one per quantization dimension.

- inline void setBlockSizes(std::vector&lt;uint32\_t&gt; &&blockSizes)

    - See also

[FloatBlockEncoding::setBlockSizes(const std::vector&lt;uint32\_t&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1FloatBlockEncoding_1ae2b1ba8fb0889a02be827751520a92ff)

- inline std::vector&lt;[FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE)&gt; &getFloatScaleOffsets()

    - Get the per-block floating-point scale-offset pairs.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- Returns

    - Reference to the vector of [FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1FloatScaleOffset) objects, one per quantization block.

- inline const std::vector&lt;[FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE)&gt; &getFloatScaleOffsets() const

    - Wrapper which allows for const access to the per-block float scale-offset pairs.

See also

[FloatBlockEncoding::getFloatScaleOffsets()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1FloatBlockEncoding_1a360a3db1b4a3f8e08b507f163ba40f7f)

- inline void setFloatScaleOffsets(std::vector&lt;[FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE)&gt; floatScaleOffsets)

    - Set the per-block floating-point scale-offset pairs.

- Parameters

    - **floatScaleOffsets** – **[in]** Float scale-offset pairs, one per quantization block.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18FloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18FloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18FloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18FloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncoding7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncoding7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncoding7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18FloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18FloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18FloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt18FloatBlockEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit FloatBlockEncoding(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- friend Api

    - 

- mutable std::vector&lt;uint32\_t&gt; m\_blockSizes

    - Block size along each quantization dimension for the float block encoding.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE)&gt;&gt;, &interface\_type::getFloatScaleOffsetAt, &interface\_type::getNumFloatScaleOffsets, &interface\_type::setFloatScaleOffsets&gt; m\_floatScaleOffsets

    - Float scale-offset pairs, one per quantization block.

- class FloatScaleOffset : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE), [QairtQuantizeParams\_FloatScaleOffsetV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv440QairtQuantizeParams_FloatScaleOffsetV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Floating-point scale and offset pair for float block quantization encodings.

Construct directly: [FloatScaleOffset(float scale, float offset)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1FloatScaleOffset_1aec5043008434d91a961d155472307137). Used as elements within [BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwFloatBlockEncoding) and [FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1FloatBlockEncoding).

Public Functions

- inline ~FloatScaleOffset()

    - 

- FloatScaleOffset() noexcept = default

    - 

- inline FloatScaleOffset([FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffset16FloatScaleOffsetERR16FloatScaleOffset) &&other) noexcept

    - 

- inline [FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE) &operator=([FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE) &&other) noexcept

    - 

- inline FloatScaleOffset(const [FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffset16FloatScaleOffsetERK16FloatScaleOffset) &other)

    - 

- inline [FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE) &operator=(const [FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE) &other)

    - 

- inline [FloatScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffsetE) shallowCopy() const

    - 

- inline FloatScaleOffset(float scale, float offset)

    - Construct a floating-point scale-offset pair with the given scale and offset.

- Parameters

    - - **scale** – **[in]** Scale factor.
- **offset** – **[in]** Floating-point zero-point offset.

- inline float getScale()

    - See also

[QairtQuantizeParams\_FloatScaleOffset\_getScale](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1ab4ab4075f5e672650174541a22dbfe4c)

- inline float getScale() const

    - See also

[QairtQuantizeParams\_FloatScaleOffset\_getScale](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1ab4ab4075f5e672650174541a22dbfe4c)

- inline void setScale(float scale) const

    - See also

[QairtQuantizeParams\_FloatScaleOffset\_setScale](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a72d5a52306498b17fbdee0a5cefe5052)

- inline float getOffset()

    - See also

[QairtQuantizeParams\_FloatScaleOffset\_getOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a9b2d32fccf01c9ac8f9c1290fd9117f6)

- inline float getOffset() const

    - See also

[QairtQuantizeParams\_FloatScaleOffset\_getOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a9b2d32fccf01c9ac8f9c1290fd9117f6)

- inline void setOffset(float offset) const

    - See also

[QairtQuantizeParams\_FloatScaleOffset\_setOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1ac818b8cb1496ef63f4dcfc27f45431cc)

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt16FloatScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt16FloatScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt16FloatScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt16FloatScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffset7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffset7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16FloatScaleOffset7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt16FloatScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt16FloatScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt16FloatScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt16FloatScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit FloatScaleOffset(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- friend Api

    -

- class Microscaling : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12MicroscalingE), [QairtQuantizeParams\_MicroscalingEncodingV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv444QairtQuantizeParams_MicroscalingEncodingV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

[Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Microscaling) (MX) quantization parameters, including float encoding, block dimensions, and per-block scale values.

Construct directly: Microscaling(). Set the value encoding format via [setValueEncoding()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Microscaling_1aa713267c23f2cc4a962e1b422e3175d1), block dimensions via [setBlockDimensions()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Microscaling_1a974e793c0a92337cdb53b48cf154c39e), and block scale data via [setBlockScales8()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Microscaling_1ac262d57e371b339b2d7a790cf0df35f0) (for Float8 scale type) or [setBlockScalesFloat()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Microscaling_1a662f216724c4f36ff60103ca21b7748e) (for Float16 or Float32 scale type). Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setMicroscalingEncoding().

Note

Setting 8-bit block scales implicitly sets the scale data type to Float8; setting float block scales implicitly sets it to Float32.

Public Functions

- inline ~Microscaling()

    - 

- Microscaling() noexcept = default

    - 

- inline Microscaling([Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12Microscaling12MicroscalingERR12Microscaling) &&other) noexcept

    - 

- inline [Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12MicroscalingE) &operator=([Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12MicroscalingE) &&other) noexcept

    - 

- inline Microscaling(const [Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12Microscaling12MicroscalingERK12Microscaling) &other)

    - 

- inline [Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12MicroscalingE) &operator=(const [Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12MicroscalingE) &other)

    - 

- inline [Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12MicroscalingE) shallowCopy() const

    - 

- inline [FloatEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13FloatEncodingE) getValueEncoding() const

    - See also

[QairtQuantizeParams\_MicroscalingEncoding\_getValueEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a6baf531525a8cfe9c5c9f50d418dae86)

- inline void setValueEncoding([FloatEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13FloatEncodingE) valueEncoding) const

    - See also

[QairtQuantizeParams\_MicroscalingEncoding\_setValueEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1af4239ffbe44d77f66d6f039c3eb42199)

- inline const std::vector&lt;uint32\_t&gt; &getBlockDimensions() const

    - Get the block dimensions for this microscaling encoding.

- Returns

    - Reference to the vector of block dimension sizes, one per quantization dimension.

- inline void setBlockDimensions(const std::vector&lt;uint32\_t&gt; &blockDimensions)

    - Set the block dimensions for this microscaling encoding.

- Parameters

    - **blockDimensions** – **[in]** Block sizes, one per quantization dimension.

- inline void setBlockDimensions(std::vector&lt;uint32\_t&gt; &&blockDimensions)

    - See also

[Microscaling::setBlockDimensions(const std::vector&lt;uint32\_t&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Microscaling_1a974e793c0a92337cdb53b48cf154c39e)

- inline size\_t getBlockCount() const

    - Get the number of blocks in this microscaling encoding.

- Returns

    - Number of block scale values currently stored, or 0 if none have been set.

- inline void setScaleDataType([DataType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt8DataTypeE) dtype) const

    - Set the data type used to store block scale values.

Initializes the internal block-scale storage to match the given data type. Float8 uses a `std::vector<uint8_t>` buffer; Float16 and Float32 use a `std::vector<float>` buffer. Calling this does not clear existing scale data unless the storage type changes.

See also

[QairtQuantizeParams\_MicroscalingEncoding\_setScaleDataType](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1af161fde899c82ea1e92deaf7af671038)

- Parameters

    - **dtype** – **[in]** Data type for block scales. Must be Float8, Float16, or Float32.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- inline [DataType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt8DataTypeE) getScaleDataType() const

    - Get the data type used to store block scale values.

See also

[QairtQuantizeParams\_MicroscalingEncoding\_getScaleDataType](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a83d00359db68b81829b13895de634d56)

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- Returns

    - The currently set scale data type.

- inline const std::vector&lt;uint8\_t&gt; &getBlockScales8() const

    - Get the 8-bit block scale values.

Valid when the scale data type is Float8.

- Returns

    - Reference to the vector of 8-bit scale values.

- inline void setBlockScales8(const std::vector&lt;uint8\_t&gt; &blockScales8)

    - Set the 8-bit block scale values.

Implicitly sets the scale data type to Float8. Replaces any previously set float block scales.

- Parameters

    - **blockScales8** – **[in]** 8-bit block scale values, one per quantization block.

- inline void setBlockScales8(std::vector&lt;uint8\_t&gt; &&blockScales8)

    - See also

[Microscaling::setBlockScales8(const std::vector&lt;uint8\_t&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Microscaling_1ac262d57e371b339b2d7a790cf0df35f0)

- inline const std::vector&lt;float&gt; &getBlockScalesFloat() const

    - Get the floating-point block scale values.

Valid when the scale data type is Float16 or Float32.

- Returns

    - Reference to the vector of float scale values.

- inline void setBlockScalesFloat(const std::vector&lt;float&gt; &blockScalesFloat)

    - Set the floating-point block scale values.

Implicitly sets the scale data type to Float32. Replaces any previously set 8-bit block scales.

- Parameters

    - **blockScalesFloat** – **[in]** Float block scale values, one per quantization block.

- inline void setBlockScalesFloat(std::vector&lt;float&gt; &&blockScalesFloat)

    - See also

[Microscaling::setBlockScalesFloat(const std::vector&lt;float&gt;&)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Microscaling_1a662f216724c4f36ff60103ca21b7748e)

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt12Microscaling7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt12Microscaling7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt12Microscaling7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt12Microscaling7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12Microscaling7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12Microscaling7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12Microscaling7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt12Microscaling7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt12Microscaling7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt12Microscaling7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt12Microscaling7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit Microscaling(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- friend Api

    - 

- mutable std::vector&lt;uint32\_t&gt; m\_blockDimensions

    - Size of each quantization block along each dimension.

- mutable std::variant&lt;std::monostate, std::vector&lt;uint8\_t&gt;, std::vector&lt;float&gt;&gt; m\_blockScales

    - Block scale values; holds uint8\_t for Float8 scale data type or float otherwise.

- class QuantizeParams : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParamsE), [QairtQuantizeParams\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv424QairtQuantizeParams_V1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Container for the active quantization encoding applied to a tensor.

Construct directly: QuantizeParams(). Set exactly one encoding variant by calling the corresponding setter (e.g., setScaleOffsetEncoding(), setBwAxisScaleOffsetEncoding()). Attach to a [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor) via Tensor::setQuantizeParams(). The active encoding type is identified at runtime via getQuantizationEncoding().

Public Functions

- inline ~QuantizeParams()

    - 

- QuantizeParams() noexcept = default

    - 

- inline QuantizeParams([QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams14QuantizeParamsERR14QuantizeParams) &&other) noexcept

    - 

- inline [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParamsE) &operator=([QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParamsE) &&other) noexcept

    - 

- inline QuantizeParams(const [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams14QuantizeParamsERK14QuantizeParams) &other)

    - 

- inline [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParamsE) shallowCopy() const

    - 

- inline [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParamsE) &operator=(const [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParamsE) &other)

    - 

- inline [QuantizationEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20QuantizationEncodingE) getQuantizationEncoding() const

    - 

- inline void setScaleOffsetEncoding([ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE) scaleOffset)

    - 

- inline const [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE) &getScaleOffsetEncoding() const

    - 

- inline [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE) &getScaleOffsetEncoding()

    - 

- inline void setAxisScaleOffsetEncoding([AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffsetE) axisScaleOffset)

    - 

- inline [AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffsetE) &getAxisScaleOffsetEncoding()

    - 

- inline const [AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffsetE) &getAxisScaleOffsetEncoding() const

    - 

- inline void setBwScaleOffsetEncoding([BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffsetE) bwScaleOffset)

    - 

- inline [BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffsetE) &getBwScaleOffsetEncoding()

    - 

- inline const [BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffsetE) &getBwScaleOffsetEncoding() const

    - 

- inline void setBwAxisScaleOffsetMappedEncoding([BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMappedE) bwAxisScaleOffsetMapped)

    - 

- inline [BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMappedE) &getBwAxisScaleOffsetMappedEncoding()

    - 

- inline const [BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMappedE) &getBwAxisScaleOffsetMappedEncoding() const

    - 

- inline void setMicroscalingEncoding([Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12MicroscalingE) microscaling)

    - 

- inline [Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12MicroscalingE) &getMicroscalingEncoding()

    - 

- inline const [Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12MicroscalingE) &getMicroscalingEncoding() const

    - 

- inline void setBwAxisScaleOffsetEncoding([BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE) bwAxisScaleOffset)

    - 

- inline [BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE) &getBwAxisScaleOffsetEncoding()

    - 

- inline const [BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE) &getBwAxisScaleOffsetEncoding() const

    - 

- inline void setBlockEncoding([BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncodingE) blockEncoding)

    - 

- inline [BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncodingE) &getBlockEncoding()

    - 

- inline const [BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncodingE) &getBlockEncoding() const

    - 

- inline void setVectorEncoding([VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncodingE) vectorEncoding)

    - 

- inline [VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncodingE) &getVectorEncoding()

    - 

- inline const [VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncodingE) &getVectorEncoding() const

    - 

- inline void setBlockwiseExpansion([BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansionE) blockwiseExpansion)

    - 

- inline [BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansionE) &getBlockwiseExpansion()

    - 

- inline const [BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansionE) &getBlockwiseExpansion() const

    - 

- inline void setBwFloatBlockEncoding([BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncodingE) bwFloatBlockEncoding)

    - 

- inline [BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncodingE) &getBwFloatBlockEncoding()

    - 

- inline const [BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncodingE) &getBwFloatBlockEncoding() const

    - 

- inline void setFloatBlockEncoding([FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncodingE) floatBlockEncoding)

    - 

- inline [FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncodingE) &getFloatBlockEncoding()

    - 

- inline const [FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncodingE) &getFloatBlockEncoding() const

    - 

- inline void setBwBlockMapped([BwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMappedE) bwBlockMapped)

    - 

- inline const [BwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMappedE) &getBwBlockMapped() const

    - 

- inline void setBwBlockwiseExpansionMapped([BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMappedE) bwBlockwiseExpansionMapped)

    - 

- inline [BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMappedE) &getBwBlockwiseExpansionMapped()

    - 

- inline const [BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMappedE) &getBwBlockwiseExpansionMapped() const

    - 

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14QuantizeParams7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14QuantizeParams7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14QuantizeParams7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14QuantizeParams7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14QuantizeParams7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14QuantizeParams7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14QuantizeParams7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14QuantizeParams7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Types

- using CrossableScaleOffset = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE)&gt;, &interface\_type::getScaleOffset, &interface\_type::setScaleOffset&gt;

    - 

- using CrossableAxisScaleOffset = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[AxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt15AxisScaleOffsetE)&gt;, &interface\_type::getAxisScaleOffset, &interface\_type::setAxisScaleOffset&gt;

    - 

- using CrossableBwScaleOffset = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[BwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwScaleOffsetE)&gt;, &interface\_type::getBwScaleOffset, &interface\_type::setBwScaleOffset&gt;

    - 

- using CrossableBwAxisScaleOffsetMapped = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[BwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt23BwAxisScaleOffsetMappedE)&gt;, &interface\_type::getBwAxisScaleOffsetMapped, &interface\_type::setBwAxisScaleOffsetMapped&gt;

    - 

- using CrossableMicroscaling = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[Microscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12MicroscalingE)&gt;, &interface\_type::getMicroscalingEncoding, &interface\_type::setMicroscalingEncoding&gt;

    - 

- using CrossableBwAxisScaleOffset = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE)&gt;, &interface\_type::getBwAxisScaleOffset, &interface\_type::setBwAxisScaleOffset&gt;

    - 

- using CrossableBlockEncoding = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[BlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BlockEncodingE)&gt;, &interface\_type::getBlockEncoding, &interface\_type::setBlockEncoding&gt;

    - 

- using CrossableVectorEncoding = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncodingE)&gt;, &interface\_type::getVectorEncoding, &interface\_type::setVectorEncoding&gt;

    - 

- using CrossableBlockwiseExpansion = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[BlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18BlockwiseExpansionE)&gt;, &interface\_type::getBlockwiseExpansion, &interface\_type::setBlockwiseExpansion&gt;

    - 

- using CrossableBwFloatBlockEncoding = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[BwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt20BwFloatBlockEncodingE)&gt;, &interface\_type::getBwFloatBlockEncoding, &interface\_type::setBwFloatBlockEncoding&gt;

    - 

- using CrossableFloatBlockEncoding = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[FloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt18FloatBlockEncodingE)&gt;, &interface\_type::getFloatBlockEncoding, &interface\_type::setFloatBlockEncoding&gt;

    - 

- using CrossableBwBlockMapped = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[BwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13BwBlockMappedE)&gt;, &interface\_type::getBwBlockMapped, &interface\_type::setBwBlockMapped&gt;

    - 

- using CrossableBwBlockwiseExpansionMapped = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[BwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt26BwBlockwiseExpansionMappedE)&gt;, &interface\_type::getBwBlockwiseExpansionMapped, &interface\_type::setBwBlockwiseExpansionMapped&gt;

    -

Private Functions

- inline explicit QuantizeParams(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    - 

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    -

Private Members

- mutable std::variant&lt;std::monostate, [CrossableScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams20CrossableScaleOffsetE), [CrossableAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams24CrossableAxisScaleOffsetE), [CrossableBwScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams22CrossableBwScaleOffsetE), [CrossableBwAxisScaleOffsetMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams32CrossableBwAxisScaleOffsetMappedE), [CrossableMicroscaling](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams21CrossableMicroscalingE), [CrossableBwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams26CrossableBwAxisScaleOffsetE), [CrossableBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams22CrossableBlockEncodingE), [CrossableVectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams23CrossableVectorEncodingE), [CrossableBlockwiseExpansion](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams27CrossableBlockwiseExpansionE), [CrossableBwFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams29CrossableBwFloatBlockEncodingE), [CrossableFloatBlockEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams27CrossableFloatBlockEncodingE), [CrossableBwBlockMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams22CrossableBwBlockMappedE), [CrossableBwBlockwiseExpansionMapped](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParams35CrossableBwBlockwiseExpansionMappedE)&gt; m\_encoding

    - Active quantization encoding; the variant alternative indicates the encoding type.

Friends

- *friend class* Api

- class ScaleOffset : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE), [QairtQuantizeParams\_ScaleOffsetV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv435QairtQuantizeParams_ScaleOffsetV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Per-tensor scale and integer offset for scale-offset quantization.

Construct directly: [ScaleOffset(float scale, int32\_t offset)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1ScaleOffset_1af0d43e788343fcb450d895f49234b881). Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setScaleOffsetEncoding().

Public Functions

- inline ~ScaleOffset()

    - 

- ScaleOffset() noexcept = default

    - 

- inline ScaleOffset([ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffset11ScaleOffsetERR11ScaleOffset) &&other) noexcept

    - 

- inline [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE) &operator=([ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE) &&other) noexcept

    - 

- inline ScaleOffset(float scale, int32\_t offset)

    - Construct a scale-offset pair with the given scale and offset.

- Parameters

    - - **scale** – **[in]** Scale factor.
- **offset** – **[in]** Integer zero-point offset.

- inline ScaleOffset(const [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffset11ScaleOffsetERK11ScaleOffset) &other)

    - 

- inline [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE) &operator=(const [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE) &other)

    - 

- inline [ScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffsetE) shallowCopy() const

    - 

- inline float getScale() const

    - See also

[QairtQuantizeParams\_ScaleOffset\_getScale](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a3a8fc8417346951f7b54507e25f2925e)

- inline void setScale(float scale) const

    - See also

[QairtQuantizeParams\_ScaleOffset\_setScale](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1aeb6a20d2034f1f0cd8191ea7c0f9b483)

- inline int32\_t getOffset() const

    - See also

[QairtQuantizeParams\_ScaleOffset\_getOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a440e528451646ee628fed21e6c3eadd9)

- inline void setOffset(int32\_t offset) const

    - See also

[QairtQuantizeParams\_ScaleOffset\_setOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a1342b8a9d02cad405845a6cbb6252c23)

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt11ScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt11ScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt11ScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt11ScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffset7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffset7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt11ScaleOffset7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt11ScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt11ScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt11ScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt11ScaleOffset7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit ScaleOffset(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Friends

- *friend class* Api

- class Tensor : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE), [QairtTensor\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv416QairtTensor_V1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Descriptor for a single named tensor, including its shape, data type, memory binding, and quantization parameters.

Obtained via [Graph](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtGraph.html#classqairt_1_1Graph) operations that return input or output tensors, or constructed directly: Tensor(). Set the shape via setDimensions(), the data type via setDataType(), a memory binding via setTensorMemory() or setClientBuffer(), and quantization parameters via setQuantizeParams().

Public Functions

- inline ~Tensor()

    - 

- Tensor() = default

    - 

- inline Tensor(const [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6Tensor6TensorERK6Tensor) &other)

    - 

- inline Tensor([Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6Tensor6TensorERR6Tensor) &&other) noexcept

    - 

- inline [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE) &operator=([Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE) &&other) noexcept

    - 

- inline [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE) &operator=(const [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE) &other)

    - 

- inline void setName(std::string str)

    - 

- inline const std::string &getName() const

    - 

- inline void setTensorProperties(const [TensorProperties](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16TensorPropertiesE) &tensorProperties)

    - 

- inline [TensorProperties](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16TensorPropertiesE) &getTensorProperties()

    - 

- inline const [TensorProperties](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16TensorPropertiesE) &getTensorProperties() const

    - 

- inline void setDataFormat(uint32\_t dataFormat)

    - 

- inline uint32\_t getDataFormat() const

    - 

- inline void setDataType([DataType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt8DataTypeE) dataType)

    - 

- inline [DataType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt8DataTypeE) getDataType() const

    - 

- inline [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParamsE) &getQuantizeParams()

    - 

- inline const [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParamsE) &getQuantizeParams() const

    - 

- inline void setQuantizeParams(const [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParamsE) &quantizeParams)

    - 

- inline uint32\_t getRank() const

    - 

- inline void setDimensions(const std::vector&lt;uint32\_t&gt; &dims)

    - 

- inline void setDimensions(std::vector&lt;uint32\_t&gt; &&dims)

    - 

- inline const std::vector&lt;uint32\_t&gt; &getDimensions() const

    - 

- inline std::vector&lt;uint32\_t&gt; &getDimensions()

    - 

- inline [TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12TensorMemoryE) &getTensorMemory()

    - 

- inline const [TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12TensorMemoryE) &getTensorMemory() const

    - 

- inline void setTensorMemory(const [TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12TensorMemoryE) &tensorMemory)

    - 

- inline void setIsDynamicDimensions(const std::vector&lt;bool&gt; &isDynamicDims)

    - 

- inline void setIsDynamicDimensions(const std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::bool\_wrapper&gt; &isDynamicDims)

    - 

- inline const std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::bool\_wrapper&gt; &getIsDynamicDimensions() const

    - 

- inline std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::bool\_wrapper&gt; &getIsDynamicDimensions()

    - 

- inline [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE) &getClientBuffer()

    - 

- inline const [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE) &getClientBuffer() const

    - 

- inline void setClientBuffer(const [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE) &clientBuffer)

    - 

- inline void setClientBuffer([RawBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBuffer.html#_CPPv4N5qairt9RawBufferE) &&buffer)

    - 

- inline void setId(uint64\_t id)

    - 

- inline uint64\_t getId() const

    - 

- inline bool getIsProduced() const

    - 

- inline [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6TensorE) shallowCopy() const

    - 

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt6Tensor7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt6Tensor7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt6Tensor7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt6Tensor7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6Tensor7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6Tensor7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6Tensor7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt6Tensor7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt6Tensor7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt6Tensor7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt6Tensor7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Functions

- inline Tensor(copy\_table\_tag\_t, const [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt6Tensor6TensorE16copy_table_tag_tRK6Tensor) &other)

    - 

- inline explicit Tensor(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    - 

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    -

Private Members

- friend Api

    - 

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;std::string, &interface\_type::getName, &interface\_type::setName&gt; m\_name

    - [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor) name used to identify this tensor within a graph.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[TensorProperties](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16TensorPropertiesE)&gt;, &interface\_type::getTensorProperties, &interface\_type::setTensorProperties&gt; m\_properties

    - [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor) attribute flags (input, output, static, optional, etc.).

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12TensorMemoryE)&gt;, &interface\_type::getTensorMemory, &interface\_type::setTensorMemory&gt; m\_memory

    - Memory descriptor specifying how tensor data is stored or retrieved.

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14QuantizeParamsE)&gt;, &interface\_type::getQuantizeParams, &interface\_type::setQuantizeParams&gt; m\_quantParams

    - Quantization parameters describing the encoding for this tensor’s data.

- mutable std::vector&lt;uint32\_t&gt; m\_dims

    - Shape of this tensor as a list of dimension sizes, ordered from outermost to innermost.

- mutable std::vector&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::bool\_wrapper&gt; m\_isDynamicDims

    - Per-dimension dynamic flags; true indicates that dimension is dynamic at runtime.

Friends

- *friend class* ::qairt::ApiType

- class TensorMemory : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12TensorMemoryE), [QairtTensor\_MemoryV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv422QairtTensor_MemoryV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Memory descriptor specifying how tensor data is stored or retrieved at runtime.

Construct directly: TensorMemory(). Attach to a [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor) via Tensor::setTensorMemory(). The memory type (Raw, MemHandle, or RetrieveRaw) determines which accessor fields are active.

Public Functions

- TensorMemory() noexcept = default

    - 

- TensorMemory(const [TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12TensorMemory12TensorMemoryERK12TensorMemory)&) = delete

    - 

- TensorMemory([TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12TensorMemory12TensorMemoryERR12TensorMemory)&&) noexcept = default

    - 

- [TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12TensorMemoryE) &operator=(const [TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12TensorMemoryE)&) = delete

    - 

- [TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12TensorMemoryE) &operator=([TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12TensorMemoryE)&&) noexcept = default

    - 

- inline [TensorMemType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt13TensorMemTypeE) getMemoryType() const

    - See also

[QairtTensor\_Memory\_getMemoryType](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1a978cd745164e2aa5c8423c3ad5a4f6e8)

- inline [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE) &getClientBuffer()

    - Get the client buffer associated with this tensor memory.

Valid only when the memory type is Raw. The returned reference is bound to this [TensorMemory](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1TensorMemory) and is invalidated if modification operations are performed on the same component API.

See also

[QairtTensor\_Memory\_getClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1afd418d6de8abe3485772140b1cddfaa8)

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle or memory type mismatch.

- Returns

    - Reference to the associated [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1ClientBuffer).

- inline const [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE) &getClientBuffer() const

    - Wrapper which allows for const access to the associated client buffer.

See also

[TensorMemory::getClientBuffer()](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1TensorMemory_1ab9753429a06a69a3cd6fafa52931a9a6)

- inline void setClientBuffer(const [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE) &clientBuffer)

    - Set a client buffer on this tensor memory.

Sets the memory type to Raw and associates the given client buffer.

See also

[QairtTensor\_Memory\_setClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1a83c3f49cf2dbc9d1c257625a3b16e8c6)

- Parameters

    - **clientBuffer** – **[in]** The client buffer to associate with this tensor memory.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- inline void setClientBuffer([RawBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBuffer.html#_CPPv4N5qairt9RawBufferE) &&buffer)

    - Set a raw memory buffer on this tensor memory.

Constructs a [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1ClientBuffer) from the given [RawBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBuffer.html#classqairt_1_1RawBuffer) and associates it with this tensor memory. Falls back silently if the backend does not support [ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1ClientBuffer) creation.

- Parameters

    - **buffer** – **[in]** Raw memory buffer whose data pointer and size are transferred into the new client buffer.

- inline void setMemHandle([QairtMem\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtMem.html#_CPPv417QairtMem_Handle_t) memHandle)

    - See also

[QairtTensor\_Memory\_setMemHandle](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1a0e485c47ae5fffc7a8bfa5678e46f089)

- inline [QairtMem\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtMem.html#_CPPv417QairtMem_Handle_t) getMemHandle() const

    - See also

[QairtTensor\_Memory\_getMemHandle](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1a20dfd8252a522bf2a699be42ca4d5c3e)

- inline void setRawRetrieveCallbacks([Qairt\_GetTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426Qairt_GetTensorRawDataFn_t) getCallback, [Qairt\_FreeTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv427Qairt_FreeTensorRawDataFn_t) freeCallback, void \*cookie)

    - See also

[QairtTensor\_Memory\_setRawRetrieveCallbacks](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1a98d010dfd7e8e2683d204d812061afe3)

- inline void getRawRetrieveCallbacks([Qairt\_GetTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426Qairt_GetTensorRawDataFn_t) \*getCallback, [Qairt\_FreeTensorRawDataFn\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv427Qairt_FreeTensorRawDataFn_t) \*freeCallback, void \*\*cookie) const

    - See also

[QairtTensor\_Memory\_getRawRetrieveCallbacks](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorMemory_8h_1a45c573f7fa6b4d154e7b741bb56a4a2f)

Private Functions

- inline explicit TensorMemory(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    - 

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    -

Private Members

- [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[ClientBuffer](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt12ClientBufferE)&gt;, &interface\_type::getClientBuffer, &interface\_type::setClientBuffer&gt; m\_clientBuffer

    - Client buffer associated with this tensor memory when the memory type is Raw.

Friends

- *friend class* Api

- class TensorProperties : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[TensorProperties](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16TensorPropertiesE), [QairtTensor\_PropertiesV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#_CPPv426QairtTensor_PropertiesV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Attribute flags describing the role and usage of a tensor within a graph.

Construct directly: TensorProperties(). Attach to a [Tensor](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1Tensor) via Tensor::setTensorProperties().

Public Functions

- TensorProperties() noexcept = default

    - 

- TensorProperties(const [TensorProperties](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16TensorProperties16TensorPropertiesERK16TensorProperties)&) = delete

    - 

- TensorProperties([TensorProperties](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16TensorProperties16TensorPropertiesERR16TensorProperties)&&) noexcept = default

    - 

- [TensorProperties](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16TensorPropertiesE) &operator=(const [TensorProperties](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16TensorPropertiesE)&) = delete

    - 

- [TensorProperties](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16TensorPropertiesE) &operator=([TensorProperties](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt16TensorPropertiesE)&&) noexcept = default

    - 

- inline void setIsInput(bool value)

    - See also

[QairtTensor\_Properties\_setIsInput](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1afd5a22700ea5bd709419a759ec654cce)

- inline void setIsOutput(bool value)

    - See also

[QairtTensor\_Properties\_setIsOutput](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1a5bc8fa42872877889fe9c71f47e8c857)

- inline void setIsNative(bool value)

    - See also

[QairtTensor\_Properties\_setIsNative](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1a52acbd12f057256198aaa5dbd6d3eac2)

- inline void setIsNull(bool value)

    - See also

[QairtTensor\_Properties\_setIsNull](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1aba01774a2843dae88c4e2a0b5a80ee2a)

- inline void setIsStatic(bool value)

    - See also

[QairtTensor\_Properties\_setIsStatic](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1a3a3673b89511826697e2d92b01de211e)

- inline void setIsOptional(bool value)

    - See also

[QairtTensor\_Properties\_setIsOptional](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1a7df3f0cc1e31b5c4805f543530b48861)

- inline void setIsUpdatable(bool value)

    - See also

[QairtTensor\_Properties\_setIsUpdatable](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1ac4ae79cb28d575834c46cf92ef691e72)

- inline bool isInput() const

    - See also

[QairtTensor\_Properties\_getIsInput](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1a001042741c260413643ba717584f343d)

- inline bool isOutput() const

    - See also

[QairtTensor\_Properties\_getIsOutput](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1a9e15bcbf0e55cd047b3d2b169c1662b6)

- inline bool isNative() const

    - See also

[QairtTensor\_Properties\_getIsNative](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1a0f5ec25609c26b4176f888a120159381)

- inline bool isNull() const

    - See also

[QairtTensor\_Properties\_getIsNull](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1a7b5e9e7952f6d20611c51696d2eff492)

- inline bool isStatic() const

    - See also

[QairtTensor\_Properties\_getIsStatic](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1ada264ed7832e298cfd765fc48e403cf8)

- inline bool isOptional() const

    - See also

[QairtTensor\_Properties\_getIsOptional](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1a1cdfe8c6cdae6fc86f38e9b402ee543d)

- inline bool isUpdatable() const

    - See also

[QairtTensor\_Properties\_getIsUpdatable](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTensor.html#QairtTensorProperties_8h_1a414bf3f634b8b37e78ded05d35c0347f)

Private Functions

- inline explicit TensorProperties(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Friends

- *friend class* Api

- class VectorEncoding : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::ApiType&lt;[VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncodingE), [QairtQuantizeParams\_VectorEncodingV1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#_CPPv438QairtQuantizeParams_VectorEncodingV1_t)&gt;

    - *#include &lt;QairtTensor.hpp&gt;*

Vector quantization (VQ) compression parameters, including a codebook descriptor and block-layout configuration.

Construct directly: [VectorEncoding(const BwAxisScaleOffset& bwAxisScaleOffset,uint32\_t rowsPerBlock, uint32\_t colsPerBlock, uint32\_t vectorStride,uint32\_t vectorDimension, uint32\_t indexBitwidth)](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1VectorEncoding_1ac226ddc941524ff004876531c766fa27). Attach to a [QuantizeParams](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1QuantizeParams) via QuantizeParams::setVectorEncoding().

Public Functions

- inline ~VectorEncoding()

    - 

- VectorEncoding() noexcept = default

    - 

- inline VectorEncoding([VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncoding14VectorEncodingERR14VectorEncoding) &&other) noexcept

    - 

- inline [VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncodingE) &operator=([VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncodingE) &&other) noexcept

    - 

- inline VectorEncoding(const [VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncoding14VectorEncodingERK14VectorEncoding) &other)

    - 

- inline [VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncodingE) &operator=(const [VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncodingE) &other)

    - 

- inline [VectorEncoding](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncodingE) shallowCopy() const

    - 

- inline VectorEncoding(const [BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE) &bwAxisScaleOffset, uint32\_t rowsPerBlock, uint32\_t colsPerBlock, uint32\_t vectorStride, uint32\_t vectorDimension, uint32\_t indexBitwidth)

    - Construct a vector encoding with the given codebook and block layout.

- Parameters

    - - **bwAxisScaleOffset** – **[in]** Bit-width per-axis scale-offset encoding for the codebook.
- **rowsPerBlock** – **[in]** Number of rows per block.
- **colsPerBlock** – **[in]** Number of columns per block.
- **vectorStride** – **[in]** Stride between vectors in the compressed representation.
- **vectorDimension** – **[in]** Dimension along which vectors are formed.
- **indexBitwidth** – **[in]** Bit-width of codebook indices.

- inline uint32\_t getRowsPerBlock() const

    - See also

[QairtQuantizeParams\_VectorEncoding\_getRowsPerBlock](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1ad58f3c97d8d149d55b7486217c6e830d)

- inline void setRowsPerBlock(uint32\_t rowsPerBlock) const

    - See also

[QairtQuantizeParams\_VectorEncoding\_setRowsPerBlock](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a175adac34e9f56e8b3517183015d086d)

- inline uint32\_t getColsPerBlock() const

    - See also

[QairtQuantizeParams\_VectorEncoding\_getColsPerBlock](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1aa5d3ac9215eea13e9e2faa676cee8cf1)

- inline void setColsPerBlock(uint32\_t colsPerBlock) const

    - See also

[QairtQuantizeParams\_VectorEncoding\_setColsPerBlock](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a703aee63a1d8d1726746d083904ad091)

- inline uint32\_t getVectorStride() const

    - See also

[QairtQuantizeParams\_VectorEncoding\_getVectorStride](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a8c0d9e3ca75196b590020f9abba360c7)

- inline void setVectorStride(uint32\_t vectorStride) const

    - See also

[QairtQuantizeParams\_VectorEncoding\_setVectorStride](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a61abae1098c62b25b25239d07b712590)

- inline uint32\_t getVectorDimension() const

    - See also

[QairtQuantizeParams\_VectorEncoding\_getVectorDimension](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1ad1f13cd2de92c19673dfd2e1e3969efa)

- inline void setVectorDimension(uint32\_t vectorDimension) const

    - See also

[QairtQuantizeParams\_VectorEncoding\_setVectorDimension](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1ad9669e5e42321b3b013edb6b32d09c89)

- inline uint32\_t getIndexBw() const

    - See also

[QairtQuantizeParams\_VectorEncoding\_getIndexBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a6dfb5ace6258dc1499ebe535182e4af6)

- inline void setIndexBw(uint32\_t indexBw) const

    - See also

[QairtQuantizeParams\_VectorEncoding\_setIndexBw](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtQuantizeParams.html#QairtQuantizeParams_8h_1a3ac0bc5019f0af8ef259bd20cb2f4051)

- inline const [BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE) &getBwAxisScaleOffset() const

    - Get the bit-width per-axis scale-offset encoding used for the vector codebook.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- Returns

    - Const reference to the [BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#classqairt_1_1BwAxisScaleOffset) codebook descriptor.

- inline void setBwAxisScaleOffset(const [BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE) &bwAxisScaleOffset)

    - Set the bit-width per-axis scale-offset encoding used for the vector codebook.

- Parameters

    - **bwAxisScaleOffset** – **[in]** Codebook descriptor for the vector quantization.

- Throws

    - [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtLog.html#_CPPv45qairt)::[Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle.

- template&lt;typename T, typename U, typename V&gt;  
inline ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14VectorEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&lt;[T](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14VectorEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [U](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14VectorEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE), [V](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14VectorEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&gt; &parent, [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning\_handle&lt;handle\_type&gt; noh)

    - 

- inline explicit ApiType(const std::shared\_ptr&lt;T\_Table&gt; &apiTable)

    - 

- inline ApiType(copy\_table\_tag\_t, const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncoding7ApiTypeE16copy_table_tag_tRK7ApiType) &other)

    - 

- ApiType() noexcept = default

    - 

- ApiType(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncoding7ApiTypeERK7ApiType)&) = delete

    - 

- ApiType([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncoding7ApiTypeERR7ApiType)&&) noexcept = default

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14VectorEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=(const [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14VectorEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&) = delete

    - 

- [ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14VectorEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE) &operator=([ApiType](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4I000EN5qairt14VectorEncoding7ApiTypeERK7ApiTypeI1T1U1VEN6detail17non_owning_handleI11handle_typeEE)&&) noexcept = default

    -

Private Types

- using CrossableBwAxisScaleOffset = [detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::crossable&lt;[detail](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtTypeTraits.html#_CPPv4N5qairt6detailE)::non\_owning&lt;[BwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt17BwAxisScaleOffsetE)&gt;, &interface\_type::getBwAxisScaleOffset, &interface\_type::setBwAxisScaleOffset&gt;

    -

Private Functions

- inline void prepareToCross() const

    - 

- inline void updateAfterCross() const

    - 

- inline explicit VectorEncoding(const std::shared\_ptr&lt;ApiTable&gt; &apiTable)

    -

Private Members

- friend Api

    - 

- mutable [CrossableBwAxisScaleOffset](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtTensor.html#_CPPv4N5qairt14VectorEncoding26CrossableBwAxisScaleOffsetE) m\_bwAxisScaleOffset

    - Bit-width per-axis scale-offset encoding used for the vector codebook.

Last Published: Jun 04, 2026

[Previous Topic
QairtGraph](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/cpp-api_QairtGraph.md) [Next Topic
QairtBackend](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/cpp-api_QairtBackend.md)