w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

cairo-wideint-private.h File Reference
Include dependency graph for cairo-wideint-private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define I   cairo_private cairo_const
 
#define _cairo_uint64_to_uint32(a)   ((a).lo)
 
#define _cairo_uint64_is_zero(a)   ((a).hi == 0 && (a).lo == 0)
 
#define _cairo_uint64_negative(a)   (((int32_t) ((a).hi)) < 0)
 
#define _cairo_uint64_to_int64(i)   (i)
 
#define _cairo_int64_to_uint64(i)   (i)
 
#define _cairo_int64_to_int32(a)   ((int32_t) _cairo_uint64_to_uint32(a))
 
#define _cairo_int64_add(a, b)   _cairo_uint64_add (a,b)
 
#define _cairo_int64_sub(a, b)   _cairo_uint64_sub (a,b)
 
#define _cairo_int64_mul(a, b)   _cairo_uint64_mul (a,b)
 
#define _cairo_int64_is_zero(a)   _cairo_uint64_is_zero (a)
 
#define _cairo_int64_eq(a, b)   _cairo_uint64_eq (a,b)
 
#define _cairo_int64_lsl(a, b)   _cairo_uint64_lsl (a,b)
 
#define _cairo_int64_rsl(a, b)   _cairo_uint64_rsl (a,b)
 
#define _cairo_int64_rsa(a, b)   _cairo_uint64_rsa (a,b)
 
#define _cairo_int64_negate(a)   _cairo_uint64_negate(a)
 
#define _cairo_int64_negative(a)   (((int32_t) ((a).hi)) < 0)
 
#define _cairo_int64_not(a)   _cairo_uint64_not(a)
 
#define _cairo_uint64_le(a, b)   (!_cairo_uint64_gt(a,b))
 
#define _cairo_uint64_ne(a, b)   (!_cairo_uint64_eq(a,b))
 
#define _cairo_uint64_ge(a, b)   (!_cairo_uint64_lt(a,b))
 
#define _cairo_uint64_gt(a, b)   _cairo_uint64_lt(b,a)
 
#define _cairo_int64_le(a, b)   (!_cairo_int64_gt(a,b))
 
#define _cairo_int64_ne(a, b)   (!_cairo_int64_eq(a,b))
 
#define _cairo_int64_ge(a, b)   (!_cairo_int64_lt(a,b))
 
#define _cairo_int64_gt(a, b)   _cairo_int64_lt(b,a)
 
#define _cairo_uint128_to_uint64(a)   ((a).lo)
 
#define _cairo_uint128_to_uint32(a)   _cairo_uint64_to_uint32(_cairo_uint128_to_uint64(a))
 
#define _cairo_uint128_is_zero(a)   (_cairo_uint64_is_zero ((a).hi) && _cairo_uint64_is_zero ((a).lo))
 
#define _cairo_uint128_negative(a)   (_cairo_uint64_negative(a.hi))
 
#define _cairo_uint128_to_int128(i)   (i)
 
#define _cairo_int128_to_uint128(i)   (i)
 
#define _cairo_int128_to_int64(a)   ((cairo_int64_t) (a).lo)
 
#define _cairo_int128_to_int32(a)   _cairo_int64_to_int32(_cairo_int128_to_int64(a))
 
#define _cairo_int128_add(a, b)   _cairo_uint128_add(a,b)
 
#define _cairo_int128_sub(a, b)   _cairo_uint128_sub(a,b)
 
#define _cairo_int128_mul(a, b)   _cairo_uint128_mul(a,b)
 
#define _cairo_int64x32_128_mul(a, b)   _cairo_int64x64_128_mul(a, _cairo_int32_to_int64(b))
 
#define _cairo_int128_lsl(a, b)   _cairo_uint128_lsl(a,b)
 
#define _cairo_int128_rsl(a, b)   _cairo_uint128_rsl(a,b)
 
#define _cairo_int128_rsa(a, b)   _cairo_uint128_rsa(a,b)
 
#define _cairo_int128_is_zero(a)   _cairo_uint128_is_zero (a)
 
#define _cairo_int128_eq(a, b)   _cairo_uint128_eq (a,b)
 
#define _cairo_int128_negate(a)   _cairo_uint128_negate(a)
 
#define _cairo_int128_negative(a)   (_cairo_uint128_negative(a))
 
#define _cairo_int128_not(a)   _cairo_uint128_not(a)
 
