50#define _cairo_uint32s_to_uint64(h,l) ((uint64_t) (h) << 32 | (l)) 
   82    q.hi = i < 0 ? -1 : 0;
 
  120#define uint32_lo(i)    ((i) & 0xffff) 
  121#define uint32_hi(i)    ((i) >> 16) 
  122#define uint32_carry16  ((1) << 16) 
  129    uint16_t    ah, al, bh, bl;
 
  145    r3 += uint32_carry16;
 
  147    s.hi = r3 + uint32_hi(r1);
 
  148    s.lo = (uint32_lo (r1) << 16) + uint32_lo (r0);
 
  170    s.hi += a.lo * b.hi + a.hi * b.lo;
 
  185    a.hi = a.hi << shift | a.lo >> (32 - shift);
 
  186    a.lo = a.lo << shift;
 
  202    a.lo = a.lo >> shift | a.hi << (32 - shift);
 
  203    a.hi = a.hi >> shift;
 
  208#define _cairo_uint32_rsa(a,n)  ((uint32_t) (((int32_t) (a)) >> (n))) 
  216    a.hi = _cairo_uint32_rsa (a.hi, 31);
 
  221    a.lo = a.lo >> shift | a.hi << (32 - shift);
 
  222    a.hi = _cairo_uint32_rsa (a.hi, shift);
 
  230    return (a.hi < b.hi ||
 
  231        (a.hi == b.hi && a.lo < b.lo));
 
  237    return a.hi == b.hi && a.lo == b.lo;
 
  289    while (bit.hi | bit.lo)
 
  323    if (num_neg != den_neg)
 
  414#define uint64_lo32(i)  ((i) & 0xffffffff) 
  415#define uint64_hi32(i)  ((i) >> 32) 
  416#define uint64_lo(i)    ((i) & 0xffffffff) 
  417#define uint64_hi(i)    ((i) >> 32) 
  418#define uint64_shift32(i)   ((i) << 32) 
  419#define uint64_carry32  (((uint64_t) 1) << 32) 
  423#define uint64_lo32(i)  ((i).lo) 
  424#define uint64_hi32(i)  ((i).hi) 
  596#define _cairo_msbset64(q)  (q & ((uint64_t) 1 << 63)) 
  598#define _cairo_msbset64(q)  (q.hi & ((uint32_t) 1 << 31)) 
  669    if (num_neg != den_neg)
 
  790    result.
rem = remainder;
 
  823    if (num_neg != den_neg)
 
cairo_x function declarations, which provide the fallback high precision arithmetic implementation.
 
#define _cairo_int64_lt(a, b)
 
#define _cairo_uint64_to_uint32(i)
 
#define _cairo_uint64_eq(a, b)
 
#define _cairo_int64_negate(a)
 
#define _cairo_uint64_add(a, b)
 
#define _cairo_uint64_negate(a)
 
#define _cairo_uint64_lt(a, b)
 
#define _cairo_int32x32_64_mul(a, b)
 
#define _cairo_uint64_mul(a, b)
 
#define _cairo_uint32x32_64_mul(a, b)
 
#define _cairo_uint64_ge(a, b)
 
#define _cairo_uint64_gt(a, b)
 
#define _cairo_uint64_lsl(a, b)
 
#define _cairo_int32_to_int64(i)
 
#define _cairo_uint128_ne(a, b)
 
#define _cairo_uint64_le(a, b)
 
#define _cairo_uint128_le(a, b)
 
#define _cairo_int64_to_uint64(i)
 
#define _cairo_uint64_sub(a, b)
 
#define _cairo_int64_negative(a)
 
#define _cairo_uint128_to_uint64(a)
 
#define _cairo_uint64_rsa(a, b)
 
#define _cairo_int128_negative(a)
 
#define _cairo_uint64_rsl(a, b)
 
#define _cairo_uint128_to_uint32(a)
 
#define _cairo_uint64_not(a)
 
#define _cairo_uint32_to_uint64(i)
 
#define _cairo_int128_negate(a)
 
#define uint64_shift32(i)
 
cairo_uint128_t _cairo_uint128_lsl(cairo_uint128_t a, int shift)
 
cairo_uint128_t _cairo_uint32_to_uint128(uint32_t i)
 
cairo_uint128_t _cairo_uint128_negate(cairo_uint128_t a)
 
cairo_uint128_t _cairo_uint128_not(cairo_uint128_t a)
 
cairo_quorem64_t _cairo_int_96by64_32x64_divrem(cairo_int128_t num, cairo_int64_t den)
 
cairo_uint128_t _cairo_uint64_to_uint128(cairo_uint64_t i)
 
const char * cairo_impl64
 
cairo_uint128_t _cairo_uint128_sub(cairo_uint128_t a, cairo_uint128_t b)
 
cairo_quorem128_t _cairo_int128_divrem(cairo_int128_t num, cairo_int128_t den)
 
#define _cairo_msbset64(q)
 
cairo_uquorem64_t _cairo_uint64_divrem(cairo_uint64_t num, cairo_uint64_t den)
 
int _cairo_uint128_eq(cairo_uint128_t a, cairo_uint128_t b)
 
cairo_uint128_t _cairo_uint128_rsl(cairo_uint128_t a, int shift)
 
const char * cairo_impl128
 
#define _cairo_uint32s_to_uint64(h, l)
 
cairo_uquorem64_t _cairo_uint_96by64_32x64_divrem(cairo_uint128_t num, cairo_uint64_t den)
_cairo_uint_96by64_32x64_divrem:
 
cairo_int128_t _cairo_int64x64_128_mul(cairo_int64_t a, cairo_int64_t b)
 
cairo_int128_t _cairo_int32_to_int128(int32_t i)
 
cairo_uquorem128_t _cairo_uint128_divrem(cairo_uint128_t num, cairo_uint128_t den)
 
int _cairo_uint128_lt(cairo_uint128_t a, cairo_uint128_t b)
 
cairo_int128_t _cairo_int64_to_int128(cairo_int64_t i)
 
cairo_uint128_t _cairo_uint128_add(cairo_uint128_t a, cairo_uint128_t b)
 
cairo_quorem64_t _cairo_int64_divrem(cairo_int64_t num, cairo_int64_t den)
 
cairo_uint128_t _cairo_uint64x64_128_mul(cairo_uint64_t a, cairo_uint64_t b)
 
int _cairo_int128_lt(cairo_int128_t a, cairo_int128_t b)
 
cairo_uint128_t _cairo_uint128_mul(cairo_uint128_t a, cairo_uint128_t b)
 
cairo_uint128_t _cairo_uint128_rsa(cairo_int128_t a, int shift)