windows-nt/Source/XPSP1/NT/drivers/tpg/hwx/tsunami/inc/ttune.h
2020-09-26 16:20:57 +08:00

82 lines
2.8 KiB
C

/******************************************************************************\
* FILE: unigram.h
*
* Public structures and functions library that are used to access the
* unigram information.
*
* Note that the code to create the binary file is in mkuni, not in the
* common library.
\******************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
/************************************************************************************************\
* Public interface to unigram data.
\************************************************************************************************/
//
// Structures and types
//
// Structure holding basic set of tuning weights.
typedef struct tagTTUNE_COST_SET {
FLOAT UniWeight; // mult weight for unigram cost
FLOAT BaseWeight; // mult weight for baseline
FLOAT HeightWeight; // mult weight for height transition between chars.
FLOAT BoxBaselineWeight; // mult weight for baseline cost given the baseline and
// size of box they were given to write in.
FLOAT BoxHeightWeight; // mult weight for height/size cost given size of box
// they were supposed to write in.
FLOAT CARTAddWeight; // Weight to add to top score when CART updates top choice
} TTUNE_COST_SET;
// This pulls togather all the tuning weights used in the Tsunami Viterbi search. It gives a
// set for each recognizer for each of string and character. It also gives some other misc.
// weights needed.
typedef struct tagTTUNE_COSTS {
FLOAT ZillaGeo; // General zilla vs. otter weight.
FLOAT ZillaStrFudge; // ??? document this!
FLOAT BiWeight; // ??? document this!
FLOAT BiClassWeight; // ??? document this!
TTUNE_COST_SET OtterChar; // Otter character weights
TTUNE_COST_SET OtterString; // Otter string weights
TTUNE_COST_SET ZillaChar; // Zilla character weights
TTUNE_COST_SET ZillaString; // Zilla string weights
} TTUNE_COSTS;
// Structure giving access to a loaded copy of the tsunami tune weights.
typedef struct tagTTUNE_INFO {
TTUNE_COSTS *pTTuneCosts; // Pointer to tune values.
LOAD_INFO info; // Handles for loading and unloading
} TTUNE_INFO;
//
// Functions.
//
// Load unigram information from a file.
extern BOOL TTuneLoadFile(TTUNE_INFO *pTTuneInfo, wchar_t *pPath);
// Unload runtime localization information that was loaded from a file.
extern BOOL TTuneUnloadFile(TTUNE_INFO *pTTuneInfo);
// Load unigram information from a resource.
// Note, don't need to unload resources.
extern BOOL TTuneLoadRes(
TTUNE_INFO *pTTuneInfo,
HINSTANCE hInst,
int nResID,
int nType
);
// Write a properly formated binary file containing the tuning constants.
extern BOOL TTuneWriteFile(TTUNE_INFO *pTTuneInfo, wchar_t *pLocale, FILE *pFile);
#ifdef __cplusplus
};
#endif