mirror of
https://github.com/cheat/cheat.git
synced 2026-03-07 11:13:33 +01:00
- Bump Go from 1.19 to 1.26 and update all dependencies - Rewrite CI workflow with matrix strategy (Linux, macOS, Windows) - Update GitHub Actions to current versions (checkout@v4, setup-go@v5) - Update CodeQL actions from v1 to v3 - Fix cross-platform bug in mock/path.go (path.Join -> filepath.Join) - Clean up dependabot config (weekly schedule, remove stale ignore) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
17 lines
360 B
Go
17 lines
360 B
Go
package math
|
|
|
|
import "math/bits"
|
|
|
|
// NextPow2 finds the next power of two (N=2^k, k>=0) greater than n.
|
|
// If n is already a power of two, then this function returns n, and log2(n).
|
|
func NextPow2(n uint) (N uint, k uint) {
|
|
if bits.OnesCount(n) == 1 {
|
|
k = uint(bits.TrailingZeros(n))
|
|
N = n
|
|
} else {
|
|
k = uint(bits.Len(n))
|
|
N = uint(1) << k
|
|
}
|
|
return
|
|
}
|