diff --git a/base/bitarray.jl b/base/bitarray.jl index 22d44bd12e541..9dcadfbdb36a8 100644 --- a/base/bitarray.jl +++ b/base/bitarray.jl @@ -27,7 +27,7 @@ type BitArray{N} <: DenseArray{Bool, N} end BitArray{N}(dims::NTuple{N,Int}) = BitArray{N}(dims...) -BitArray(dims::Int...) = BitArray(dims) +BitArray(dims::Integer...) = BitArray(map(Int,dims)) typealias BitVector BitArray{1} typealias BitMatrix BitArray{2} @@ -386,7 +386,7 @@ end Create a `BitArray` with all values set to `false`. """ falses(dims::Dims) = fill!(BitArray(dims), false) -falses(dims::Integer...) = falses(dims) +falses(dims::Integer...) = falses(map(Int,dims)) """ falses(A) @@ -400,7 +400,7 @@ falses(A::AbstractArray) = falses(size(A)) Create a `BitArray` with all values set to `true`. """ trues(dims::Dims) = fill!(BitArray(dims), true) -trues(dims::Integer...) = trues(dims) +trues(dims::Integer...) = trues(map(Int,dims)) """ trues(A) diff --git a/test/bitarray.jl b/test/bitarray.jl index 45aba7c9794f0..7aef9ec100a96 100644 --- a/test/bitarray.jl +++ b/test/bitarray.jl @@ -1341,3 +1341,16 @@ uv = Array(v) B = bitrand(10,10) uB = Array(B) @test diag(uB) == Array(diag(B)) + +# test non-Int dims constructor +A = BitArray(Int32(10)) +B = BitArray(Int64(10)) +@test A == B + +A = trues(Int32(10)) +B = trues(Int64(10)) +@test A == B + +A = falses(Int32(10)) +B = falses(Int64(10)) +@test A == B