Merge branch 'master' of gitlab.com:stax-river/poker-analytics

feature/top10
Aurelien Hubert 7 years ago
commit 34935a5cfd
  1. 18
      app/src/androidTest/java/net/pokeranalytics/android/ExampleInstrumentedUnitTest.kt
  2. 14
      app/src/main/java/net/pokeranalytics/android/calculus/Calculator.kt
  3. 2
      app/src/main/java/net/pokeranalytics/android/calculus/Computable.kt
  4. 6
      app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt

@ -168,23 +168,23 @@ class ExampleInstrumentedUnitTest : RealmInstrumentedUnitTest() {
Assert.fail("No netbbPer100Hands stat") Assert.fail("No netbbPer100Hands stat")
} }
val stdHourly = results.computedStat(Stat.STANDARD_DEVIATION_HOURLY)
if (stdHourly != null) {
assertEquals(141.42, stdHourly.value, delta)
} else {
Assert.fail("No stdHourly stat")
}
val std = results.computedStat(Stat.STANDARD_DEVIATION) val std = results.computedStat(Stat.STANDARD_DEVIATION)
if (std != null) { if (std != null) {
assertEquals(282.84, std.value, delta) assertEquals(200.0, std.value, delta)
} else { } else {
Assert.fail("No std stat") Assert.fail("No std stat")
} }
val stdHourly = results.computedStat(Stat.STANDARD_DEVIATION_HOURLY)
if (stdHourly != null) {
assertEquals(50.0, stdHourly.value, delta)
} else {
Assert.fail("No stdHourly stat")
}
val std100 = results.computedStat(Stat.STANDARD_DEVIATION_BB_PER_100_HANDS) val std100 = results.computedStat(Stat.STANDARD_DEVIATION_BB_PER_100_HANDS)
if (std100 != null) { if (std100 != null) {
assertEquals(707.1, std100.value, delta) assertEquals(250.0, std100.value, delta)
} else { } else {
Assert.fail("No std100 stat") Assert.fail("No std100 stat")
} }

@ -177,15 +177,22 @@ class Calculator {
)) ))
val bbPer100Hands = bbSum / totalHands * 100
// Standard Deviation // Standard Deviation
if (options.shouldComputeStandardDeviation()) { if (options.shouldComputeStandardDeviation()) {
// Session
var stdSum: Double = 0.0 var stdSum: Double = 0.0
sessions.forEach { s -> var stdBBper100HandsSum: Double = 0.0
stdSum += Math.pow(s.value - average, 2.0) sessions.forEach { session ->
stdSum += Math.pow(session.value - average, 2.0)
stdBBper100HandsSum += Math.pow(session.bbPer100Hands - bbPer100Hands, 2.0)
} }
val standardDeviation: Double = Math.sqrt(stdSum / sessions.size) val standardDeviation: Double = Math.sqrt(stdSum / sessions.size)
val standardDeviationBBper100Hands: Double = Math.sqrt(stdBBper100HandsSum / sessions.size)
// Session Set
var hourlyStdSum: Double = 0.0 var hourlyStdSum: Double = 0.0
sessionSets.forEach { sg -> sessionSets.forEach { sg ->
hourlyStdSum += Math.pow(sg.hourlyRate - hourlyRate, 2.0) hourlyStdSum += Math.pow(sg.hourlyRate - hourlyRate, 2.0)
@ -194,7 +201,8 @@ class Calculator {
results.addStats(setOf( results.addStats(setOf(
ComputedStat(STANDARD_DEVIATION, standardDeviation), ComputedStat(STANDARD_DEVIATION, standardDeviation),
ComputedStat(STANDARD_DEVIATION_HOURLY, hourlyStandardDeviation) ComputedStat(STANDARD_DEVIATION_HOURLY, hourlyStandardDeviation),
ComputedStat(STANDARD_DEVIATION_BB_PER_100_HANDS, standardDeviationBBper100Hands)
)) ))
} }

@ -18,6 +18,8 @@ interface SessionInterface : Summable {
var bbNetResult: Double var bbNetResult: Double
var bigBlindSessionCount: Int // 0 or 1 var bigBlindSessionCount: Int // 0 or 1
var buyin: Double var buyin: Double
var bbPer100Hands: Double
} }
/** /**

@ -245,6 +245,12 @@ open class Session : RealmObject(), SessionInterface, Savable,
return 0.0 return 0.0
} }
@Ignore
override var bbPer100Hands: Double = 0.0
get() {
return this.bbNetResult / this.estimatedHands * 100.0
}
@Ignore @Ignore
override var bigBlindSessionCount: Int = if (this.cgBigBlind != null) 1 else 0 override var bigBlindSessionCount: Int = if (this.cgBigBlind != null) 1 else 0

Loading…
Cancel
Save