Public Member Functions |
Static Public Member Functions |
Private Member Functions |
Private Attributes |
List of all members
Gambit::DRes::DependencyResolver Class Reference Main dependency resolver. More...
Collaboration diagram for Gambit::DRes::DependencyResolver:
![]()
Detailed DescriptionMain dependency resolver. Definition at line 117 of file depresolver.hpp. Constructor & Destructor Documentation◆ DependencyResolver()
Constructor, provide module and backend functor lists. Definition at line 308 of file depresolver.cpp. References addFunctors(), boundTEs, Gambit::LogTags::dependency_resolver, Gambit::EOM, Gambit::Utils::type_equivalency::equivalency_classes, and Gambit::logger(). 326 for (std::set<std::set<str> >::const_iterator it = boundTEs->equivalency_classes.begin(); it != boundTEs->equivalency_classes.end(); ++it)
const gambit_core * boundCore Core to which this dependency resolver is bound. Definition: depresolver.hpp:242 std::set< std::set< str > > equivalency_classes }@ The total set of equivalency classes Definition: type_equivalency.hpp:49 const Utils::type_equivalency * boundTEs Type equivalency object to which this dependency resolver is bound. Definition: depresolver.hpp:251 IndexMap index Indices associated with graph vertices (used by printers to identify functors) Definition: depresolver.hpp:276 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 Printers::BasePrinter * boundPrinter Printer object to which this dependency resolver is bound. Definition: depresolver.hpp:254 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95 const IniParser::IniFile * boundIniFile ini file to which this dependency resolver is bound Definition: depresolver.hpp:248 EXPORT_SYMBOLS const str & runtime_scratch() Return the path to the run-specific scratch directory Don't call this from a destructor, as the internal static str may have already been destroyed. Definition: util_functions.cpp:59 Definition: log_tags.hpp:47 const Models::ModelFunctorClaw * boundClaw Model claw to which this dependency resolver is bound. Definition: depresolver.hpp:245 const str activeFunctorGraphFile Output filename for graph of active functors. Definition: depresolver.hpp:279
Here is the call graph for this function:
![]() Member Function Documentation◆ addFunctors()
Adds list of functor pointers to master graph. Definition at line 806 of file depresolver.cpp. References boundCore, Gambit::gambit_core::getModuleFunctors(), Gambit::gambit_core::getPrimaryModelFunctors(), and masterGraph. Referenced by DependencyResolver(). const pmfVec & getPrimaryModelFunctors() const Get a reference to the list of primary model functors. Definition: core.cpp:241 const gambit_core * boundCore Core to which this dependency resolver is bound. Definition: depresolver.hpp:242 const fVec & getModuleFunctors() const Get a reference to the list of module functors. Definition: core.cpp:232
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ calcObsLike()Calculate a single target vertex. Definition at line 629 of file depresolver.cpp. References boundCore, boundIniFile, Gambit::core_error(), Gambit::LogTags::debug, Gambit::LogTags::dependency_resolver, Gambit::EOM, Gambit::gambit_core::get_outprec(), Gambit::IniParser::Parser::getValueOrDef(), Gambit::LogTags::info, LOCAL_INFO, Gambit::logger(), masterGraph, and SortedParentVertices. Referenced by Gambit::Likelihood_Container::main(). 632 core_error().raise(LOCAL_INFO, "Tried to calculate a function not in or not at top of dependency graph."); 638 ss << "Calling " << masterGraph[*it]->name() << " from " << masterGraph[*it]->origin() << "..."; 651 // Reset the cout output precision, in case any backends have messed with it during the ObsLike evaluation.
TYPE getValueOrDef(TYPE def, const args &... keys) const Definition: yaml_parser_base.hpp:78 const gambit_core * boundCore Core to which this dependency resolver is bound. Definition: depresolver.hpp:242 Definition: log_tags.hpp:35 Definition: log_tags.hpp:36 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95 std::map< VertexID, std::vector< VertexID > > SortedParentVertices Saved calling order for functions required to compute single ObsLike entries. Definition: depresolver.hpp:266 const IniParser::IniFile * boundIniFile ini file to which this dependency resolver is bound Definition: depresolver.hpp:248
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ checkTypeMatch()
Ensure that the type of a given vertex is equivalent to at least one of a provided list, and return the matching list entry. Definition at line 700 of file depresolver.cpp. References boundTEs, Gambit::core_error(), LOCAL_INFO, masterGraph, and Gambit::DRes::typeComp(). Referenced by Gambit::Likelihood_Container::Likelihood_Container(). 707 msg << "All quantities with purpose \"" << purpose << "\" in your yaml file must have one " << endl 712 << " [" << masterGraph[vertex]->type() << "]" << endl << "Please assign a different purpose to this entry.";
bool typeComp(str, str, const Utils::type_equivalency &, bool with_regex=true) Type comparison taking into account equivalence classes. Definition: depresolver.cpp:274 const Utils::type_equivalency * boundTEs Type equivalency object to which this dependency resolver is bound. Definition: depresolver.hpp:251
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ closestCandidateForModel()
Find candidate functions that are tailor made for models that are scanned over. Definition at line 925 of file depresolver.cpp. References boundClaw, Gambit::Models::ModelFunctorClaw::get_activemodels(), Gambit::Models::ModelFunctorClaw::get_parent(), and masterGraph. Referenced by resolveDependencyFromRules(). 929 // that are accessible via INTERPRET_AS_X links, as these are all considered to be equally 'far' 930 // from the model being scanned, with the 'distance' being one step further than the most distant 933 // Work up the model ancestry one step at a time, and stop as soon as one or more valid model-specific functors is 940 for (std::vector<str>::iterator mit = parentModelList.begin(); mit != parentModelList.end(); ++mit) 942 // Test each vertex candidate to see if it has been explicitly set up to work with the model *mit 943 for (std::vector<DRes::VertexID>::iterator it = candidates.begin(); it != candidates.end(); ++it) 950 parentModelList.erase(std::remove(parentModelList.begin(), parentModelList.end(), "none"), parentModelList.end());
str get_parent(const str &) const Retrieve the parent model for a given model. Definition: models.cpp:244 std::set< str > get_activemodels() const Return the set of active models;. Definition: models.cpp:106 const Models::ModelFunctorClaw * boundClaw Model claw to which this dependency resolver is bound. Definition: depresolver.hpp:245
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ collectIniOptions()
Derive options from ini-entries. Collect ini options. Definition at line 959 of file depresolver.cpp. References boundIniFile, boundTEs, Gambit::DRes::dependency_resolver_error(), Gambit::DRes::getEntryLevelForOptions(), Gambit::IniParser::IniFile::getRules(), LOCAL_INFO, masterGraph, and Gambit::DRes::moduleFuncMatchesIniEntry(). Referenced by generateTree(). 1000 errmsg << "ERROR! Multiple option entries with same level for key: " << jt->first.as<std::string>();
const ObservablesType & getRules() const Definition: yaml_parser.cpp:68 int getEntryLevelForOptions(const IniParser::ObservableType &e) Definition: depresolver.cpp:171 bool moduleFuncMatchesIniEntry(functor *f, const IniParser::ObservableType &e, const Utils::type_equivalency &eq) Definition: depresolver.cpp:151 const Utils::type_equivalency * boundTEs Type equivalency object to which this dependency resolver is bound. Definition: depresolver.hpp:251 std::vector< ObservableType > ObservablesType Definition: yaml_parser.hpp:86 const IniParser::IniFile * boundIniFile ini file to which this dependency resolver is bound Definition: depresolver.hpp:248
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ collectSubCaps()
Collect sub-capabilities. Definition at line 1011 of file depresolver.cpp. References boundIniFile, boundTEs, Gambit::DRes::dependency_resolver_error(), Gambit::IniParser::IniFile::getObservables(), LOCAL_INFO, masterGraph, and Gambit::DRes::moduleFuncMatchesIniEntry(). Referenced by generateTree(). 1024 if (moduleFuncMatchesIniEntry(masterGraph[vertex], *it, *boundTEs) and not it->subcaps.IsNull()) 1027 cout << "Found subcaps for " << it->capability << " " << it->type << " " << it->module << ":" << endl; 1033 if (nodes[key]) dependency_resolver_error().raise(LOCAL_INFO,"Duplicate sub-capability for " + key + "."); 1042 dependency_resolver_error().raise(LOCAL_INFO,"Attempt to pass map using sequence syntax for subcaps of "+it->capability+"."); 1044 if (nodes[key]) dependency_resolver_error().raise(LOCAL_INFO,"Duplicate sub-capability for " + key + "."); 1054 if (nodes[key]) dependency_resolver_error().raise(LOCAL_INFO,"Duplicate sub-capability for " + key + "."); const ObservablesType & getObservables() const Getters for private observable and rules entries. Definition: yaml_parser.cpp:67 bool moduleFuncMatchesIniEntry(functor *f, const IniParser::ObservableType &e, const Utils::type_equivalency &eq) Definition: depresolver.cpp:151 const Utils::type_equivalency * boundTEs Type equivalency object to which this dependency resolver is bound. Definition: depresolver.hpp:251 std::vector< ObservableType > ObservablesType Definition: yaml_parser.hpp:86 const IniParser::IniFile * boundIniFile ini file to which this dependency resolver is bound Definition: depresolver.hpp:248
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ cullInactiveFunctors()
Helper function that returns a new graph with all inactive vertices removed. ◆ doResolution()
The dependency resolution. Definition at line 339 of file depresolver.cpp. References activeFunctorGraphFile, boundCore, boundIniFile, Gambit::LogTags::dependency_resolver, Gambit::EOM, Gambit::DRes::QueueEntry::first, function_order, generateTree(), Gambit::IniParser::IniFile::getObservables(), getObsLikeOrder(), Gambit::DRes::getSortedParentVertices(), initialisePrinter(), Gambit::logger(), loopManagerMap, makeFunctorsModelCompatible(), masterGraph, OBSLIKE_VERTEXID, Gambit::DRes::QueueEntry::printme, run_topological_sort(), Gambit::DRes::QueueEntry::second, Gambit::gambit_core::show_runorder, SortedParentVertices, and Gambit::DRes::sortVertices(). Referenced by main(). 356 logger() << LogTags::dependency_resolver << endl << it->capability << " (" << it->type << ") [" << it->purpose << "]"; const ObservablesType & getObservables() const Getters for private observable and rules entries. Definition: yaml_parser.cpp:67 std::vector< VertexID > sortVertices(const std::set< VertexID > &set, const std::list< VertexID > &topoOrder) Definition: depresolver.cpp:101 std::list< VertexID > function_order Saved calling order for functions. Definition: depresolver.hpp:263 const gambit_core * boundCore Core to which this dependency resolver is bound. Definition: depresolver.hpp:242 std::vector< VertexID > getSortedParentVertices(const VertexID &vertex, const DRes::MasterGraphType &graph, const std::list< VertexID > &topoOrder) Definition: depresolver.cpp:114 std::vector< VertexID > getObsLikeOrder() Retrieve the order in which target vertices are to be evaluated. Definition: depresolver.cpp:580 void makeFunctorsModelCompatible() Deactivate functors that are not allowed to be used with the model(s) being scanned. Definition: depresolver.cpp:833 graph_traits< MasterGraphType >::vertex_descriptor VertexID Definition: depresolver.hpp:61 std::vector< ObservableType > ObservablesType Definition: yaml_parser.hpp:86 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95 std::map< VertexID, std::vector< VertexID > > SortedParentVertices Saved calling order for functions required to compute single ObsLike entries. Definition: depresolver.hpp:266 void generateTree(std::queue< QueueEntry > parQueue) Generate full dependency tree. Definition: depresolver.cpp:1466 const IniParser::IniFile * boundIniFile ini file to which this dependency resolver is bound Definition: depresolver.hpp:248 int show_runorder Flags set by command line options Flag to trigger dependency resolver to report functor run order... Definition: core.hpp:129 const str activeFunctorGraphFile Output filename for graph of active functors. Definition: depresolver.hpp:279 std::map< VertexID, std::set< VertexID > > loopManagerMap Temporary map for loop manager -> list of nested functions. Definition: depresolver.hpp:269 void initialisePrinter() Initialise the printer object with a list of functors for it to expect to be printed. Definition: depresolver.cpp:873
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ fillParQueue()
Helper functions/arrays. Push module function dependencies onto the parameter queue. Definition at line 1706 of file depresolver.cpp. References Gambit::LogTags::dependency_resolver, Gambit::EOM, Gambit::logger(), LOOP_MANAGER_DEPENDENCY, masterGraph, and NORMAL_DEPENDENCY. Referenced by generateTree(). 1722 parQueue->push(QueueEntry(sspair(lmcap, lmtype), vertex, LOOP_MANAGER_DEPENDENCY, printme_default));
const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ findIniEntry() [1/2]
Find entries (comparison of inifile entry with quantity or functor) Find observable entry that matches capability/type. Definition at line 1779 of file depresolver.cpp. References Gambit::DRes::capabilityMatchesIniEntry(), Gambit::DRes::dependency_resolver_error(), and LOCAL_INFO. Referenced by generateTree(), resolveDependency(), resolveVertexBackend(), and solveRequirement(). 1786 if ( capabilityMatchesIniEntry(quantity, *it) ) // use same criteria than for normal dependencies
bool capabilityMatchesIniEntry(const sspair &quantity, const IniParser::ObservableType &observable) Definition: depresolver.cpp:141
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ findIniEntry() [2/2]
Find rules entry that matches vertex. Definition at line 1753 of file depresolver.cpp. References boundTEs, Gambit::DRes::dependency_resolver_error(), LOCAL_INFO, masterGraph, and Gambit::DRes::moduleFuncMatchesIniEntry(). 1760 if ( moduleFuncMatchesIniEntry(masterGraph[toVertex], *it, *boundTEs) and it->capability != "" )
bool moduleFuncMatchesIniEntry(functor *f, const IniParser::ObservableType &e, const Utils::type_equivalency &eq) Definition: depresolver.cpp:151 const Utils::type_equivalency * boundTEs Type equivalency object to which this dependency resolver is bound. Definition: depresolver.hpp:251
Here is the call graph for this function:
![]() ◆ generateTree()
Generate full dependency tree. Set up dependency tree. Definition at line 1466 of file depresolver.cpp. References boundCore, boundIniFile, collectIniOptions(), collectSubCaps(), Gambit::core_error(), Gambit::LogTags::dependency_resolver, Gambit::DRes::dependency_resolver_error(), edges_to_force_on_manager, Gambit::EOM, fillParQueue(), findIniEntry(), Gambit::IniParser::IniFile::getObservables(), Gambit::IniParser::IniFile::getRules(), Gambit::IniParser::Parser::getValueOrDef(), Gambit::DRes::OutputVertexInfo::iniEntry, LOCAL_INFO, Gambit::logger(), LOOP_MANAGER_DEPENDENCY, loopManagerMap, masterGraph, OBSLIKE_VERTEXID, Gambit::IniParser::Types::Observable::options, outputVertexInfos, print_timing, print_unitcube, printGenericFunctorList(), printQuantityToBeResolved(), resolveDependency(), resolveDependencyFromRules(), resolveVertexBackend(), Gambit::gambit_core::show_runorder, and Gambit::DRes::OutputVertexInfo::vertex. Referenced by doResolution(). 1496 if ( print_timing ) logger() << "Will output timing information for all functors (via printer system)" << EOM; 1626 bool is_itself = (name == (*masterGraph[fromVertex]).name() and origin == (*masterGraph[fromVertex]).origin()); 1648 core_error().raise(LOCAL_INFO, "toVertex has no edges! So its loop manager hasn't been added as a dependency?!"); const ObservablesType & getObservables() const Getters for private observable and rules entries. Definition: yaml_parser.cpp:67 graph_traits< MasterGraphType >::edge_descriptor EdgeID Definition: depresolver.hpp:62 void fillParQueue(std::queue< QueueEntry > *parQueue, DRes::VertexID vertex) Helper functions/arrays. Definition: depresolver.cpp:1706 const IniParser::ObservableType * findIniEntry(sspair quantity, const IniParser::ObservablesType &, const str &) Find entries (comparison of inifile entry with quantity or functor) Definition: depresolver.cpp:1779 boost::tuple< const IniParser::ObservableType *, DRes::VertexID > resolveDependency(DRes::VertexID toVertex, sspair quantity) Resolution of individual module function dependencies. Definition: depresolver.cpp:1332 TYPE getValueOrDef(TYPE def, const args &... keys) const Definition: yaml_parser_base.hpp:78 std::map< VertexID, std::set< VertexID > > edges_to_force_on_manager Map from nested function -> list of fulfilled dependencies that need to be passed on to its loop mana... Definition: depresolver.hpp:273 const ObservablesType & getRules() const Definition: yaml_parser.cpp:68 const gambit_core * boundCore Core to which this dependency resolver is bound. Definition: depresolver.hpp:242 str printQuantityToBeResolved(const sspair &quantity, const DRes::VertexID &vertex) Print quantity to be resolved. Definition: depresolver.cpp:757 str printGenericFunctorList(const std::vector< functor *> &) Pretty print backend functor information. Definition: depresolver.cpp:784 graph_traits< MasterGraphType >::vertex_descriptor VertexID Definition: depresolver.hpp:61 bool print_timing Global flag for triggering printing of timing data. Definition: depresolver.hpp:282 void resolveVertexBackend(VertexID) Main function for resolution of backend requirements. Definition: depresolver.cpp:1802 Options collectIniOptions(const DRes::VertexID &vertex) Derive options from ini-entries. Definition: depresolver.cpp:959 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95 const IniParser::IniFile * boundIniFile ini file to which this dependency resolver is bound Definition: depresolver.hpp:248 int show_runorder Flags set by command line options Flag to trigger dependency resolver to report functor run order... Definition: core.hpp:129 Options collectSubCaps(const DRes::VertexID &vertex) Collect sub-capabilities. Definition: depresolver.cpp:1011 DRes::VertexID resolveDependencyFromRules(const DRes::VertexID &toVertex, const sspair &quantity) Resolution of individual module function dependencies. Definition: depresolver.cpp:1071 std::vector< OutputVertexInfo > outputVertexInfos Output Vertex Infos. Definition: depresolver.hpp:257 bool print_unitcube Global flag for triggering printing of unitCubeParameters. Definition: depresolver.hpp:285 std::map< VertexID, std::set< VertexID > > loopManagerMap Temporary map for loop manager -> list of nested functions. Definition: depresolver.hpp:269
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ get_functor()Get the functor corresponding to a single VertexID. Definition at line 689 of file depresolver.cpp. References masterGraph. Referenced by Gambit::Likelihood_Container::main().
Here is the caller graph for this function:
![]() ◆ getIniEntry()
Definition at line 731 of file depresolver.cpp. References outputVertexInfos. Referenced by Gambit::Likelihood_Container::Likelihood_Container(). std::vector< OutputVertexInfo > outputVertexInfos Output Vertex Infos. Definition: depresolver.hpp:257
Here is the caller graph for this function:
![]() ◆ getObsLike()
template<typename TYPE >
Return the result of a functor. Definition at line 155 of file depresolver.hpp. References Gambit::core_error(), combine_hdf5::group, LOCAL_INFO, and Gambit::functor::origin(). Referenced by Gambit::Likelihood_Container::main().
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ getObsLikeOrder()
Retrieve the order in which target vertices are to be evaluated. Definition at line 580 of file depresolver.cpp. References Gambit::LogTags::dependency_resolver, double, Gambit::EOM, Gambit::DRes::getParentVertices(), Gambit::DRes::getTimeEstimate(), Gambit::logger(), masterGraph, and outputVertexInfos. Referenced by doResolution(), Gambit::Likelihood_Container::Likelihood_Container(), and printFunctorEvalOrder(). DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry double Definition: ColliderBit_LEP_rollcall.hpp:183 double getTimeEstimate(const std::set< VertexID > &vertexList, const DRes::MasterGraphType &graph) Definition: depresolver.cpp:242 void getParentVertices(const VertexID &vertex, const DRes::MasterGraphType &graph, std::set< VertexID > &myVertexList) Definition: depresolver.cpp:84 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95 std::vector< OutputVertexInfo > outputVertexInfos Output Vertex Infos. Definition: depresolver.hpp:257
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ initialisePrinter()
Initialise the printer object with a list of functors for it to expect to be printed. Set up printer object. Definition at line 873 of file depresolver.cpp. References boundPrinter, Gambit::Printers::get_param_id(), index, masterGraph, and print_unitcube. Referenced by doResolution(). 881 //Err does that make sense? There is nothing in masterGraph at that point surely... maybe put this back. 888 //masterGraph[*vi]->setVertexID(index[*vi]); // Ugh cannot do this, needs to be consistent with get_param_id 895 // Check for non-void type and status==2 (after the dependency resolution) to print only active, printable functors. 896 // TODO: this doesn't currently check for non-void type; that is done at the time of printing in calcObsLike. 903 //logger() << LogTags::dependency_resolver << "Triggering dummy print for functor '"<<masterGraph[*vi]->capability()<<"' ("<<masterGraph[*vi]->type()<<")..." << EOM; 912 //boundPrinter->reset(true); // Actually *do* do it in resume mode as well. Printers should only reset new data, not destroy old data.
EXPORT_SYMBOLS int get_param_id(const std::string &name, bool &is_new) Consolidated 'get id' function, for both main and aux. Definition: printer_id_tools.cpp:54 IndexMap index Indices associated with graph vertices (used by printers to identify functors) Definition: depresolver.hpp:276 Printers::BasePrinter * boundPrinter Printer object to which this dependency resolver is bound. Definition: depresolver.hpp:254 bool print_unitcube Global flag for triggering printing of unitCubeParameters. Definition: depresolver.hpp:285
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ invalidatePointAt()Definition at line 718 of file depresolver.cpp. References masterGraph. Referenced by Gambit::Likelihood_Container::main().
Here is the caller graph for this function:
![]() ◆ makeFunctorsModelCompatible()
Deactivate functors that are not allowed to be used with the model(s) being scanned. Activate functors that are allowed to be used with one or more of the models being scanned. Also activate the model-conditional dependencies and backend requirements of those functors. Definition at line 833 of file depresolver.cpp. References boundClaw, boundCore, Gambit::Models::ModelFunctorClaw::get_activemodels(), Gambit::gambit_core::getBackendFunctors(), and masterGraph. Referenced by doResolution(), and printFunctorList(). 861 // Activate if the backend vertex permits the model and has not been (severely) disabled by the backend system
const fVec & getBackendFunctors() const Get a reference to the list of backend model functors. Definition: core.cpp:238 const gambit_core * boundCore Core to which this dependency resolver is bound. Definition: depresolver.hpp:242 std::set< str > get_activemodels() const Return the set of active models;. Definition: models.cpp:106 const Models::ModelFunctorClaw * boundClaw Model claw to which this dependency resolver is bound. Definition: depresolver.hpp:245
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ printFunctorEvalOrder()
Pretty print function evaluation order. Definition at line 445 of file depresolver.cpp. References activeFunctorGraphFile, Gambit::LogTags::dependency_resolver, Gambit::EOM, getObsLikeOrder(), Gambit::DRes::getParentVertices(), Gambit::logger(), and masterGraph. Referenced by main(). 460 str formatString1b= "%-4s \u2514\u2500\u2500> %-21s %-25s %-25s %-25s %-6s\n"; // target functors 490 // This doesn't figure out the sequence within each target functor group; I'm not 100% sure where that is determined. This does, however, show which groups get evaluated first, and which functors are already evaluated. 520 // Might be better to just do nothing here, i.e. set dowrite=false. For now just flagging functor as done with a special format string. 555 ss << "(\"X\" indicates that the functor is pre-evaluated before the marked position)" << endl << endl; 565 cout << GAMBIT_DIR << "/Core/scripts/./graphviz.sh " << activeFunctorGraphFile << " no-loners" << endl; 567 cout << "To get postscript plot of active functors, please install graphviz, rerun cmake and remake GAMBIT." << endl << endl;
std::vector< VertexID > getObsLikeOrder() Retrieve the order in which target vertices are to be evaluated. Definition: depresolver.cpp:580 void getParentVertices(const VertexID &vertex, const DRes::MasterGraphType &graph, std::set< VertexID > &myVertexList) Definition: depresolver.cpp:84 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95 const str activeFunctorGraphFile Output filename for graph of active functors. Definition: depresolver.hpp:279
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ printFunctorList()
Pretty print module functor information. List of masterGraph content. Definition at line 415 of file depresolver.cpp. References boundCore, Gambit::LogTags::dependency_resolver, Gambit::EOM, Gambit::gambit_core::getBackendFunctors(), Gambit::logger(), makeFunctorsModelCompatible(), masterGraph, and printGenericFunctorList(). Referenced by main(). 422 logger() << LogTags::dependency_resolver << endl << "Vertices registered in masterGraph" << endl;
const fVec & getBackendFunctors() const Get a reference to the list of backend model functors. Definition: core.cpp:238 const gambit_core * boundCore Core to which this dependency resolver is bound. Definition: depresolver.hpp:242 str printGenericFunctorList(const std::vector< functor *> &) Pretty print backend functor information. Definition: depresolver.cpp:784 void makeFunctorsModelCompatible() Deactivate functors that are not allowed to be used with the model(s) being scanned. Definition: depresolver.cpp:833 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ printGenericFunctorList() [1/2]
Pretty print backend functor information. Definition at line 784 of file depresolver.cpp. Referenced by generateTree(), printFunctorList(), printGenericFunctorList(), resolveDependencyFromRules(), and solveRequirement().
Here is the caller graph for this function:
![]() ◆ printGenericFunctorList() [2/2]
Definition at line 773 of file depresolver.cpp. References masterGraph, and printGenericFunctorList(). str printGenericFunctorList(const std::vector< functor *> &) Pretty print backend functor information. Definition: depresolver.cpp:784
Here is the call graph for this function:
![]() ◆ printObsLike()Print a single target vertex. Definition at line 656 of file depresolver.cpp. References boundPrinter, boundTEs, Gambit::core_error(), Gambit::LogTags::debug, Gambit::LogTags::dependency_resolver, Gambit::EOM, Gambit::LogTags::info, LOCAL_INFO, Gambit::logger(), masterGraph, SortedParentVertices, and Gambit::DRes::typeComp(). Referenced by Gambit::Likelihood_Container::main(). 662 core_error().raise(LOCAL_INFO, "Tried to calculate a function not in or not at top of dependency graph."); 668 ss << "Printing " << masterGraph[*it]->name() << " from " << masterGraph[*it]->origin() << "...";
bool typeComp(str, str, const Utils::type_equivalency &, bool with_regex=true) Type comparison taking into account equivalence classes. Definition: depresolver.cpp:274 Definition: log_tags.hpp:35 const Utils::type_equivalency * boundTEs Type equivalency object to which this dependency resolver is bound. Definition: depresolver.hpp:251 Definition: log_tags.hpp:36 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 Printers::BasePrinter * boundPrinter Printer object to which this dependency resolver is bound. Definition: depresolver.hpp:254 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95 std::map< VertexID, std::vector< VertexID > > SortedParentVertices Saved calling order for functions required to compute single ObsLike entries. Definition: depresolver.hpp:266
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ printQuantityToBeResolved()
Print quantity to be resolved. Definition at line 757 of file depresolver.cpp. References masterGraph, and OBSLIKE_VERTEXID. Referenced by generateTree(), and resolveDependencyFromRules().
Here is the caller graph for this function:
![]() ◆ printTiming()
Getter for print_timing flag (used by LikelihoodContainer) Definition at line 686 of file depresolver.cpp. References print_timing. Referenced by Gambit::Likelihood_Container::main(). bool print_timing Global flag for triggering printing of timing data. Definition: depresolver.hpp:282
Here is the caller graph for this function:
![]() ◆ resetAll()
Definition at line 743 of file depresolver.cpp. References masterGraph. Referenced by Gambit::Likelihood_Container::main().
Here is the caller graph for this function:
![]() ◆ resolveDependency()
Resolution of individual module function dependencies. Resolve dependency. Definition at line 1332 of file depresolver.cpp. References boundClaw, boundIniFile, boundTEs, Gambit::DRes::dependency_resolver_error(), findIniEntry(), Gambit::IniParser::Types::Observable::function, Gambit::Models::ModelFunctorClaw::get_activemodels(), Gambit::Models::ModelFunctorClaw::get_parent(), Gambit::IniParser::IniFile::getObservables(), Gambit::IniParser::IniFile::getRules(), Gambit::IniParser::Parser::getValueOrDef(), LOCAL_INFO, masterGraph, Gambit::IniParser::Types::Observable::module, Gambit::DRes::moduleFuncMatchesIniEntry(), OBSLIKE_VERTEXID, Gambit::DRes::stringComp(), and Gambit::DRes::typeComp(). Referenced by generateTree(). 1335 const IniParser::ObservableType *auxEntry = NULL; // Ptr. on ini-file entry of the dependent vertex (if existent) 1336 const IniParser::ObservableType *depEntry = NULL; // Ptr. on ini-file entry that specifies how to resolve 'quantity' 1379 and ( entryExists ? moduleFuncMatchesIniEntry(masterGraph[*vi], *depEntry, *boundTEs) : true ) ) 1409 // that are accessible via INTERPRET_AS_X links, as these are all considered to be equally 'far' 1410 // from the model being scanned, with the 'distance' being one step further than the most distant 1412 if ( vertexCandidates.size() > 1 and boundIniFile->getValueOrDef<bool>(true, "dependency_resolution", "prefer_model_specific_functions") ) 1414 // Work up the model ancestry one step at a time, and stop as soon as one or more valid model-specific functors is 1421 for (std::vector<str>::iterator mit = parentModelList.begin(); mit != parentModelList.end(); ++mit) 1423 // Test each vertex candidate to see if it has been explicitly set up to work with the model *mit 1424 for (std::vector<DRes::VertexID>::iterator it = vertexCandidates.begin(); it != vertexCandidates.end(); ++it) 1431 parentModelList.erase(std::remove(parentModelList.begin(), parentModelList.end(), "none"), parentModelList.end()); 1452 if (not boundIniFile->getValueOrDef<bool>(true, "dependency_resolution", "prefer_model_specific_functions")) 1455 for (std::vector<DRes::VertexID>::iterator it = vertexCandidates.begin(); it != vertexCandidates.end(); ++it) const ObservablesType & getObservables() const Getters for private observable and rules entries. Definition: yaml_parser.cpp:67 const IniParser::ObservableType * findIniEntry(sspair quantity, const IniParser::ObservablesType &, const str &) Find entries (comparison of inifile entry with quantity or functor) Definition: depresolver.cpp:1779 TYPE getValueOrDef(TYPE def, const args &... keys) const Definition: yaml_parser_base.hpp:78 str get_parent(const str &) const Retrieve the parent model for a given model. Definition: models.cpp:244 const ObservablesType & getRules() const Definition: yaml_parser.cpp:68 bool typeComp(str, str, const Utils::type_equivalency &, bool with_regex=true) Type comparison taking into account equivalence classes. Definition: depresolver.cpp:274 bool moduleFuncMatchesIniEntry(functor *f, const IniParser::ObservableType &e, const Utils::type_equivalency &eq) Definition: depresolver.cpp:151 std::set< str > get_activemodels() const Return the set of active models;. Definition: models.cpp:106 bool stringComp(const str &s1, const str &s2, bool with_regex=true) Check whether s1 (wildcard + regex allowed) matches s2. Definition: depresolver.cpp:253 const Utils::type_equivalency * boundTEs Type equivalency object to which this dependency resolver is bound. Definition: depresolver.hpp:251 const IniParser::IniFile * boundIniFile ini file to which this dependency resolver is bound Definition: depresolver.hpp:248 const Models::ModelFunctorClaw * boundClaw Model claw to which this dependency resolver is bound. Definition: depresolver.hpp:245
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ resolveDependencyFromRules()
Resolution of individual module function dependencies. Resolve dependency. Definition at line 1071 of file depresolver.cpp. References boundIniFile, boundTEs, closestCandidateForModel(), Gambit::LogTags::dependency_resolver, Gambit::DRes::dependency_resolver_error(), Gambit::EOM, Gambit::IniParser::IniFile::getObservables(), Gambit::IniParser::IniFile::getRules(), Gambit::IniParser::Parser::getValueOrDef(), LOCAL_INFO, Gambit::logger(), masterGraph, Gambit::DRes::matchesRules(), Gambit::DRes::moduleFuncMatchesIniEntry(), OBSLIKE_VERTEXID, printGenericFunctorList(), printQuantityToBeResolved(), Gambit::DRes::quantityMatchesIniEntry(), Gambit::DRes::stringComp(), and Gambit::DRes::typeComp(). Referenced by generateTree(). 1303 errmsg += "See logger output for details on the attempted (but failed) dependency resolution.\n"; 1322 errmsg += "\n(Note that 1st class rules are not possible for vertices on which the core depends only.)\n"; const ObservablesType & getObservables() const Getters for private observable and rules entries. Definition: yaml_parser.cpp:67 TYPE getValueOrDef(TYPE def, const args &... keys) const Definition: yaml_parser_base.hpp:78 const ObservablesType & getRules() const Definition: yaml_parser.cpp:68 bool typeComp(str, str, const Utils::type_equivalency &, bool with_regex=true) Type comparison taking into account equivalence classes. Definition: depresolver.cpp:274 str printQuantityToBeResolved(const sspair &quantity, const DRes::VertexID &vertex) Print quantity to be resolved. Definition: depresolver.cpp:757 str printGenericFunctorList(const std::vector< functor *> &) Pretty print backend functor information. Definition: depresolver.cpp:784 bool moduleFuncMatchesIniEntry(functor *f, const IniParser::ObservableType &e, const Utils::type_equivalency &eq) Definition: depresolver.cpp:151 bool stringComp(const str &s1, const str &s2, bool with_regex=true) Check whether s1 (wildcard + regex allowed) matches s2. Definition: depresolver.cpp:253 const Utils::type_equivalency * boundTEs Type equivalency object to which this dependency resolver is bound. Definition: depresolver.hpp:251 std::vector< ObservableType > ObservablesType Definition: yaml_parser.hpp:86 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95 bool quantityMatchesIniEntry(const sspair &quantity, const IniParser::ObservableType &observable, const Utils::type_equivalency &eq) Definition: depresolver.cpp:130 const IniParser::IniFile * boundIniFile ini file to which this dependency resolver is bound Definition: depresolver.hpp:248 bool matchesRules(functor *f, const Rule &rule) Definition: depresolver.cpp:183 std::vector< DRes::VertexID > closestCandidateForModel(std::vector< DRes::VertexID > candidates) Find candidate functions that are tailor made for models that are scanned over. Definition: depresolver.cpp:925
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ resolveRequirement()
Resolve a specific backend requirement. Resolve a backend requirement of a specific module function using a specific backend function. Definition at line 2207 of file depresolver.cpp. References Gambit::LogTags::dependency_resolver, Gambit::EOM, Gambit::logger(), masterGraph, Gambit::functor::name(), Gambit::functor::origin(), and Gambit::functor::version(). Referenced by resolveVertexBackend(). const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ resolveVertexBackend()Main function for resolution of backend requirements. Node-by-node backend resolution. Definition at line 1802 of file depresolver.cpp. References boundIniFile, Gambit::LogTags::dependency_resolver, Gambit::EOM, findIniEntry(), Gambit::IniParser::IniFile::getRules(), Gambit::logger(), masterGraph, resolveRequirement(), and solveRequirement(). Referenced by generateTree(). 1817 const IniParser::ObservableType * auxEntry = findIniEntry(vertex, boundIniFile->getRules(), "Rules"); 1850 // It has, so resolve the backend requirement with that function and add it to the list of successful resolutions. 1860 else // No valid solution found, but deferral has been suggested - so defer resolution of this group until later. 1884 // It has, so resolve the backend requirement with that function and add it to the list of successful resolutions. 1888 else // No valid solution found, but deferral has been suggested - so defer resolution of this group until later. 1898 // If there has been no improvement this round, turn off deferral and make the next round the last attempt. 1903 else // Otherwise try again to resolve the remaining groups and orphan requirements, now that some others are known.
const IniParser::ObservableType * findIniEntry(sspair quantity, const IniParser::ObservablesType &, const str &) Find entries (comparison of inifile entry with quantity or functor) Definition: depresolver.cpp:1779 const ObservablesType & getRules() const Definition: yaml_parser.cpp:68 functor * solveRequirement(std::set< sspair >, const IniParser::ObservableType *, VertexID, std::vector< functor *>, bool, str group="none") Find backend function matching any one of a number of capability-type pairs. Definition: depresolver.cpp:1916 void resolveRequirement(functor *, VertexID) Resolve a specific backend requirement. Definition: depresolver.cpp:2207 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95 const IniParser::IniFile * boundIniFile ini file to which this dependency resolver is bound Definition: depresolver.hpp:248
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() ◆ run_topological_sort()
Topological sort. Boost lib topological sort. Definition at line 1745 of file depresolver.cpp. References masterGraph. Referenced by doResolution().
Here is the caller graph for this function:
![]() ◆ solveRequirement()
Find backend function matching any one of a number of capability-type pairs. Find a backend function that matches any one of a vector of capability-type pairs. Definition at line 1916 of file depresolver.cpp. References Gambit::DRes::backendFuncMatchesIniEntry(), boundClaw, boundCore, boundIniFile, boundTEs, Gambit::DRes::dependency_resolver_error(), findIniEntry(), Gambit::Models::ModelFunctorClaw::get_activemodels(), Gambit::Models::ModelFunctorClaw::get_parent(), Gambit::gambit_core::getBackendFunctors(), Gambit::IniParser::Parser::getValueOrDef(), combine_hdf5::group, LOCAL_INFO, masterGraph, printGenericFunctorList(), and Gambit::DRes::typeComp(). Referenced by resolveVertexBackend(). 1935 if ( auxEntry != NULL ) reqEntry = findIniEntry((*itf)->quantity(), (*auxEntry).backends, "backend"); 1938 // Look for a match to at least one backend requirement, taking into account type equivalency classes. 1952 // If there is a relevant inifile entry, we also check for a match to the capability, type, function name and backend name in that entry. 1953 if ( simple_match and ( entryExists ? backendFuncMatchesIniEntry(*itf, *reqEntry, *boundTEs) : true ) ) 1960 // First we create the backend-version pair for the backend vertex and its semi-generic form (where any version is OK). 1965 // Then we see if any match. First we test for generic matches, where any version of any backend is allowed. 1967 // Next we test for semi-generic matches, where the backend matches and any version of that backend is allowed. 1969 // Finally we test for specific matches, where both the backend and version match what is allowed. 1970 or std::find(permitted_bes.begin(), permitted_bes.end(), itf_signature) != permitted_bes.end() ); 1993 for (std::vector<functor *>::iterator it = vertexCandidates.begin(); it != vertexCandidates.end(); ++it) 1995 if (std::find(vertexCandidatesWithIniEntry.begin(), vertexCandidatesWithIniEntry.end(), *it) == vertexCandidatesWithIniEntry.end() ) 2006 for (std::vector<functor *>::const_iterator it = vertexCandidates.begin(); it != vertexCandidates.end(); ++it) 2008 // Set up a flag to keep track of whether anything has indicated that the candidate should be thrown out. 2015 // Find out which other backend requirements exhibiting this tag must be filled from the same backend as the req this candidate would fill. 2017 // Set up a flag to keep track of whether any of the other backend reqs have already been filled. 2019 // Set up a string to keep track of which backend the other backend reqs have been filled from (if any). 2026 // Set up a string to keep track of which backend the other backend req in question has been filled from (if any). 2028 // Loop over the backend functors that have successfully filled backend reqs already for this funcition 2034 // Check if the current previous successful resolution (itf) was of the same backend requirement as the 2035 // current one of the backend requirements (mit) that must be filled from the same backend as the current candidate (it). 2038 // Note that mit (the current backend req that must be filled from the same backend as the current candidate) has indeed been filled, by itf 2045 // If the other req has been filled, updated the tracker of whether any of the reqs linked to this flag have been filled, 2046 // and compare the filling backend to the one used to fill any other reqs associated with this tag. 2050 if (common_backend_and_version.empty()) common_backend_and_version = filled_from; // Save the filling backend 2051 if (filled_from != common_backend_and_version) // Something buggy has happened and the rule is already broken(!) 2064 // Try to keep this candidate if it comes from the same backend as those already filled, or if none of the others are filled yet. 2065 keeper = (not others_filled or common_backend_and_version == (*it)->origin() + " v" + (*it)->version()); 2068 if (keeper) survivingVertexCandidates.push_back(*it); else disabledVertexCandidates.push_back(*it); 2097 << " 1: This function is available, but the backend version is not compatible with all your requests." << endl 2129 // and might therefore be uniquely chosen over the other(s) if resolution for this req is attempted again, after 2133 for (std::vector<functor *>::const_iterator it = vertexCandidates.begin(); it != vertexCandidates.end(); ++it) 2153 // If not, we have just one more trick up our sleeves... use the models scanned to narrow things down. 2154 if (boundIniFile->getValueOrDef<bool>(true, "dependency_resolution", "prefer_model_specific_functions")) 2156 // Prefer backend functors that are more specifically tailored for the model being scanned. Do not 2157 // consider backend functors that are accessible via INTERPRET_AS_X links, as these are all considered 2158 // to be equally 'far' from the model being scanned, with the 'distance' being one step further than 2165 for (std::vector<str>::iterator mit = parentModelList.begin(); mit != parentModelList.end(); ++mit) 2167 // Test each vertex candidate to see if it has been explicitly set up to work with the model *mit 2168 for (std::vector<functor*>::iterator it = vertexCandidates.begin(); it != vertexCandidates.end(); ++it) 2175 parentModelList.erase(std::remove(parentModelList.begin(), parentModelList.end(), "none"), parentModelList.end()); 2186 errmsg += " of module function " + masterGraph[vertex]->origin() + "::" + masterGraph[vertex]->name() 2188 errmsg += "\nIf you don't need all the above backends, you can resolve the ambiguity simply by"; 2190 errmsg += "\n\nAlternatively, you can add an entry in your YAML file that selects which backend"; 2191 errmsg += "\nthe module function " + masterGraph[vertex]->origin() + "::" + masterGraph[vertex]->name() + " should use. A YAML file entry"; 2196 errmsg += "\n - {backend: "+vertexCandidates.at(0)->origin()+", version: "+vertexCandidates.at(0)->version()+"}\n"; bool backendFuncMatchesIniEntry(functor *f, const IniParser::ObservableType &e, const Utils::type_equivalency &eq) Definition: depresolver.cpp:161 const IniParser::ObservableType * findIniEntry(sspair quantity, const IniParser::ObservablesType &, const str &) Find entries (comparison of inifile entry with quantity or functor) Definition: depresolver.cpp:1779 TYPE getValueOrDef(TYPE def, const args &... keys) const Definition: yaml_parser_base.hpp:78 str get_parent(const str &) const Retrieve the parent model for a given model. Definition: models.cpp:244 const fVec & getBackendFunctors() const Get a reference to the list of backend model functors. Definition: core.cpp:238 bool typeComp(str, str, const Utils::type_equivalency &, bool with_regex=true) Type comparison taking into account equivalence classes. Definition: depresolver.cpp:274 const gambit_core * boundCore Core to which this dependency resolver is bound. Definition: depresolver.hpp:242 str printGenericFunctorList(const std::vector< functor *> &) Pretty print backend functor information. Definition: depresolver.cpp:784 std::set< str > get_activemodels() const Return the set of active models;. Definition: models.cpp:106 const Utils::type_equivalency * boundTEs Type equivalency object to which this dependency resolver is bound. Definition: depresolver.hpp:251 const IniParser::IniFile * boundIniFile ini file to which this dependency resolver is bound Definition: depresolver.hpp:248 const Models::ModelFunctorClaw * boundClaw Model claw to which this dependency resolver is bound. Definition: depresolver.hpp:245
Here is the call graph for this function:
![]()
Here is the caller graph for this function:
![]() Member Data Documentation◆ activeFunctorGraphFile
Output filename for graph of active functors. Definition at line 279 of file depresolver.hpp. Referenced by doResolution(), and printFunctorEvalOrder(). ◆ boundClaw
Model claw to which this dependency resolver is bound. Definition at line 245 of file depresolver.hpp. Referenced by closestCandidateForModel(), makeFunctorsModelCompatible(), resolveDependency(), and solveRequirement(). ◆ boundCore
Core to which this dependency resolver is bound. Definition at line 242 of file depresolver.hpp. Referenced by addFunctors(), calcObsLike(), doResolution(), generateTree(), makeFunctorsModelCompatible(), printFunctorList(), and solveRequirement(). ◆ boundIniFile
ini file to which this dependency resolver is bound Definition at line 248 of file depresolver.hpp. Referenced by calcObsLike(), collectIniOptions(), collectSubCaps(), doResolution(), generateTree(), resolveDependency(), resolveDependencyFromRules(), resolveVertexBackend(), and solveRequirement(). ◆ boundPrinter
Printer object to which this dependency resolver is bound. Definition at line 254 of file depresolver.hpp. Referenced by initialisePrinter(), and printObsLike(). ◆ boundTEs
Type equivalency object to which this dependency resolver is bound. Definition at line 251 of file depresolver.hpp. Referenced by checkTypeMatch(), collectIniOptions(), collectSubCaps(), DependencyResolver(), findIniEntry(), printObsLike(), resolveDependency(), resolveDependencyFromRules(), and solveRequirement(). ◆ edges_to_force_on_manager
Map from nested function -> list of fulfilled dependencies that need to be passed on to its loop manager when it is selected. Definition at line 273 of file depresolver.hpp. Referenced by generateTree(). ◆ function_order
Saved calling order for functions. Definition at line 263 of file depresolver.hpp. Referenced by doResolution(). ◆ index
Indices associated with graph vertices (used by printers to identify functors) Definition at line 276 of file depresolver.hpp. Referenced by initialisePrinter(). ◆ loopManagerMapTemporary map for loop manager -> list of nested functions. Definition at line 269 of file depresolver.hpp. Referenced by doResolution(), and generateTree(). ◆ masterGraph
The central boost graph object. Definition at line 260 of file depresolver.hpp. Referenced by addFunctors(), calcObsLike(), checkTypeMatch(), closestCandidateForModel(), collectIniOptions(), collectSubCaps(), doResolution(), fillParQueue(), findIniEntry(), generateTree(), get_functor(), getObsLikeOrder(), initialisePrinter(), invalidatePointAt(), makeFunctorsModelCompatible(), printFunctorEvalOrder(), printFunctorList(), printGenericFunctorList(), printObsLike(), printQuantityToBeResolved(), resetAll(), resolveDependency(), resolveDependencyFromRules(), resolveRequirement(), resolveVertexBackend(), run_topological_sort(), and solveRequirement(). ◆ outputVertexInfos
Output Vertex Infos. Definition at line 257 of file depresolver.hpp. Referenced by generateTree(), getIniEntry(), and getObsLikeOrder(). ◆ print_timing
Global flag for triggering printing of timing data. Definition at line 282 of file depresolver.hpp. Referenced by generateTree(), and printTiming(). ◆ print_unitcube
Global flag for triggering printing of unitCubeParameters. Definition at line 285 of file depresolver.hpp. Referenced by generateTree(), and initialisePrinter(). ◆ SortedParentVertices
Saved calling order for functions required to compute single ObsLike entries. Definition at line 266 of file depresolver.hpp. Referenced by calcObsLike(), doResolution(), and printObsLike(). The documentation for this class was generated from the following files:
|