Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d10c4733 authored by Jean Chalard's avatar Jean Chalard
Browse files

Small performance tweak

Change-Id: Icd540742073d49d12e70b2d8bd99aaf7ccb5802d
parent e91f32d8
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -199,20 +199,20 @@ public class UserHistoryForgettingCurveUtils {
        public static final int[][] SCORE_TABLE = new int[FC_LEVEL_MAX][ELAPSED_TIME_MAX + 1];
        static {
            for (int i = 0; i < FC_LEVEL_MAX; ++i) {
                final double initialFreq;
                final float initialFreq;
                if (i >= 2) {
                    initialFreq = FC_FREQ_MAX;
                } else if (i == 1) {
                    initialFreq = (double)FC_FREQ_MAX / 2;
                    initialFreq = FC_FREQ_MAX / 2;
                } else if (i == 0) {
                    initialFreq = (double)FC_FREQ_MAX / 4;
                    initialFreq = FC_FREQ_MAX / 4;
                } else {
                    continue;
                }
                for (int j = 0; j < ELAPSED_TIME_MAX; ++j) {
                    final double elapsedHour = j * ELAPSED_TIME_INTERVAL_HOURS;
                    final float elapsedHours = j * ELAPSED_TIME_INTERVAL_HOURS;
                    final double freq =
                            initialFreq * Math.pow(initialFreq, elapsedHour / HALF_LIFE_HOURS);
                            initialFreq * Math.pow(initialFreq, elapsedHours / HALF_LIFE_HOURS);
                    final int intFreq = Math.min(FC_FREQ_MAX, Math.max(0, (int)freq));
                    SCORE_TABLE[i][j] = intFreq;
                }
+3 −3
Original line number Diff line number Diff line
@@ -787,9 +787,9 @@ public class BinaryDictInputOutput {
        // (discretizedFrequency + 0.5) times this value to get the median value of the step,
        // which is the best approximation. This is how we get the most precise result with
        // only four bits.
        final double stepSize =
                (MAX_TERMINAL_FREQUENCY - unigramFrequency) / (1.5 + MAX_BIGRAM_FREQUENCY);
        final double firstStepStart = 1 + unigramFrequency + (stepSize / 2.0);
        final float stepSize =
                (MAX_TERMINAL_FREQUENCY - unigramFrequency) / (1.5f + MAX_BIGRAM_FREQUENCY);
        final float firstStepStart = 1 + unigramFrequency + (stepSize / 2.0f);
        final int discretizedFrequency = (int)((bigramFrequency - firstStepStart) / stepSize);
        // If the bigram freq is less than half-a-step higher than the unigram freq, we get -1
        // here. The best approximation would be the unigram freq itself, so we should not