Loads an XMDECN4 into an XMVECTOR.
XMVECTOR XMLoadDecN4(
const XMDECN4 *pSource
)
pSource
Type: XMDECN4 *
[in]
Address of the XMDECN4 structure to load.
Type: XMVECTOR
Returns an XMVECTOR loaded with the data from the pSource parameter.
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;
Header: Declared in directxpackedvector.h.