Skip to content

Commit df9638c

Browse files
committed
Created repo
1 parent 9231caa commit df9638c

File tree

5 files changed

+27
-11
lines changed

5 files changed

+27
-11
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# BitTwiddlingConvenienceFunctions
22

3-
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://chriselrod.github.io/BitTwiddlingConvenienceFunctions.jl/stable)
4-
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://chriselrod.github.io/BitTwiddlingConvenienceFunctions.jl/dev)
5-
[![Build Status](https://github.com/chriselrod/BitTwiddlingConvenienceFunctions.jl/workflows/CI/badge.svg)](https://github.com/chriselrod/BitTwiddlingConvenienceFunctions.jl/actions)
6-
[![Coverage](https://codecov.io/gh/chriselrod/BitTwiddlingConvenienceFunctions.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/chriselrod/BitTwiddlingConvenienceFunctions.jl)
3+
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://JuliaSIMD.github.io/BitTwiddlingConvenienceFunctions.jl/stable)
4+
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://JuliaSIMD.github.io/BitTwiddlingConvenienceFunctions.jl/dev)
5+
[![Build Status](https://github.com/JuliaSIMD/BitTwiddlingConvenienceFunctions.jl/workflows/CI/badge.svg)](https://github.com/JuliaSIMD/BitTwiddlingConvenienceFunctions.jl/actions)
6+
[![Coverage](https://codecov.io/gh/JuliaSIMD/BitTwiddlingConvenienceFunctions.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaSIMD/BitTwiddlingConvenienceFunctions.jl)

docs/make.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ DocMeta.setdocmeta!(BitTwiddlingConvenienceFunctions, :DocTestSetup, :(using Bit
66
makedocs(;
77
modules=[BitTwiddlingConvenienceFunctions],
88
authors="Julia Computing",
9-
repo="https://github.com/chriselrod/BitTwiddlingConvenienceFunctions.jl/blob/{commit}{path}#{line}",
9+
repo="https://github.com/JuliaSIMD/BitTwiddlingConvenienceFunctions.jl/blob/{commit}{path}#{line}",
1010
sitename="BitTwiddlingConvenienceFunctions.jl",
1111
format=Documenter.HTML(;
1212
prettyurls=get(ENV, "CI", "false") == "true",
13-
canonical="https://chriselrod.github.io/BitTwiddlingConvenienceFunctions.jl",
13+
canonical="https://JuliaSIMD.github.io/BitTwiddlingConvenienceFunctions.jl",
1414
assets=String[],
1515
),
1616
pages=[
@@ -19,6 +19,6 @@ makedocs(;
1919
)
2020

2121
deploydocs(;
22-
repo="github.com/chriselrod/BitTwiddlingConvenienceFunctions.jl",
22+
repo="github.com/JuliaSIMD/BitTwiddlingConvenienceFunctions.jl",
2323
devbranch="main",
2424
)

docs/src/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ CurrentModule = BitTwiddlingConvenienceFunctions
44

55
# BitTwiddlingConvenienceFunctions
66

7-
Documentation for [BitTwiddlingConvenienceFunctions](https://github.com/chriselrod/BitTwiddlingConvenienceFunctions.jl).
7+
Documentation for [BitTwiddlingConvenienceFunctions](https://github.com/JuliaSIMD/BitTwiddlingConvenienceFunctions.jl).
88

99
```@index
1010
```
Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
module BitTwiddlingConvenienceFunctions
22

3-
# Write your package code here.
3+
using Static
4+
5+
intlog2(N::I) where {I <: Integer} = (8sizeof(I) - one(I) - leading_zeros(N)) % I
6+
intlog2(::Type{T}) where {T} = intlog2(sizeof(T))
7+
nextpow2(W::T) where {T<:Base.BitInteger} = (one(T) << (T(8sizeof(W)) - leading_zeros((W - one(T)))))
8+
prevpow2(W::T) where {T<:Base.BitInteger} = (one(T) << (((T(8sizeof(W))) - one(T)) - leading_zeros(W)))
9+
@generated nextpow2(::StaticInt{N}) where {N} = Expr(:call, Expr(:curly, :StaticInt, nextpow2(N)))
10+
@generated prevpow2(::StaticInt{N}) where {N} = Expr(:call, Expr(:curly, :StaticInt, prevpow2(N)))
11+
@generated intlog2(::StaticInt{N}) where {N} = Expr(:call, Expr(:curly, :StaticInt, intlog2(N)))
12+
413

514
end

test/runtests.jl

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1-
using BitTwiddlingConvenienceFunctions
1+
using BitTwiddlingConvenienceFunctions: intlog2, nextpow2, prevpow2
22
using Test
33

44
@testset "BitTwiddlingConvenienceFunctions.jl" begin
5-
# Write your tests here.
5+
6+
@test all(i -> HostCPUFeatures.intlog2(1 << i) == i, 0:(Int == Int64 ? 53 : 30))
7+
@test all(i -> HostCPUFeatures.nextpow2(i) == i, 0:2)
8+
for j in 1:10
9+
l, u = (1<<j)+1, 1<<(j+1)
10+
@test all(i -> HostCPUFeatures.nextpow2(i) == u, l:u)
11+
end
12+
613
end

0 commit comments

Comments
 (0)