Skip to content

Commit 789011c

Browse files
committed
Прочие оптимизации
1 parent c923483 commit 789011c

File tree

9 files changed

+182
-73
lines changed

9 files changed

+182
-73
lines changed

ChangeLog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# [Change Log](https://github.com/anyks/asc/archive/release.tar.gz)
22

3+
## [1.0.2](https://github.com/anyks/asc/archive/v1.0.2.tar.gz) Other optimization
4+
35
## [1.0.1](https://github.com/anyks/asc/archive/v1.0.1.tar.gz) Bug fixes
46

57
## [1.0.0](https://github.com/anyks/asc/archive/v1.0.0.tar.gz) Creating a repository

app/asc.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3389,7 +3389,7 @@ int main(int argc, char * argv[]) noexcept {
33893389
// Если адрес скрипта получен
33903390
if((value = env.get("word-script")) != nullptr) toolkit.setWordScript(value);
33913391
// Выполняем инициализацию алгоритма сглаживания
3392-
if(env.is("smoothing")) {
3392+
if(env.is("smoothing")){
33933393
// Дополнительный коэффициент алгоритма сглаживания
33943394
double mod = 0.0;
33953395
// Если алгоритм сглаживания ConstDiscount или AddSmooth, запрашиваем дополнительные параметры
@@ -3442,7 +3442,7 @@ int main(int argc, char * argv[]) noexcept {
34423442
);
34433443
// Устанавливаем путь назначения
34443444
if((value = env.get("train-intermed-dest")) != nullptr) collector.setDest(value);
3445-
// Выполняем чтение данных файла
3445+
// Выполняем чтение данных каталога
34463446
collector.readDir(path, ext);
34473447
// Иначе выполняем сборку обычным способом
34483448
} else {

app/asc.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
// Название языковой модели
1010
#define ANYKS_ASC_NAME "asc"
1111
// Версия приложения
12-
#define ANYKS_ASC_VERSION "1.0.1"
12+
#define ANYKS_ASC_VERSION "1.0.2"
1313
// Версия словаря
1414
#define ANYKS_ASC_DICT_VERSION "1.0.0"
1515
// Автор приложения

include/ascb.hpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ namespace anyks {
6565
map <wchar_t, wchar_t> altLetters;
6666
// Список альтернативных слов
6767
unordered_map <string, string> altWords;
68+
// Функция прогресс бара
69+
function <void (const wstring &, const u_short)> progressFn = nullptr;
6870
private:
6971
// Объект языковой модели
7072
alm_t * alm = nullptr;
@@ -177,11 +179,16 @@ namespace anyks {
177179
* @param filename адрес файла словаря
178180
*/
179181
void setFilename(const string & filename) noexcept;
182+
/**
183+
* setProgressFn Метод установки внешнего прогресс-бара
184+
* @param fn функция внешнего прогресс-бара
185+
*/
186+
void setProgressFn(function <void (const wstring &, const u_short)> fn) noexcept;
180187
public:
181188
/**
182189
* ASCb Конструктор
183190
*/
184-
ASCb() noexcept {};
191+
ASCb() noexcept;
185192
/**
186193
* ASCb Конструктор
187194
* @param filename адрес файла словаря

include/dict.hpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,17 @@ namespace anyks {
220220
* @param words список идентификаторов слов для добавления
221221
*/
222222
void setUWords(const map <size_t, size_t> & words) noexcept;
223+
public:
224+
/**
225+
* setLMethod Метод установки функции получения леммы
226+
* @param fn функция для установки
227+
*/
228+
void setLMethod(stemmer_t::stemming_t fn) noexcept;
229+
/**
230+
* setVMethod Метод установки функции подбора вариантов
231+
* @param fn функция для установки
232+
*/
233+
void setVMethod(stemmer_t::variants_t fn) noexcept;
223234
public:
224235
/**
225236
* setALM Метод установки языковой модели

include/stemmer.hpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,9 @@ namespace anyks {
3737
private:
3838
// Мютекс для блокировки потока
3939
mutable mutex locker;
40+
public:
4041
// Тип функции для извлечения леммы
41-
typedef function <const wstring (const wstring &, const wstring &)> lemma_t;
42+
typedef function <const wstring (const wstring &, const wstring &)> stemming_t;
4243
// Тип функции для подбора вариантов слова
4344
typedef function <const list <wstring> (const wstring &, const wstring &)> variants_t;
4445
private:
@@ -48,7 +49,7 @@ namespace anyks {
4849
size_t variantsScript = 0;
4950
private:
5051
// Функция для получения леммы
51-
lemma_t lemmaFn = nullptr;
52+
stemming_t lemmaFn = nullptr;
5253
// Функция для подбора вариантов слова
5354
variants_t variantsFn = nullptr;
5455
private:
@@ -67,15 +68,15 @@ namespace anyks {
6768
const bool check(const wstring & word) const noexcept;
6869
public:
6970
/**
70-
* setLFunction Метод установки функции получения леммы
71+
* setLMethod Метод установки функции получения леммы
7172
* @param fn функция для установки
7273
*/
73-
void setLFunction(lemma_t fn) noexcept;
74+
void setLMethod(stemming_t fn) noexcept;
7475
/**
75-
* setVFunction Метод установки функции подбора вариантов
76+
* setVMethod Метод установки функции подбора вариантов
7677
* @param fn функция для установки
7778
*/
78-
void setVFunction(variants_t fn) noexcept;
79+
void setVMethod(variants_t fn) noexcept;
7980
/**
8081
* setLScript Метод установки скрипта лемматизатора
8182
* @param script python скрипт для установки

0 commit comments

Comments
 (0)