Skip to content

Commit

Permalink
fix bitarray tests for dot operators
Browse files Browse the repository at this point in the history
  • Loading branch information
stevengj committed Sep 21, 2016
1 parent b23c2f9 commit 96c01da
Showing 1 changed file with 101 additions and 101 deletions.
202 changes: 101 additions & 101 deletions test/bitarray.jl
Original file line number Diff line number Diff line change
Expand Up @@ -605,9 +605,9 @@ b2 = bitrand(n1, n2)
@check_bit_operation ($)(b1, b2) BitMatrix
@check_bit_operation (+)(b1, b2) Matrix{Int}
@check_bit_operation (-)(b1, b2) Matrix{Int}
@check_bit_operation (.*)(b1, b2) BitMatrix
@check_bit_operation (./)(b1, b2) Matrix{Float64}
@check_bit_operation (.^)(b1, b2) BitMatrix
@check_bit_operation broadcast(*, b1, b2) BitMatrix
@check_bit_operation broadcast(/, b1, b2) Matrix{Float64}
@check_bit_operation broadcast(^, b1, b2) BitMatrix
@check_bit_operation (/)(b1,1) Matrix{Float64}

b2 = trues(n1, n2)
Expand Down Expand Up @@ -635,7 +635,7 @@ b0 = falses(0)
@check_bit_operation (&)(b0, b0) BitVector
@check_bit_operation (|)(b0, b0) BitVector
@check_bit_operation ($)(b0, b0) BitVector
@check_bit_operation (.*)(b0, b0) BitVector
@check_bit_operation broadcast(*, b0, b0) BitVector
@check_bit_operation (*)(b0, b0') Matrix{Int}

# Matrix{Bool}/Matrix{Int}
Expand All @@ -646,18 +646,18 @@ i2 = rand(1:10, n1, n2)
@check_bit_operation ($)(b1, i2) Matrix{Int}
@check_bit_operation (+)(b1, i2) Matrix{Int}
@check_bit_operation (-)(b1, i2) Matrix{Int}
@check_bit_operation (.*)(b1, i2) Matrix{Int}
@check_bit_operation (./)(b1, i2) Matrix{Float64}
@check_bit_operation (.^)(b1, i2) BitMatrix
@check_bit_operation broadcast(*, b1, i2) Matrix{Int}
@check_bit_operation broadcast(/, b1, i2) Matrix{Float64}
@check_bit_operation broadcast(^, b1, i2) BitMatrix
@check_bit_operation div(b1, i2) Matrix{Int}
@check_bit_operation mod(b1, i2) Matrix{Int}

# Matrix{Bool}/Matrix{Float64}
b1 = bitrand(n1, n2)
f2 = 1.0 .+ rand(n1, n2)
@check_bit_operation (.*)(b1, f2) Matrix{Float64}
@check_bit_operation (./)(b1, f2) Matrix{Float64}
@check_bit_operation (.^)(b1, f2) Matrix{Float64}
@check_bit_operation broadcast(*, b1, f2) Matrix{Float64}
@check_bit_operation broadcast(/, b1, f2) Matrix{Float64}
@check_bit_operation broadcast(^, b1, f2) Matrix{Float64}
@check_bit_operation div(b1, f2) Matrix{Float64}
@check_bit_operation mod(b1, f2) Matrix{Float64}

Expand All @@ -673,66 +673,66 @@ cf1 = complex(f1)
@check_bit_operation (&)(i1, b2) Matrix{Int}
@check_bit_operation (|)(i1, b2) Matrix{Int}
@check_bit_operation ($)(i1, b2) Matrix{Int}
@check_bit_operation (.+)(i1, b2) Matrix{Int}
@check_bit_operation (.-)(i1, b2) Matrix{Int}
@check_bit_operation (.*)(i1, b2) Matrix{Int}
@check_bit_operation broadcast(+, i1, b2) Matrix{Int}
@check_bit_operation broadcast(-, i1, b2) Matrix{Int}
@check_bit_operation broadcast(*, i1, b2) Matrix{Int}

@check_bit_operation (&)(u1, b2) Matrix{UInt8}
@check_bit_operation (|)(u1, b2) Matrix{UInt8}
@check_bit_operation ($)(u1, b2) Matrix{UInt8}
@check_bit_operation (.+)(u1, b2) Matrix{UInt8}
@check_bit_operation (.-)(u1, b2) Matrix{UInt8}
@check_bit_operation (.*)(u1, b2) Matrix{UInt8}
@check_bit_operation broadcast(+, u1, b2) Matrix{UInt8}
@check_bit_operation broadcast(-, u1, b2) Matrix{UInt8}
@check_bit_operation broadcast(*, u1, b2) Matrix{UInt8}

for (x1,t1) = [(f1, Float64),
(ci1, Complex{Int}),
(cu1, Complex{UInt8}),
(cf1, Complex128)]
@check_bit_operation (.+)(x1, b2) Matrix{t1}
@check_bit_operation (.-)(x1, b2) Matrix{t1}
@check_bit_operation (.*)(x1, b2) Matrix{t1}
@check_bit_operation broadcast(+, x1, b2) Matrix{t1}
@check_bit_operation broadcast(-, x1, b2) Matrix{t1}
@check_bit_operation broadcast(*, x1, b2) Matrix{t1}
end

b2 = trues(n1, n2)
@check_bit_operation (./)(true, b2) Matrix{Float64}
@check_bit_operation broadcast(/, true, b2) Matrix{Float64}
@check_bit_operation div(true, b2) BitMatrix
@check_bit_operation mod(true, b2) BitMatrix
@check_bit_operation (./)(false, b2) Matrix{Float64}
@check_bit_operation broadcast(/, false, b2) Matrix{Float64}
@check_bit_operation div(false, b2) BitMatrix
@check_bit_operation mod(false, b2) BitMatrix

@check_bit_operation (./)(i1, b2) Matrix{Float64}
@check_bit_operation broadcast(/, i1, b2) Matrix{Float64}
@check_bit_operation div(i1, b2) Matrix{Int}
@check_bit_operation mod(i1, b2) Matrix{Int}

@check_bit_operation (./)(u1, b2) Matrix{Float64}
@check_bit_operation broadcast(/, u1, b2) Matrix{Float64}
@check_bit_operation div(u1, b2) Matrix{UInt8}
@check_bit_operation mod(u1, b2) Matrix{UInt8}

@check_bit_operation (./)(f1, b2) Matrix{Float64}
@check_bit_operation broadcast(/, f1, b2) Matrix{Float64}
@check_bit_operation div(f1, b2) Matrix{Float64}
@check_bit_operation mod(f1, b2) Matrix{Float64}

@check_bit_operation (./)(ci1, b2) Matrix{Complex128}
@check_bit_operation (./)(cu1, b2) Matrix{Complex128}
@check_bit_operation (./)(cf1, b2) Matrix{Complex128}
@check_bit_operation broadcast(/, ci1, b2) Matrix{Complex128}
@check_bit_operation broadcast(/, cu1, b2) Matrix{Complex128}
@check_bit_operation broadcast(/, cf1, b2) Matrix{Complex128}

b2 = bitrand(n1, n2)
@check_bit_operation (.^)(false, b2) BitMatrix
@check_bit_operation (.^)(true, b2) BitMatrix
@check_bit_operation (.^)(0x0, b2) Matrix{UInt8}
@check_bit_operation (.^)(0x1, b2) Matrix{UInt8}
@check_bit_operation (.^)(-1, b2) Matrix{Int}
@check_bit_operation (.^)(0, b2) Matrix{Int}
@check_bit_operation (.^)(1, b2) Matrix{Int}
@check_bit_operation (.^)(0.0, b2) Matrix{Float64}
@check_bit_operation (.^)(1.0, b2) Matrix{Float64}
@check_bit_operation (.^)(0.0im, b2) Matrix{Complex128}
@check_bit_operation (.^)(1.0im, b2) Matrix{Complex128}
@check_bit_operation (.^)(0im, b2) Matrix{Complex{Int}}
@check_bit_operation (.^)(1im, b2) Matrix{Complex{Int}}
@check_bit_operation (.^)(0x0im, b2) Matrix{Complex{UInt8}}
@check_bit_operation (.^)(0x1im, b2) Matrix{Complex{UInt8}}
@check_bit_operation broadcast(^, false, b2) BitMatrix
@check_bit_operation broadcast(^, true, b2) BitMatrix
@check_bit_operation broadcast(^, 0x0, b2) Matrix{UInt8}
@check_bit_operation broadcast(^, 0x1, b2) Matrix{UInt8}
@check_bit_operation broadcast(^, -1, b2) Matrix{Int}
@check_bit_operation broadcast(^, 0, b2) Matrix{Int}
@check_bit_operation broadcast(^, 1, b2) Matrix{Int}
@check_bit_operation broadcast(^, 0.0, b2) Matrix{Float64}
@check_bit_operation broadcast(^, 1.0, b2) Matrix{Float64}
@check_bit_operation broadcast(^, 0.0im, b2) Matrix{Complex128}
@check_bit_operation broadcast(^, 1.0im, b2) Matrix{Complex128}
@check_bit_operation broadcast(^, 0im, b2) Matrix{Complex{Int}}
@check_bit_operation broadcast(^, 1im, b2) Matrix{Complex{Int}}
@check_bit_operation broadcast(^, 0x0im, b2) Matrix{Complex{UInt8}}
@check_bit_operation broadcast(^, 0x1im, b2) Matrix{Complex{UInt8}}

# Matrix/Number
b1 = bitrand(n1, n2)
Expand All @@ -756,16 +756,16 @@ b2 = Array(bitrand(n1,n2))
@check_bit_operation ($)(b1, false) BitMatrix
@check_bit_operation ($)(true, b1) BitMatrix
@check_bit_operation ($)(false, b1) BitMatrix
@check_bit_operation (.+)(b1, true) Matrix{Int}
@check_bit_operation (.+)(b1, false) Matrix{Int}
@check_bit_operation (.-)(b1, true) Matrix{Int}
@check_bit_operation (.-)(b1, false) Matrix{Int}
@check_bit_operation (.*)(b1, true) BitMatrix
@check_bit_operation (.*)(b1, false) BitMatrix
@check_bit_operation (.*)(true, b1) BitMatrix
@check_bit_operation (.*)(false, b1) BitMatrix
@check_bit_operation (./)(b1, true) Matrix{Float64}
@check_bit_operation (./)(b1, false) Matrix{Float64}
@check_bit_operation broadcast(+, b1, true) Matrix{Int}
@check_bit_operation broadcast(+, b1, false) Matrix{Int}
@check_bit_operation broadcast(-, b1, true) Matrix{Int}
@check_bit_operation broadcast(-, b1, false) Matrix{Int}
@check_bit_operation broadcast(*, b1, true) BitMatrix
@check_bit_operation broadcast(*, b1, false) BitMatrix
@check_bit_operation broadcast(*, true, b1) BitMatrix
@check_bit_operation broadcast(*, false, b1) BitMatrix
@check_bit_operation broadcast(/, b1, true) Matrix{Float64}
@check_bit_operation broadcast(/, b1, false) Matrix{Float64}
@check_bit_operation div(b1, true) BitMatrix
@check_bit_operation mod(b1, true) BitMatrix

Expand All @@ -778,76 +778,76 @@ b2 = Array(bitrand(n1,n2))
@check_bit_operation (&)(b1, i2) Matrix{Int}
@check_bit_operation (|)(b1, i2) Matrix{Int}
@check_bit_operation ($)(b1, i2) Matrix{Int}
@check_bit_operation (.+)(b1, i2) Matrix{Int}
@check_bit_operation (.-)(b1, i2) Matrix{Int}
@check_bit_operation (.*)(b1, i2) Matrix{Int}
@check_bit_operation (./)(b1, i2) Matrix{Float64}
@check_bit_operation broadcast(+, b1, i2) Matrix{Int}
@check_bit_operation broadcast(-, b1, i2) Matrix{Int}
@check_bit_operation broadcast(*, b1, i2) Matrix{Int}
@check_bit_operation broadcast(/, b1, i2) Matrix{Float64}
@check_bit_operation div(b1, i2) Matrix{Int}
@check_bit_operation mod(b1, i2) Matrix{Int}

@check_bit_operation (&)(b1, u2) Matrix{UInt8}
@check_bit_operation (|)(b1, u2) Matrix{UInt8}
@check_bit_operation ($)(b1, u2) Matrix{UInt8}
@check_bit_operation (.+)(b1, u2) Matrix{UInt8}
@check_bit_operation (.-)(b1, u2) Matrix{UInt8}
@check_bit_operation (.*)(b1, u2) Matrix{UInt8}
@check_bit_operation (./)(b1, u2) Matrix{Float64}
@check_bit_operation broadcast(+, b1, u2) Matrix{UInt8}
@check_bit_operation broadcast(-, b1, u2) Matrix{UInt8}
@check_bit_operation broadcast(*, b1, u2) Matrix{UInt8}
@check_bit_operation broadcast(/, b1, u2) Matrix{Float64}
@check_bit_operation div(b1, u2) Matrix{UInt8}
@check_bit_operation mod(b1, u2) Matrix{UInt8}

@check_bit_operation (.+)(b1, f2) Matrix{Float64}
@check_bit_operation (.-)(b1, f2) Matrix{Float64}
@check_bit_operation (.*)(b1, f2) Matrix{Float64}
@check_bit_operation (./)(b1, f2) Matrix{Float64}
@check_bit_operation broadcast(+, b1, f2) Matrix{Float64}
@check_bit_operation broadcast(-, b1, f2) Matrix{Float64}
@check_bit_operation broadcast(*, b1, f2) Matrix{Float64}
@check_bit_operation broadcast(/, b1, f2) Matrix{Float64}
@check_bit_operation div(b1, f2) Matrix{Float64}
@check_bit_operation mod(b1, f2) Matrix{Float64}

@check_bit_operation (.+)(b1, ci2) Matrix{Complex{Int}}
@check_bit_operation (.-)(b1, ci2) Matrix{Complex{Int}}
@check_bit_operation (.*)(b1, ci2) Matrix{Complex{Int}}
@check_bit_operation (./)(b1, ci2) Matrix{Complex128}

@check_bit_operation (.+)(b1, cu2) Matrix{Complex{UInt8}}
@check_bit_operation (.-)(b1, cu2) Matrix{Complex{UInt8}}
@check_bit_operation (.*)(b1, cu2) Matrix{Complex{UInt8}}
@check_bit_operation (./)(b1, cu2) Matrix{Complex128}

@check_bit_operation (.+)(b1, cf2) Matrix{Complex128}
@check_bit_operation (.-)(b1, cf2) Matrix{Complex128}
@check_bit_operation (.*)(b1, cf2) Matrix{Complex128}
@check_bit_operation (./)(b1, cf2) Matrix{Complex128}

@check_bit_operation (.^)(b1, false) BitMatrix
@check_bit_operation (.^)(b1, true) BitMatrix
@check_bit_operation (.^)(b1, 0x0) BitMatrix
@check_bit_operation (.^)(b1, 0x1) BitMatrix
@check_bit_operation (.^)(b1, 0) BitMatrix
@check_bit_operation (.^)(b1, 1) BitMatrix
@check_bit_operation (.^)(b1, -1.0) Matrix{Float64}
@check_bit_operation (.^)(b1, 0.0) Matrix{Float64}
@check_bit_operation (.^)(b1, 1.0) Matrix{Float64}
@check_bit_operation (.^)(b1, 0.0im) Matrix{Complex128}
@check_bit_operation (.^)(b1, 0x0im) Matrix{Complex128}
@check_bit_operation (.^)(b1, 0im) Matrix{Complex128}
@test_throws DomainError (.^)(b1, -1)
@check_bit_operation broadcast(+, b1, ci2) Matrix{Complex{Int}}
@check_bit_operation broadcast(-, b1, ci2) Matrix{Complex{Int}}
@check_bit_operation broadcast(*, b1, ci2) Matrix{Complex{Int}}
@check_bit_operation broadcast(/, b1, ci2) Matrix{Complex128}

@check_bit_operation broadcast(+, b1, cu2) Matrix{Complex{UInt8}}
@check_bit_operation broadcast(-, b1, cu2) Matrix{Complex{UInt8}}
@check_bit_operation broadcast(*, b1, cu2) Matrix{Complex{UInt8}}
@check_bit_operation broadcast(/, b1, cu2) Matrix{Complex128}

@check_bit_operation broadcast(+, b1, cf2) Matrix{Complex128}
@check_bit_operation broadcast(-, b1, cf2) Matrix{Complex128}
@check_bit_operation broadcast(*, b1, cf2) Matrix{Complex128}
@check_bit_operation broadcast(/, b1, cf2) Matrix{Complex128}

@check_bit_operation broadcast(^, b1, false) BitMatrix
@check_bit_operation broadcast(^, b1, true) BitMatrix
@check_bit_operation broadcast(^, b1, 0x0) BitMatrix
@check_bit_operation broadcast(^, b1, 0x1) BitMatrix
@check_bit_operation broadcast(^, b1, 0) BitMatrix
@check_bit_operation broadcast(^, b1, 1) BitMatrix
@check_bit_operation broadcast(^, b1, -1.0) Matrix{Float64}
@check_bit_operation broadcast(^, b1, 0.0) Matrix{Float64}
@check_bit_operation broadcast(^, b1, 1.0) Matrix{Float64}
@check_bit_operation broadcast(^, b1, 0.0im) Matrix{Complex128}
@check_bit_operation broadcast(^, b1, 0x0im) Matrix{Complex128}
@check_bit_operation broadcast(^, b1, 0im) Matrix{Complex128}
@test_throws DomainError b1 .^ -1

b1 = trues(n1, n2)
@check_bit_operation (.^)(b1, -1.0im) Matrix{Complex128}
@check_bit_operation (.^)(b1, 1.0im) Matrix{Complex128}
@check_bit_operation (.^)(b1, -1im) Matrix{Complex128}
@check_bit_operation (.^)(b1, 1im) Matrix{Complex128}
@check_bit_operation (.^)(b1, 0x1im) Matrix{Complex128}
@check_bit_operation broadcast(^, b1, -1.0im) Matrix{Complex128}
@check_bit_operation broadcast(^, b1, 1.0im) Matrix{Complex128}
@check_bit_operation broadcast(^, b1, -1im) Matrix{Complex128}
@check_bit_operation broadcast(^, b1, 1im) Matrix{Complex128}
@check_bit_operation broadcast(^, b1, 0x1im) Matrix{Complex128}

timesofar("binary arithmetic")

## Binary comparison operators ##

b1 = bitrand(n1, n2)
b2 = bitrand(n1, n2)
@check_bit_operation (.==)(b1, b2) BitMatrix
@check_bit_operation (.!=)(b1, b2) BitMatrix
@check_bit_operation (.<)(b1, b2) BitMatrix
@check_bit_operation (.<=)(b1, b2) BitMatrix
@check_bit_operation broadcast(==, b1, b2) BitMatrix
@check_bit_operation broadcast(!=, b1, b2) BitMatrix
@check_bit_operation broadcast(<, b1, b2) BitMatrix
@check_bit_operation broadcast(<=, b1, b2) BitMatrix

timesofar("binary comparison")

Expand Down

0 comments on commit 96c01da

Please sign in to comment.