Rev 1892 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1892 | Rev 3959 | ||
---|---|---|---|
Line 52... | Line 52... | ||
52 | #if !HAVE_UINT64_T |
52 | #if !HAVE_UINT64_T |
Line 53... | Line 53... | ||
53 | 53 | ||
54 | cairo_uquorem64_t I |
54 | cairo_uquorem64_t I |
Line -... | Line 55... | ||
- | 55 | _cairo_uint64_divrem (cairo_uint64_t num, cairo_uint64_t den); |
|
- | 56 | ||
- | 57 | cairo_uint64_t I _cairo_double_to_uint64 (double i); |
|
- | 58 | double I _cairo_uint64_to_double (cairo_uint64_t i); |
|
- | 59 | cairo_int64_t I _cairo_double_to_int64 (double i); |
|
55 | _cairo_uint64_divrem (cairo_uint64_t num, cairo_uint64_t den); |
60 | double I _cairo_int64_to_double (cairo_uint64_t i); |
56 | 61 | ||
57 | cairo_uint64_t I _cairo_uint32_to_uint64 (uint32_t i); |
62 | cairo_uint64_t I _cairo_uint32_to_uint64 (uint32_t i); |
58 | #define _cairo_uint64_to_uint32(a) ((a).lo) |
63 | #define _cairo_uint64_to_uint32(a) ((a).lo) |
59 | cairo_uint64_t I _cairo_uint64_add (cairo_uint64_t a, cairo_uint64_t b); |
64 | cairo_uint64_t I _cairo_uint64_add (cairo_uint64_t a, cairo_uint64_t b); |
Line 101... | Line 106... | ||
101 | qr.quo = num / den; |
106 | qr.quo = num / den; |
102 | qr.rem = num % den; |
107 | qr.rem = num % den; |
103 | return qr; |
108 | return qr; |
104 | } |
109 | } |
Line -... | Line 110... | ||
- | 110 | ||
- | 111 | /* |
|
- | 112 | * These need to be functions or gcc will complain when used on the |
|
- | 113 | * result of a function: |
|
- | 114 | * |
|
- | 115 | * warning: cast from function call of type ‘#cairo_uint64_t’ to |
|
- | 116 | * non-matching type ‘double’ |
|
- | 117 | */ |
|
- | 118 | static cairo_always_inline cairo_const cairo_uint64_t _cairo_double_to_uint64 (double i) { return i; } |
|
- | 119 | static cairo_always_inline cairo_const double _cairo_uint64_to_double (cairo_uint64_t i) { return i; } |
|
- | 120 | ||
- | 121 | static cairo_always_inline cairo_int64_t I _cairo_double_to_int64 (double i) { return i; } |
|
- | 122 | static cairo_always_inline double I _cairo_int64_to_double (cairo_int64_t i) { return i; } |
|
105 | 123 | ||
106 | #define _cairo_uint32_to_uint64(i) ((uint64_t) (i)) |
124 | #define _cairo_uint32_to_uint64(i) ((uint64_t) (i)) |
107 | #define _cairo_uint64_to_uint32(i) ((uint32_t) (i)) |
125 | #define _cairo_uint64_to_uint32(i) ((uint32_t) (i)) |
108 | #define _cairo_uint64_add(a,b) ((a) + (b)) |
126 | #define _cairo_uint64_add(a,b) ((a) + (b)) |
109 | #define _cairo_uint64_sub(a,b) ((a) - (b)) |
127 | #define _cairo_uint64_sub(a,b) ((a) - (b)) |
Line 141... | Line 159... | ||
141 | #define _cairo_int64_not(a) (~(a)) |
159 | #define _cairo_int64_not(a) (~(a)) |
Line 142... | Line 160... | ||
142 | 160 | ||
Line 143... | Line 161... | ||
143 | #endif |
161 | #endif |
144 | 162 | ||
145 | /* |
163 | /* |
146 | * 64-bit comparisions derived from lt or eq |
164 | * 64-bit comparisons derived from lt or eq |
147 | */ |
165 | */ |
148 | #define _cairo_uint64_le(a,b) (!_cairo_uint64_gt(a,b)) |
166 | #define _cairo_uint64_le(a,b) (!_cairo_uint64_gt(a,b)) |
149 | #define _cairo_uint64_ne(a,b) (!_cairo_uint64_eq(a,b)) |
167 | #define _cairo_uint64_ne(a,b) (!_cairo_uint64_eq(a,b)) |