wrap calculation of probabilistic scores into a single function
The purpose of such refactoring is to allow for a "memoisation" approach (i.e. avoid re-computing the same elements/metrics multiple times). By redefining the API as a one-entry point function `evaluate` (as opposed to calling each metric in turn), it makes it possible to know in advance the metrics required by the user, and by keeping a register (hard coded for now) of what unitary computation elements each metric requires, and which metrics are nested in other metrics, it is possible to avoid computation repetitions.
Showing
+544 -371