X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=mood.c;h=d15e011f04c720cef376b73752d9fcba51c61f00;hp=465a48e4efd1df830ac6dff59503e7259f9215f7;hb=6bcd10bc4ada11a04bc2b7425afe5a8855592cd2;hpb=2c85cdfd35ad2a647cef47489e51f2a33c1a4b9b diff --git a/mood.c b/mood.c index 465a48e4..d15e011f 100644 --- a/mood.c +++ b/mood.c @@ -462,21 +462,13 @@ static int64_t normalized_value(int64_t x, int64_t n, int64_t sum, int64_t qd) return 100 * (n * x - sum) / (int64_t)int_sqrt(n * qd); } -static long compute_num_played_score(struct afs_info *afsi) +static long compute_score(struct afs_info *afsi, long mood_score) { - return -normalized_value(afsi->num_played, statistics.num, + mood_score -= 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, + mood_score -= normalized_value(afsi->last_played, statistics.num, statistics.last_played_sum, statistics.last_played_qd); -} - -static long compute_dynamic_score(struct afs_info *afsi) -{ - return compute_num_played_score(afsi) + compute_last_played_score(afsi); + return mood_score / 3; } static int add_afs_statistics(const struct osl_row *row) @@ -674,7 +666,7 @@ static int add_to_score_table(const struct osl_row *aft_row, long mood_score) if (ret < 0) return ret; - score = (compute_dynamic_score(&afsi) + mood_score) / 3; + score = compute_score(&afsi, mood_score); return score_add(aft_row, score); } @@ -755,9 +747,7 @@ static int mood_update_audio_file(const struct osl_row *aft_row, if (ret < 0) return ret; } - score += compute_num_played_score(&afsi); - score += compute_last_played_score(&afsi); - score /= 3; + score = compute_score(&afsi, score); PARA_DEBUG_LOG("score: %li\n", score); percent = (score + 100) / 3; if (percent > 100)