update fst build struct
This commit is contained in:
parent
dc9163a29a
commit
93c102e294
|
@ -156,27 +156,22 @@ uint64_t fstUnFinishedNodesFindCommPrefixAndSetOutput(FstUnFinishedNodes *node,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
FstState fstStateCreate(FstSlice* date, CompiledAddr addr) {
|
FstState fstStateCreate(FstSlice* slice, CompiledAddr addr) {
|
||||||
FstState fs = {.state = EmptyFinal, .val = 0};
|
FstState fs = {.state = EmptyFinal, .val = 0};
|
||||||
if (addr == EMPTY_ADDRESS) {
|
if (addr == EMPTY_ADDRESS) {
|
||||||
fs.state = EmptyFinal;
|
|
||||||
fs.val = 0;
|
|
||||||
return fs;
|
return fs;
|
||||||
}
|
}
|
||||||
|
|
||||||
FstSlice *s = date;
|
uint8_t v = slice->data[addr];
|
||||||
uint8_t v = s->data[addr];
|
|
||||||
uint8_t t = (v & 0b11000000) >> 6;
|
uint8_t t = (v & 0b11000000) >> 6;
|
||||||
if (t == 0b11) {
|
if (t == 0b11) {
|
||||||
fs.state = OneTransNext;
|
fs.state = OneTransNext;
|
||||||
fs.val = v;
|
|
||||||
} else if (t == 0b10) {
|
} else if (t == 0b10) {
|
||||||
fs.state = OneTrans;
|
fs.state = OneTrans;
|
||||||
fs.val = v;
|
|
||||||
} else {
|
} else {
|
||||||
fs.state = AnyTrans;
|
fs.state = AnyTrans;
|
||||||
fs.val = v;
|
|
||||||
}
|
}
|
||||||
|
fs.val = v;
|
||||||
return fs;
|
return fs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue