Skip to content

Commit

Permalink
fix: avoid changing item value in merging
Browse files Browse the repository at this point in the history
  • Loading branch information
wolfogre committed Jun 17, 2020
1 parent 9315865 commit 07844f8
Show file tree
Hide file tree
Showing 13 changed files with 143 additions and 65 deletions.
16 changes: 11 additions & 5 deletions cmd/generate/x_sequence.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -166,20 +166,26 @@ func Merge{{.Name}}(seq1, seq2 {{.Name}}Sequence, fn func(item1, item2 *{{.Name}
var item *{{.Name}}Item
switch {
case i1 == seq1.Len():
item = fn(nil, &seq2[i2])
v2 := seq2[i2]
item = fn(nil, &v2)
i2++
case i2 == seq2.Len():
item = fn(&seq1[i1], nil)
v1 := seq1[i1]
item = fn(&v1, nil)
i1++
case seq1[i1].Time.Equal(seq2[i2].Time):
item = fn(&seq1[i1], &seq2[i2])
v1 := seq1[i1]
v2 := seq2[i2]
item = fn(&v1, &v2)
i1++
i2++
case seq1[i1].Time.Before(seq2[i2].Time):
item = fn(&seq1[i1], nil)
v1 := seq1[i1]
item = fn(&v1, nil)
i1++
case seq1[i1].Time.After(seq2[i2].Time):
item = fn(nil, &seq2[i2])
v2 := seq2[i2]
item = fn(nil, &v2)
i2++
}
if item != nil {
Expand Down
16 changes: 11 additions & 5 deletions float32_sequence.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions float64_sequence.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions int16_sequence.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions int32_sequence.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions int64_sequence.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions int8_sequence.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions int_sequence.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions uint16_sequence.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions uint32_sequence.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions uint64_sequence.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions uint8_sequence.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 07844f8

Please sign in to comment.