summaryrefslogtreecommitdiffstats
path: root/cmd/jp/split.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/jp/split.go')
-rw-r--r--cmd/jp/split.go20
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
+}