Computation refactoring

dev_raz_wip
Laurent 7 years ago
parent cc01dc960c
commit a01e94dce5
  1. 16
      app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt
  2. 15
      app/src/main/java/net/pokeranalytics/android/calculus/Computable.kt

@ -55,16 +55,16 @@ class Calculator {
companion object {
fun computePreAggregation(sets: List<SessionSet>, options: Options): List<ComputedGroup> {
fun computePreAggregation(sets: List<SessionSet>, options: Options): List<ComputedResults> {
return listOf()
}
/**
* Computes all stats for list of Session sessionGroup
*/
fun computeGroups(groups: List<SessionGroup>, options: Options): List<ComputedGroup> {
fun computeGroups(groups: List<SessionGroup>, options: Options): List<ComputedResults> {
var computedGroups: MutableList<ComputedGroup> = mutableListOf()
var computedResults: MutableList<ComputedResults> = mutableListOf()
groups.forEach { group ->
// Computes actual sessionGroup stats
val results: ComputedResults = Calculator.compute(group, options = options)
@ -73,16 +73,15 @@ class Calculator {
val comparedGroup = group.comparedSessions
if (comparedGroup != null) {
val comparedResults = Calculator.compute(comparedGroup, options = options)
group.comparedComputedGroup = ComputedGroup(comparedGroup, comparedResults)
group.comparedComputedResults = comparedResults
results.computeStatVariations(comparedResults)
}
results.finalize(options)
computedGroups.add(ComputedGroup(group, results))
results.finalize(options) // later treatment, such as evolution values sorting
computedResults.add(results)
}
return computedGroups
return computedResults
}
/**
@ -178,7 +177,6 @@ class Calculator {
))
// Standard Deviation
if (options.shouldComputeStandardDeviation()) {

@ -32,20 +32,7 @@ class SessionGroup(name: String, sessions: List<SessionInterface>) {
var comparedSessions: SessionGroup? = null
// The computed stats of the comparable sessionGroup
var comparedComputedGroup: ComputedGroup? = null
}
class ComputedGroup(sessionGroup: SessionGroup, computedResults: ComputedResults) {
// A computable sessionGroup
var sessionGroup: SessionGroup = sessionGroup
// The computed stats of the sessionGroup
var computedResults: ComputedResults = computedResults
fun statValue(stat: Stat) : Double? {
return computedResults.computedStat(stat)?.value
}
var comparedComputedResults: ComputedResults? = null
}

Loading…
Cancel
Save