A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
cairo-wideint-private.h File Reference

cairo_x function declarations, which provide the fallback high precision arithmetic implementation. More...

#include "ns3/core-config.h"
#include <cstdint>
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.

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

Macros

#define _cairo_int128_add(a, b)
#define _cairo_int128_eq(a, b)
#define _cairo_int128_ge(a, b)
#define _cairo_int128_gt(a, b)
#define _cairo_int128_le(a, b)
#define _cairo_int128_lsl(a, b)
#define _cairo_int128_mul(a, b)
#define _cairo_int128_ne(a, b)
#define _cairo_int128_negate(a)
#define _cairo_int128_negative(a)
#define _cairo_int128_not(a)
#define _cairo_int128_rsa(a, b)
#define _cairo_int128_rsl(a, b)
#define _cairo_int128_sub(a, b)
#define _cairo_int128_to_int32(a)
#define _cairo_int128_to_int64(a)
#define _cairo_int128_to_uint128(i)
#define _cairo_int64_add(a, b)
#define _cairo_int64_eq(a, b)
#define _cairo_int64_ge(a, b)
#define _cairo_int64_gt(a, b)
#define _cairo_int64_le(a, b)
#define _cairo_int64_lsl(a, b)
#define _cairo_int64_mul(a, b)
#define _cairo_int64_ne(a, b)
#define _cairo_int64_negate(a)
#define _cairo_int64_negative(a)
#define _cairo_int64_not(a)
#define _cairo_int64_rsa(a, b)
#define _cairo_int64_rsl(a, b)
#define _cairo_int64_sub(a, b)
#define _cairo_int64_to_int32(a)
#define _cairo_int64_to_uint64(i)
#define _cairo_uint128_ge(a, b)
#define _cairo_uint128_gt(a, b)
#define _cairo_uint128_le(a, b)
#define _cairo_uint128_ne(a, b)
#define _cairo_uint128_negative(a)
#define _cairo_uint128_to_int128(i)
#define _cairo_uint128_to_uint32(a)
#define _cairo_uint128_to_uint64(a)
#define _cairo_uint64_ge(a, b)
#define _cairo_uint64_gt(a, b)
#define _cairo_uint64_le(a, b)
#define _cairo_uint64_ne(a, b)
#define _cairo_uint64_negative(a)
#define _cairo_uint64_to_int64(i)
#define _cairo_uint64_to_uint32(a)
#define cairo_I   cairo_private
#define cairo_private
#define HAVE_UINT64_T   1

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)
const char * cairo_impl128 ()
const char * cairo_impl64 ()

Detailed Description

cairo_x function declarations, which provide the fallback high precision arithmetic implementation.

Definition in file cairo-wideint-private.h.

Macro Definition Documentation

◆ _cairo_int128_add

#define _cairo_int128_add ( a,
b )
Value:
cairo_uint128_t cairo_I _cairo_uint128_add(cairo_uint128_t a, cairo_uint128_t b)

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

Referenced by ns3::int64x64_t::operator+=.

◆ _cairo_int128_eq

#define _cairo_int128_eq ( a,
b )
Value:
int cairo_I _cairo_uint128_eq(cairo_uint128_t a, cairo_uint128_t b)

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

Referenced by ns3::int64x64_t::operator==.

◆ _cairo_int128_ge

#define _cairo_int128_ge ( a,
b )
Value:
int cairo_I _cairo_int128_lt(cairo_int128_t a, cairo_int128_t b)

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

◆ _cairo_int128_gt

#define _cairo_int128_gt ( a,
b )
Value:

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

Referenced by ns3::int64x64_t::operator>.

◆ _cairo_int128_le

#define _cairo_int128_le ( a,
b )
Value:
#define _cairo_int128_gt(a, b)

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

◆ _cairo_int128_lsl

#define _cairo_int128_lsl ( a,
b )
Value:
cairo_uint128_t cairo_I _cairo_uint128_lsl(cairo_uint128_t a, int shift)

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

Referenced by ns3::int64x64_t::Udiv().

◆ _cairo_int128_mul

#define _cairo_int128_mul ( a,
b )
Value:
cairo_uint128_t cairo_I _cairo_uint128_mul(cairo_uint128_t a, cairo_uint128_t b)

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

◆ _cairo_int128_ne

#define _cairo_int128_ne ( a,
b )
Value:
#define _cairo_int128_eq(a, b)

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

◆ _cairo_int128_negate

#define _cairo_int128_negate ( a)

◆ _cairo_int128_negative

◆ _cairo_int128_not

#define _cairo_int128_not ( a)
Value:
cairo_uint128_t cairo_I _cairo_uint128_not(cairo_uint128_t a)

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

◆ _cairo_int128_rsa

#define _cairo_int128_rsa ( a,
b )
Value:
cairo_uint128_t cairo_I _cairo_uint128_rsa(cairo_uint128_t a, int shift)

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

◆ _cairo_int128_rsl

#define _cairo_int128_rsl ( a,
b )
Value:
cairo_uint128_t cairo_I _cairo_uint128_rsl(cairo_uint128_t a, int shift)

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

