aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Kenna <cjk@cs.unc.edu>2012-09-29 19:42:36 -0400
committerChristopher Kenna <cjk@cs.unc.edu>2012-09-29 19:53:38 -0400
commitc12b539cc628ceea4d9f75808395b9217ff72413 (patch)
treecf6532642f6c9ca98aa81bed75a9c6fcf9eeaaa3
parente6f51fb826ce98d436f445aae4eb9e9dba1f30e8 (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.
-rw-r--r--include/litmus/fpmath.h4
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 */
33static inline fp_t _frac(fpbuf_t a, fpbuf_t b) 35static 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
38static inline fpbuf_t _point(fp_t x) 40static inline fpbuf_t _point(fp_t x)