diff options
| author | Paul Buetow <pbuetow@mimecast.com> | 2020-08-08 13:27:43 +0100 |
|---|---|---|
| committer | Paul Buetow <pbuetow@mimecast.com> | 2020-08-08 13:27:43 +0100 |
| commit | 44e930b71107310eae55060cf0aa2cac7089d239 (patch) | |
| tree | 2b5c1cc62bc51a87d75393a80053ffe85db043cb /ds/integer.go | |
| parent | 390333bb314f6cb25adc5716ea383112860ed342 (diff) | |
fortune not found
Quick commit
Diffstat (limited to 'ds/integer.go')
| -rw-r--r-- | ds/integer.go | 55 |
1 files changed, 21 insertions, 34 deletions
diff --git a/ds/integer.go b/ds/integer.go index e8936c8..1372624 100644 --- a/ds/integer.go +++ b/ds/integer.go @@ -1,22 +1,19 @@ package ds import ( - "fmt" "math/rand" ) -type Integer struct { - Val int -} +type Integer int func RandomIntegers(length, max int) ArrayList { a := make(ArrayList, length) for i := 0; i < length; i++ { if max > 0 { - a[i] = Integer{rand.Intn(max)} + a[i] = Integer(rand.Intn(max)) continue } - a[i] = Integer{rand.Int()} + a[i] = Integer(rand.Int()) } return a } @@ -24,7 +21,7 @@ func RandomIntegers(length, max int) ArrayList { func AscendingIntegers(length int) ArrayList { a := make(ArrayList, length) for i := 0; i < length; i++ { - a[i] = Integer{i} + a[i] = Integer(i) } return a } @@ -33,57 +30,47 @@ func DescendingIntegers(length int) ArrayList { a := make(ArrayList, length) j := length for i := 0; i < length; i++ { - a[i] = Integer{j} + a[i] = Integer(j) j-- } return a } -func (i Integer) String() string { - return fmt.Sprintf("%d", i.Val) -} - -func (i Integer) Int() int { - return i.Val -} - -func (i Integer) Equal(j Elem) bool { - return i.Val == j.Int() +func (i Integer) Equal(j Integer) bool { + return i == j } -func (i Integer) Lower(j Elem) bool { - return i.Val < j.Int() +func (i Integer) Lower(j Integer) bool { + return i < j } -func (i Integer) LowerEqual(j Elem) bool { - return i.Val <= j.Int() +func (i Integer) LowerEqual(j Integer) bool { + return i <= j } -func (i Integer) Higher(j Elem) bool { - return i.Val > j.Int() +func (i Integer) Higher(j Integer) bool { + return i > j } -func (i Integer) HigherEqual(j Elem) bool { - return i.Val >= j.Int() +func (i Integer) HigherEqual(j Integer) bool { + return i >= j } -func (i Integer) Compare(j Elem) int { - jVal := j.Int() +func (i Integer) Compare(j Integer) int { switch { - case i.Val < jVal: + case i < j: return -1 - case i.Val > jVal: + case i > j: return 1 } return 0 } -func (i Integer) CompareCB(j Elem, lowerCB, higherCB, equalsCB func()) { - jVal := j.Int() +func (i Integer) CompareCB(j Integer, lowerCB, higherCB, equalsCB func()) { switch { - case i.Val < jVal: + case i < j: lowerCB() - case i.Val > jVal: + case i > j: higherCB() default: equalsCB() |
