Remove last usages of ReverseSlice

This commit is contained in:
DataHoarder 2024-02-25 19:43:39 +01:00
parent 71738207a4
commit bb285131fc
Signed by: DataHoarder
SSH key fingerprint: SHA256:OLTRf6Fl87G52SiR7sWLGNzlJt4WOX+tfI2yxo0z7xk
2 changed files with 18 additions and 20 deletions

View file

@ -1,10 +1,5 @@
package utils package utils
import (
"git.gammaspectra.live/P2Pool/p2pool-observer/utils"
"slices"
)
type PositionChart struct { type PositionChart struct {
totalItems uint64 totalItems uint64
bucket []uint64 bucket []uint64
@ -56,7 +51,10 @@ func (p *PositionChart) String() string {
position := make([]byte, 2*2+len(p.bucket)) position := make([]byte, 2*2+len(p.bucket))
position[0], position[1] = '[', '<' position[0], position[1] = '[', '<'
position[len(position)-2], position[len(position)-1] = '<', ']' position[len(position)-2], position[len(position)-1] = '<', ']'
for i, e := range utils.ReverseSlice(slices.Clone(p.bucket)) {
//reverse
for i := len(p.bucket) - 1; i >= 0; i-- {
e := p.bucket[i]
if e > 0 { if e > 0 {
if e > 9 { if e > 9 {
position[2+i] = '+' position[2+i] = '+'
@ -73,7 +71,10 @@ func (p *PositionChart) String() string {
func (p *PositionChart) StringWithoutDelimiters() string { func (p *PositionChart) StringWithoutDelimiters() string {
position := make([]byte, len(p.bucket)) position := make([]byte, len(p.bucket))
for i, e := range utils.ReverseSlice(slices.Clone(p.bucket)) {
//reverse
for i := len(p.bucket) - 1; i >= 0; i-- {
e := p.bucket[i]
if e > 0 { if e > 0 {
if e > 9 { if e > 9 {
position[i] = '+' position[i] = '+'
@ -97,18 +98,22 @@ func (p *PositionChart) StringWithSeparator(index int) string {
position[0], position[1] = '[', '<' position[0], position[1] = '[', '<'
position[2+separatorIndex] = '|' position[2+separatorIndex] = '|'
position[len(position)-2], position[len(position)-1] = '<', ']' position[len(position)-2], position[len(position)-1] = '<', ']'
for i, e := range utils.ReverseSlice(slices.Clone(p.bucket)) {
if i >= separatorIndex { //reverse
i++ for i := len(p.bucket) - 1; i >= 0; i-- {
e := p.bucket[i]
j := i
if j >= separatorIndex {
j++
} }
if e > 0 { if e > 0 {
if e > 9 { if e > 9 {
position[2+i] = '+' position[2+j] = '+'
} else { } else {
position[2+i] = 0x30 + byte(e) position[2+j] = 0x30 + byte(e)
} }
} else { } else {
position[2+i] = p.idle position[2+j] = p.idle
} }
} }

View file

@ -2,15 +2,8 @@ package utils
import ( import (
"cmp" "cmp"
"slices"
) )
func ReverseSlice[S ~[]E, E any](s S) S {
slices.Reverse(s)
return s
}
// NthElementSlice QuickSelect implementation // NthElementSlice QuickSelect implementation
// k is the desired index value, where array[k] is the k+1 smallest element // k is the desired index value, where array[k] is the k+1 smallest element
// values between s[0, k-1] are guaranteed <= to s[k] // values between s[0, k-1] are guaranteed <= to s[k]