#define _cairo_uint128_le(a, b)   (!_cairo_uint128_gt(a,b))
 
#define _cairo_uint128_ne(a, b)   (!_cairo_uint128_eq(a,b))
 
#define _cairo_uint128_ge(a, b)   (!_cairo_uint128_lt(a,b))
 
#define _cairo_uint128_gt(a, b)   _cairo_uint128_lt(b,a)
 
#define _cairo_int128_le(a, b)   (!_cairo_int128_gt(a,b))
 
#define _cairo_int128_ne(a, b)   (!_cairo_int128_eq(a,b))
 
#define _cairo_int128_ge(a, b)   (!_cairo_int128_lt(a,b))
 
#define _cairo_int128_gt(a, b)   _cairo_int128_lt(b,a)
 

Functions

cairo_uquorem64_t _cairo_uint64_divrem (cairo_uint64_t num, cairo_uint64_t den)
 
cairo_uint64_t _cairo_double_to_uint64 (double i)
 
double _cairo_uint64_to_double (cairo_uint64_t i)
 
cairo_int64_t _cairo_double_to_int64 (double i)
 
double _cairo_int64_to_double (cairo_uint64_t i)
 
cairo_uint64_t _cairo_uint32_to_uint64 (uint32_t i)
 
cairo_uint64_t _cairo_uint64_add (cairo_uint64_t a, cairo_uint64_t b)
 
cairo_uint64_t _cairo_uint64_sub (cairo_uint64_t a, cairo_uint64_t b)
 
cairo_uint64_t _cairo_uint64_mul (cairo_uint64_t a, cairo_uint64_t b)
 
cairo_uint64_t _cairo_uint32x32_64_mul (uint32_t a, uint32_t b)
 
cairo_uint64_t _cairo_uint64_lsl (cairo_uint64_t a, int shift)
 
cairo_uint64_t _cairo_uint64_rsl (cairo_uint64_t a, int shift)
 
cairo_uint64_t _cairo_uint64_rsa (cairo_uint64_t a, int shift)
 
int _cairo_uint64_lt (cairo_uint64_t a, cairo_uint64_t b)
 
int _cairo_uint64_cmp (cairo_uint64_t a, cairo_uint64_t b)
 
int _cairo_uint64_eq (cairo_uint64_t a, cairo_uint64_t b)
 
cairo_uint64_t _cairo_uint64_negate (cairo_uint64_t a)
 
cairo_uint64_t _cairo_uint64_not (cairo_uint64_t a)
 
cairo_int64_t _cairo_int32_to_int64 (int32_t i)
 
cairo_int64_t _cairo_int32x32_64_mul (int32_t a, int32_t b)
 
int _cairo_int64_lt (cairo_int64_t a, cairo_int64_t b)
 
int _cairo_int64_cmp (cairo_int64_t a, cairo_int64_t b)
 
static cairo_quorem64_t _cairo_int64_divrem (cairo_int64_t num, cairo_int64_t den)
 
static int32_t _cairo_int64_32_div (cairo_int64_t num, int32_t den)
 
cairo_uint128_t _cairo_uint32_to_uint128 (uint32_t i)
 
cairo_uint128_t _cairo_uint64_to_uint128 (cairo_uint64_t i)
 
cairo_uint128_t _cairo_uint128_add (cairo_uint128_t a, cairo_uint128_t b)
 
cairo_uint128_t _cairo_uint128_sub (cairo_uint128_t a, cairo_uint128_t b)
 
cairo_uint128_t _cairo_uint128_mul (cairo_uint128_t a, cairo_uint128_t b)
 
cairo_uint128_t _cairo_uint64x64_128_mul (cairo_uint64_t a, cairo_uint64_t b)
 
cairo_uint128_t _cairo_uint128_lsl (cairo_uint128_t a, int shift)
 
cairo_uint128_t _cairo_uint128_rsl (cairo_uint128_t a, int shift)
 
cairo_uint128_t _cairo_uint128_rsa (cairo_uint128_t a, int shift)
 
int _cairo_uint128_lt (cairo_uint128_t a, cairo_uint128_t b)
 
int _cairo_uint128_cmp (cairo_uint128_t a, cairo_uint128_t b)
 
int _cairo_uint128_eq (cairo_uint128_t a, cairo_uint128_t b)
 
