diff options
| author | Paul Buetow <pbuetow@mimecast.com> | 2020-08-07 11:14:35 +0100 |
|---|---|---|
| committer | Paul Buetow <pbuetow@mimecast.com> | 2020-08-07 11:14:35 +0100 |
| commit | deaa4e1c33cd2c1c75f698881918688055abfa51 (patch) | |
| tree | c6a82fec9cc3030f169d0b4441a8c63dd6bd1ea1 /ds/integer.go | |
| parent | d4c15be3268ee675b0d5853a8ffdb6c4c92585e7 (diff) | |
add quick2
Diffstat (limited to 'ds/integer.go')
| -rw-r--r-- | ds/integer.go | 23 |
1 files changed, 23 insertions, 0 deletions
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() + } +} |
