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  }