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  }