XMLoadXDecN4

Loads an XMXDECN4 into an XMVECTOR.

Syntax

XMVECTOR XMLoadXDecN4(
         const XMXDECN4 *pSource
)  

Parameters

pSource
Type: XMXDECN4 *

[in]

Address of the XMXDECN4 structure to load.

Return value

Type: XMVECTOR 

Returns an XMVECTOR loaded with the data from the pSource parameter.

Remarks

The following pseudocode demonstrates the operation of the function.

XMVECTOR vectorOut;

uint32_t Element;
static const uint32_t SignExtend[] = {0x00000000, 0xFFFFFC00};

Element = pSource->v & 0x3FF;
vectorOut.x = (float)(int16_t)(Element | SignExtend[Element >> 9]) / 511.0f;
Element = (pSource->v >> 10) & 0x3FF;
vectorOut.y = (float)(int16_t)(Element | SignExtend[Element >> 9]) / 511.0f;
Element = (pSource->v >> 20) & 0x3FF;
vectorOut.z = (float)(int16_t)(Element | SignExtend[Element >> 9]) / 511.0f;
vectorOut.w = (float)(pSource->v >> 30) / 3.0f;

return vectorOut;  

Requirements

Header: Declared in directxpackedvector.h.