XMLoadDecN4

Loads an XMDECN4 into an XMVECTOR.

Syntax

XMVECTOR XMLoadDecN4(
         const XMDECN4 *pSource
)  

Parameters

pSource
Type: XMDECN4 *

[in]

Address of the XMDECN4 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};
static const uint32_t SignExtendW[] = {0x00000000, 0xFFFFFFFC};

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;
Element = pSource->v >> 30;
vectorOut.w = (float)(int16_t)(Element | SignExtendW[Element >> 1]);

return vectorOut;  

Requirements

Header: Declared in directxpackedvector.h.