XMSHORTN4 structure

A 4D vector for storing signed, normalized values as signed 16-bit integers, (type int16_t).

For a list of additional functionality such as constructors and operators that are available using XMSHORTN4 when you are programming in C++, see XMSHORTN4 Extensions.

Note  See DirectXMath Library Type Equivalences for information about equivalent D3DDECLTYPE, D3DFORMAT, and DXGI_FORMAT objects.
 

Syntax

struct XMSHORTN4 {
  union {
    struct {
      int16_t x;
      int16_t y;
      int16_t z;
      int16_t w;
    };
    uint64_t v;
  };
  void         XMSHORTN4();
  void         XMSHORTN4( const XMSHORTN4 & );
  XMSHORTN4 &  operator=( const XMSHORTN4 & );
  void         XMSHORTN4( XMSHORTN4 && );
  XMSHORTN4 &  operator=( XMSHORTN4 && );
  XM_CONSTEXPR XMSHORTN4( uint64_t Packed);
  XM_CONSTEXPR XMSHORTN4( int16_t _x, int16_t _y, int16_t _z, int16_t _w);
  void         XMSHORTN4( const int16_t *pArray);
  void         XMSHORTN4( float _x, float _y, float _z, float _w);
  void         XMSHORTN4( const float *pArray);
  XMSHORTN4 &  operator=( uint64_t Packed);
};

Members

x

Signed 16-bit integer in the range [-32767, 32767] describing the x-coordinate of the vector.

y

Signed 16-bit integer in the range [-32767, 32767] describing the y-coordinate of the vector.

z

Signed 16-bit integer in the range [-32767, 32767] describing the z-coordinate of the vector.

w

Signed 16-bit integer in the range [-32767, 32767] describing the w-coordinate of the vector.

v

void XMSHORTN4()

Default constructor for XMSHORTN4.

Default constructor for XMSHORTN4.

Note  This constructor is only available under C++.
 

void XMSHORTN4( const XMSHORTN4 & )

A constructor for XMSHORTN4.

A constructor for XMSHORTN4.

Note  This constructor is only available under C++.

XMSHORTN4 & operator=( const XMSHORTN4 & )

Assigns the vector component data from one instance of XMSHORTN4 to the current instance of XMSHORTN4.

This operator assigns the vector component data from one instance of XMSHORTN4 to the current instance of XMSHORTN4.

Note  This operator is only available for C++ based development.

void XMSHORTN4( XMSHORTN4 && )

A constructor for XMSHORTN4.

A constructor for XMSHORTN4.

Note  This constructor is only available under C++.

XMSHORTN4 & operator=( XMSHORTN4 && )

XM_CONSTEXPR XMSHORTN4( uint64_t Packed)

A constructor for XMSHORTN4.

A constructor for XMSHORTN4.

Note  This constructor is only available under C++.

XM_CONSTEXPR XMSHORTN4( int16_t _x, int16_t _y, int16_t _z, int16_t _w)

Initializes a new instance of XMSHORTN4 from four int16_t arguments.

This constructor initializes a new instance of XMSHORTN4 from four int16_t arguments.

Note  This constructor is only available under C++.
 

void XMSHORTN4( const int16_t *pArray)

Initializes a new instance of XMSHORTN4 from a four element int16_t array argument.

This constructor initializes a new instance of XMSHORTN4 from a four element int16_t array argument.

Note  This constructor is only available under C++.

void XMSHORTN4( float _x, float _y, float _z, float _w)

Initializes a new instance of XMSHORTN4 from four normalized floatarguments.

This constructor initializes a new instance of XMSHORTN4 from a four normalized float arguments.

Note  This constructor is only available under C++.
 

void XMSHORTN4( const float *pArray)

Initializes a new instance of XMSHORTN4 from a four element float array argument.

This constructor initializes a new instance of XMSHORTN4 from a from a four element float array argument.

Note  This constructor is only available under C++.

XMSHORTN4 & operator=( uint64_t Packed)

Remarks

Those XMSHORTN4 constructors using floating point arguments require normalized input, which must be in the range of [-1.0.-1.0]. During instantiation, these data are multiplied by 32767.0f, results are rounded, and then assigned to the appropriate members of XMSHORTN4.

XMSHORTN4 can be used to load instances of XMVECTOR from normalized values, by using XMLoadShortN4, which divides each component 32767.0f, rounds the result, and then assigns the components to an XMVECTOR instance.

XMVECTOR instances containing normalized values can be stored into XMSHORTN4using XMStoreShortN4, which multiplies each component by 32767.0f, rounding the result, before assigning the values to the appropriate XMSHORTN4 members.

Namespace: Use DirectX::PackedVector

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

   
Header directxpackedvector.h

See also

DirectXMath Library Structures

XMSHORTN4 Extensions