diff options
Diffstat (limited to 'cmd/jp/split.go')
-rw-r--r-- | cmd/jp/split.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/cmd/jp/split.go b/cmd/jp/split.go new file mode 100644 index 0000000..4f36825 --- /dev/null +++ b/cmd/jp/split.go @@ -0,0 +1,20 @@ +package main + +import "reflect" + +func flatten(in [][]reflect.Value) (out []reflect.Value) { + for _, a := range in { + for i := range a { + out = append(out, a[i]) + } + } + return +} + +func split(in [][]reflect.Value) (x, y [][]reflect.Value) { + flat := flatten(in) + n := len(flat) + x = [][]reflect.Value{flat[:n/2]} + y = [][]reflect.Value{flat[n/2:]} + return +} |