XMVectorShiftLeft (XMVECTOR, XMVECTOR, uint32_t)

Shifts a vector left by a given number of 32-bit elements, filling the vacated elements with elements from a second vector.

Syntax

XMVECTOR XMVectorShiftLeft(
         XMVECTOR V1,
         XMVECTOR V2,
         uint32_t Elements
)  

Parameters

V1
Type: XMVECTOR 

Vector to shift left.

V2
Type: XMVECTOR 

Vector used to fill in the vacated components of V1 after it is shifted left.

Elements
Type: uint32_t 

Number of 32-bit elements by which to shift V left. This parameter must be 0, 1, 2, or 3.

Return value

Type: XMVECTOR 

Returns the shifted and filled in XMVECTOR.

Remarks

The following code demonstrates how this function might be used.

XMVECTOR v1 = XMVectorSet( 10.0f, 20.0f, 30.0f, 40.0f );
XMVECTOR v2 = XMVectorSet( 50.0f, 60.0f, 70.0f, 80.0f );
XMVECTOR result = XMVectorShiftLeft( v1, v2, 1 );  

The shifted vector (result) will be <20.0f, 30.0f, 40.0f, 50.0f>.

In the case of a constant shift value, it is more efficient to use the template form of XMVectorShiftLeft:

template<uint32_t Elements>
    XMVECTOR XMVectorShiftLeft(FXMVECTOR V1, FXMVECTOR V2)

Example: XMVectorShiftLeft<1>( v1, v2 );  

Requirements

Header: Declared in directxmath.h.