gorgonia.org/tensor@v0.9.24/internal/execution/keepsync.go (about) 1 package execution 2 3 // Iterator is the generic iterator interface 4 type Iterator interface { 5 Start() (int, error) 6 Next() (int, error) 7 NextValidity() (int, bool, error) 8 NextValid() (int, int, error) 9 NextInvalid() (int, int, error) 10 Reset() 11 SetReverse() 12 SetForward() 13 Coord() []int 14 Done() bool 15 } 16 17 // NoOpError is a useful for operations that have no op. 18 type NoOpError interface { 19 NoOp() bool 20 } 21 22 func handleNoOp(err error) error { 23 if err == nil { 24 return nil 25 } 26 if _, ok := err.(NoOpError); ok { 27 return nil 28 } 29 return err 30 }