MCPcopy Create free account
hub / github.com/cockroachdb/cockroachdb-parser / EncodeUvarintDescending

Function EncodeUvarintDescending

pkg/util/encoding/encoding.go:460–493  ·  view source on GitHub ↗

EncodeUvarintDescending encodes the uint64 value so that it sorts in reverse order, from largest to smallest.

(b []byte, v uint64)

Source from the content-addressed store, hash-verified

458// EncodeUvarintDescending encodes the uint64 value so that it sorts in
459// reverse order, from largest to smallest.
460func EncodeUvarintDescending(b []byte, v uint64) []byte {
461 switch {
462 case v == 0:
463 return append(b, IntMin+8)
464 case v <= 0xff:
465 v = ^v
466 return append(b, IntMin+7, byte(v))
467 case v <= 0xffff:
468 v = ^v
469 return append(b, IntMin+6, byte(v>>8), byte(v))
470 case v <= 0xffffff:
471 v = ^v
472 return append(b, IntMin+5, byte(v>>16), byte(v>>8), byte(v))
473 case v <= 0xffffffff:
474 v = ^v
475 return append(b, IntMin+4, byte(v>>24), byte(v>>16), byte(v>>8), byte(v))
476 case v <= 0xffffffffff:
477 v = ^v
478 return append(b, IntMin+3, byte(v>>32), byte(v>>24), byte(v>>16), byte(v>>8),
479 byte(v))
480 case v <= 0xffffffffffff:
481 v = ^v
482 return append(b, IntMin+2, byte(v>>40), byte(v>>32), byte(v>>24), byte(v>>16),
483 byte(v>>8), byte(v))
484 case v <= 0xffffffffffffff:
485 v = ^v
486 return append(b, IntMin+1, byte(v>>48), byte(v>>40), byte(v>>32), byte(v>>24),
487 byte(v>>16), byte(v>>8), byte(v))
488 default:
489 v = ^v
490 return append(b, IntMin, byte(v>>56), byte(v>>48), byte(v>>40), byte(v>>32),
491 byte(v>>24), byte(v>>16), byte(v>>8), byte(v))
492 }
493}
494
495// highestByteIndex returns the index (0 to 7) of the highest nonzero byte in v.
496func highestByteIndex(v uint64) int {

Callers 2

EncodeBitArrayDescendingFunction · 0.85
encodeVarExpNumberFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…