Skip to content

Commit

Permalink
Minor
Browse files Browse the repository at this point in the history
  • Loading branch information
rampaa committed Jan 5, 2025
1 parent 4350f68 commit da6c80c
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 269 deletions.
100 changes: 20 additions & 80 deletions JL.Core/Dicts/CustomWordDict/CustomWordRecord.cs
Original file line number Diff line number Diff line change
Expand Up @@ -86,71 +86,38 @@ public string BuildFormattedDefinition(DictOptions options)

public int GetFrequency(Freq freq)
{
bool readingsExist = Readings is not null;
int frequency = int.MaxValue;

if (freq.Contents.TryGetValue(JapaneseUtils.KatakanaToHiragana(PrimarySpelling),
out IList<FrequencyRecord>? freqResults))
if (freq.Contents.TryGetValue(JapaneseUtils.KatakanaToHiragana(PrimarySpelling), out IList<FrequencyRecord>? freqResults))
{
int freqResultCount = freqResults.Count;
for (int i = 0; i < freqResultCount; i++)
{
FrequencyRecord freqResult = freqResults[i];
if (PrimarySpelling == freqResult.Spelling || (Readings?.Contains(freqResult.Spelling) ?? false))
if ((!readingsExist && PrimarySpelling == freqResult.Spelling)
|| (readingsExist && Readings!.Contains(freqResult.Spelling)))
{
if (frequency > freqResult.Frequency)
{
frequency = freqResult.Frequency;
}
}
}

if (frequency is not int.MaxValue || AlternativeSpellings is null)
{
return frequency;
}

for (int i = 0; i < AlternativeSpellings.Length; i++)
{
if (freq.Contents.TryGetValue(
JapaneseUtils.KatakanaToHiragana(AlternativeSpellings[i]),
out IList<FrequencyRecord>? alternativeSpellingFreqResults))
{
int alternativeSpellingFreqResultCount = alternativeSpellingFreqResults.Count;
for (int j = 0; j < alternativeSpellingFreqResultCount; j++)
{
FrequencyRecord alternativeSpellingFreqResult = alternativeSpellingFreqResults[j];
if (Readings?.Contains(alternativeSpellingFreqResult.Spelling) ?? false)
{
if (frequency > alternativeSpellingFreqResult.Frequency)
{
frequency = alternativeSpellingFreqResult.Frequency;
}
}
}
return freqResult.Frequency;
}
}
}

else if (Readings is not null)
if (readingsExist)
{
for (int i = 0; i < Readings.Length; i++)
bool alternativeSpellingsExist = AlternativeSpellings is not null;
for (int i = 0; i < Readings!.Length; i++)
{
string reading = Readings[i];

if (freq.Contents.TryGetValue(JapaneseUtils.KatakanaToHiragana(reading),
out IList<FrequencyRecord>? readingFreqResults))
if (freq.Contents.TryGetValue(JapaneseUtils.KatakanaToHiragana(reading), out IList<FrequencyRecord>? readingFreqResults))
{
int readingFreqResultCount = readingFreqResults.Count;
for (int j = 0; j < readingFreqResultCount; j++)
{
FrequencyRecord readingFreqResult = readingFreqResults[j];
if ((reading == readingFreqResult.Spelling && JapaneseUtils.IsKatakana(reading[0]))
|| (AlternativeSpellings?.Contains(readingFreqResult.Spelling) ?? false))
|| (alternativeSpellingsExist && AlternativeSpellings!.Contains(readingFreqResult.Spelling)))
{
if (frequency > readingFreqResult.Frequency)
{
frequency = readingFreqResult.Frequency;
}
return readingFreqResult.Frequency;
}
}
}
Expand All @@ -162,50 +129,26 @@ public int GetFrequency(Freq freq)

public int GetFrequencyFromDB(Dictionary<string, List<FrequencyRecord>> freqDict)
{
bool readingsExist = Readings is not null;
int frequency = int.MaxValue;

if (freqDict.TryGetValue(JapaneseUtils.KatakanaToHiragana(PrimarySpelling), out List<FrequencyRecord>? freqResults))
{
int freqResultCount = freqResults.Count;
for (int i = 0; i < freqResultCount; i++)
{
FrequencyRecord freqResult = freqResults[i];

if (PrimarySpelling == freqResult.Spelling || (Readings?.Contains(freqResult.Spelling) ?? false))
{
if (frequency > freqResult.Frequency)
{
frequency = freqResult.Frequency;
}
}
}

if (frequency is int.MaxValue && AlternativeSpellings is not null)
{
for (int i = 0; i < AlternativeSpellings.Length; i++)
if ((!readingsExist && PrimarySpelling == freqResult.Spelling)
|| (readingsExist && Readings!.Contains(freqResult.Spelling)))
{
if (freqDict.TryGetValue(JapaneseUtils.KatakanaToHiragana(AlternativeSpellings[i]), out List<FrequencyRecord>? alternativeSpellingFreqResults))
{
int alternativeSpellingFreqResultCount = alternativeSpellingFreqResults.Count;
for (int j = 0; j < alternativeSpellingFreqResultCount; j++)
{
FrequencyRecord alternativeSpellingFreqResult = alternativeSpellingFreqResults[j];
if (Readings?.Contains(alternativeSpellingFreqResult.Spelling) ?? false)
{
if (frequency > alternativeSpellingFreqResult.Frequency)
{
frequency = alternativeSpellingFreqResult.Frequency;
}
}
}
}
return freqResult.Frequency;
}
}
}

else if (Readings is not null)
if (readingsExist)
{
for (int i = 0; i < Readings.Length; i++)
bool alternativeSpellingsExist = AlternativeSpellings is not null;
for (int i = 0; i < Readings!.Length; i++)
{
string reading = Readings[i];
if (freqDict.TryGetValue(JapaneseUtils.KatakanaToHiragana(reading), out List<FrequencyRecord>? readingFreqResults))
Expand All @@ -215,12 +158,9 @@ public int GetFrequencyFromDB(Dictionary<string, List<FrequencyRecord>> freqDict
{
FrequencyRecord readingFreqResult = readingFreqResults[j];
if ((reading == readingFreqResult.Spelling && JapaneseUtils.IsKatakana(reading[0]))
|| (AlternativeSpellings?.Contains(readingFreqResult.Spelling) ?? false))
|| (alternativeSpellingsExist && AlternativeSpellings!.Contains(readingFreqResult.Spelling)))
{
if (frequency > readingFreqResult.Frequency)
{
frequency = readingFreqResult.Frequency;
}
return readingFreqResult.Frequency;
}
}
}
Expand Down
110 changes: 28 additions & 82 deletions JL.Core/Dicts/EPWING/Nazeka/EpwingNazekaRecord.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,63 +47,35 @@ public string BuildFormattedDefinition(DictOptions options)

public int GetFrequency(Freq freq)
{
bool readingExists = Reading is not null;
int frequency = int.MaxValue;

if (freq.Contents.TryGetValue(JapaneseUtils.KatakanaToHiragana(PrimarySpelling),
out IList<FrequencyRecord>? freqResults))
if (freq.Contents.TryGetValue(JapaneseUtils.KatakanaToHiragana(PrimarySpelling), out IList<FrequencyRecord>? freqResults))
{
int freqResultCount = freqResults.Count;
for (int i = 0; i < freqResultCount; i++)
{
FrequencyRecord freqResult = freqResults[i];
if (Reading == freqResult.Spelling || PrimarySpelling == freqResult.Spelling)
{
if (frequency > freqResult.Frequency)
{
frequency = freqResult.Frequency;
}
}
}

if (frequency is not int.MaxValue || AlternativeSpellings is null)
{
return frequency;
}

for (int i = 0; i < AlternativeSpellings.Length; i++)
{
if (freq.Contents.TryGetValue(
JapaneseUtils.KatakanaToHiragana(AlternativeSpellings[i]),
out IList<FrequencyRecord>? alternativeSpellingFreqResults))
if ((!readingExists && PrimarySpelling == freqResult.Spelling)
|| (readingExists && Reading == freqResult.Spelling))
{
int alternativeSpellingFreqResultCount = alternativeSpellingFreqResults.Count;
for (int j = 0; j < alternativeSpellingFreqResultCount; j++)
{
FrequencyRecord alternativeSpellingFreqResult = alternativeSpellingFreqResults[j];
if (Reading == alternativeSpellingFreqResult.Spelling)
{
if (frequency > alternativeSpellingFreqResult.Frequency)
{
frequency = alternativeSpellingFreqResult.Frequency;
}
}
}
return freqResult.Frequency;
}
}
}
else if (Reading is not null
&& freq.Contents.TryGetValue(JapaneseUtils.KatakanaToHiragana(Reading), out IList<FrequencyRecord>? readingFreqResults))

if (readingExists)
{
int readingFreqResultCount = readingFreqResults.Count;
for (int i = 0; i < readingFreqResultCount; i++)
bool alternativeSpellingsExist = AlternativeSpellings is not null;
if (freq.Contents.TryGetValue(JapaneseUtils.KatakanaToHiragana(Reading!), out IList<FrequencyRecord>? readingFreqResults))
{
FrequencyRecord readingFreqResult = readingFreqResults[i];
if ((Reading == readingFreqResult.Spelling && JapaneseUtils.IsKatakana(Reading[0]))
|| (AlternativeSpellings?.Contains(readingFreqResult.Spelling) ?? false))
int readingFreqResultCount = readingFreqResults.Count;
for (int j = 0; j < readingFreqResultCount; j++)
{
if (frequency > readingFreqResult.Frequency)
FrequencyRecord readingFreqResult = readingFreqResults[j];
if ((Reading == readingFreqResult.Spelling && JapaneseUtils.IsKatakana(Reading[0]))
|| (alternativeSpellingsExist && AlternativeSpellings!.Contains(readingFreqResult.Spelling)))
{
frequency = readingFreqResult.Frequency;
return readingFreqResult.Frequency;
}
}
}
Expand All @@ -114,61 +86,35 @@ public int GetFrequency(Freq freq)

public int GetFrequencyFromDB(Dictionary<string, List<FrequencyRecord>> freqDict)
{
bool readingExists = Reading is not null;
int frequency = int.MaxValue;
if (freqDict.TryGetValue(JapaneseUtils.KatakanaToHiragana(PrimarySpelling), out List<FrequencyRecord>? freqResults))
{
int freqResultCount = freqResults.Count;
for (int i = 0; i < freqResultCount; i++)
{
FrequencyRecord freqResult = freqResults[i];

if (Reading == freqResult.Spelling || PrimarySpelling == freqResult.Spelling)
if ((!readingExists && PrimarySpelling == freqResult.Spelling)
|| (readingExists && Reading == freqResult.Spelling))
{
if (frequency > freqResult.Frequency)
{
frequency = freqResult.Frequency;
}
}
}

if (frequency is not int.MaxValue || AlternativeSpellings is null)
{
return frequency;
}

for (int i = 0; i < AlternativeSpellings.Length; i++)
{
if (freqDict.TryGetValue(JapaneseUtils.KatakanaToHiragana(AlternativeSpellings[i]), out List<FrequencyRecord>? alternativeSpellingFreqResults))
{
int alternativeSpellingFreqResultCount = alternativeSpellingFreqResults.Count;
for (int j = 0; j < alternativeSpellingFreqResultCount; j++)
{
FrequencyRecord alternativeSpellingFreqResult = alternativeSpellingFreqResults[j];
if (Reading == alternativeSpellingFreqResult.Spelling)
{
if (frequency > alternativeSpellingFreqResult.Frequency)
{
frequency = alternativeSpellingFreqResult.Frequency;
}
}
}
return freqResult.Frequency;
}
}
}

else if (Reading is not null
&& freqDict.TryGetValue(JapaneseUtils.KatakanaToHiragana(Reading), out List<FrequencyRecord>? readingFreqResults))
if (readingExists)
{
int readingFreqResultCount = readingFreqResults.Count;
for (int i = 0; i < readingFreqResultCount; i++)
bool alternativeSpellingsExist = AlternativeSpellings is not null;
if (freqDict.TryGetValue(JapaneseUtils.KatakanaToHiragana(Reading!), out List<FrequencyRecord>? readingFreqResults))
{
FrequencyRecord readingFreqResult = readingFreqResults[i];
if ((Reading == readingFreqResult.Spelling && JapaneseUtils.IsKatakana(Reading[0]))
|| (AlternativeSpellings?.Contains(readingFreqResult.Spelling) ?? false))
int readingFreqResultCount = readingFreqResults.Count;
for (int j = 0; j < readingFreqResultCount; j++)
{
if (frequency > readingFreqResult.Frequency)
FrequencyRecord readingFreqResult = readingFreqResults[j];
if ((Reading == readingFreqResult.Spelling && JapaneseUtils.IsKatakana(Reading[0]))
|| (alternativeSpellingsExist && AlternativeSpellings!.Contains(readingFreqResult.Spelling)))
{
frequency = readingFreqResult.Frequency;
return readingFreqResult.Frequency;
}
}
}
Expand Down
Loading

0 comments on commit da6c80c

Please sign in to comment.