Merge "Small performance tweak"
commit
c33a5428be
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue