github.com/wzzhu/tensor@v0.9.24/collections.go (about) 1 package tensor 2 3 import "github.com/pkg/errors" 4 5 func densesToTensors(a []*Dense) []Tensor { 6 retVal := make([]Tensor, len(a)) 7 for i, t := range a { 8 retVal[i] = t 9 } 10 return retVal 11 } 12 13 func densesToDenseTensors(a []*Dense) []DenseTensor { 14 retVal := make([]DenseTensor, len(a)) 15 for i, t := range a { 16 retVal[i] = t 17 } 18 return retVal 19 } 20 21 func tensorsToDenseTensors(a []Tensor) ([]DenseTensor, error) { 22 retVal := make([]DenseTensor, len(a)) 23 var ok bool 24 for i, t := range a { 25 if retVal[i], ok = t.(DenseTensor); !ok { 26 return nil, errors.Errorf("can only convert Tensors of the same type to DenseTensors. Trying to convert %T (#%d in slice)", t, i) 27 } 28 } 29 return retVal, nil 30 }