◆ _cairo_int128_sub

#define _cairo_int128_sub ( a,
b )
Value:
cairo_uint128_t cairo_I _cairo_uint128_sub(cairo_uint128_t a, cairo_uint128_t b)

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

Referenced by ns3::int64x64_t::operator-=.

◆ _cairo_int128_to_int32

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

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

◆ _cairo_int128_to_int64

#define _cairo_int128_to_int64 ( a)
Value:

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

◆ _cairo_int128_to_uint128

#define _cairo_int128_to_uint128 ( i)
Value:
(i)

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

Referenced by ns3::output_sign().

◆ _cairo_int64_add

#define _cairo_int64_add ( a,
b )
Value:
cairo_uint64_t cairo_I _cairo_uint64_add(cairo_uint64_t a, cairo_uint64_t b)

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

◆ _cairo_int64_eq

#define _cairo_int64_eq ( a,
b )
Value:
int cairo_I _cairo_uint64_eq(cairo_uint64_t a, cairo_uint64_t b)

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

◆ _cairo_int64_ge

#define _cairo_int64_ge ( a,
b )
Value:
int cairo_I _cairo_int64_lt(cairo_uint64_t a, cairo_uint64_t b)

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

◆ _cairo_int64_gt

#define _cairo_int64_gt ( a,
b )
Value:

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

◆ _cairo_int64_le

#define _cairo_int64_le ( a,
b )
Value:
#define _cairo_int64_gt(a, b)

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

◆ _cairo_int64_lsl

#define _cairo_int64_lsl ( a,
b )
Value:
cairo_uint64_t cairo_I _cairo_uint64_lsl(cairo_uint64_t a, int shift)

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

◆ _cairo_int64_mul

#define _cairo_int64_mul ( a,
b )
Value:
cairo_uint64_t cairo_I _cairo_uint64_mul(cairo_uint64_t a, cairo_uint64_t b)

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

◆ _cairo_int64_ne

#define _cairo_int64_ne ( a,
b )
Value:
#define _cairo_int64_eq(a, b)

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

◆ _cairo_int64_negate

#define _cairo_int64_negate ( a)
Value:
cairo_uint64_t cairo_I _cairo_uint64_negate(cairo_uint64_t a)

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

Referenced by _cairo_int64_divrem(), and _cairo_int_96by64_32x64_divrem().

◆ _cairo_int64_negative

#define _cairo_int64_negative ( a)

◆ _cairo_int64_not

#define _cairo_int64_not ( a)
Value:
cairo_uint64_t cairo_I _cairo_uint64_not(cairo_uint64_t a)

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

◆ _cairo_int64_rsa

#define _cairo_int64_rsa ( a,
b )
Value:
cairo_uint64_t cairo_I _cairo_uint64_rsa(cairo_uint64_t a, int shift)

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

◆ _cairo_int64_rsl

#define _cairo_int64_rsl ( a,
b )
Value:
cairo_uint64_t cairo_I _cairo_uint64_rsl(cairo_uint64_t a, int shift)

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

◆ _cairo_int64_sub

#define _cairo_int64_sub ( a,
b )
Value:
cairo_uint64_t cairo_I _cairo_uint64_sub(cairo_uint64_t a, cairo_uint64_t b)

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

◆ _cairo_int64_to_int32

#define _cairo_int64_to_int32 ( a)
Value:
#define _cairo_uint64_to_uint32(a)

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

◆ _cairo_int64_to_uint64

#define _cairo_int64_to_uint64 ( i)
Value:
(i)

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

Referenced by _cairo_int64x64_128_mul(), and _cairo_int_96by64_32x64_divrem().

◆ _cairo_uint128_ge

#define _cairo_uint128_ge ( a,
b )
Value:
int cairo_I _cairo_uint128_lt(cairo_uint128_t a, cairo_uint128_t b)

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

◆ _cairo_uint128_gt

#define _cairo_uint128_gt ( a,
b )
Value:

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

◆ _cairo_uint128_le

#define _cairo_uint128_le ( a,
b )
Value:
#define _cairo_uint128_gt(a, b)

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

Referenced by _cairo_uint128_divrem().

◆ _cairo_uint128_ne

#define _cairo_uint128_ne ( a,
b )
Value:

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

Referenced by _cairo_uint128_divrem().

◆ _cairo_uint128_negative

#define _cairo_uint128_negative ( a)
Value:
#define _cairo_uint64_negative(a)

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

◆ _cairo_uint128_to_int128

#define _cairo_uint128_to_int128 ( i)
Value:
(i)

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

◆ _cairo_uint128_to_uint32

#define _cairo_uint128_to_uint32 ( a)
Value:

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

◆ _cairo_uint128_to_uint64

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

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

Referenced by if().

◆ _cairo_uint64_ge

#define _cairo_uint64_ge ( a,
b )
Value:
int cairo_I _cairo_uint64_lt(cairo_uint64_t a, cairo_uint64_t b)

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

Referenced by if(), if(), and if().

◆ _cairo_uint64_gt

#define _cairo_uint64_gt ( a,
b )
Value:

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

