=?UTF-8?Q?Rico=20Sch=C3=BCller=20?=: d3dx9: Use float functions in D3DXQuaternionExp().

Alexandre Julliard julliard at winehq.org
Thu Sep 27 15:39:08 CDT 2012


Module: wine
Branch: master
Commit: ef65fddaf9db55ad4b7edb825b9a2c691bbcb09b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ef65fddaf9db55ad4b7edb825b9a2c691bbcb09b

Author: Rico Schüller <kgbricola at web.de>
Date:   Thu Sep 27 12:14:49 2012 +0200

d3dx9: Use float functions in D3DXQuaternionExp().

---

 dlls/d3dx9_36/math.c |   27 ++++++++++++++-------------
 1 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/dlls/d3dx9_36/math.c b/dlls/d3dx9_36/math.c
index dc0cfb7..d54095a 100644
--- a/dlls/d3dx9_36/math.c
+++ b/dlls/d3dx9_36/math.c
@@ -1263,28 +1263,29 @@ D3DXQUATERNION* WINAPI D3DXQuaternionBaryCentric(D3DXQUATERNION *pout, CONST D3D
     return pout;
 }
 
-D3DXQUATERNION* WINAPI D3DXQuaternionExp(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq)
+D3DXQUATERNION * WINAPI D3DXQuaternionExp(D3DXQUATERNION *out, const D3DXQUATERNION *q)
 {
     FLOAT norm;
 
-    TRACE("(%p, %p)\n", pout, pq);
+    TRACE("out %p, q %p\n", out, q);
 
-    norm = sqrt(pq->x * pq->x + pq->y * pq->y + pq->z * pq->z);
-    if (norm )
+    norm = sqrtf(q->x * q->x + q->y * q->y + q->z * q->z);
+    if (norm)
     {
-     pout->x = sin(norm) * pq->x / norm;
-     pout->y = sin(norm) * pq->y / norm;
-     pout->z = sin(norm) * pq->z / norm;
-     pout->w = cos(norm);
+        out->x = sinf(norm) * q->x / norm;
+        out->y = sinf(norm) * q->y / norm;
+        out->z = sinf(norm) * q->z / norm;
+        out->w = cosf(norm);
     }
     else
     {
-     pout->x = 0.0f;
-     pout->y = 0.0f;
-     pout->z = 0.0f;
-     pout->w = 1.0f;
+        out->x = 0.0f;
+        out->y = 0.0f;
+        out->z = 0.0f;
+        out->w = 1.0f;
     }
-    return pout;
+
+    return out;
 }
 
 D3DXQUATERNION* WINAPI D3DXQuaternionInverse(D3DXQUATERNION *pout, CONST D3DXQUATERNION *pq)




More information about the wine-cvs mailing list