cairo_x
function declarations, which provide the fallback high precision arithmetic implementation.
More...
#include "ns3/core-config.h"
#include <cstdint>
Go to the source code of this file.
Classes | |
struct | cairo_int128_t |
struct | cairo_int64_t |
struct | cairo_quorem128_t |
struct | cairo_quorem64_t |
struct | cairo_uquorem128_t |
struct | cairo_uquorem64_t |
Functions | |
cairo_quorem128_t cairo_I | _cairo_int128_divrem (cairo_int128_t num, cairo_int128_t den) |
int cairo_I | _cairo_int128_lt (cairo_int128_t a, cairo_int128_t b) |
cairo_int128_t cairo_I | _cairo_int32_to_int128 (int32_t i) |
cairo_int64_t cairo_I | _cairo_int32_to_int64 (int32_t i) |
cairo_int64_t cairo_I | _cairo_int32x32_64_mul (int32_t a, int32_t b) |
cairo_quorem64_t cairo_I | _cairo_int64_divrem (cairo_int64_t num, cairo_int64_t den) |
int cairo_I | _cairo_int64_lt (cairo_uint64_t a, cairo_uint64_t b) |
cairo_int128_t cairo_I | _cairo_int64_to_int128 (cairo_int64_t i) |
cairo_int128_t cairo_I | _cairo_int64x64_128_mul (cairo_int64_t a, cairo_int64_t b) |
cairo_quorem64_t cairo_I | _cairo_int_96by64_32x64_divrem (cairo_int128_t num, cairo_int64_t den) |
cairo_uint128_t cairo_I | _cairo_uint128_add (cairo_uint128_t a, cairo_uint128_t b) |
cairo_uquorem128_t cairo_I | _cairo_uint128_divrem (cairo_uint128_t num, cairo_uint128_t den) |
int cairo_I | _cairo_uint128_eq (cairo_uint128_t a, cairo_uint128_t b) |
cairo_uint128_t cairo_I | _cairo_uint128_lsl (cairo_uint128_t a, int shift) |
int cairo_I | _cairo_uint128_lt (cairo_uint128_t a, cairo_uint128_t b) |
cairo_uint128_t cairo_I | _cairo_uint128_mul (cairo_uint128_t a, cairo_uint128_t b) |
cairo_uint128_t cairo_I | _cairo_uint128_negate (cairo_uint128_t a) |
cairo_uint128_t cairo_I | _cairo_uint128_not (cairo_uint128_t a) |
cairo_uint128_t cairo_I | _cairo_uint128_rsa (cairo_uint128_t a, int shift) |
cairo_uint128_t cairo_I | _cairo_uint128_rsl (cairo_uint128_t a, int shift) |
cairo_uint128_t cairo_I | _cairo_uint128_sub (cairo_uint128_t a, cairo_uint128_t b) |
cairo_uint128_t cairo_I | _cairo_uint32_to_uint128 (uint32_t i) |
cairo_uint64_t cairo_I | _cairo_uint32_to_uint64 (uint32_t i) |
cairo_uint64_t cairo_I | _cairo_uint32x32_64_mul (uint32_t a, uint32_t b) |
cairo_uint64_t cairo_I | _cairo_uint64_add (cairo_uint64_t a, cairo_uint64_t b) |
cairo_uquorem64_t cairo_I | _cairo_uint64_divrem (cairo_uint64_t num, cairo_uint64_t den) |
int cairo_I | _cairo_uint64_eq (cairo_uint64_t a, cairo_uint64_t b) |
cairo_uint64_t cairo_I | _cairo_uint64_lsl (cairo_uint64_t a, int shift) |
int cairo_I | _cairo_uint64_lt (cairo_uint64_t a, cairo_uint64_t b) |
cairo_uint64_t cairo_I | _cairo_uint64_mul (cairo_uint64_t a, cairo_uint64_t b) |
cairo_uint64_t cairo_I | _cairo_uint64_negate (cairo_uint64_t a) |
cairo_uint64_t cairo_I | _cairo_uint64_not (cairo_uint64_t a) |
cairo_uint64_t cairo_I | _cairo_uint64_rsa (cairo_uint64_t a, int shift) |
cairo_uint64_t cairo_I | _cairo_uint64_rsl (cairo_uint64_t a, int shift) |
cairo_uint64_t cairo_I | _cairo_uint64_sub (cairo_uint64_t a, cairo_uint64_t b) |
cairo_uint128_t cairo_I | _cairo_uint64_to_uint128 (cairo_uint64_t i) |
cairo_uint128_t cairo_I | _cairo_uint64x64_128_mul (cairo_uint64_t a, cairo_uint64_t b) |
cairo_uquorem64_t cairo_I | _cairo_uint_96by64_32x64_divrem (cairo_uint128_t num, cairo_uint64_t den) |
_cairo_uint_96by64_32x64_divrem: | |
const char * | cairo_impl128 () |
const char * | cairo_impl64 () |
cairo_x
function declarations, which provide the fallback high precision arithmetic implementation.
Definition in file cairo-wideint-private.h.
#define _cairo_int128_add | ( | a, | |
b ) _cairo_uint128_add (a,b) |
Definition at line 235 of file cairo-wideint-private.h.
#define _cairo_int128_eq | ( | a, | |
b ) _cairo_uint128_eq (a,b) |
Definition at line 243 of file cairo-wideint-private.h.
#define _cairo_int128_ge | ( | a, | |
b ) (!_cairo_int128_lt (a,b)) |
Definition at line 328 of file cairo-wideint-private.h.
#define _cairo_int128_gt | ( | a, | |
b ) _cairo_int128_lt (b,a) |
Definition at line 329 of file cairo-wideint-private.h.
#define _cairo_int128_le | ( | a, | |
b ) (!_cairo_int128_gt (a,b)) |
Definition at line 326 of file cairo-wideint-private.h.
#define _cairo_int128_lsl | ( | a, | |
b ) _cairo_uint128_lsl (a,b) |
Definition at line 239 of file cairo-wideint-private.h.
Referenced by ns3::int64x64_t::Udiv().
#define _cairo_int128_mul | ( | a, | |
b ) _cairo_uint128_mul (a,b) |
Definition at line 237 of file cairo-wideint-private.h.
#define _cairo_int128_ne | ( | a, | |
b ) (!_cairo_int128_eq (a,b)) |
Definition at line 327 of file cairo-wideint-private.h.
#define _cairo_int128_negate | ( | a | ) | _cairo_uint128_negate (a) |
Definition at line 244 of file cairo-wideint-private.h.
Referenced by ns3::int64x64_t::int64x64_t(), _cairo_int128_divrem(), _cairo_int_96by64_32x64_divrem(), ns3::int64x64_t::GetDouble(), ns3::int64x64_t::GetInt(), and ns3::int64x64_t::Round().
#define _cairo_int128_negative | ( | a | ) | (_cairo_uint128_negative (a)) |
Definition at line 245 of file cairo-wideint-private.h.
Referenced by _cairo_int128_divrem(), _cairo_int128_lt(), _cairo_int_96by64_32x64_divrem(), ns3::int64x64_t::GetDouble(), ns3::int64x64_t::GetInt(), ns3::output_sign(), and ns3::int64x64_t::Round().
#define _cairo_int128_not | ( | a | ) | _cairo_uint128_not (a) |
Definition at line 246 of file cairo-wideint-private.h.
#define _cairo_int128_rsa | ( | a, | |
b ) _cairo_uint128_rsa (a,b) |
Definition at line 241 of file cairo-wideint-private.h.
#define _cairo_int128_rsl | ( | a, | |
b ) _cairo_uint128_rsl (a,b) |
Definition at line 240 of file cairo-wideint-private.h.
#define _cairo_int128_sub | ( | a, | |
b ) _cairo_uint128_sub (a,b) |
Definition at line 236 of file cairo-wideint-private.h.
#define _cairo_int128_to_int32 | ( | a | ) | _cairo_int64_to_int32 (_cairo_int128_to_int64 (a)) |
Definition at line 234 of file cairo-wideint-private.h.
#define _cairo_int128_to_int64 | ( | a | ) | ((cairo_int64_t)(a).lo) |
Definition at line 233 of file cairo-wideint-private.h.
#define _cairo_int128_to_uint128 | ( | i | ) | (i) |
Definition at line 229 of file cairo-wideint-private.h.
Referenced by ns3::output_sign().
#define _cairo_int64_add | ( | a, | |
b ) _cairo_uint64_add (a,b) |
Definition at line 102 of file cairo-wideint-private.h.
#define _cairo_int64_eq | ( | a, | |
b ) _cairo_uint64_eq (a,b) |
Definition at line 107 of file cairo-wideint-private.h.
#define _cairo_int64_ge | ( | a, | |
b ) (!_cairo_int64_lt (a,b)) |
Definition at line 170 of file cairo-wideint-private.h.
#define _cairo_int64_gt | ( | a, | |
b ) _cairo_int64_lt (b,a) |
Definition at line 171 of file cairo-wideint-private.h.
#define _cairo_int64_le | ( | a, | |
b ) (!_cairo_int64_gt (a,b)) |
Definition at line 168 of file cairo-wideint-private.h.
#define _cairo_int64_lsl | ( | a, | |
b ) _cairo_uint64_lsl (a,b) |
Definition at line 108 of file cairo-wideint-private.h.
#define _cairo_int64_mul | ( | a, | |
b ) _cairo_uint64_mul (a,b) |
Definition at line 104 of file cairo-wideint-private.h.
#define _cairo_int64_ne | ( | a, | |
b ) (!_cairo_int64_eq (a,b)) |
Definition at line 169 of file cairo-wideint-private.h.
#define _cairo_int64_negate | ( | a | ) | _cairo_uint64_negate (a) |
Definition at line 111 of file cairo-wideint-private.h.
Referenced by _cairo_int64_divrem(), and _cairo_int_96by64_32x64_divrem().
#define _cairo_int64_negative | ( | a | ) | (((int32_t)((a).hi)) < 0) |
Definition at line 112 of file cairo-wideint-private.h.
Referenced by _cairo_int64_divrem(), _cairo_int64_lt(), _cairo_int64_to_int128(), _cairo_int64x64_128_mul(), and _cairo_int_96by64_32x64_divrem().
#define _cairo_int64_not | ( | a | ) | _cairo_uint64_not (a) |
Definition at line 113 of file cairo-wideint-private.h.
#define _cairo_int64_rsa | ( | a, | |
b ) _cairo_uint64_rsa (a,b) |
Definition at line 110 of file cairo-wideint-private.h.
#define _cairo_int64_rsl | ( | a, | |
b ) _cairo_uint64_rsl (a,b) |
Definition at line 109 of file cairo-wideint-private.h.
#define _cairo_int64_sub | ( | a, | |
b ) _cairo_uint64_sub (a,b) |
Definition at line 103 of file cairo-wideint-private.h.
#define _cairo_int64_to_int32 | ( | a | ) | ((int32_t) _cairo_uint64_to_uint32 (a)) |
Definition at line 101 of file cairo-wideint-private.h.
#define _cairo_int64_to_uint64 | ( | i | ) | (i) |
Definition at line 98 of file cairo-wideint-private.h.
Referenced by _cairo_int64x64_128_mul(), and _cairo_int_96by64_32x64_divrem().
#define _cairo_uint128_ge | ( | a, | |
b ) (!_cairo_uint128_lt (a,b)) |
Definition at line 323 of file cairo-wideint-private.h.
#define _cairo_uint128_gt | ( | a, | |
b ) _cairo_uint128_lt (b,a) |
Definition at line 324 of file cairo-wideint-private.h.
#define _cairo_uint128_le | ( | a, | |
b ) (!_cairo_uint128_gt (a,b)) |
Definition at line 321 of file cairo-wideint-private.h.
Referenced by _cairo_uint128_divrem().
#define _cairo_uint128_ne | ( | a, | |
b ) (!_cairo_uint128_eq (a,b)) |
Definition at line 322 of file cairo-wideint-private.h.
Referenced by _cairo_uint128_divrem().
#define _cairo_uint128_negative | ( | a | ) | (_cairo_uint64_negative (a.hi)) |
Definition at line 225 of file cairo-wideint-private.h.
#define _cairo_uint128_to_int128 | ( | i | ) | (i) |
Definition at line 228 of file cairo-wideint-private.h.
#define _cairo_uint128_to_uint32 | ( | a | ) | _cairo_uint64_to_uint32 (_cairo_uint128_to_uint64 (a)) |
Definition at line 214 of file cairo-wideint-private.h.
Referenced by _cairo_uint_96by64_32x64_divrem().
#define _cairo_uint128_to_uint64 | ( | a | ) | ((a).lo) |
Definition at line 213 of file cairo-wideint-private.h.
Referenced by _cairo_uint_96by64_32x64_divrem().
#define _cairo_uint64_ge | ( | a, | |
b ) (!_cairo_uint64_lt (a,b)) |
Definition at line 165 of file cairo-wideint-private.h.
Referenced by _cairo_uint_96by64_32x64_divrem().
#define _cairo_uint64_gt | ( | a, | |
b ) _cairo_uint64_lt (b,a) |
Definition at line 166 of file cairo-wideint-private.h.
Referenced by _cairo_uint128_sub().
#define _cairo_uint64_le | ( | a, | |
b ) (!_cairo_uint64_gt (a,b)) |
Definition at line 163 of file cairo-wideint-private.h.
Referenced by _cairo_uint64_divrem().
#define _cairo_uint64_ne | ( | a, | |
b ) (!_cairo_uint64_eq (a,b)) |
Definition at line 164 of file cairo-wideint-private.h.
#define _cairo_uint64_negative | ( | a | ) | (((int32_t)((a).hi)) < 0) |
Definition at line 94 of file cairo-wideint-private.h.
#define _cairo_uint64_to_int64 | ( | i | ) | (i) |
Definition at line 97 of file cairo-wideint-private.h.
#define _cairo_uint64_to_uint32 | ( | a | ) | ((a).lo) |
Definition at line 83 of file cairo-wideint-private.h.
Referenced by _cairo_uint_96by64_32x64_divrem().
#define cairo_I cairo_private |
Definition at line 69 of file cairo-wideint-private.h.
#define cairo_private |
Definition at line 48 of file cairo-wideint-private.h.
#define HAVE_UINT64_T 1 |
Definition at line 49 of file cairo-wideint-private.h.
cairo_quorem128_t cairo_I _cairo_int128_divrem | ( | cairo_int128_t | num, |
cairo_int128_t | den ) |
Definition at line 681 of file cairo-wideint.c.
References _cairo_int128_negate, _cairo_int128_negative, _cairo_uint128_divrem(), cairo_quorem128_t::quo, cairo_uquorem128_t::quo, cairo_quorem128_t::rem, and cairo_uquorem128_t::rem.
int cairo_I _cairo_int128_lt | ( | cairo_int128_t | a, |
cairo_int128_t | b ) |
Definition at line 607 of file cairo-wideint.c.
References _cairo_int128_negative, and _cairo_uint128_lt().
cairo_int128_t cairo_I _cairo_int32_to_int128 | ( | int32_t | i | ) |
Definition at line 387 of file cairo-wideint.c.
References _cairo_int32_to_int64(), cairo_int128_t::hi, and cairo_int128_t::lo.
cairo_int64_t cairo_I _cairo_int32_to_int64 | ( | int32_t | i | ) |
Definition at line 91 of file cairo-wideint.c.
Referenced by _cairo_int32_to_int128(), and _cairo_int64_to_int128().
cairo_int64_t cairo_I _cairo_int32x32_64_mul | ( | int32_t | a, |
int32_t | b ) |
Definition at line 167 of file cairo-wideint.c.
References _cairo_uint32x32_64_mul(), and cairo_int64_t::hi.
cairo_quorem64_t cairo_I _cairo_int64_divrem | ( | cairo_int64_t | num, |
cairo_int64_t | den ) |
Definition at line 321 of file cairo-wideint.c.
References _cairo_int64_negate, _cairo_int64_negative, _cairo_uint64_divrem(), cairo_quorem64_t::quo, cairo_uquorem64_t::quo, cairo_quorem64_t::rem, and cairo_uquorem64_t::rem.
int cairo_I _cairo_int64_lt | ( | cairo_uint64_t | a, |
cairo_uint64_t | b ) |
cairo_int128_t cairo_I _cairo_int64_to_int128 | ( | cairo_int64_t | i | ) |
Definition at line 407 of file cairo-wideint.c.
References _cairo_int32_to_int64(), _cairo_int64_negative, cairo_int128_t::hi, and cairo_int128_t::lo.
cairo_int128_t cairo_I _cairo_int64x64_128_mul | ( | cairo_int64_t | a, |
cairo_int64_t | b ) |
Definition at line 517 of file cairo-wideint.c.
References _cairo_int64_negative, _cairo_int64_to_uint64, _cairo_uint64_sub(), _cairo_uint64x64_128_mul(), and cairo_int128_t::hi.
cairo_quorem64_t cairo_I _cairo_int_96by64_32x64_divrem | ( | cairo_int128_t | num, |
cairo_int64_t | den ) |
Definition at line 824 of file cairo-wideint.c.
References _cairo_int128_negate, _cairo_int128_negative, _cairo_int64_negate, _cairo_int64_negative, _cairo_int64_to_uint64, _cairo_uint32s_to_uint64(), _cairo_uint64_eq(), _cairo_uint_96by64_32x64_divrem(), cairo_quorem64_t::quo, cairo_uquorem64_t::quo, cairo_quorem64_t::rem, and cairo_uquorem64_t::rem.
cairo_uint128_t cairo_I _cairo_uint128_add | ( | cairo_uint128_t | a, |
cairo_uint128_t | b ) |
Definition at line 417 of file cairo-wideint.c.
References _cairo_uint32_to_uint64(), _cairo_uint64_add(), and _cairo_uint64_lt().
Referenced by _cairo_uint128_divrem(), _cairo_uint128_negate(), ns3::int64x64_t::Round(), ns3::int64x64_t::Udiv(), ns3::int64x64_t::Umul(), and ns3::int64x64_t::UmulByInvert().
cairo_uquorem128_t cairo_I _cairo_uint128_divrem | ( | cairo_uint128_t | num, |
cairo_uint128_t | den ) |
Definition at line 630 of file cairo-wideint.c.
References _cairo_msbset64, _cairo_uint128_add(), _cairo_uint128_le, _cairo_uint128_lsl(), _cairo_uint128_lt(), _cairo_uint128_ne, _cairo_uint128_rsl(), _cairo_uint128_sub(), _cairo_uint32_to_uint128(), cairo_uquorem128_t::quo, and cairo_uquorem128_t::rem.
Referenced by _cairo_int128_divrem(), and ns3::int64x64_t::Udiv().
int cairo_I _cairo_uint128_eq | ( | cairo_uint128_t | a, |
cairo_uint128_t | b ) |
Definition at line 617 of file cairo-wideint.c.
References _cairo_uint64_eq().
Referenced by ns3::int64x64_t::Udiv().
cairo_uint128_t cairo_I _cairo_uint128_lsl | ( | cairo_uint128_t | a, |
int | shift ) |
Definition at line 545 of file cairo-wideint.c.
References _cairo_uint32_to_uint64(), _cairo_uint64_add(), _cairo_uint64_lsl(), and _cairo_uint64_rsl().
Referenced by _cairo_uint128_divrem(), ns3::int64x64_t::Udiv(), and ns3::int64x64_t::Umul().
int cairo_I _cairo_uint128_lt | ( | cairo_uint128_t | a, |
cairo_uint128_t | b ) |
Definition at line 599 of file cairo-wideint.c.
References _cairo_uint64_eq(), and _cairo_uint64_lt().
Referenced by _cairo_int128_lt(), _cairo_uint128_divrem(), and ns3::int64x64_t::Udiv().
cairo_uint128_t cairo_I _cairo_uint128_mul | ( | cairo_uint128_t | a, |
cairo_uint128_t | b ) |
Definition at line 532 of file cairo-wideint.c.
References _cairo_uint64_add(), _cairo_uint64_mul(), and _cairo_uint64x64_128_mul().
cairo_uint128_t cairo_I _cairo_uint128_negate | ( | cairo_uint128_t | a | ) |
Definition at line 663 of file cairo-wideint.c.
References _cairo_uint128_add(), _cairo_uint32_to_uint128(), and _cairo_uint64_not().
Referenced by ns3::output_sign().
cairo_uint128_t cairo_I _cairo_uint128_not | ( | cairo_uint128_t | a | ) |
Definition at line 671 of file cairo-wideint.c.
References _cairo_uint64_not().
cairo_uint128_t cairo_I _cairo_uint128_rsa | ( | cairo_uint128_t | a, |
int | shift ) |
Definition at line 581 of file cairo-wideint.c.
References _cairo_uint64_add(), _cairo_uint64_lsl(), _cairo_uint64_rsa(), and _cairo_uint64_rsl().
cairo_uint128_t cairo_I _cairo_uint128_rsl | ( | cairo_uint128_t | a, |
int | shift ) |
Definition at line 563 of file cairo-wideint.c.
References _cairo_uint32_to_uint64(), _cairo_uint64_add(), _cairo_uint64_lsl(), and _cairo_uint64_rsl().
Referenced by _cairo_uint128_divrem(), _cairo_uint_96by64_32x64_divrem(), and ns3::int64x64_t::Udiv().
cairo_uint128_t cairo_I _cairo_uint128_sub | ( | cairo_uint128_t | a, |
cairo_uint128_t | b ) |
Definition at line 429 of file cairo-wideint.c.
References _cairo_uint32_to_uint64(), _cairo_uint64_gt, and _cairo_uint64_sub().
Referenced by _cairo_uint128_divrem().
Definition at line 377 of file cairo-wideint.c.
References _cairo_uint32_to_uint64().
Referenced by _cairo_uint128_divrem(), _cairo_uint128_negate(), and ns3::int64x64_t::Udiv().
Definition at line 81 of file cairo-wideint.c.
Referenced by _cairo_uint128_add(), _cairo_uint128_lsl(), _cairo_uint128_rsl(), _cairo_uint128_sub(), _cairo_uint32_to_uint128(), _cairo_uint64_divrem(), _cairo_uint64_to_uint128(), and _cairo_uint_96by64_32x64_divrem().
Definition at line 139 of file cairo-wideint.c.
References uint32_carry16, uint32_hi, and uint32_lo.
Referenced by _cairo_int32x32_64_mul(), _cairo_uint64_mul(), _cairo_uint64x64_128_mul(), and _cairo_uint_96by64_32x64_divrem().
cairo_uint64_t cairo_I _cairo_uint64_add | ( | cairo_uint64_t | a, |
cairo_uint64_t | b ) |
Definition at line 111 of file cairo-wideint.c.
Referenced by _cairo_uint128_add(), _cairo_uint128_lsl(), _cairo_uint128_mul(), _cairo_uint128_rsa(), _cairo_uint128_rsl(), _cairo_uint64_divrem(), _cairo_uint64x64_128_mul(), and _cairo_uint_96by64_32x64_divrem().
cairo_uquorem64_t cairo_I _cairo_uint64_divrem | ( | cairo_uint64_t | num, |
cairo_uint64_t | den ) |
Definition at line 286 of file cairo-wideint.c.
References _cairo_uint32_to_uint64(), _cairo_uint64_add(), _cairo_uint64_le, _cairo_uint64_lsl(), _cairo_uint64_lt(), _cairo_uint64_rsl(), _cairo_uint64_sub(), cairo_uquorem64_t::quo, and cairo_uquorem64_t::rem.
Referenced by _cairo_int64_divrem(), and _cairo_uint_96by64_32x64_divrem().
int cairo_I _cairo_uint64_eq | ( | cairo_uint64_t | a, |
cairo_uint64_t | b ) |
Definition at line 249 of file cairo-wideint.c.
Referenced by _cairo_int_96by64_32x64_divrem(), _cairo_uint128_eq(), and _cairo_uint128_lt().
cairo_uint64_t cairo_I _cairo_uint64_lsl | ( | cairo_uint64_t | a, |
int | shift ) |
Definition at line 189 of file cairo-wideint.c.
Referenced by _cairo_uint128_lsl(), _cairo_uint128_rsa(), _cairo_uint128_rsl(), and _cairo_uint64_divrem().
int cairo_I _cairo_uint64_lt | ( | cairo_uint64_t | a, |
cairo_uint64_t | b ) |
Definition at line 242 of file cairo-wideint.c.
Referenced by _cairo_int64_lt(), _cairo_uint128_add(), _cairo_uint128_lt(), _cairo_uint64_divrem(), _cairo_uint64x64_128_mul(), and _cairo_uint_96by64_32x64_divrem().
cairo_uint64_t cairo_I _cairo_uint64_mul | ( | cairo_uint64_t | a, |
cairo_uint64_t | b ) |
Definition at line 179 of file cairo-wideint.c.
References _cairo_uint32x32_64_mul().
Referenced by _cairo_uint128_mul().
cairo_uint64_t cairo_I _cairo_uint64_negate | ( | cairo_uint64_t | a | ) |
Definition at line 273 of file cairo-wideint.c.
cairo_uint64_t cairo_I _cairo_uint64_not | ( | cairo_uint64_t | a | ) |
Definition at line 265 of file cairo-wideint.c.
Referenced by _cairo_uint128_negate(), and _cairo_uint128_not().
cairo_uint64_t cairo_I _cairo_uint64_rsa | ( | cairo_uint64_t | a, |
int | shift ) |
cairo_uint64_t cairo_I _cairo_uint64_rsl | ( | cairo_uint64_t | a, |
int | shift ) |
Definition at line 206 of file cairo-wideint.c.
Referenced by _cairo_uint128_lsl(), _cairo_uint128_rsa(), _cairo_uint128_rsl(), and _cairo_uint64_divrem().
cairo_uint64_t cairo_I _cairo_uint64_sub | ( | cairo_uint64_t | a, |
cairo_uint64_t | b ) |
Definition at line 123 of file cairo-wideint.c.
Referenced by _cairo_int64x64_128_mul(), _cairo_uint128_sub(), _cairo_uint64_divrem(), and _cairo_uint_96by64_32x64_divrem().
cairo_uint128_t cairo_I _cairo_uint64_to_uint128 | ( | cairo_uint64_t | i | ) |
Definition at line 397 of file cairo-wideint.c.
References _cairo_uint32_to_uint64().
Referenced by ns3::int64x64_t::Umul().
cairo_uint128_t cairo_I _cairo_uint64x64_128_mul | ( | cairo_uint64_t | a, |
cairo_uint64_t | b ) |
Definition at line 489 of file cairo-wideint.c.
References _cairo_uint32x32_64_mul(), _cairo_uint64_add(), _cairo_uint64_lt(), uint64_carry32, uint64_hi(), uint64_hi32, uint64_lo(), uint64_lo32, and uint64_shift32().
Referenced by _cairo_int64x64_128_mul(), _cairo_uint128_mul(), ns3::int64x64_t::Umul(), and ns3::int64x64_t::UmulByInvert().
cairo_uquorem64_t cairo_I _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 714 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, cairo_uquorem64_t::quo, cairo_uquorem64_t::rem, and uint64_hi32.
Referenced by _cairo_int_96by64_32x64_divrem().
const char * cairo_impl128 | ( | ) |
Definition at line 371 of file cairo-wideint.c.
Referenced by ns3::int64x64::test::Int64x64ImplTestCase::DoRun().
const char * cairo_impl64 | ( | ) |
Definition at line 75 of file cairo-wideint.c.
Referenced by ns3::int64x64::test::Int64x64ImplTestCase::DoRun().