cairo_uint128_t _cairo_uint128_negate (cairo_uint128_t a)
 
cairo_uint128_t _cairo_uint128_not (cairo_uint128_t a)
 
cairo_int128_t _cairo_int32_to_int128 (int32_t i)
 
cairo_int128_t _cairo_int64_to_int128 (cairo_int64_t i)
 
cairo_int128_t _cairo_int64x64_128_mul (cairo_int64_t a, cairo_int64_t b)
 
int _cairo_int128_lt (cairo_int128_t a, cairo_int128_t b)
 
int _cairo_int128_cmp (cairo_int128_t a, cairo_int128_t b)
 
cairo_uquorem128_t _cairo_uint128_divrem (cairo_uint128_t num, cairo_uint128_t den)
 
cairo_quorem128_t _cairo_int128_divrem (cairo_int128_t num, cairo_int128_t den)
 
cairo_uquorem64_t _cairo_uint_96by64_32x64_divrem (cairo_uint128_t num, cairo_uint64_t den)
 
cairo_quorem64_t _cairo_int_96by64_32x64_divrem (cairo_int128_t num, cairo_int64_t den)
 

Macro Definition Documentation

◆ _cairo_int128_add

#define _cairo_int128_add (   a,
  b 
)    _cairo_uint128_add(a,b)

Definition at line 250 of file cairo-wideint-private.h.

◆ _cairo_int128_eq

#define _cairo_int128_eq (   a,
  b 
)    _cairo_uint128_eq (a,b)

Definition at line 261 of file cairo-wideint-private.h.

◆ _cairo_int128_ge

#define _cairo_int128_ge (   a,
  b 
)    (!_cairo_int128_lt(a,b))

Definition at line 333 of file cairo-wideint-private.h.

◆ _cairo_int128_gt

#define _cairo_int128_gt (   a,
  b 
)    _cairo_int128_lt(b,a)

Definition at line 334 of file cairo-wideint-private.h.

◆ _cairo_int128_is_zero

#define _cairo_int128_is_zero (   a)    _cairo_uint128_is_zero (a)

Definition at line 260 of file cairo-wideint-private.h.

◆ _cairo_int128_le

#define _cairo_int128_le (   a,
  b 
)    (!_cairo_int128_gt(a,b))

Definition at line 331 of file cairo-wideint-private.h.

◆ _cairo_int128_lsl

#define _cairo_int128_lsl (   a,
  b 
)    _cairo_uint128_lsl(a,b)

Definition at line 255 of file cairo-wideint-private.h.

◆ _cairo_int128_mul

#define _cairo_int128_mul (   a,
  b 
)    _cairo_uint128_mul(a,b)

Definition at line 252 of file cairo-wideint-private.h.

◆ _cairo_int128_ne

#define _cairo_int128_ne (   a,
  b 
)    (!_cairo_int128_eq(a,b))

Definition at line 332 of file cairo-wideint-private.h.

◆ _cairo_int128_negate

#define _cairo_int128_negate (   a)    _cairo_uint128_negate(a)

Definition at line 262 of file cairo-wideint-private.h.

◆ _cairo_int128_negative

#define _cairo_int128_negative (   a)    (_cairo_uint128_negative(a))

Definition at line 263 of file cairo-wideint-private.h.

◆ _cairo_int128_not

#define _cairo_int128_not (   a)    _cairo_uint128_not(a)

Definition at line 264 of file cairo-wideint-private.h.

◆ _cairo_int128_rsa

#define _cairo_int128_rsa (   a,
  b 
)    _cairo_uint128_rsa(a,b)

Definition at line 257 of file cairo-wideint-private.h.

◆ _cairo_int128_rsl

#define _cairo_int128_rsl (   a,
  b 
)    _cairo_uint128_rsl(a,b)

Definition at line 256 of file cairo-wideint-private.h.

◆ _cairo_int128_sub

#define _cairo_int128_sub (   a,
  b 
)    _cairo_uint128_sub(a,b)

Definition at line 251 of file cairo-wideint-private.h.

◆ _cairo_int128_to_int32

#define _cairo_int128_to_int32 (   a)    _cairo_int64_to_int32(_cairo_int128_to_int64(a))

Definition at line 249 of file cairo-wideint-private.h.

◆ _cairo_int128_to_int64

#define _cairo_int128_to_int64 (   a)    ((cairo_int64_t) (a).lo)

