github.com/wzzhu/tensor@v0.9.24/dense_reduction_methods.go (about) 1 package tensor 2 3 import "github.com/pkg/errors" 4 5 func (t *Dense) Sum(along ...int) (retVal *Dense, err error) { 6 var e Engine = t.e 7 if sumer, ok := e.(Sumer); ok { 8 var ret Tensor 9 if ret, err = sumer.Sum(t, along...); err != nil { 10 return 11 } 12 return ret.(*Dense), nil 13 } 14 return nil, errors.Errorf("Engine does not support Sum") 15 } 16 17 func (t *Dense) Max(along ...int) (retVal *Dense, err error) { 18 var e Engine = t.e 19 if maxer, ok := e.(Maxer); ok { 20 var ret Tensor 21 if ret, err = maxer.Max(t, along...); err != nil { 22 return 23 } 24 return ret.(*Dense), nil 25 } 26 return nil, errors.Errorf("Engine does not support Max") 27 } 28 29 func (t *Dense) Min(along ...int) (retVal *Dense, err error) { 30 var e Engine = t.e 31 if miner, ok := e.(Miner); ok { 32 var ret Tensor 33 if ret, err = miner.Min(t, along...); err != nil { 34 return 35 } 36 return ret.(*Dense), nil 37 } 38 return nil, errors.Errorf("Engine does not support Min") 39 }