go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/projects/nodes/pkg/funcs/cutoff.go (about) 1 /* 2 3 Copyright (c) 2023 - Present. Will Charczuk. All rights reserved. 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository. 5 6 */ 7 8 package funcs 9 10 import ( 11 "context" 12 ) 13 14 // CutoffUnchanged is a simple cutoff check that does a strict comparison 15 func CutoffUnchanged[A comparable](_ context.Context, old, new A) (bool, error) { 16 return old == new, nil 17 } 18 19 // CutoffEpsilon is a simple cutoff check that does a strict comparison 20 func CutoffEpsilon[A MathScalars](_ context.Context, delta A, old, new A) (output bool, err error) { 21 if old > new { 22 output = old-new < delta 23 return 24 } 25 output = new-old < delta 26 return 27 }