Skip to content

Commit

Permalink
Replace full(X) calls with convert(Array, X) elsewhere in base/ (outs…
Browse files Browse the repository at this point in the history
…ide base/sparse and base/linalg), apart from the no-op fallback for `AbstractArray`s in abstractarray.jl.
  • Loading branch information
Sacha0 committed Jul 16, 2016
1 parent bd3c3ac commit a4e3cd2
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
10 changes: 5 additions & 5 deletions base/abstractarray.jl
Original file line number Diff line number Diff line change
Expand Up @@ -896,7 +896,7 @@ function typed_vcat{T}(::Type{T}, V::AbstractVector...)
for Vk in V
n += length(Vk)
end
a = similar(full(V[1]), T, n)
a = similar(convert(Array, V[1]), T, n)
pos = 1
for k=1:length(V)
Vk = V[k]
Expand Down Expand Up @@ -924,7 +924,7 @@ function typed_hcat{T}(::Type{T}, A::AbstractVecOrMat...)
nd = ndims(Aj)
ncols += (nd==2 ? size(Aj,2) : 1)
end
B = similar(full(A[1]), T, nrows, ncols)
B = similar(convert(Array, A[1]), T, nrows, ncols)
pos = 1
if dense
for k=1:nargs
Expand Down Expand Up @@ -956,7 +956,7 @@ function typed_vcat{T}(::Type{T}, A::AbstractMatrix...)
throw(ArgumentError("number of columns of each array must match (got $(map(x->size(x,2), A)))"))
end
end
B = similar(full(A[1]), T, nrows, ncols)
B = similar(convert(Array, A[1]), T, nrows, ncols)
pos = 1
for k=1:nargs
Ak = A[k]
Expand Down Expand Up @@ -1003,7 +1003,7 @@ function cat_t(catdims, typeC::Type, X...)
end
end

C = similar(isa(X[1],AbstractArray) ? full(X[1]) : [X[1]], typeC, tuple(dimsC...))
C = similar(isa(X[1],AbstractArray) ? convert(Array, X[1]) : [X[1]], typeC, tuple(dimsC...))

This comment has been minimized.

Copy link
@andreasnoack

andreasnoack Jul 22, 2016

Member

@Sacha0 Maybe we'll need the parenttype here. See JuliaStats/DataArrays.jl#208

if length(catdims)>1
fill!(C,0)
end
Expand Down Expand Up @@ -1075,7 +1075,7 @@ function typed_hvcat{T}(::Type{T}, rows::Tuple{Vararg{Int}}, as::AbstractMatrix.
a += rows[i]
end

out = similar(full(as[1]), T, nr, nc)
out = similar(convert(Array, as[1]), T, nr, nc)

a = 1
r = 1
Expand Down
2 changes: 1 addition & 1 deletion base/test.jl
Original file line number Diff line number Diff line change
Expand Up @@ -817,7 +817,7 @@ end

approx_full(x::AbstractArray) = x
approx_full(x::Number) = x
approx_full(x) = full(x)
approx_full(x) = convert(Array, x)

function test_approx_eq(va, vb, Eps, astr, bstr)
va = approx_full(va)
Expand Down

0 comments on commit a4e3cd2

Please sign in to comment.