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
 Using the ns3::int64x64_t based on Cairo 128-bit integers. 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);
#define HP_MAX_64
Floating point value of HP_MASK_LO + 1.
Definition: int64x64-128.h:76

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 59 of file int64x64-cairo.h.

◆ INT64X64_CAIRO_H

#define INT64X64_CAIRO_H

Using the ns3::int64x64_t based on Cairo 128-bit integers.

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