|
|
|
@ -96,19 +96,24 @@ func (pct *PollCandidateTally) GetBiggestGroup(aroundGrade uint8) (groupSize int
|
|
|
|
|
|
|
|
|
|
for k, _ := range pct.Poll.GetGradationList() {
|
|
|
|
|
grade := uint8(k)
|
|
|
|
|
//for _, grade := range pct.Poll.GetGrades() {
|
|
|
|
|
gradeAmount := int(pct.Grades[grade].Amount)
|
|
|
|
|
|
|
|
|
|
if 0 == gradeAmount {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
if grade < aroundGrade {
|
|
|
|
|
belowGroupSize += int(pct.Grades[grade].Amount)
|
|
|
|
|
belowGroupSize += gradeAmount
|
|
|
|
|
belowGroupGrade = grade
|
|
|
|
|
}
|
|
|
|
|
if grade > aroundGrade {
|
|
|
|
|
aboveGroupSize += int(pct.Grades[grade].Amount)
|
|
|
|
|
aboveGroupSize += gradeAmount
|
|
|
|
|
if 0 == aboveGroupGrade {
|
|
|
|
|
aboveGroupGrade = grade
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// /!. Assumption of LOW median with `>` /!.
|
|
|
|
|
if aboveGroupSize > belowGroupSize {
|
|
|
|
|
return aboveGroupSize, aboveGroupSign, aboveGroupGrade
|
|
|
|
|
}
|
|
|
|
|