1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
package dstream
// VarPos returns a map from variable names to their corresponding
// column positions.
func VarPos(d Dstream) map[string]int {
mp := make(map[string]int)
for k, v := range d.Names() {
mp[v] = k
}
return mp
}
// VarMap returns a map from variable names to data slices, in the current chunk.
func VarMap(d Dstream) map[string]interface{} {
mp := make(map[string]interface{})
for _, na := range d.Names() {
mp[na] = d.Get(na)
}
return mp
}
func wherefalse(ma []bool, pos []int) []int {
pos = pos[0:0]
for i, v := range ma {
if !v {
pos = append(pos, i)
}
}
return pos
}
func resizeBool(x []bool, n int) []bool {
if cap(x) < n {
x = make([]bool, n)
}
return x[0:n]
}
func zeroFloat(z []float64) {
z = z[0:cap(z)]
for i := range z {
z[i] = 0
}
}
|