Input: Convert ValuatorMask to double-precision internally
Switch the ValuatorMask struct to using doubles instead of ints for the actual values. Preserve the old int API, and (attempt to) round towards zero for values we return. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
60a766a96f
commit
79d4deb76d
|
@ -514,7 +514,7 @@ valuator_mask_set(ValuatorMask *mask, int valuator, int data)
|
|||
int
|
||||
valuator_mask_get(const ValuatorMask *mask, int valuator)
|
||||
{
|
||||
return mask->valuators[valuator];
|
||||
return trunc(mask->valuators[valuator]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -527,7 +527,7 @@ valuator_mask_unset(ValuatorMask *mask, int valuator)
|
|||
int i, lastbit = -1;
|
||||
|
||||
ClearBit(mask->mask, valuator);
|
||||
mask->valuators[valuator] = 0;
|
||||
mask->valuators[valuator] = 0.0;
|
||||
|
||||
for (i = 0; i <= mask->last_bit; i++)
|
||||
if (valuator_mask_isset(mask, i))
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
struct _ValuatorMask {
|
||||
int8_t last_bit; /* highest bit set in mask */
|
||||
uint8_t mask[(MAX_VALUATORS + 7)/8];
|
||||
int valuators[MAX_VALUATORS]; /* valuator data */
|
||||
double valuators[MAX_VALUATORS]; /* valuator data */
|
||||
};
|
||||
|
||||
extern void verify_internal_event(const InternalEvent *ev);
|
||||
|
|
Loading…
Reference in New Issue
Block a user