Data Collection and Recording Tools
Empirical includes a variety of tools for gathering and recording data.
The core of these tools is the DataNode class. DataNodes are containers
that you can pass as much data as you like into. When DataNodes are
built, they can be given various modifiers (specified as template
arguments) which control how much information they will collect about
the data they are passed. For instance, the data::Current modifier
gives the DataNode the power to remember the last value it was passed,
whereas the data::Stats modifier keeps track of a variety of
statistics about the distribution of data that the node has been
passed. Except where otherwise noted, modifiers can be combined freely.
Some also have dependencies on simpler modifiers. On the whole,
DataNodes are designed to be as light-weight as possible while still
keeping track of the desired information.
DataNodes that accept the same type of data and have the same modifiers can be grouped together using a DataManager.
The DataInterface class provides a general interface for interacting with DataNodes of any type. This is useful in cases where you have a collection of different types of DataNodes and want to operate on them without casting.
The DataFile class provides an interface for recording data at regular intervals. This data can come from DataNodes, the return of a specified function, or the contents of a specified variable. DataFiles are useful for collecting data over the course of a computational experiment.
Data Tools API
- AnnotatedType.hpp
AnnotatedTypeAnnotatedType::GetDataMap()AnnotatedType::GetDataMap()AnnotatedType::SetDataMap()AnnotatedType::GetDataLayout()AnnotatedType::GetDataLayout()AnnotatedType::HasTraitID()AnnotatedType::HasTrait()AnnotatedType::TestTraitType()AnnotatedType::TestTraitType()AnnotatedType::GetTraitID()AnnotatedType::GetTrait()AnnotatedType::GetTrait()AnnotatedType::GetTrait()AnnotatedType::GetTrait()AnnotatedType::SetTrait()AnnotatedType::SetTrait()AnnotatedType::GetTraitType()AnnotatedType::GetTraitType()AnnotatedType::GetTraitAsDouble()AnnotatedType::GetTraitAsDouble()AnnotatedType::GetTraitAsString()AnnotatedType::GetTraitAsString()AnnotatedType::data_map
- DataFile.hpp
MakeContainerDataFile()DataFileDataFile::DataFile()DataFile::DataFile()DataFile::DataFile()DataFile::DataFile()DataFile::~DataFile()DataFile::operator=()DataFile::operator=()DataFile::GetFilename()DataFile::GetLineBegin()DataFile::GetSpacer()DataFile::GetLineEnd()DataFile::SetTiming()DataFile::SetTimingOnce()DataFile::SetTimingRepeat()DataFile::SetTimingRange()DataFile::SetLineBegin()DataFile::SetSpacer()DataFile::SetLineEnd()DataFile::SetupLine()DataFile::PrintHeaderKeys()DataFile::PrintHeaderComment()DataFile::Update()DataFile::Update()DataFile::AddPreFun()DataFile::Add()DataFile::AddFun()DataFile::AddVar()DataFile::AddCurrent()DataFile::AddMean()DataFile::AddMedian()DataFile::AddPercentile()DataFile::AddTotal()DataFile::AddMin()DataFile::AddMax()DataFile::AddVariance()DataFile::AddStandardDeviation()DataFile::AddSkew()DataFile::AddKurtosis()DataFile::AddStats()DataFile::AddAllStats()DataFile::AddHistBin()DataFile::AddAllHistBins()DataFile::AddInferiority()DataFile::fun_tDataFile::time_fun_tDataFile::pre_fun_tDataFile::filenameDataFile::osDataFile::funsDataFile::pre_funsDataFile::keysDataFile::descsDataFile::timing_funDataFile::line_beginDataFile::line_spacerDataFile::line_end
ContainerDataFileContainerDataFile::ContainerDataFile()ContainerDataFile::~ContainerDataFile()ContainerDataFile::SetUpdateContainerFun()ContainerDataFile::PrintHeaderKeys()ContainerDataFile::PrintHeaderComment()ContainerDataFile::GetCurrentRows()ContainerDataFile::OutputLine()ContainerDataFile::Update()ContainerDataFile::Update()ContainerDataFile::Add()ContainerDataFile::AddContainerFun()ContainerDataFile::container_tContainerDataFile::raw_container_tContainerDataFile::data_tContainerDataFile::container_fun_tContainerDataFile::fun_update_container_tContainerDataFile::update_container_funContainerDataFile::current_rowsContainerDataFile::container_funsContainerDataFile::container_keysContainerDataFile::container_descs
- DataInterface.hpp
MakeDataInterface()DataInterfaceDataInterface::~DataInterface()DataInterface::GetCount()DataInterface::GetResetCount()DataInterface::GetTotal()DataInterface::GetMean()DataInterface::GetMin()DataInterface::GetMax()DataInterface::GetVariance()DataInterface::GetStandardDeviation()DataInterface::GetSkew()DataInterface::GetKurtosis()DataInterface::PullData()DataInterface::Reset()DataInterface::PrintDebug()DataInterface::GetName()DataInterface::GetDescription()DataInterface::GetKeyword()
- DataLayout.hpp
DataLayoutDataLayout::DataLayout()DataLayout::DataLayout()DataLayout::~DataLayout()DataLayout::operator=()DataLayout::operator=()DataLayout::IncMaps()DataLayout::DecMaps()DataLayout::GetNumMaps()DataLayout::IsLocked()DataLayout::HasName()DataLayout::HasID()DataLayout::IsType()DataLayout::Has()DataLayout::Has()DataLayout::DiagnoseHas()DataLayout::GetImageSize()DataLayout::GetID()DataLayout::GetType()DataLayout::GetCount()DataLayout::IsNumeric()DataLayout::IsNumeric()DataLayout::Lock()DataLayout::Add()DataLayout::DestructImage()DataLayout::ClearImage()DataLayout::CopyImage()DataLayout::MoveImageContents()DataLayout::copy_fun_tDataLayout::move_fun_tDataLayout::destruct_fun_tDataLayout::id_mapDataLayout::setting_mapDataLayout::image_sizeDataLayout::num_mapsDataLayout::is_lockedDataLayout::copy_constructorsDataLayout::move_constructorsDataLayout::destructorsDataLayout::SettingInfo
- DataLog.hpp
DataLogDataLog::DataLog()DataLog::DataLog()DataLog::DataLog()DataLog::DataLog()DataLog::operator=()DataLog::operator=()DataLog::operator=()DataLog::GetSize()DataLog::size()DataLog::operator[]()DataLog::operator[]()DataLog::Push()DataLog::Sort()DataLog::Min()DataLog::Max()DataLog::Mean()DataLog::Variance()DataLog::StdDev()DataLog::StdError()DataLog::AsciiBarGraph()DataLog::AsciiHistogram()DataLog::data_tDataLog::data
- DataManager.hpp
DataManagerDataManager::DataManager()DataManager::~DataManager()DataManager::begin()DataManager::end()DataManager::begin()DataManager::end()DataManager::GetSize()DataManager::GetNodes()DataManager::HasNode()DataManager::New()DataManager::Delete()DataManager::Get()DataManager::Get()DataManager::AddData()DataManager::ResetAll()DataManager::data_tDataManager::node_tDataManager::node_map
- DataMap.hpp
DataMapDataMap::key_typeDataMap::DataMap()DataMap::DataMap()DataMap::DataMap()DataMap::operator=()DataMap::~DataMap()DataMap::GetSize()DataMap::GetID()DataMap::HasID()DataMap::HasName()DataMap::IsType()DataMap::IsType()DataMap::Has()DataMap::Get()DataMap::Get()DataMap::Get()DataMap::Get()DataMap::Get()DataMap::Get()DataMap::Get()DataMap::Get()DataMap::Set()DataMap::Set()DataMap::GetType()DataMap::GetType()DataMap::IsNumeric()DataMap::IsNumeric()DataMap::GetAsDouble()DataMap::GetAsDouble()DataMap::GetAsString()DataMap::GetAsString()DataMap::AddVar()DataMap::AddVar()DataMap::HasLayout()DataMap::HasLayout()DataMap::SameLayout()DataMap::GetLayout()DataMap::GetLayout()DataMap::IsLocked()DataMap::LockLayout()DataMap::MakeDatumAccessor()DataMap::MakeDatumAccessor()DataMap::DataMap()DataMap::MakeLayoutUnique()DataMap::memoryDataMap::layout_ptr
- DataNode.hpp
DataMonitorDataLogDataArchivedataDataNodeModuleDataNodeModule::value_tDataNodeModule::DataNodeModule()DataNodeModule::GetCount()DataNodeModule::GetResetCount()DataNodeModule::GetTotal()DataNodeModule::GetMean()DataNodeModule::GetMin()DataNodeModule::GetMax()DataNodeModule::GetVariance()DataNodeModule::GetStandardDeviation()DataNodeModule::GetSkew()DataNodeModule::GetKurtosis()DataNodeModule::GetMedian()DataNodeModule::GetPercentile()DataNodeModule::GetName()DataNodeModule::GetDescription()DataNodeModule::GetKeyword()DataNodeModule::SetName()DataNodeModule::SetDescription()DataNodeModule::SetKeyword()DataNodeModule::SetInfo()DataNodeModule::AddDatum()DataNodeModule::Reset()DataNodeModule::PrintDebug()DataNodeModule::PullData_impl()DataNodeModule::val_countDataNodeModule::in_vals
CurrentModuleInfoModuleInfoModule::DataNodeModule()InfoModule::GetName()InfoModule::GetDescription()InfoModule::GetKeyword()InfoModule::SetName()InfoModule::SetDescription()InfoModule::SetKeyword()InfoModule::SetInfo()InfoModule::PrintDebug()InfoModule::parent_tInfoModule::nameInfoModule::descInfoModule::keyword
LogModuleArchiveModuleArchiveModule::DataNodeModule()ArchiveModule::GetArchive()ArchiveModule::GetData()ArchiveModule::GetData()ArchiveModule::GetResetCount()ArchiveModule::Reset()ArchiveModule::PrintDebug()ArchiveModule::this_tArchiveModule::parent_tArchiveModule::base_tArchiveModule::archiveArchiveModule::val_count
RangeModuleRangeModule::DataNodeModule()RangeModule::GetTotal()RangeModule::GetMean()RangeModule::GetMin()RangeModule::GetMax()RangeModule::AddDatum()RangeModule::Reset()RangeModule::PrintDebug()RangeModule::this_tRangeModule::parent_tRangeModule::base_tRangeModule::totalRangeModule::minRangeModule::maxRangeModule::val_count
FullRangeModuleFullRangeModule::DataNodeModule()FullRangeModule::GetTotal()FullRangeModule::GetMean()FullRangeModule::GetMin()FullRangeModule::GetMax()FullRangeModule::GetTotal()FullRangeModule::GetMean()FullRangeModule::GetMin()FullRangeModule::GetMax()FullRangeModule::GetResetCount()FullRangeModule::Reset()FullRangeModule::PrintDebug()FullRangeModule::this_tFullRangeModule::parent_tFullRangeModule::base_tFullRangeModule::total_valsFullRangeModule::num_valsFullRangeModule::min_valsFullRangeModule::max_valsFullRangeModule::val_count
StatsModuleStatsModule::DataNodeModule()StatsModule::GetVariance()StatsModule::GetStandardDeviation()StatsModule::GetSkew()StatsModule::GetKurtosis()StatsModule::AddDatum()StatsModule::Reset()StatsModule::PrintDebug()StatsModule::this_tStatsModule::parent_tStatsModule::base_tStatsModule::M2StatsModule::M3StatsModule::M4StatsModule::val_count
HistogramModuleHistogramModule::DataNodeModule()HistogramModule::GetHistMin()HistogramModule::GetHistMax()HistogramModule::GetHistCount()HistogramModule::GetHistWidth()HistogramModule::GetHistCounts()HistogramModule::GetOverflow()HistogramModule::GetUnderflow()HistogramModule::GetBinMins()HistogramModule::SetupBins()HistogramModule::AddDatum()HistogramModule::Reset()HistogramModule::PrintDebug()HistogramModule::this_tHistogramModule::parent_tHistogramModule::base_tHistogramModule::offsetHistogramModule::widthHistogramModule::binsHistogramModule::countsHistogramModule::overflowHistogramModule::underflowHistogramModule::val_count
PullModuleDataNode
- Datum.hpp
operator<<()operator%()DatumDatum::Datum()Datum::Datum()Datum::Datum()Datum::Datum()Datum::Datum()Datum::Datum()Datum::Datum()Datum::~Datum()Datum::NativeDouble()Datum::NativeDouble()Datum::NativeString()Datum::NativeString()Datum::AsDouble()Datum::AsString()Datum::operator double()Datum::operator std::string()Datum::SetDouble()Datum::SetString()Datum::Set()Datum::operator=()Datum::operator=()Datum::operator=()Datum::operator=()Datum::operator+()Datum::operator-()Datum::operator!()Datum::CompareNumber()Datum::CompareString()Datum::Compare()Datum::Compare()Datum::Compare()Datum::Compare()Datum::operator==()Datum::operator!=()Datum::operator<()Datum::operator>=()Datum::operator>()Datum::operator<=()Datum::operator+()Datum::operator*()Datum::operator-()Datum::operator/()Datum::operator%()Datum::operator+()Datum::operator*()Datum::operator-()Datum::operator/()Datum::operator%()Datum::operator+=()Datum::operator-=()Datum::operator*=()Datum::operator/=()Datum::operator%=()Datum::numDatum::strDatum::InitString()Datum::InitString()Datum::FreeString()Datum::@1Datum::is_num
- MemoryImage.hpp
MemoryImageMemoryImage::MemoryImage()MemoryImage::MemoryImage()MemoryImage::~MemoryImage()MemoryImage::GetSize()MemoryImage::GetInitSize()MemoryImage::GetPtr()MemoryImage::GetPtr()MemoryImage::Get()MemoryImage::Get()MemoryImage::Get()MemoryImage::Get()MemoryImage::RawResize()MemoryImage::RawCopy()MemoryImage::RawMove()MemoryImage::Construct()MemoryImage::Destruct()MemoryImage::CopyObj()MemoryImage::MoveObj()MemoryImage::Fuzz()MemoryImage::imageMemoryImage::sizeMemoryImage::init_to
- SimpleParser.hpp
SimpleParserSimpleParser::SimpleParser()SimpleParser::SimpleParser()SimpleParser::GetNamesUsed()SimpleParser::GetNamesUsed()SimpleParser::AddOp()SimpleParser::AddOp()SimpleParser::AddDefaultOperators()SimpleParser::AddDefaultFunctions()SimpleParser::AddRandomFunctions()SimpleParser::ParseValue()SimpleParser::ParseMath()SimpleParser::SetupStaticValues()SimpleParser::SetupStaticValues()SimpleParser::BuildMathFunction()SimpleParser::RunMathFunction()SimpleParser::ApproxCompare()SimpleParser::pos_tSimpleParser::ParseError()SimpleParser::lexerSimpleParser::unary_opsSimpleParser::binary_opsSimpleParser::functionsSimpleParser::external_valsSimpleParser::var_namesSimpleParser::verboseSimpleParser::BinaryOperatorSimpleParser::FunctionSimpleParser::Function::fun0_tSimpleParser::Function::fun1_tSimpleParser::Function::fun2_tSimpleParser::Function::fun3_tSimpleParser::Function::Set0()SimpleParser::Function::Set1()SimpleParser::Function::Set2()SimpleParser::Function::Set3()SimpleParser::Function::num_argsSimpleParser::Function::fun0SimpleParser::Function::fun1SimpleParser::Function::fun2SimpleParser::Function::fun3
SimpleParser::MapLexerSimpleParser::MapLexer::MapLexer()SimpleParser::MapLexer::IsID()SimpleParser::MapLexer::IsNumber()SimpleParser::MapLexer::IsString()SimpleParser::MapLexer::IsChar()SimpleParser::MapLexer::IsExternal()SimpleParser::MapLexer::IsSymbol()SimpleParser::MapLexer::token_identifierSimpleParser::MapLexer::token_numberSimpleParser::MapLexer::token_stringSimpleParser::MapLexer::token_charSimpleParser::MapLexer::token_externalSimpleParser::MapLexer::token_symbol
SimpleParser::SymbolTableSimpleParser::SymbolTableSimpleParser::SymbolTableSimpleParser::ValueTypeSimpleParser::ValueType::type_tSimpleParser::ValueType::fun_tSimpleParser::ValueType::ValueType()SimpleParser::ValueType::ValueType()SimpleParser::ValueType::ValueType()SimpleParser::ValueType::ValueType()SimpleParser::ValueType::ValueType()SimpleParser::ValueType::ValueType()SimpleParser::ValueType::operator=()SimpleParser::ValueType::operator=()SimpleParser::ValueType::operator=()SimpleParser::ValueType::operator=()SimpleParser::ValueType::operator=()SimpleParser::ValueType::AsFunction()SimpleParser::ValueType::typeSimpleParser::ValueType::valueSimpleParser::ValueType::fun
SymbolTable
SimpleParser::PhonyNameDueToError::map_tSimpleParser::PhonyNameDueToError::arg_tSimpleParser::PhonyNameDueToError::fun_tSimpleParser::PhonyNameDueToError::value_tSimpleParser::PhonyNameDueToError::SymbolTable()SimpleParser::PhonyNameDueToError::MakeDatumAccessor()SimpleParser::PhonyNameDueToError::AsFunction()SimpleParser::PhonyNameDueToError::layout
- Trait.hpp
TraitTrait::this_tTrait::target_tTrait::value_tTrait::fun_tTrait::range_tTrait::Trait()Trait::Trait()Trait::Trait()Trait::Trait()Trait::Trait()Trait::operator=()Trait::operator=()Trait::GetName()Trait::GetDesc()Trait::GetFun()Trait::GetRange()Trait::SetName()Trait::SetDesc()Trait::SetFun()Trait::SetRange()Trait::SetRange()Trait::SetMin()Trait::SetMax()Trait::Eval()Trait::EvalLimit()Trait::EvalString()Trait::EvalValue()Trait::EvalBin()Trait::Clone()Trait::nameTrait::descTrait::funTrait::range
BaseTraitTraitSetTraitSet::target_tTraitSet::trait_tTraitSet::TraitSet()TraitSet::TraitSet()TraitSet::TraitSet()TraitSet::~TraitSet()TraitSet::operator=()TraitSet::operator=()TraitSet::operator[]()TraitSet::operator[]()TraitSet::GetSize()TraitSet::Clear()TraitSet::Find()TraitSet::Has()TraitSet::AddTrait()TraitSet::EvalString()TraitSet::EvalValue()TraitSet::EvalStrings()TraitSet::EvalValues()TraitSet::EvalBin()TraitSet::CalcOffsets()TraitSet::traits
- VarMap.hpp
VarMapVarMap::VarMap()VarMap::VarMap()VarMap::VarMap()VarMap::~VarMap()VarMap::GetName()VarMap::GetID()VarMap::Has()VarMap::Add()VarMap::AddString()VarMap::AddInt()VarMap::AddDouble()VarMap::AddChar()VarMap::AddBool()VarMap::Get()VarMap::Get()VarMap::Get()VarMap::Get()VarMap::GetType()VarMap::GetType()VarMap::GetString()VarMap::GetInt()VarMap::GetDouble()VarMap::GetChar()VarMap::GetBool()VarMap::GetString()VarMap::GetInt()VarMap::GetDouble()VarMap::GetChar()VarMap::GetBool()VarMap::Set()VarMap::Set()VarMap::varsVarMap::id_mapVarMap::VarBaseVarMap::VarInfo