add expanded net, mem widgets

This commit is contained in:
Bradley Cicenas
2017-01-07 20:37:11 +00:00
parent 99aac17030
commit 98a8cecfa1
5 changed files with 138 additions and 39 deletions

View File

@@ -1,21 +1,45 @@
package widgets
type HistData struct {
data []int
labels []string
maxSize int
maxLen int
labels []string
}
func NewHistData(max int) HistData {
return HistData{
data: make([]int, max),
labels: make([]string, max),
maxSize: max,
maxLen: max,
labels: make([]string, max),
}
}
func (h HistData) Append(val int) {
if len(h.data) >= h.maxSize {
type IntHistData struct {
HistData
data []int
}
func NewIntHistData(max int) IntHistData {
return IntHistData{NewHistData(max), make([]int, max)}
}
func (h IntHistData) Append(val int) {
if len(h.data) >= h.maxLen {
h.data = append(h.data[:0], h.data[1:]...)
}
h.data = append(h.data, val)
}
type FloatHistData struct {
HistData
data []float64
}
func NewFloatHistData(max int) FloatHistData {
return FloatHistData{NewHistData(max), make([]float64, max)}
}
func (h FloatHistData) Append(val float64) {
if len(h.data) >= h.maxLen {
h.data = append(h.data[:0], h.data[1:]...)
}
h.data = append(h.data, val)