This is a high level code for Order Scoring Module:
logOrderScore(Order *od, Dataset ds, long maxNumberOfParents) {
for all variables(nodes) in od (indexed by i) {
for all possible parents of node i in od limited by maxNumberOfParents #1{
// create an array of index for node i's parents and store in ParentIndices *pidxArray
// sum up the returns of logNodeScore(NodeIdx i, long r_i, ParentIndices *pidxArray, ParentsNumOfStates pnumStateArray, DataSet ds)#2 using double lnXpluslnY (double first, double second) module
}
// sum up the score
}
// return the summed score
}
#1Odometer class will be helpful in implementing this loop. Odometer class is avaialable in Git repository at cheeti-code/LIM/Odometer.h
#2logNodeScore() module was introduced when describing the logBDeScore() module
#3lnXpluslnY() module is avaialable in Git repository at cheeti-code/LIM/utility_basic.[h, cpp]
Michael/Abhilash please document all the modules, classes under Manuscripts & Documentation > Implemented Classes/Modules Documentation as you create/modify/use them.