@@ -114,38 +114,38 @@ end
114
114
115
115
# # Constructors ##
116
116
117
- similar (a:: Array , T:: Type , dims:: Dims ) = Array {T} (dims)
118
- similar {T} (a:: Array{T,1} ) = Array {T} (size (a,1 ))
119
- similar {T} (a:: Array{T,2} ) = Array {T} (size (a,1 ), size (a,2 ))
120
- similar {T} (a:: Array{T,1} , dims:: Dims ) = Array {T} (dims)
121
- similar {T} (a:: Array{T,1} , m:: Int ) = Array {T} (m)
122
- similar {T} (a:: Array{T,1} , S:: Type ) = Array {S} (size (a,1 ))
123
- similar {T} (a:: Array{T,2} , dims:: Dims ) = Array {T} (dims)
124
- similar {T} (a:: Array{T,2} , m:: Int ) = Array {T} (m)
125
- similar {T} (a:: Array{T,2} , S:: Type ) = Array {S} (size (a,1 ), size (a,2 ))
117
+ similar (a:: Array , T:: Type , dims:: Dims ) = Array {T,nfields(dims) } (dims)
118
+ similar {T} (a:: Array{T,1} ) = Array {T,1 } (size (a,1 ))
119
+ similar {T} (a:: Array{T,2} ) = Array {T,2 } (size (a,1 ), size (a,2 ))
120
+ similar {T} (a:: Array{T,1} , dims:: Dims ) = Array {T,nfields(dims) } (dims)
121
+ similar {T} (a:: Array{T,1} , m:: Int ) = Array {T,1 } (m)
122
+ similar {T} (a:: Array{T,1} , S:: Type ) = Array {S,1 } (size (a,1 ))
123
+ similar {T} (a:: Array{T,2} , dims:: Dims ) = Array {T,nfields(dims) } (dims)
124
+ similar {T} (a:: Array{T,2} , m:: Int ) = Array {T,1 } (m)
125
+ similar {T} (a:: Array{T,2} , S:: Type ) = Array {S,2 } (size (a,1 ), size (a,2 ))
126
126
127
127
# T[x...] constructs Array{T,1}
128
128
function getindex (T:: Type , vals... )
129
- a = Array {T} (length (vals))
129
+ a = Array {T,1 } (length (vals))
130
130
@inbounds for i = 1 : length (vals)
131
131
a[i] = vals[i]
132
132
end
133
133
return a
134
134
end
135
135
136
- getindex (T:: Type ) = Array {T} (0 )
137
- getindex (T:: Type , x) = (a = Array {T} (1 ); @inbounds a[1 ] = x; a)
138
- getindex (T:: Type , x, y) = (a = Array {T} (2 ); @inbounds (a[1 ] = x; a[2 ] = y); a)
139
- getindex (T:: Type , x, y, z) = (a = Array {T} (3 ); @inbounds (a[1 ] = x; a[2 ] = y; a[3 ] = z); a)
136
+ getindex (T:: Type ) = Array {T,1 } (0 )
137
+ getindex (T:: Type , x) = (a = Array {T,1 } (1 ); @inbounds a[1 ] = x; a)
138
+ getindex (T:: Type , x, y) = (a = Array {T,1 } (2 ); @inbounds (a[1 ] = x; a[2 ] = y); a)
139
+ getindex (T:: Type , x, y, z) = (a = Array {T,1 } (3 ); @inbounds (a[1 ] = x; a[2 ] = y; a[3 ] = z); a)
140
140
141
141
function getindex (:: Type{Any} , vals:: ANY... )
142
- a = Array {Any} (length (vals))
142
+ a = Array {Any,1 } (length (vals))
143
143
@inbounds for i = 1 : length (vals)
144
144
a[i] = vals[i]
145
145
end
146
146
return a
147
147
end
148
- getindex (:: Type{Any} ) = Array {Any} (0 )
148
+ getindex (:: Type{Any} ) = Array {Any,1 } (0 )
149
149
150
150
function fill! (a:: Union{Array{UInt8}, Array{Int8}} , x:: Integer )
151
151
ccall (:memset , Ptr{Void}, (Ptr{Void}, Cint, Csize_t), a, x, length (a))
@@ -195,7 +195,7 @@ convert{T,n}(::Type{Array{T}}, x::Array{T,n}) = x
195
195
convert {T,n} (:: Type{Array{T,n}} , x:: Array{T,n} ) = x
196
196
197
197
convert {T,n,S} (:: Type{Array{T}} , x:: AbstractArray{S, n} ) = convert (Array{T, n}, x)
198
- convert {T,n,S} (:: Type{Array{T,n}} , x:: AbstractArray{S,n} ) = copy! (Array {T} (size (x)), x)
198
+ convert {T,n,S} (:: Type{Array{T,n}} , x:: AbstractArray{S,n} ) = copy! (Array {T,n } (size (x)), x)
199
199
200
200
promote_rule {T,n,S} (:: Type{Array{T,n}} , :: Type{Array{S,n}} ) = Array{promote_type (T,S),n}
201
201
@@ -647,7 +647,7 @@ function vcat{T}(arrays::Vector{T}...)
647
647
for a in arrays
648
648
n += length (a)
649
649
end
650
- arr = Array {T} (n)
650
+ arr = Array {T,1 } (n)
651
651
ptr = pointer (arr)
652
652
if isbits (T)
653
653
elsz = Core. sizeof (T)
@@ -763,13 +763,13 @@ findlast(testf::Function, A) = findprev(testf, A, length(A))
763
763
function find (testf:: Function , A)
764
764
# use a dynamic-length array to store the indexes, then copy to a non-padded
765
765
# array for the return
766
- tmpI = Array {Int} (0 )
766
+ tmpI = Array {Int,1 } (0 )
767
767
for (i,a) = enumerate (A)
768
768
if testf (a)
769
769
push! (tmpI, i)
770
770
end
771
771
end
772
- I = Array {Int} (length (tmpI))
772
+ I = Array {Int,1 } (length (tmpI))
773
773
copy! (I, tmpI)
774
774
return I
775
775
end
@@ -787,8 +787,8 @@ function find(A)
787
787
return I
788
788
end
789
789
790
- find (x:: Number ) = x == 0 ? Array {Int} (0 ) : [1 ]
791
- find (testf:: Function , x:: Number ) = ! testf (x) ? Array {Int} (0 ) : [1 ]
790
+ find (x:: Number ) = x == 0 ? Array {Int,1 } (0 ) : [1 ]
791
+ find (testf:: Function , x:: Number ) = ! testf (x) ? Array {Int,1 } (0 ) : [1 ]
792
792
793
793
findn (A:: AbstractVector ) = find (A)
794
794
@@ -811,7 +811,7 @@ function findnz{T}(A::AbstractMatrix{T})
811
811
nnzA = countnz (A)
812
812
I = zeros (Int, nnzA)
813
813
J = zeros (Int, nnzA)
814
- NZs = Array {T} (nnzA)
814
+ NZs = Array {T,1 } (nnzA)
815
815
count = 1
816
816
if nnzA > 0
817
817
for j= 1 : size (A,2 ), i= 1 : size (A,1 )
@@ -874,7 +874,7 @@ function indexin(a::AbstractArray, b::AbstractArray)
874
874
end
875
875
876
876
function findin (a, b)
877
- ind = Array {Int} (0 )
877
+ ind = Array {Int,1 } (0 )
878
878
bset = Set (b)
879
879
@inbounds for (i,ai) in enumerate (a)
880
880
ai in bset && push! (ind, i)
969
969
function setdiff (a, b)
970
970
args_type = promote_type (eltype (a), eltype (b))
971
971
bset = Set (b)
972
- ret = Array {args_type} (0 )
972
+ ret = Array {args_type,1 } (0 )
973
973
seen = Set {eltype(a)} ()
974
974
for a_elem in a
975
975
if ! in (a_elem, seen) && ! in (a_elem, bset)
0 commit comments