|
|
|
|
@ -8,8 +8,14 @@ import net.pokeranalytics.android.model.realm.SessionSet |
|
|
|
|
*/ |
|
|
|
|
class Calculator { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The options used for calculations or display |
|
|
|
|
*/ |
|
|
|
|
class Options { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The way the stats are going to be displayed |
|
|
|
|
*/ |
|
|
|
|
enum class Display { |
|
|
|
|
TABLE, |
|
|
|
|
EVOLUTION, |
|
|
|
|
@ -18,6 +24,9 @@ class Calculator { |
|
|
|
|
POLYNOMIAL |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The type of evolution values |
|
|
|
|
*/ |
|
|
|
|
enum class EvolutionValues { |
|
|
|
|
NONE, |
|
|
|
|
STANDARD, |
|
|
|
|
@ -28,6 +37,9 @@ class Calculator { |
|
|
|
|
var evolutionValues: EvolutionValues = EvolutionValues.NONE |
|
|
|
|
var displayedStats: List<Stat> = listOf() |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* This function determines whether the standard deviation should be computed |
|
|
|
|
*/ |
|
|
|
|
fun shouldComputeStandardDeviation() : Boolean { |
|
|
|
|
this.displayedStats.forEach { stat -> |
|
|
|
|
return when (stat) { |
|
|
|
|
@ -47,7 +59,9 @@ class Calculator { |
|
|
|
|
return listOf() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Computes all stats for list of Session sessionGroup |
|
|
|
|
/** |
|
|
|
|
* Computes all stats for list of Session sessionGroup |
|
|
|
|
*/ |
|
|
|
|
fun computeGroups(groups: List<SessionGroup>, options: Options): List<ComputedGroup> { |
|
|
|
|
|
|
|
|
|
var computedGroups: MutableList<ComputedGroup> = mutableListOf() |
|
|
|
|
@ -71,7 +85,9 @@ class Calculator { |
|
|
|
|
return computedGroups |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Computes stats for a SessionSet |
|
|
|
|
/** |
|
|
|
|
* Computes stats for a SessionSet |
|
|
|
|
*/ |
|
|
|
|
fun compute(sessionGroup: SessionGroup, options: Options) : ComputedResults { |
|
|
|
|
|
|
|
|
|
val sessions: List<SessionInterface> = sessionGroup.sessions |
|
|
|
|
|