From deaa4e1c33cd2c1c75f698881918688055abfa51 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 7 Aug 2020 11:14:35 +0100 Subject: add quick2 --- ds/integer.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'ds/integer.go') diff --git a/ds/integer.go b/ds/integer.go index 4abb349..296e5bb 100644 --- a/ds/integer.go +++ b/ds/integer.go @@ -62,3 +62,26 @@ func (i Integer) Higher(j Elem) bool { func (i Integer) HigherEqual(j Elem) bool { return i.Val >= j.Int() } + +func (i Integer) Compare(j Elem) int { + jVal := j.Int() + switch { + case i.Val < jVal: + return -1 + case i.Val > jVal: + return 1 + } + return 0 +} + +func (i Integer) CompareCB(j Elem, lowerCB, higherCB, equalsCB func()) { + jVal := j.Int() + switch { + case i.Val < jVal: + lowerCB() + case i.Val > jVal: + higherCB() + default: + equalsCB() + } +} -- cgit v1.2.3