XMStoreFloat3SE

XMVECTORXMFLOAT3SE に格納します。

構文

VOID XMStoreFloat3SE(         XMFLOAT3SE *pDestination,         XMVECTOR V)

パラメーター

  • pDestination
    [out] データを格納するアドレス。
  • V
    [in] 格納するデータが含まれるベクトル

戻り値

なし。

解説 

次の擬似コードは、この関数の処理を表したものです。

  XMVECTOR N;  static CONST XMVECTOR  Max = { 65472.f, 65427.f, 65427.f, 0 };  N = XMVectorClamp(V, XMVectorZero(), Max);  UINT m[3], e[3];  ConvertToFloat14( N.x, &m[0], &e[0]);  ConvertToFloat14( N.y, &m[1], &e[1]);  ConvertToFloat14( N.z, &m[2], &e[2]);  UINT T = XMMax( e[0], XMMax( e[1], e[2] ) );  pDestination->xm = m[0] >> (T - e[0]);  PDestination->ym = m[1] >> (T - e[1]);  pDestination->zm = m[2] >> (T - e[2]);  pDestination->e = T;

これらの 3 つの要素の大きさが互いにかけ離れている場合は、そのうち最大の値が指数に設定されて、他の要素は 0 にシフトされます。

要件

ヘッダー: xnamath.h で宣言されています。