[PATCH] Implement D3DXVec2Maximize with a test
David Adam
David.Adam at math.cnrs.fr
Fri Oct 5 15:35:40 CDT 2007
---
dlls/d3dx8/d3dx8.spec | 1 +
dlls/d3dx8/math.c | 7 +++++++
dlls/d3dx8/tests/math.c | 9 +++++++--
include/d3dx8math.h | 1 +
4 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/dlls/d3dx8/d3dx8.spec b/dlls/d3dx8/d3dx8.spec
index 892f51f..a7119a5 100644
--- a/dlls/d3dx8/d3dx8.spec
+++ b/dlls/d3dx8/d3dx8.spec
@@ -1,6 +1,7 @@
@ stdcall D3DXVec2Subtract(ptr ptr ptr)
@ stub D3DXVec2Normalize
@ stdcall D3DXVec2Minimize(ptr ptr ptr)
+@ stdcall D3DXVec2Maximize(ptr ptr ptr)
@ stdcall D3DXVec2LengthSq(ptr)
@ stdcall D3DXVec2Length(ptr)
@ stub D3DXVec2Hermite
diff --git a/dlls/d3dx8/math.c b/dlls/d3dx8/math.c
index 0483be8..3324408 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 D3DXVec2Maximize(LPD3DXVECTOR2 pOut, CONST LPD3DXVECTOR2 pv1,=
CONST LPD3DXVECTOR2 pv2)
+{
+ pOut->x=3D max(pv1->x , pv2->x);
+ pOut->y=3D max(pv1->y , pv2->y);
+ return pOut;
+}
+
LPD3DXVECTOR2 D3DXVec2Minimize(LPD3DXVECTOR2 pOut, CONST LPD3DXVECTOR2 pv1,=
CONST LPD3DXVECTOR2 pv2)
{
pOut->x=3D min(pv1->x , pv2->x);
diff --git a/dlls/d3dx8/tests/math.c b/dlls/d3dx8/tests/math.c
index 8796bd5..5297743 100644
--- a/dlls/d3dx8/tests/math.c
+++ b/dlls/d3dx8/tests/math.c
@@ -46,12 +46,17 @@ static void Vector2Test(void)
long2=3DD3DXVec2LengthSq(&u);
ok((long2 =3D=3D 25.0f), "Expected 25.0f, Got %f\n", long2);
=20
-/*__________________Vect2Minimize____________________________*/
+/*__________________Vect2Maximize________________________*/
+ D3DXVec2Maximize(&result,&vec1,&vec2);
+ expected.x=3D8.0f; expected.y=3D7.0f;
+ expect_vec2(result,expected);
+
+/*__________________Vect2Minimize_________________________*/
D3DXVec2Minimize(&result,&vec1,&vec2);
expected.x=3D-4.0f; expected.y=3D-2.0f;
expect_vec2(result,expected);
=20
-/*__________________Vect2Subtract____________________________*/
+/*__________________Vect2Subtract__________________________*/
D3DXVec2Subtract(&result,&vec1,&vec2);
expected.x=3D12.0f; expected.y=3D-9.0f;
expect_vec2(result,expected);
diff --git a/include/d3dx8math.h b/include/d3dx8math.h
index 098e5e4..9f4af1d 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 D3DXVec2Maximize(LPD3DXVECTOR2, CONST LPD3DXVECTOR2, CONST LP=
D3DXVECTOR2);
LPD3DXVECTOR2 D3DXVec2Minimize(LPD3DXVECTOR2, CONST LPD3DXVECTOR2, CONST LP=
D3DXVECTOR2);
LPD3DXVECTOR2 D3DXVec2Subtract(LPD3DXVECTOR2, CONST LPD3DXVECTOR2, CONST LP=
D3DXVECTOR2);
=20
--=20
1.5.2.4
--=_7kpalmw49zsw--
More information about the wine-patches
mailing list