From 005ab41986b0bb6a4e626aee7a7a542247f422e7 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 27 Oct 2011 08:38:45 +1000 Subject: test: fix two more failing FP3232 tests And put a comment in to explain why we're testing for a frac between .3 and .6. We can't directly compare the frac since the floating/fixed point conversion loses precision. Signed-off-by: Peter Hutterer Reviewed-by: Peter Hutterer --- test/xi2/protocol-common.c | 1 + test/xi2/protocol-eventconvert.c | 4 +--- test/xi2/protocol-xiquerydevice.c | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/test/xi2/protocol-common.c b/test/xi2/protocol-common.c index 56d6bd268..27edfe516 100644 --- a/test/xi2/protocol-common.c +++ b/test/xi2/protocol-common.c @@ -108,6 +108,7 @@ TestPointerProc(DeviceIntPtr pDev, int what) pDev->valuator->axisVal[1] = screenInfo.screens[0]->height / 2; pDev->last.valuators[1] = pDev->valuator->axisVal[1]; + /* protocol-xiquerydevice.c relies on these increment */ SetScrollValuator(pDev, 2, SCROLL_TYPE_VERTICAL, 2.4, SCROLL_FLAG_NONE); SetScrollValuator(pDev, 3, SCROLL_TYPE_HORIZONTAL, 3.5, SCROLL_FLAG_PREFERRED); break; diff --git a/test/xi2/protocol-eventconvert.c b/test/xi2/protocol-eventconvert.c index ba2d96ad1..dce1c50c4 100644 --- a/test/xi2/protocol-eventconvert.c +++ b/test/xi2/protocol-eventconvert.c @@ -389,9 +389,7 @@ static void test_values_XIDeviceEvent(DeviceEvent *in, xXIDeviceEvent *out, { FP3232 vi, vo; - vi.integral = trunc(in->valuators.data[i]); - vi.frac = (in->valuators.data[i] - vi.integral) * (1UL << 32); - + vi = double_to_fp3232(in->valuators.data[i]); vo = *values; if (swap) diff --git a/test/xi2/protocol-xiquerydevice.c b/test/xi2/protocol-xiquerydevice.c index 63d725f28..569aea93a 100644 --- a/test/xi2/protocol-xiquerydevice.c +++ b/test/xi2/protocol-xiquerydevice.c @@ -213,9 +213,9 @@ static void reply_XIQueryDevice_data(ClientPtr client, int len, char *data, void } assert(si->increment.integral == si->number); - /* FIXME: frac testing with float/FP issues? */ - assert(si->increment.frac > 0.3 * (1UL << 32)); - assert(si->increment.frac < 0.6 * (1UL << 32)); + /* protocol-common.c sets up increments of 2.4 and 3.5 */ + assert(si->increment.frac > 0.3 * (1ULL << 32)); + assert(si->increment.frac < 0.6 * (1ULL << 32)); } } -- cgit v1.2.3