mirror of
https://shylinux.com/x/icebergs
synced 2025-04-26 01:24:05 +08:00
opt matrix.go
This commit is contained in:
parent
a61acd37aa
commit
2b262d2e79
@ -167,36 +167,45 @@ func (mat *Matrix) Train(m *ice.Message, npage, nhash string, seed string) int {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
add := func(s int, c byte, cb func(*State)) {
|
||||||
|
state := &State{}
|
||||||
|
if mat.mat[s][c] != nil {
|
||||||
|
*state = *mat.mat[s][c]
|
||||||
|
}
|
||||||
|
m.Debug("GET(%d,%d): %#v", s, c, state)
|
||||||
|
|
||||||
|
cb(state)
|
||||||
|
|
||||||
|
if state.next == 0 {
|
||||||
|
sn = append(sn, true)
|
||||||
|
state.next = len(mat.mat)
|
||||||
|
mat.mat = append(mat.mat, make(map[byte]*State))
|
||||||
|
} else {
|
||||||
|
sn[state.next] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
mat.mat[s][c] = state
|
||||||
|
points = append(points, &Point{s, c})
|
||||||
|
m.Debug("SET(%d,%d): %#v", s, c, state)
|
||||||
|
}
|
||||||
for _, s := range ss {
|
for _, s := range ss {
|
||||||
for _, c := range cc {
|
for _, c := range cc {
|
||||||
|
add(s, c, func(state *State) {
|
||||||
state := &State{}
|
switch flag {
|
||||||
if mat.mat[s][c] != nil {
|
case '+':
|
||||||
*state = *mat.mat[s][c]
|
sn = append(sn, true)
|
||||||
}
|
state.next = len(mat.mat)
|
||||||
m.Debug("GET(%d,%d): %#v", s, c, state)
|
mat.mat = append(mat.mat, make(map[byte]*State))
|
||||||
|
for _, c := range cc {
|
||||||
switch flag {
|
add(state.next, c, func(state *State) { state.star = true })
|
||||||
case '+':
|
}
|
||||||
state.star = true
|
case '*':
|
||||||
case '*':
|
state.star = true
|
||||||
state.star = true
|
sn[s] = true
|
||||||
sn[s] = true
|
case '?':
|
||||||
case '?':
|
sn[s] = true
|
||||||
sn[s] = true
|
}
|
||||||
}
|
})
|
||||||
|
|
||||||
if state.next == 0 {
|
|
||||||
state.next = len(mat.mat)
|
|
||||||
mat.mat = append(mat.mat, make(map[byte]*State))
|
|
||||||
sn = append(sn, true)
|
|
||||||
} else {
|
|
||||||
sn[state.next] = true
|
|
||||||
}
|
|
||||||
|
|
||||||
mat.mat[s][c] = state
|
|
||||||
points = append(points, &Point{s, c})
|
|
||||||
m.Debug("SET(%d,%d): %#v", s, c, state)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,8 +123,10 @@ func _serve_handle(key string, cmd *ice.Command, msg *ice.Message, w http.Respon
|
|||||||
|
|
||||||
// 请求参数
|
// 请求参数
|
||||||
for k, v := range r.Form {
|
for k, v := range r.Form {
|
||||||
for i, p := range v {
|
if r.Header.Get(ContentType) != ContentJSON {
|
||||||
v[i], _ = url.QueryUnescape(p)
|
// for i, p := range v {
|
||||||
|
// // v[i], _ = url.QueryUnescape(p)
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
if msg.Optionv(k, v); k == ice.MSG_SESSID {
|
if msg.Optionv(k, v); k == ice.MSG_SESSID {
|
||||||
RenderCookie(msg, v[0])
|
RenderCookie(msg, v[0])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user