using System; namespace RMuseum.Utils { /// /// comment ranking score calculator /// public class DiwanCommentRankingScoreCalculator { public static int ComputeRankingScore(int likes, int dislikes) { int score = likes - dislikes; int votes = likes + dislikes; int confidence = VoteConfidenceBonus[ Math.Min(votes, VoteConfidenceBonus.Length - 1)]; return score * 1_000_000 + confidence * 1_000 + likes; } private static readonly short[] VoteConfidenceBonus = { 0, //0 votes 200, //1 350, //2 470, //3 560, //4 630, //5 690, //6 740, //7 780, //8 810, //9 840, //10 860, //11 880, //12 895, //13 910, //14 920, //15 930, //16 940, //17 948, //18 955, //19 960 //20+ }; } }