FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::TscCalibration Struct Reference

#include <fastmm/core/time.hpp>

Public Member Functions

constexpr bool has_rate () const noexcept
 

Public Attributes

std::uint64_t tsc0 = 0
 TSC reading at the anchor.
 
std::int64_t ns0 = 0
 wall time at the anchor
 
std::uint64_t ns_per_cycle_q32 = 0
 32.32 fixed point; 0: no TSC rate
 
double ghz = 0.0
 diagnostics only
 
bool use_tsc = false
 Wall time from the TSC.
 

Member Function Documentation

◆ has_rate()

constexpr bool fastmm::TscCalibration::has_rate ( ) const
inlineconstexprnoexcept

Member Data Documentation

◆ tsc0

std::uint64_t fastmm::TscCalibration::tsc0 = 0

TSC reading at the anchor.

◆ ns0

std::int64_t fastmm::TscCalibration::ns0 = 0

wall time at the anchor

◆ ns_per_cycle_q32

std::uint64_t fastmm::TscCalibration::ns_per_cycle_q32 = 0

32.32 fixed point; 0: no TSC rate

◆ ghz

double fastmm::TscCalibration::ghz = 0.0

diagnostics only

◆ use_tsc

bool fastmm::TscCalibration::use_tsc = false

Wall time from the TSC.

False with a non-zero rate (TscKind::Constant): wall time from clock_gettime, TSC cycle intervals still convert with the rate.