JuliaSparse / SuiteSparseGraphBLAS.jl

Sparse, General Linear Algebra for Graphs!
MIT License
102 stars 17 forks source link

Can't index GBVector with a list of indices, range, or colon #77

Closed andreyz4k closed 2 years ago

andreyz4k commented 2 years ago
julia> B = GBVector([1, 2, 3, 4, 5, 6, 7], [1, 2, 3, 4, 5, 6, 7])
7x1 GraphBLAS int64_t matrix, full by col
  7 entries, memory: 264 bytes

    (1,1)   1
    (2,1)   2
    (3,1)   3
    (4,1)   4
    (5,1)   5
    (6,1)   6
    (7,1)   7

julia> B[:]
ERROR: BoundsError
Stacktrace:
 [1] extract!(w::GBVector{Int64, Nothing}, u::GBVector{Int64, Nothing}, I::Function; mask::Nothing, accum::Nothing, desc::Nothing)
   @ SuiteSparseGraphBLAS ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/operations/extract.jl:118
 [2] #extract#22
   @ ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/operations/extract.jl:129 [inlined]
 [3] extract
   @ ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/operations/extract.jl:127 [inlined]
 [4] #getindex#41
   @ ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/vector.jl:156 [inlined]
 [5] getindex(u::GBVector{Int64, Nothing}, ::Colon)
   @ SuiteSparseGraphBLAS ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/vector.jl:156
 [6] top-level scope
   @ REPL[23]:1

julia> B[[3,5]]
ERROR: BoundsError
Stacktrace:
 [1] extract!(w::GBVector{Int64, Nothing}, u::GBVector{Int64, Nothing}, I::Vector{Int64}; mask::Nothing, accum::Nothing, desc::Nothing)
   @ SuiteSparseGraphBLAS ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/operations/extract.jl:118
 [2] #extract#22
   @ ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/operations/extract.jl:129 [inlined]
 [3] #getindex#42
   @ ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/vector.jl:163 [inlined]
 [4] getindex(u::GBVector{Int64, Nothing}, i::Vector{Int64})
   @ SuiteSparseGraphBLAS ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/vector.jl:163
 [5] top-level scope
   @ REPL[24]:1

julia> B[2:6]
ERROR: BoundsError
Stacktrace:
 [1] extract!(w::GBVector{Int64, Nothing}, u::GBVector{Int64, Nothing}, I::UnitRange{Int64}; mask::Nothing, accum::Nothing, desc::Nothing)
   @ SuiteSparseGraphBLAS ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/operations/extract.jl:118
 [2] #extract#22
   @ ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/operations/extract.jl:129 [inlined]
 [3] #getindex#42
   @ ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/vector.jl:163 [inlined]
 [4] getindex(u::GBVector{Int64, Nothing}, i::UnitRange{Int64})
   @ SuiteSparseGraphBLAS ~/.julia/packages/SuiteSparseGraphBLAS/5AOj3/src/vector.jl:163
 [5] top-level scope
   @ REPL[25]:1