Skip to content

Commit fe29cb5

Browse files
authored
Merge pull request #18679 from JuliaLang/jn/backports265.1
backport of changes in #17057 that don't require new worlds
2 parents 612c528 + d790275 commit fe29cb5

17 files changed

+493
-363
lines changed

base/abstractarray.jl

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,7 @@
11
# This file is a part of Julia. License is MIT: http://julialang.org/license
22

3-
## Type aliases for convenience ##
4-
5-
typealias AbstractVector{T} AbstractArray{T,1}
6-
typealias AbstractMatrix{T} AbstractArray{T,2}
7-
typealias AbstractVecOrMat{T} Union{AbstractVector{T}, AbstractMatrix{T}}
8-
typealias RangeIndex Union{Int, Range{Int}, AbstractUnitRange{Int}, Colon}
9-
typealias DimOrInd Union{Integer, AbstractUnitRange}
10-
typealias IntOrInd Union{Int, AbstractUnitRange}
11-
typealias DimsOrInds{N} NTuple{N,DimOrInd}
12-
typealias NeedsShaping Union{Tuple{Integer,Vararg{Integer}}, Tuple{OneTo,Vararg{OneTo}}}
13-
14-
macro _inline_pure_meta()
15-
Expr(:meta, :inline, :pure)
16-
end
17-
183
## Basic functions ##
194

20-
vect() = Array{Any,1}(0)
21-
vect{T}(X::T...) = T[ X[i] for i=1:length(X) ]
22-
23-
function vect(X...)
24-
T = promote_typeof(X...)
25-
#T[ X[i] for i=1:length(X) ]
26-
# TODO: this is currently much faster. should figure out why. not clear.
27-
copy!(Array{T,1}(length(X)), X)
28-
end
29-
305
"""
316
size(A::AbstractArray, [dim...])
327

base/array.jl

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
## array.jl: Dense arrays
44

5+
## Type aliases for convenience ##
6+
7+
typealias AbstractVector{T} AbstractArray{T,1}
8+
typealias AbstractMatrix{T} AbstractArray{T,2}
9+
typealias AbstractVecOrMat{T} Union{AbstractVector{T}, AbstractMatrix{T}}
10+
typealias RangeIndex Union{Int, Range{Int}, AbstractUnitRange{Int}, Colon}
11+
typealias DimOrInd Union{Integer, AbstractUnitRange}
12+
typealias IntOrInd Union{Int, AbstractUnitRange}
13+
typealias DimsOrInds{N} NTuple{N,DimOrInd}
14+
typealias NeedsShaping Union{Tuple{Integer,Vararg{Integer}}, Tuple{OneTo,Vararg{OneTo}}}
15+
516
typealias Vector{T} Array{T,1}
617
typealias Matrix{T} Array{T,2}
718
typealias VecOrMat{T} Union{Vector{T}, Matrix{T}}
@@ -14,6 +25,16 @@ typealias DenseVecOrMat{T} Union{DenseVector{T}, DenseMatrix{T}}
1425

1526
import Core: arraysize, arrayset, arrayref
1627

28+
vect() = Array{Any,1}(0)
29+
vect{T}(X::T...) = T[ X[i] for i=1:length(X) ]
30+
31+
function vect(X...)
32+
T = promote_typeof(X...)
33+
#T[ X[i] for i=1:length(X) ]
34+
# TODO: this is currently much faster. should figure out why. not clear.
35+
return copy!(Array{T,1}(length(X)), X)
36+
end
37+
1738
size(a::Array, d) = arraysize(a, d)
1839
size(a::Vector) = (arraysize(a,1),)
1940
size(a::Matrix) = (arraysize(a,1), arraysize(a,2))

base/coreimg.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ Symbol(a::Array{UInt8,1}) =
4545
ccall(:jl_symbol_n, Ref{Symbol}, (Ptr{UInt8}, Int32), a, length(a))
4646

4747
# core array operations
48-
include("abstractarray.jl")
4948
include("array.jl")
49+
include("abstractarray.jl")
5050

5151
#TODO: eliminate Dict from inference
5252
include("hashing.jl")

0 commit comments

Comments
 (0)