Finish up float.c, hopfully the div and sub math is right.

svn path=/trunk/; revision=26799
This commit is contained in:
James Tabor 2007-05-15 20:48:58 +00:00
parent 0a44b61c7f
commit 12ccaa3207

View file

@ -158,7 +158,18 @@ FLOATOBJ_Add (
)
{
// www.osr.com/ddk/graphics/gdifncs_2i3r.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
EFLOAT_S * efp1 = (EFLOAT_S *)pf1;
gxf_long f;
gxf_long f1;
f.l = EFtoF(efp);
f1.l = EFtoF(efp1);
f.f = f.f + f1.f;
#ifdef _X86_
FtoEF( efp, f.l );
#else
FtoEF( efp, f.f );
#endif
}
VOID
@ -169,7 +180,21 @@ FLOATOBJ_AddFloat(
)
{
// www.osr.com/ddk/graphics/gdifncs_0ip3.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
gxf_long fe;
gxf_long f1;
fe.l = EFtoF(efp);
#ifdef _X86_
f1.l = f;
#else
f1.f = f;
#endif
fe.f = fe.f + f1.f;
#ifdef _X86_
FtoEF( efp, fe.l );
#else
FtoEF( efp, fe.f );
#endif
}
VOID
@ -180,7 +205,15 @@ FLOATOBJ_AddLong(
)
{
// www.osr.com/ddk/graphics/gdifncs_12jr.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
gxf_long f;
f.l = EFtoF(efp);
f.f = f.f + l;
#ifdef _X86_
FtoEF( efp, f.l );
#else
FtoEF( efp, f.f );
#endif
}
VOID
@ -191,7 +224,18 @@ FLOATOBJ_Div(
)
{
// www.osr.com/ddk/graphics/gdifncs_3ndz.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
EFLOAT_S * efp1 = (EFLOAT_S *)pf1;
gxf_long f;
gxf_long f1;
f.l = EFtoF(efp);
f1.l = EFtoF(efp1);
f.f = f.f / f1.f;
#ifdef _X86_
FtoEF( efp, f.l );
#else
FtoEF( efp, f.f );
#endif
}
VOID
@ -202,7 +246,21 @@ FLOATOBJ_DivFloat(
)
{
// www.osr.com/ddk/graphics/gdifncs_0gfb.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
gxf_long fe;
gxf_long f1;
fe.l = EFtoF(efp);
#ifdef _X86_
f1.l = f;
#else
f1.f = f;
#endif
fe.f = fe.f / f1.f;
#ifdef _X86_
FtoEF( efp, fe.l );
#else
FtoEF( efp, fe.f );
#endif
}
VOID
@ -213,7 +271,15 @@ FLOATOBJ_DivLong(
)
{
// www.osr.com/ddk/graphics/gdifncs_6jdz.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
gxf_long f;
f.l = EFtoF(efp);
f.f = f.f / l;
#ifdef _X86_
FtoEF( efp, f.l );
#else
FtoEF( efp, f.f );
#endif
}
BOOL
@ -224,7 +290,13 @@ FLOATOBJ_Equal(
)
{
// www.osr.com/ddk/graphics/gdifncs_6ysn.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
EFLOAT_S * efp1 = (EFLOAT_S *)pf1;
gxf_long f;
gxf_long f1;
f.l = EFtoF(efp);
f1.l = EFtoF(efp1);
if (f.f == f1.f) return TRUE;
return FALSE;
}
@ -236,7 +308,10 @@ FLOATOBJ_EqualLong(
)
{
// www.osr.com/ddk/graphics/gdifncs_1pgn.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
gxf_long f;
f.l = EFtoF(efp);
if (f.f == l) return TRUE;
return FALSE;
}
@ -272,7 +347,13 @@ FLOATOBJ_GreaterThan(
)
{
// www.osr.com/ddk/graphics/gdifncs_8n53.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
EFLOAT_S * efp1 = (EFLOAT_S *)pf1;
gxf_long f;
gxf_long f1;
f.l = EFtoF(efp);
f1.l = EFtoF(efp1);
if(f.f > f1.f) return TRUE;
return FALSE;
}
@ -284,7 +365,10 @@ FLOATOBJ_GreaterThanLong(
)
{
// www.osr.com/ddk/graphics/gdifncs_6gx3.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
gxf_long f;
f.l = EFtoF(efp);
if (f.f > l) return TRUE;
return FALSE;
}
@ -296,7 +380,13 @@ FLOATOBJ_LessThan(
)
{
// www.osr.com/ddk/graphics/gdifncs_1ynb.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
EFLOAT_S * efp1 = (EFLOAT_S *)pf1;
gxf_long f;
gxf_long f1;
f.l = EFtoF(efp);
f1.l = EFtoF(efp1);
if(f.f < f1.f) return TRUE;
return FALSE;
}
@ -308,7 +398,10 @@ FLOATOBJ_LessThanLong(
)
{
// www.osr.com/ddk/graphics/gdifncs_9nzb.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
gxf_long f;
f.l = EFtoF(efp);
if (f.f < l) return TRUE;
return FALSE;
}
@ -320,7 +413,18 @@ FLOATOBJ_Mul(
)
{
// www.osr.com/ddk/graphics/gdifncs_8ppj.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
EFLOAT_S * efp1 = (EFLOAT_S *)pf1;
gxf_long f;
gxf_long f1;
f.l = EFtoF(efp);
f1.l = EFtoF(efp1);
f.f = f1.f * f.f;
#ifdef _X86_
FtoEF( efp, f.l );
#else
FtoEF( efp, f.f );
#endif
}
VOID
@ -331,7 +435,21 @@ FLOATOBJ_MulFloat(
)
{
// www.osr.com/ddk/graphics/gdifncs_3puv.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
gxf_long fe;
gxf_long f1;
fe.l = EFtoF(efp);
#ifdef _X86_
f1.l = f;
#else
f1.f = f;
#endif
fe.f = f1.f * fe.f;
#ifdef _X86_
FtoEF( efp, fe.l );
#else
FtoEF( efp, fe.f );
#endif
}
VOID
@ -342,7 +460,15 @@ FLOATOBJ_MulLong(
)
{
// www.osr.com/ddk/graphics/gdifncs_56lj.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
gxf_long f;
f.l = EFtoF(efp);
f.f = f.f * l;
#ifdef _X86_
FtoEF( efp, f.l );
#else
FtoEF( efp, f.f );
#endif
}
VOID
@ -392,7 +518,18 @@ FLOATOBJ_Sub(
)
{
// www.osr.com/ddk/graphics/gdifncs_6lyf.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
EFLOAT_S * efp1 = (EFLOAT_S *)pf1;
gxf_long f;
gxf_long f1;
f.l = EFtoF(efp);
f1.l = EFtoF(efp1);
f.f = f.f - f1.f;
#ifdef _X86_
FtoEF( efp, f.l );
#else
FtoEF( efp, f.f );
#endif
}
VOID
@ -403,7 +540,21 @@ FLOATOBJ_SubFloat(
)
{
// www.osr.com/ddk/graphics/gdifncs_2zvr.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
gxf_long fe;
gxf_long f1;
fe.l = EFtoF(efp);
#ifdef _X86_
f1.l = f;
#else
f1.f = f;
#endif
fe.f = fe.f - f1.f;
#ifdef _X86_
FtoEF( efp, fe.l );
#else
FtoEF( efp, fe.f );
#endif
}
VOID
@ -414,5 +565,13 @@ FLOATOBJ_SubLong(
)
{
// www.osr.com/ddk/graphics/gdifncs_852f.htm
UNIMPLEMENTED;
EFLOAT_S * efp = (EFLOAT_S *)pf;
gxf_long f;
f.l = EFtoF(efp);
f.f = f.f - l;
#ifdef _X86_
FtoEF( efp, f.l );
#else
FtoEF( efp, f.f );
#endif
}