summaryrefslogtreecommitdiffstats
path: root/cmd/jp
diff options
context:
space:
mode:
authorSergey Grebenshchikov <sgreben@gmail.com>2018-03-22 21:06:20 +0100
committerSergey Grebenshchikov <sgreben@gmail.com>2018-03-22 21:06:20 +0100
commit524d244acde559c6ed8808207b91137c2cf261b0 (patch)
tree8a4271edcbe761d968337521d917280551898c32 /cmd/jp
parent32fd9752f0a066ad41cb558609304fd13ba6d351 (diff)
Handle empty input, support arm641.0.1
Diffstat (limited to 'cmd/jp')
-rw-r--r--cmd/jp/bar.go12
-rw-r--r--cmd/jp/line.go16
2 files changed, 18 insertions, 10 deletions
diff --git a/cmd/jp/bar.go b/cmd/jp/bar.go
index be0c230..e1a622b 100644
--- a/cmd/jp/bar.go
+++ b/cmd/jp/bar.go
@@ -11,14 +11,18 @@ import (
func barPlotData(xvv, yvv [][]reflect.Value) (x []string, y []float64) {
for _, xv := range xvv {
for i := range xv {
- x = append(x, fmt.Sprint(xv[i].Interface()))
+ if xv[i].IsValid() && xv[i].CanInterface() {
+ x = append(x, fmt.Sprint(xv[i].Interface()))
+ }
}
}
for _, yv := range yvv {
for i := range yv {
- yvi, ok := yv[i].Interface().(float64)
- if ok {
- y = append(y, yvi)
+ if yv[i].IsValid() && yv[i].CanInterface() {
+ yvi, ok := yv[i].Interface().(float64)
+ if ok {
+ y = append(y, yvi)
+ }
}
}
}
diff --git a/cmd/jp/line.go b/cmd/jp/line.go
index 6b75a8f..b47b38c 100644
--- a/cmd/jp/line.go
+++ b/cmd/jp/line.go
@@ -10,17 +10,21 @@ import (
func linePlotData(xvv, yvv [][]reflect.Value) (x, y []float64) {
for _, xv := range xvv {
for i := range xv {
- xvi, ok := xv[i].Interface().(float64)
- if ok {
- x = append(x, xvi)
+ if xv[i].IsValid() && xv[i].CanInterface() {
+ xvi, ok := xv[i].Interface().(float64)
+ if ok {
+ x = append(x, xvi)
+ }
}
}
}
for _, yv := range yvv {
for i := range yv {
- yvi, ok := yv[i].Interface().(float64)
- if ok {
- y = append(y, yvi)
+ if yv[i].IsValid() && yv[i].CanInterface() {
+ yvi, ok := yv[i].Interface().(float64)
+ if ok {
+ y = append(y, yvi)
+ }
}
}
}