Definition at line 248 of file cairo-wideint-private.h.

◆ _cairo_int128_to_uint128

#define _cairo_int128_to_uint128 (   i)    (i)

Definition at line 244 of file cairo-wideint-private.h.

◆ _cairo_int64_add

#define _cairo_int64_add (   a,
  b 
)    _cairo_uint64_add (a,b)

Definition at line 84 of file cairo-wideint-private.h.

◆ _cairo_int64_eq

#define _cairo_int64_eq (   a,
  b 
)    _cairo_uint64_eq (a,b)

Definition at line 91 of file cairo-wideint-private.h.

◆ _cairo_int64_ge

#define _cairo_int64_ge (   a,
  b 
)    (!_cairo_int64_lt(a,b))

Definition at line 173 of file cairo-wideint-private.h.

◆ _cairo_int64_gt

#define _cairo_int64_gt (   a,
  b 
)    _cairo_int64_lt(b,a)

Definition at line 174 of file cairo-wideint-private.h.

◆ _cairo_int64_is_zero

#define _cairo_int64_is_zero (   a)    _cairo_uint64_is_zero (a)

Definition at line 90 of file cairo-wideint-private.h.

◆ _cairo_int64_le

#define _cairo_int64_le (   a,
  b 
)    (!_cairo_int64_gt(a,b))

Definition at line 171 of file cairo-wideint-private.h.

◆ _cairo_int64_lsl

#define _cairo_int64_lsl (   a,
  b 
)    _cairo_uint64_lsl (a,b)

Definition at line 92 of file cairo-wideint-private.h.

◆ _cairo_int64_mul

#define _cairo_int64_mul (   a,
  b 
)    _cairo_uint64_mul (a,b)

Definition at line 86 of file cairo-wideint-private.h.

◆ _cairo_int64_ne

#define _cairo_int64_ne (   a,
  b 
)    (!_cairo_int64_eq(a,b))

Definition at line 172 of file cairo-wideint-private.h.

◆ _cairo_int64_negate

#define _cairo_int64_negate (   a)    _cairo_uint64_negate(a)

Definition at line 95 of file cairo-wideint-private.h.

◆ _cairo_int64_negative

#define _cairo_int64_negative (   a)    (((int32_t) ((a).hi)) < 0)

Definition at line 96 of file cairo-wideint-private.h.

◆ _cairo_int64_not

#define _cairo_int64_not (   a)    _cairo_uint64_not(a)

Definition at line 97 of file cairo-wideint-private.h.

◆ _cairo_int64_rsa

#define _cairo_int64_rsa (   a,
  b 
)    _cairo_uint64_rsa (a,b)

Definition at line 94 of file cairo-wideint-private.h.

◆ _cairo_int64_rsl

#define _cairo_int64_rsl (   a,
  b 
)    _cairo_uint64_rsl (a,b)

Definition at line 93 of file cairo-wideint-private.h.

◆ _cairo_int64_sub

#define _cairo_int64_sub (   a,
  b 
)    _cairo_uint64_sub (a,b)

Definition at line 85 of file cairo-wideint-private.h.

◆ _cairo_int64_to_int32

#define _cairo_int64_to_int32 (   a)    ((int32_t) _cairo_uint64_to_uint32(a))

Definition at line 83 of file cairo-wideint-private.h.

◆ _cairo_int64_to_uint64

#define _cairo_int64_to_uint64 (   i)    (i)

Definition at line 80 of file cairo-wideint-private.h.

◆ _cairo_int64x32_128_mul

#define _cairo_int64x32_128_mul (   a,
  b 
)    _cairo_int64x64_128_mul(a, _cairo_int32_to_int64(b))

Definition at line 254 of file cairo-wideint-private.h.

◆ _cairo_uint128_ge

#define _cairo_uint128_ge (   a,
  b 
)    (!_cairo_uint128_lt(a,b))

Definition at line 328 of file cairo-wideint-private.h.

◆ _cairo_uint128_gt

#define _cairo_uint128_gt (   a,
  b 
)    _cairo_uint128_lt(b,a)

Definition at line 329 of file cairo-wideint-private.h.

◆ _cairo_uint128_is_zero

#define _cairo_uint128_is_zero (   a)    (_cairo_uint64_is_zero ((a).hi) && _cairo_uint64_is_zero ((a).lo))

Definition at line 238 of file cairo-wideint-private.h.

