Move 'genRange' function to 'cmd'
This commit is contained in:
@@ -2,6 +2,10 @@ package main
|
||||
|
||||
import "slices"
|
||||
|
||||
type character interface {
|
||||
int | rune
|
||||
}
|
||||
|
||||
// Returns all elements in slice A that are NOT in slice B
|
||||
func setDifference[T comparable](s1 []T, s2 []T) []T {
|
||||
toReturn := make([]T, 0, len(s1))
|
||||
@@ -12,3 +16,12 @@ func setDifference[T comparable](s1 []T, s2 []T) []T {
|
||||
}
|
||||
return toReturn
|
||||
}
|
||||
|
||||
// Generate numbers in a range - start (inclusive) to end (exclusive)
|
||||
func genRange[T character](start, end T) []T {
|
||||
toRet := make([]T, end-start)
|
||||
for i := start; i < end; i++ {
|
||||
toRet[i-start] = i
|
||||
}
|
||||
return toRet
|
||||
}
|
||||
|
15
greg/misc.go
15
greg/misc.go
@@ -97,19 +97,12 @@ func Reduce[T any](slc []T, fn func(T, T) T) T {
|
||||
return slc[0]
|
||||
}
|
||||
|
||||
// Generate numbers in a range - start (inclusive) to end (exclusive)
|
||||
func genRange[T character](start, end T) []T {
|
||||
toRet := make([]T, end-start)
|
||||
for i := start; i < end; i++ {
|
||||
toRet[i-start] = i
|
||||
}
|
||||
return toRet
|
||||
}
|
||||
|
||||
// Generate numbers in a range - start to end (both inclusive)
|
||||
func genRangeInclusive[T character](start, end T) []T {
|
||||
toRet := genRange(start, end)
|
||||
toRet = append(toRet, end)
|
||||
toRet := make([]T, end-start)
|
||||
for i := start; i <= end; i++ {
|
||||
toRet[i-start] = i
|
||||
}
|
||||
return toRet
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user