add stat computation with filters method draft

feature/top10
Laurent 7 years ago
parent ef9b00e149
commit 5a81184dbf
  1. 21
      app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt

@ -2,6 +2,7 @@ package net.pokeranalytics.android.calculus
import net.pokeranalytics.android.calculus.Stat.* import net.pokeranalytics.android.calculus.Stat.*
import net.pokeranalytics.android.model.realm.ComputableResult import net.pokeranalytics.android.model.realm.ComputableResult
import net.pokeranalytics.android.model.realm.Filter
import net.pokeranalytics.android.model.realm.SessionSet import net.pokeranalytics.android.model.realm.SessionSet
import timber.log.Timber import timber.log.Timber
import java.util.* import java.util.*
@ -58,10 +59,19 @@ class Calculator {
companion object { companion object {
// fun computePreAggregation(sets: List<SessionSet>, options: Options): List<ComputedResults> { fun computeStatsWithFilters(filters: List<Filter>, options: Options): List<ComputedResults> {
// Timber.d("sets = ${sets.size}")
// return listOf() var computableGroups: MutableList<ComputableGroup> = mutableListOf()
// } filters.forEach { filter ->
val results = filter.realm.where(ComputableResult::class.java).findAll()
val sets = filter.realm.where(SessionSet::class.java).findAll()
val group = ComputableGroup(filter.name, results, sets)
computableGroups.add(group)
}
return Calculator.computeGroups(computableGroups, options)
}
/** /**
* Computes all stats for list of Session sessionGroup * Computes all stats for list of Session sessionGroup
@ -176,7 +186,8 @@ class Calculator {
val sessionSets = computableGroup.sets val sessionSets = computableGroup.sets
// Compute for each serie // Compute for each serie
val gHourlyDuration = sessionSets.sum(SessionSet.Field.NET_DURATION.identifier).toDouble() / 3600000 // (milliseconds to hours) val gHourlyDuration =
sessionSets.sum(SessionSet.Field.NET_DURATION.identifier).toDouble() / 3600000 // (milliseconds to hours)
val gSum = sessionSets.sum(SessionSet.Field.RATED_NET.identifier).toDouble() val gSum = sessionSets.sum(SessionSet.Field.RATED_NET.identifier).toDouble()
val gTotalHands = sessionSets.sum(SessionSet.Field.ESTIMATED_HANDS.identifier).toDouble() val gTotalHands = sessionSets.sum(SessionSet.Field.ESTIMATED_HANDS.identifier).toDouble()
val gBBSum = sessionSets.sum(SessionSet.Field.BB_NET.identifier).toDouble() val gBBSum = sessionSets.sum(SessionSet.Field.BB_NET.identifier).toDouble()

Loading…
Cancel
Save