go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/projects/nodes/pkg/model/gen/cutoff_epsilon.go (about)

     1  // File generated by nodegen. DO NOT EDIT.
     2  package gen
     3  
     4  import (
     5  	"fmt"
     6  	"time"
     7  
     8  	"github.com/wcharczuk/go-incr"
     9  	"go.charczuk.com/projects/nodes/pkg/funcs"
    10  	"go.charczuk.com/projects/nodes/pkg/incrutil"
    11  	"go.charczuk.com/projects/nodes/pkg/types"
    12  )
    13  
    14  func CutoffEpsilonForNode(graph *incr.Graph, n *types.Node) (output incr.INode, err error) {
    15  	switch n.Metadata.InputType {
    16  	case "float64":
    17  		output = incrutil.Cutoff2Context[float64, float64](graph, funcs.CutoffEpsilon[float64])
    18  		return
    19  	case "int64":
    20  		output = incrutil.Cutoff2Context[int64, int64](graph, funcs.CutoffEpsilon[int64])
    21  		return
    22  	case "duration":
    23  		output = incrutil.Cutoff2Context[time.Duration, time.Duration](graph, funcs.CutoffEpsilon[time.Duration])
    24  		return
    25  	default:
    26  		err = fmt.Errorf("invalid cutoffepsilon input type %v", n.Metadata.InputType)
    27  		return
    28  	}
    29  }