Referenced by _cairo_uint128_sub().

◆ _cairo_uint64_le

#define _cairo_uint64_le ( a,
b )
Value:
#define _cairo_uint64_gt(a, b)

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

Referenced by _cairo_uint64_divrem().

◆ _cairo_uint64_ne

#define _cairo_uint64_ne ( a,
b )
Value:

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

◆ _cairo_uint64_negative

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

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

◆ _cairo_uint64_to_int64

#define _cairo_uint64_to_int64 ( i)
Value:
(i)

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

◆ _cairo_uint64_to_uint32

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

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

Referenced by if().

◆ cairo_I

#define cairo_I   cairo_private

◆ cairo_private

#define cairo_private

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

◆ HAVE_UINT64_T

#define HAVE_UINT64_T   1

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

Function Documentation

◆ _cairo_int128_divrem()

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.

Here is the call graph for this function:

◆ _cairo_int128_lt()

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

Referenced by ns3::int64x64_t::operator<.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_int32_to_int128()

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(), and q.

Here is the call graph for this function:

◆ _cairo_int32_to_int64()

cairo_int64_t cairo_I _cairo_int32_to_int64 ( int32_t i)

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

References q.

Referenced by _cairo_int32_to_int128(), and _cairo_int64_to_int128().

Here is the caller graph for this function:

◆ _cairo_int32x32_64_mul()

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.

Here is the call graph for this function:

◆ _cairo_int64_divrem()

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.

Here is the call graph for this function:

◆ _cairo_int64_lt()

int cairo_I _cairo_int64_lt ( cairo_uint64_t a,
cairo_uint64_t b )

References cairo_I.

◆ _cairo_int64_to_int128()

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, and q.

Here is the call graph for this function:

◆ _cairo_int64x64_128_mul()

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.

Here is the call graph for this function:

◆ _cairo_int_96by64_32x64_divrem()

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.

Here is the call graph for this function:

◆ _cairo_uint128_add()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint128_divrem()

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, quo, and cairo_uquorem128_t::rem.

Referenced by _cairo_int128_divrem(), and ns3::int64x64_t::Udiv().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint128_eq()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint128_lsl()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint128_lt()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint128_mul()

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

Here is the call graph for this function:

◆ _cairo_uint128_negate()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint128_not()

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

Here is the call graph for this function:

◆ _cairo_uint128_rsa()

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

Here is the call graph for this function:

◆ _cairo_uint128_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(), and ns3::int64x64_t::Udiv().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint128_sub()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint32_to_uint128()

cairo_uint128_t cairo_I _cairo_uint32_to_uint128 ( uint32_t i)

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

References _cairo_uint32_to_uint64(), and q.

Referenced by _cairo_uint128_divrem(), _cairo_uint128_negate(), and ns3::int64x64_t::Udiv().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint32_to_uint64()

cairo_uint64_t cairo_I _cairo_uint32_to_uint64 ( uint32_t i)

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

References q.

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 if().

Here is the caller graph for this function:

◆ _cairo_uint32x32_64_mul()

cairo_uint64_t cairo_I _cairo_uint32x32_64_mul ( uint32_t a,
uint32_t b )

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 if().

Here is the caller graph for this function:

◆ _cairo_uint64_add()

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(), and _cairo_uint64x64_128_mul().

Here is the caller graph for this function:

◆ _cairo_uint64_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, quo, and cairo_uquorem64_t::rem.

Referenced by _cairo_int64_divrem(), if(), and if().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint64_eq()

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

Here is the caller graph for this function:

◆ _cairo_uint64_lsl()

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

Here is the caller graph for this function:

◆ _cairo_uint64_lt()

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(), if(), and if().

Here is the caller graph for this function:

◆ _cairo_uint64_mul()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint64_negate()

cairo_uint64_t cairo_I _cairo_uint64_negate ( cairo_uint64_t a)

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

◆ _cairo_uint64_not()

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

Here is the caller graph for this function:

◆ _cairo_uint64_rsa()

cairo_uint64_t cairo_I _cairo_uint64_rsa ( cairo_uint64_t a,
int shift )

References cairo_I.

◆ _cairo_uint64_rsl()

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

Here is the caller graph for this function:

◆ _cairo_uint64_sub()

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 if().

Here is the caller graph for this function:

◆ _cairo_uint64_to_uint128()

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(), and q.

Referenced by ns3::int64x64_t::Umul().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint64x64_128_mul()

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _cairo_uint_96by64_32x64_divrem()

cairo_uquorem64_t cairo_I _cairo_uint_96by64_32x64_divrem ( cairo_uint128_t num,
cairo_uint64_t den )

References cairo_I.

Referenced by _cairo_int_96by64_32x64_divrem().

Here is the caller graph for this function:

◆ cairo_impl128()

const char * cairo_impl128 ( )

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

Referenced by ns3::int64x64::test::Int64x64ImplTestCase::DoRun().

Here is the caller graph for this function:

◆ cairo_impl64()

const char * cairo_impl64 ( )

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

Referenced by ns3::int64x64::test::Int64x64ImplTestCase::DoRun().

Here is the caller graph for this function: