Subversion Repositories Kolibri OS

Rev

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))