◆ _cairo_uint128_le

#define _cairo_uint128_le (   a,
  b 
)    (!_cairo_uint128_gt(a,b))

Definition at line 326 of file cairo-wideint-private.h.

◆ _cairo_uint128_ne

#define _cairo_uint128_ne (   a,
  b 
)    (!_cairo_uint128_eq(a,b))

Definition at line 327 of file cairo-wideint-private.h.

◆ _cairo_uint128_negative

#define _cairo_uint128_negative (   a)    (_cairo_uint64_negative(a.hi))

Definition at line 240 of file cairo-wideint-private.h.

◆ _cairo_uint128_to_int128

#define _cairo_uint128_to_int128 (   i)    (i)

Definition at line 243 of file cairo-wideint-private.h.

◆ _cairo_uint128_to_uint32

#define _cairo_uint128_to_uint32 (   a)    _cairo_uint64_to_uint32(_cairo_uint128_to_uint64(a))

Definition at line 227 of file cairo-wideint-private.h.

◆ _cairo_uint128_to_uint64

#define _cairo_uint128_to_uint64 (   a)    ((a).lo)

Definition at line 226 of file cairo-wideint-private.h.

◆ _cairo_uint64_ge

#define _cairo_uint64_ge (   a,
  b 
)    (!_cairo_uint64_lt(a,b))

Definition at line 168 of file cairo-wideint-private.h.

◆ _cairo_uint64_gt

#define _cairo_uint64_gt (   a,
  b 
)    _cairo_uint64_lt(b,a)

Definition at line 169 of file cairo-wideint-private.h.

◆ _cairo_uint64_is_zero

#define _cairo_uint64_is_zero (   a)    ((a).hi == 0 && (a).lo == 0)

Definition at line 75 of file cairo-wideint-private.h.

◆ _cairo_uint64_le

#define _cairo_uint64_le (   a,
  b 
)    (!_cairo_uint64_gt(a,b))

Definition at line 166 of file cairo-wideint-private.h.

◆ _cairo_uint64_ne

#define _cairo_uint64_ne (   a,
  b 
)    (!_cairo_uint64_eq(a,b))

Definition at line 167 of file cairo-wideint-private.h.

◆ _cairo_uint64_negative

#define _cairo_uint64_negative (   a)    (((int32_t) ((a).hi)) < 0)

Definition at line 76 of file cairo-wideint-private.h.

◆ _cairo_uint64_to_int64

#define _cairo_uint64_to_int64 (   i)    (i)

Definition at line 79 of file cairo-wideint-private.h.

◆ _cairo_uint64_to_uint32

#define _cairo_uint64_to_uint32 (   a)    ((a).lo)

Definition at line 63 of file cairo-wideint-private.h.

◆ I

Definition at line 50 of file cairo-wideint-private.h.

Function Documentation

◆ _cairo_double_to_int64()

cairo_int64_t _cairo_double_to_int64 ( double  i)

Definition at line 103 of file cairo-wideint.c.

References i, INT32_MAX, and q.

Referenced by _cairo_time_from_s(), and _cairo_time_get().

◆ _cairo_double_to_uint64()

cairo_uint64_t _cairo_double_to_uint64 ( double  i)

Definition at line 87 of file cairo-wideint.c.

References i, and q.

◆ _cairo_int128_cmp()

int _cairo_int128_cmp ( cairo_int128_t  a,
cairo_int128_t  b 
)

◆ _cairo_int128_divrem()

◆ _cairo_int128_lt()

int _cairo_int128_lt ( cairo_int128_t  a,
cairo_int128_t  b 
)

Definition at line 580 of file cairo-wideint.c.

References _cairo_int128_negative, _cairo_uint128_lt(), a, and b.

◆ _cairo_int32_to_int128()

cairo_int128_t _cairo_int32_to_int128 ( int32_t  i)

Definition at line 408 of file cairo-wideint.c.

References _cairo_int32_to_int64(), i, and q.

◆ _cairo_int32_to_int64()

cairo_int64_t _cairo_int32_to_int64 ( int32_t  i)

Definition at line 129 of file cairo-wideint.c.

References i, and q.

Referenced by _cairo_fixed_mul_div(), _cairo_int64_32_div(), _cairo_time_get(), intersect_lines(), and round_to_nearest().

◆ _cairo_int32x32_64_mul()

◆ _cairo_int64_32_div()

