[PATCH] Implement D3DXVec2Minimize with a test
David Adam
David.Adam at math.cnrs.fr
Fri Oct 5 15:27:04 CDT 2007
---
dlls/d3dx8/d3dx8.spec | 1 +
dlls/d3dx8/math.c | 7 +++++++
dlls/d3dx8/tests/math.c | 5 +++++
include/d3dx8math.h | 1 +
4 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/dlls/d3dx8/d3dx8.spec b/dlls/d3dx8/d3dx8.spec
index 64d5426..892f51f 100644
--- a/dlls/d3dx8/d3dx8.spec
+++ b/dlls/d3dx8/d3dx8.spec
@@ -1,5 +1,6 @@
@ stdcall D3DXVec2Subtract(ptr ptr ptr)
@ stub D3DXVec2Normalize
+@ stdcall D3DXVec2Minimize(ptr ptr ptr)
@ stdcall D3DXVec2LengthSq(ptr)
@ stdcall D3DXVec2Length(ptr)
@ stub D3DXVec2Hermite
diff --git a/dlls/d3dx8/math.c b/dlls/d3dx8/math.c
index 290cd68..0483be8 100644
--- a/dlls/d3dx8/math.c
+++ b/dlls/d3dx8/math.c
@@ -44,6 +44,13 @@ FLOAT D3DXVec2LengthSq(CONST LPD3DXVECTOR2 pv)
return (pv->x)*(pv->x)+(pv->y)*(pv->y);
}
=20
+LPD3DXVECTOR2 D3DXVec2Minimize(LPD3DXVECTOR2 pOut, CONST LPD3DXVECTOR2 pv1,=
CONST LPD3DXVECTOR2 pv2)
+{
+ pOut->x=3D min(pv1->x , pv2->x);
+ pOut->y=3D min(pv1->y , pv2->y);
+ return pOut;
+}
+
LPD3DXVECTOR2 D3DXVec2Subtract(LPD3DXVECTOR2 pOut, CONST LPD3DXVECTOR2 pv1,=
CONST LPD3DXVECTOR2 pv2)
{
pOut->x=3D pv1->x - pv2->x;
diff --git a/dlls/d3dx8/tests/math.c b/dlls/d3dx8/tests/math.c
index ac8302b..8796bd5 100644
--- a/dlls/d3dx8/tests/math.c
+++ b/dlls/d3dx8/tests/math.c
@@ -46,6 +46,11 @@ static void Vector2Test(void)
long2=3DD3DXVec2LengthSq(&u);
ok((long2 =3D=3D 25.0f), "Expected 25.0f, Got %f\n", long2);
=20
+/*__________________Vect2Minimize____________________________*/
+ D3DXVec2Minimize(&result,&vec1,&vec2);
+ expected.x=3D-4.0f; expected.y=3D-2.0f;
+ expect_vec2(result,expected);
+
/*__________________Vect2Subtract____________________________*/
D3DXVec2Subtract(&result,&vec1,&vec2);
expected.x=3D12.0f; expected.y=3D-9.0f;
diff --git a/include/d3dx8math.h b/include/d3dx8math.h
index d3d3165..098e5e4 100644
--- a/include/d3dx8math.h
+++ b/include/d3dx8math.h
@@ -62,6 +62,7 @@ typedef struct D3DXCOLOR
LPD3DXVECTOR2 D3DXVec2Add(LPD3DXVECTOR2, CONST LPD3DXVECTOR2, CONST LPD3DXV=
ECTOR2);
FLOAT D3DXVec2Length(CONST LPD3DXVECTOR2);
FLOAT D3DXVec2LengthSq(CONST LPD3DXVECTOR2);
+LPD3DXVECTOR2 D3DXVec2Minimize(LPD3DXVECTOR2, CONST LPD3DXVECTOR2, CONST LP=
D3DXVECTOR2);
LPD3DXVECTOR2 D3DXVec2Subtract(LPD3DXVECTOR2, CONST LPD3DXVECTOR2, CONST LP=
D3DXVECTOR2);
=20
#endif
--=20
1.5.2.4
--=_5glo652cwtk4--
More information about the wine-patches
mailing list