70   return (negA && !negB) || (!negA && negB);
    78   cairo_uint128_t result = 
Umul (a, b);
    85   cairo_uint128_t result;
    86   cairo_uint128_t hiPart, loPart, midPart;
    87   cairo_uint128_t res1, res2;
   101                    "High precision 128 bits multiplication error: multiplication overflow.");
   121   cairo_uint128_t a, b;
   123   cairo_uint128_t result = 
Udiv (a, b);
   130   cairo_uint128_t den = b;
   132   cairo_uint128_t result = qr.
quo;
   133   cairo_uint128_t rem = qr.
rem;
   136   const uint64_t DIGITS = 64;  
   140                  "Remainder not less than divisor");
   146   while ( (shift < DIGITS) && !(den.lo & 0x1))
   155       while ( (digis + shift < DIGITS) &&
   166       while ( (digis + shift < DIGITS) &&
   186       shift = DIGITS - digis;
   206   cairo_uint128_t result;
   207   cairo_uint128_t hi, mid;
   221   cairo_uint128_t a, factor;
   227   result.
_v = 
Udiv (a, factor);
   232       cairo_uint128_t one = { 1, 0};
 cairo_uint128_t I _cairo_uint64_to_uint128(cairo_uint64_t i)
Declaration of the ns3::int64x64_t type using the Cairo implementation. 
NS_ASSERT_MSG(false, "Ipv4AddressGenerator::MaskToIndex(): Impossible")
High precision numerical type, implementing Q64.64 fixed precision. 
static int64x64_t Invert(const uint64_t v)
Compute the inverse of an integer value. 
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
static uint128_t Udiv(const uint128_t a, const uint128_t b)
Unsigned division of Q64.64 values. 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
cairo_uint128_t I _cairo_uint128_negate(cairo_uint128_t a)
int I _cairo_uint128_eq(cairo_uint128_t a, cairo_uint128_t b)
void MulByInvert(const int64x64_t &o)
Multiply this value by a Q0.128 value, presumably representing an inverse, completing a division oper...
ns3::TestCase, ns3::TestSuite, ns3::TestRunner declarations, and NS_TEST_ASSERT macro definitions...
cairo_uquorem128_t I _cairo_uint128_divrem(cairo_uint128_t num, cairo_uint128_t den)
Implementation of the cairo_x functions which implement high precision arithmetic. 
int I _cairo_uint128_lt(cairo_uint128_t a, cairo_uint128_t b)
cairo_uint128_t I _cairo_uint128_rsl(cairo_uint128_t a, int shift)
cairo_uint128_t I _cairo_uint32_to_uint128(uint32_t i)
cairo_uint128_t I _cairo_uint64x64_128_mul(cairo_uint64_t a, cairo_uint64_t b)
NS_ASSERT() and NS_ASSERT_MSG() macro definitions. 
int128_t _v
The Q64.64 value. 
void Mul(const int64x64_t &o)
Implement *=. 
int64x64_t()
Default constructor. 
static uint128_t UmulByInvert(const uint128_t a, const uint128_t b)
Unsigned multiplication of Q64.64 and Q0.128 values. 
cairo_uint128_t I _cairo_uint128_lsl(cairo_uint128_t a, int shift)
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
#define _cairo_int128_negative(a)
#define _cairo_int128_lsl(a, b)
static uint128_t Umul(const uint128_t a, const uint128_t b)
Unsigned multiplication of Q64.64 values. 
#define NS_ABORT_MSG_IF(cond, msg)
Abnormal program termination if a condition is true, with a message. 
void Div(const int64x64_t &o)
Implement /=. 
#define _cairo_int128_negate(a)
static const uint64_t HPCAIRO_MASK_HI_BIT
High bit of fractional part. 
#define _cairo_int128_to_uint128(i)
cairo_uint128_t I _cairo_uint128_add(cairo_uint128_t a, cairo_uint128_t b)
int64_t GetHigh(void) const
Get the integer portion. 
NS_ABORT_x macro definitions. 
static bool output_sign(const int128_t sa, const int128_t sb, uint128_t &ua, uint128_t &ub)
Compute the sign of the result of multiplying or dividing Q64.64 fixed precision operands.