static int32_t _cairo_int64_32_div ( cairo_int64_t  num,
int32_t  den 
)
inlinestatic

◆ _cairo_int64_cmp()

◆ _cairo_int64_divrem()

◆ _cairo_int64_lt()

◆ _cairo_int64_to_double()

double _cairo_int64_to_double ( cairo_uint64_t  i)

Definition at line 113 of file cairo-wideint.c.

References i, and INT32_MAX.

Referenced by _cairo_time_to_s().

◆ _cairo_int64_to_int128()

cairo_int128_t _cairo_int64_to_int128 ( cairo_int64_t  i)

Definition at line 428 of file cairo-wideint.c.

References _cairo_int32_to_int64(), _cairo_int64_negative, i, and q.

◆ _cairo_int64x64_128_mul()

cairo_int128_t _cairo_int64x64_128_mul ( cairo_int64_t  a,
cairo_int64_t  b 
)

◆ _cairo_int_96by64_32x64_divrem()

◆ _cairo_uint128_add()

cairo_uint128_t _cairo_uint128_add ( cairo_uint128_t  a,
cairo_uint128_t  b 
)

Definition at line 438 of file cairo-wideint.c.

References _cairo_uint32_to_uint64(), _cairo_uint64_add(), _cairo_uint64_lt(), a, b, and s.

◆ _cairo_uint128_cmp()

int _cairo_uint128_cmp ( cairo_uint128_t  a,
cairo_uint128_t  b 
)

Definition at line 590 of file cairo-wideint.c.

References _cairo_uint64_cmp(), a, b, and cmp().

◆ _cairo_uint128_divrem()

◆ _cairo_uint128_eq()

int _cairo_uint128_eq ( cairo_uint128_t  a,
cairo_uint128_t  b 
)

Definition at line 612 of file cairo-wideint.c.

References _cairo_uint64_eq(), a, and b.

◆ _cairo_uint128_lsl()

cairo_uint128_t _cairo_uint128_lsl ( cairo_uint128_t  a,
int  shift 
)

◆ _cairo_uint128_lt()

int _cairo_uint128_lt ( cairo_uint128_t  a,
cairo_uint128_t  b 
)

Definition at line 572 of file cairo-wideint.c.

References _cairo_uint64_eq(), _cairo_uint64_lt(), a, and b.

◆ _cairo_uint128_mul()

cairo_uint128_t _cairo_uint128_mul ( cairo_uint128_t  a,
cairo_uint128_t  b 
)

Definition at line 505 of file cairo-wideint.c.

References _cairo_uint64_add(), _cairo_uint64_mul(), _cairo_uint64x64_128_mul(), a, b, and s.

◆ _cairo_uint128_negate()

cairo_uint128_t _cairo_uint128_negate ( cairo_uint128_t  a)

◆ _cairo_uint128_not()

cairo_uint128_t _cairo_uint128_not ( cairo_uint128_t  a)

Definition at line 666 of file cairo-wideint.c.

References _cairo_uint64_not(), and a.

◆ _cairo_uint128_rsa()

cairo_uint128_t _cairo_uint128_rsa ( cairo_uint128_t  a,
int  shift 
)

◆ _cairo_uint128_rsl()

cairo_uint128_t _cairo_uint128_rsl ( cairo_uint128_t  a,
int  shift 
)

◆ _cairo_uint128_sub()

cairo_uint128_t _cairo_uint128_sub ( cairo_uint128_t  a,
cairo_uint128_t  b 
)

Definition at line 450 of file cairo-wideint.c.

References _cairo_uint32_to_uint64(), _cairo_uint64_gt, _cairo_uint64_sub(), a, b, and s.

◆ _cairo_uint32_to_uint128()

cairo_uint128_t _cairo_uint32_to_uint128 ( uint32_t  i)

Definition at line 398 of file cairo-wideint.c.

References _cairo_uint32_to_uint64(), i, and q.

◆ _cairo_uint32_to_uint64()

cairo_uint64_t _cairo_uint32_to_uint64 ( uint32_t  i)

Definition at line 119 of file cairo-wideint.c.

References i, and q.

◆ _cairo_uint32x32_64_mul()

cairo_uint64_t _cairo_uint32x32_64_mul ( uint32_t  a,
uint32_t  b 
)

Definition at line 177 of file cairo-wideint.c.

