Skip to content

Commit b728539

Browse files
authored
Merge pull request #197 from PartitionedArrays/jagged_array
Added AbstractJaggedArray type
2 parents ad706d6 + 3da3e62 commit b728539

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/jagged_array.jl

+4-2
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ Return `a.data`
4545
"""
4646
getdata(a) = a.data
4747

48+
abstract type AbstractJaggedArray{T} <: AbstractVector{T} end
49+
4850
"""
4951
struct GenericJaggedArray{V,A,B}
5052
@@ -61,7 +63,7 @@ object.
6163
6264
Given `a::GenericJaggedArray`, `V` is `typeof(view(a.data,a.ptrs[i]:(a.ptrs[i+1]-1)))`.
6365
"""
64-
struct GenericJaggedArray{T,A,B} <: AbstractVector{T}
66+
struct GenericJaggedArray{T,A,B} <: AbstractJaggedArray{T}
6567
data::A
6668
ptrs::B
6769
@doc """
@@ -104,7 +106,7 @@ range `a.ptrs[i]:(a.ptrs[i+1]-1)`. The number of inner vectors (i.e. `length(a)`
104106
Given `a::JaggedArray`, `V` is `typeof(view(a.data,a.ptrs[i]:(a.ptrs[i+1]-1)))`.
105107
106108
"""
107-
struct JaggedArray{T,Ti} <: AbstractVector{SubArray{T,1,Vector{T},Tuple{UnitRange{Ti}},true}}
109+
struct JaggedArray{T,Ti} <: AbstractJaggedArray{SubArray{T,1,Vector{T},Tuple{UnitRange{Ti}},true}}
108110
data::Vector{T}
109111
ptrs::Vector{Ti}
110112
@doc """

src/mpi_array.jl

+4-4
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ function gather_impl!(
325325
destination, ::Type{T}) where T <: AbstractVector
326326
Tv = eltype(snd.item)
327327
@assert rcv.comm === snd.comm
328-
@assert isa(rcv.item,JaggedArray)
328+
@assert isa(rcv.item,AbstractJaggedArray)
329329
@assert eltype(eltype(rcv.item)) == Tv
330330
comm = snd.comm
331331
if isa(destination,Integer)
@@ -389,7 +389,7 @@ function scatter_impl!(
389389
source,::Type{T}) where T<:AbstractVector
390390
@assert source !== :all "All to all not implemented"
391391
@assert rcv.comm === snd.comm
392-
@assert isa(snd.item,JaggedArray)
392+
@assert isa(snd.item,AbstractJaggedArray)
393393
@assert eltype(eltype(snd.item)) == eltype(rcv.item)
394394
comm = snd.comm
395395
root = source - 1
@@ -583,9 +583,9 @@ function exchange_impl!(
583583
@assert graph.rcv.comm === graph.rcv.comm
584584
@assert graph.rcv.comm === graph.snd.comm
585585
comm = graph.rcv.comm
586-
data_snd = JaggedArray(snd.item)
586+
data_snd = jagged_array(snd.item)
587587
data_rcv = rcv.item
588-
@assert isa(data_rcv,JaggedArray)
588+
@assert isa(data_rcv,AbstractJaggedArray)
589589
req_all = setup
590590
ireq = 0
591591
state = (snd,rcv)

0 commit comments

Comments
 (0)