return 100 * (n * x - sum) / (int64_t)int_sqrt(n * qd);
}
-static long compute_num_played_score(struct afs_info *afsi)
+static long compute_dynamic_score(struct afs_info *afsi)
{
return -normalized_value(afsi->num_played, statistics.num,
- statistics.num_played_sum, statistics.num_played_qd);
-}
-
-static long compute_last_played_score(struct afs_info *afsi)
-{
- return -normalized_value(afsi->last_played, statistics.num,
- statistics.last_played_sum, statistics.last_played_qd);
-}
-
-static long compute_dynamic_score(const struct osl_row *aft_row)
-{
- struct afs_info afsi;
-
- if (get_afsi_of_row(aft_row, &afsi) < 0)
- return -100;
- return compute_num_played_score(&afsi) + compute_last_played_score(&afsi);
+ statistics.num_played_sum, statistics.num_played_qd)
+ - normalized_value(afsi->last_played, statistics.num,
+ statistics.last_played_sum, statistics.last_played_qd);
}
static int add_afs_statistics(const struct osl_row *row)
static int add_to_score_table(const struct osl_row *aft_row, long mood_score)
{
- long score = (compute_dynamic_score(aft_row) + mood_score) / 3;
+ long score;
+ struct afs_info afsi;
+ int ret = get_afsi_of_row(aft_row, &afsi);
+
+ if (ret < 0)
+ return ret;
+ score = (compute_dynamic_score(&afsi) + mood_score) / 3;
return score_add(aft_row, score);
}
if (ret < 0)
return ret;
}
- score += compute_num_played_score(&afsi);
- score += compute_last_played_score(&afsi);
+ score += compute_dynamic_score(&afsi);
score /= 3;
PARA_DEBUG_LOG("score: %li\n", score);
percent = (score + 100) / 3;