diff options
author | Christopher Kenna <cjk@cs.unc.edu> | 2012-09-29 19:42:36 -0400 |
---|---|---|
committer | Christopher Kenna <cjk@cs.unc.edu> | 2012-10-11 18:33:23 -0400 |
commit | 592f6c45ea37e2d76ba3e34c31e55070ce00966c (patch) | |
tree | 7ef3a613a7b408094cec3b2b9084e64c1e7ef56f /include | |
parent | 761565cb9341c0889ff127f0393c1a2ef1a62678 (diff) |
Fix 64-bit division in fpmath.h
Commit e6f51fb826ce98d436f445aae4eb9e9dba1f30e8 added some floating
point support for LITMUS^RT, but it used 64-bit division that ARM does
not support. Therefore, use the division functions from math64.h.
Signed-off-by: Christopher Kenna <cjk@cs.unc.edu>
Diffstat (limited to 'include')
-rw-r--r-- | include/litmus/fpmath.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/litmus/fpmath.h b/include/litmus/fpmath.h index 04d4bcaeae96..642de98542c8 100644 --- a/include/litmus/fpmath.h +++ b/include/litmus/fpmath.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef __FP_MATH_H__ | 1 | #ifndef __FP_MATH_H__ |
2 | #define __FP_MATH_H__ | 2 | #define __FP_MATH_H__ |
3 | 3 | ||
4 | #include <linux/math64.h> | ||
5 | |||
4 | #ifndef __KERNEL__ | 6 | #ifndef __KERNEL__ |
5 | #include <stdint.h> | 7 | #include <stdint.h> |
6 | #define abs(x) (((x) < 0) ? -(x) : x) | 8 | #define abs(x) (((x) < 0) ? -(x) : x) |
@@ -32,7 +34,7 @@ static inline fp_t FP(fpbuf_t x) | |||
32 | /* divide two integers to obtain a fixed point value */ | 34 | /* divide two integers to obtain a fixed point value */ |
33 | static inline fp_t _frac(fpbuf_t a, fpbuf_t b) | 35 | static inline fp_t _frac(fpbuf_t a, fpbuf_t b) |
34 | { | 36 | { |
35 | return _fp(FP(a).val / (b)); | 37 | return _fp(div64_s64(FP(a).val, (b))); |
36 | } | 38 | } |
37 | 39 | ||
38 | static inline fpbuf_t _point(fp_t x) | 40 | static inline fpbuf_t _point(fp_t x) |