several optimization
This commit is contained in:
parent
070a69cf60
commit
c52b21c9ee
12 changed files with 214 additions and 111 deletions
|
|
@ -80,6 +80,7 @@ typedef struct global {
|
|||
DICT* Jcurdict;
|
||||
DICTL* Jdictlist;
|
||||
u_char* Jdicbuf;
|
||||
u_char* Jaskbase;
|
||||
u_char* Jidxbuf;
|
||||
TypeIdxOfs* Jidxofs;
|
||||
u_char* Jaskknj[MAXKNJASKNUMBER];
|
||||
|
|
|
|||
|
|
@ -65,7 +65,27 @@ CLREC* alloc_clrec(SJ4_CONTEXT2);
|
|||
void free_clrec(SJ4_CONTEXT CLREC*);
|
||||
|
||||
/* charsize.c */
|
||||
static __inline int codesize_inline(u_char code) {
|
||||
switch(code & KANJIMODEMASK) {
|
||||
case ZENHIRAASSYUKU:
|
||||
case ZENKATAASSYUKU:
|
||||
case KANJIASSYUKU:
|
||||
case KANJISTREND:
|
||||
return 1;
|
||||
case LEADINGHANKAKU:
|
||||
case OFFSETASSYUKU:
|
||||
case AIATTRIBUTE:
|
||||
case KANAKANCOST:
|
||||
return 2;
|
||||
default:
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
#ifdef NO_CODESIZE_INLINE
|
||||
int codesize(u_char);
|
||||
#else
|
||||
#define codesize codesize_inline
|
||||
#endif
|
||||
|
||||
/* chrtbl.c */
|
||||
extern u_char chrtbl[256];
|
||||
|
|
@ -139,7 +159,22 @@ int getkanji(SJ4_CONTEXT u_char*, int, u_char*, u_char*);
|
|||
void getrank(SJ4_CONTEXT2);
|
||||
|
||||
/* hzstrlen.c */
|
||||
static __inline int euc_codesize_inline(u_char c) {
|
||||
if((c & KANJIMODEMASK) == 0x90) {
|
||||
return 1;
|
||||
} else if(isknj1(c)) {
|
||||
return 2;
|
||||
} else if(c == SS3) {
|
||||
return 3;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
#ifdef NO_EUC_CODESIZE_INLINE
|
||||
int euc_codesize(u_char c);
|
||||
#else
|
||||
#define euc_codesize euc_codesize_inline
|
||||
#endif
|
||||
int hzstrlen(u_char*, int);
|
||||
|
||||
/* init.c */
|
||||
|
|
|
|||
|
|
@ -169,6 +169,7 @@
|
|||
#define curdict (work_base->Jcurdict)
|
||||
#define dictlist (work_base->Jdictlist)
|
||||
#define dicbuf (work_base->Jdicbuf)
|
||||
#define askbase (work_base->Jaskbase)
|
||||
#define idxbuf (work_base->Jidxbuf)
|
||||
#define idxofs (work_base->Jidxofs)
|
||||
#define askknj (work_base->Jaskknj)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue