A Discrete-Event Network Simulator
API
int64x64-cairo.h File Reference

Declaration of the ns3::int64x64_t type using the Cairo implementation. More...

#include "ns3/core-config.h"
#include <cmath>
#include "cairo-wideint-private.h"
+ Include dependency graph for int64x64-cairo.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ns3::int64x64_t
 High precision numerical type, implementing Q64.64 fixed precision. More...
 

Namespaces

 ns3
 Every class exported by the ns3 library is enclosed in the ns3 namespace.
 

Macros

#define HP_MAX_64   (std::pow (2.0L, 64))
 Floating point value of HP_MASK_LO + 1 We really want: More...
 
#define INT64X64_CAIRO_H
 

Functions

int64x64_t ns3::operator! (const int64x64_t &lhs)
 Logical not operator. More...
 
int64x64_t & ns3::operator*= (int64x64_t &lhs, const int64x64_t &rhs)
 Compound multiplication operator. More...
 
int64x64_t ns3::operator+ (const int64x64_t &lhs)
 Unary plus operator. More...
 
int64x64_t & ns3::operator+= (int64x64_t &lhs, const int64x64_t &rhs)
 Compound addition operator. More...
 
int64x64_t ns3::operator- (const int64x64_t &lhs)
 Unary negation operator (change sign operator). More...
 
int64x64_t & ns3::operator-= (int64x64_t &lhs, const int64x64_t &rhs)
 Compound subtraction operator. More...
 
int64x64_t & ns3::operator/= (int64x64_t &lhs, const int64x64_t &rhs)
 Compound division operator. More...
 
bool ns3::operator< (const int64x64_t &lhs, const int64x64_t &rhs)
 Less than operator. More...
 
bool ns3::operator== (const int64x64_t &lhs, const int64x64_t &rhs)
 Equality operator. More...
 
bool ns3::operator> (const int64x64_t &lhs, const int64x64_t &rhs)
 Greater operator. More...
 

Detailed Description

Declaration of the ns3::int64x64_t type using the Cairo implementation.

Definition in file int64x64-cairo.h.

Macro Definition Documentation

◆ HP_MAX_64

#define HP_MAX_64   (std::pow (2.0L, 64))

Floating point value of HP_MASK_LO + 1 We really want:

static const long double HP_MAX_64 = std:pow (2.0L, 64);

but we can't call functions in const definitions, We could make this a static and initialize in int64x64-cairo.cc or int64x64.cc, but this requires handling static initialization order when most of the implementation is inline. Instead, we resort to this define.

Definition at line 58 of file int64x64-cairo.h.

Referenced by ns3::int64x64_t::GetDouble(), and ns3::int64x64_t::int64x64_t().

◆ INT64X64_CAIRO_H

#define INT64X64_CAIRO_H

Definition at line 22 of file int64x64-cairo.h.