References a, b, r0, r1, r2, r3, s, uint32_carry16, uint32_hi, uint32_lo, and uint32_t.

◆ _cairo_uint64_add()

cairo_uint64_t _cairo_uint64_add ( cairo_uint64_t  a,
cairo_uint64_t  b 
)

Definition at line 149 of file cairo-wideint.c.

References a, b, and s.

◆ _cairo_uint64_cmp()

int _cairo_uint64_cmp ( cairo_uint64_t  a,
cairo_uint64_t  b 
)

Definition at line 303 of file cairo-wideint.c.

References a, and b.

◆ _cairo_uint64_divrem()

◆ _cairo_uint64_eq()

int _cairo_uint64_eq ( cairo_uint64_t  a,
cairo_uint64_t  b 
)

Definition at line 287 of file cairo-wideint.c.

References a, and b.

◆ _cairo_uint64_lsl()

cairo_uint64_t _cairo_uint64_lsl ( cairo_uint64_t  a,
int  shift 
)

Definition at line 227 of file cairo-wideint.c.

References a, and shift.

◆ _cairo_uint64_lt()

int _cairo_uint64_lt ( cairo_uint64_t  a,
cairo_uint64_t  b 
)

Definition at line 280 of file cairo-wideint.c.

References a, and b.

◆ _cairo_uint64_mul()

cairo_uint64_t _cairo_uint64_mul ( cairo_uint64_t  a,
cairo_uint64_t  b 
)

Definition at line 217 of file cairo-wideint.c.

References _cairo_uint32x32_64_mul(), a, b, and s.

◆ _cairo_uint64_negate()

cairo_uint64_t _cairo_uint64_negate ( cairo_uint64_t  a)

Definition at line 337 of file cairo-wideint.c.

References a.

◆ _cairo_uint64_not()

cairo_uint64_t _cairo_uint64_not ( cairo_uint64_t  a)

Definition at line 329 of file cairo-wideint.c.

References a.

◆ _cairo_uint64_rsa()

cairo_uint64_t _cairo_uint64_rsa ( cairo_uint64_t  a,
int  shift 
)

Definition at line 263 of file cairo-wideint.c.

References _cairo_uint32_rsa, a, and shift.

◆ _cairo_uint64_rsl()

cairo_uint64_t _cairo_uint64_rsl ( cairo_uint64_t  a,
int  shift 
)

Definition at line 244 of file cairo-wideint.c.

References a, and shift.

◆ _cairo_uint64_sub()

cairo_uint64_t _cairo_uint64_sub ( cairo_uint64_t  a,
cairo_uint64_t  b 
)

Definition at line 161 of file cairo-wideint.c.

References a, b, and s.

◆ _cairo_uint64_to_double()

double _cairo_uint64_to_double ( cairo_uint64_t  i)

Definition at line 97 of file cairo-wideint.c.

References i.

◆ _cairo_uint64_to_uint128()

cairo_uint128_t _cairo_uint64_to_uint128 ( cairo_uint64_t  i)

Definition at line 418 of file cairo-wideint.c.

References _cairo_uint32_to_uint64(), i, and q.

◆ _cairo_uint64x64_128_mul()

◆ _cairo_uint_96by64_32x64_divrem()

cairo_uquorem64_t _cairo_uint_96by64_32x64_divrem ( cairo_uint128_t  num,
cairo_uint64_t  den 
)

_cairo_uint_96by64_32x64_divrem:

Compute a 32 bit quotient and 64 bit remainder of a 96 bit unsigned dividend and 64 bit divisor. If the quotient doesn't fit into 32 bits then the returned remainder is equal to the divisor, and the quotient is the largest representable 64 bit integer. It is an error to call this function with the high 32 bits of @num being non-zero.

Definition at line 710 of file cairo-wideint.c.

References _cairo_uint128_rsl(), _cairo_uint128_to_uint32, _cairo_uint128_to_uint64, _cairo_uint32_to_uint64(), _cairo_uint32s_to_uint64(), _cairo_uint32x32_64_mul(), _cairo_uint64_add(), _cairo_uint64_divrem(), _cairo_uint64_ge, _cairo_uint64_lt(), _cairo_uint64_sub(), _cairo_uint64_to_uint32, B, den, num, q, quorem::quo, quotient(), r, quorem::rem, remainder(), check-static-inits::result, u, uint64_hi32, v, cordic::x, and y.