XMLoadDecN4 function (directxpackedvector.h)

Loads an XMDECN4 into an XMVECTOR.

Syntax

XMVECTOR XM_DEPRECATED XM_CALLCONV XMLoadDecN4(
  [in] const XMDECN4 *pSource
) noexcept;

Parameters

[in] pSource

Address of the XMDECN4 structure to load.

Return value

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;

Platform Requirements

Microsoft Visual Studio 2010 or Microsoft Visual Studio 2012 with the Windows SDK for Windows 8. Supported for Win32 desktop apps, Windows Store apps, and Windows Phone 8 apps.

Requirements

Requirement Value
Target Platform Windows
Header directxpackedvector.h (include DirectXMath.h)

See also

DirectXMath Library Vector Load Functions