Skip to content

Commit 46eb87d

Browse files
add dropzeros! method
1 parent 4e39abe commit 46eb87d

File tree

4 files changed

+24
-2
lines changed

4 files changed

+24
-2
lines changed

src/Interface/Interface.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ include("Utils.jl")
1212
include("./Object_Methods/Matrix_Methods.jl")
1313
include("./Object_Methods/Vector_Methods.jl")
1414
include("./Object_Methods/Descriptor_Methods.jl")
15-
export findnz, nnz, LowerTriangular, UpperTriangular, Diagonal
15+
export findnz, nnz, LowerTriangular, UpperTriangular, Diagonal, dropzeros!
1616

1717
end # end of module

src/Interface/Object_Methods/Matrix_Methods.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,3 +440,14 @@ function Diagonal(A::GrB_Matrix{T}) where T
440440
end
441441
return D
442442
end
443+
444+
"""
445+
dropzeros!(A)
446+
447+
Remove all zero entries from GraphBLAS matrix.
448+
"""
449+
function dropzeros!(A::GrB_Matrix)
450+
outp_replace_desc = GrB_Descriptor(Dict(GrB_OUTP => GrB_REPLACE))
451+
GrB_assign(A, A, GrB_NULL, A, GrB_ALL, 0, GrB_ALL, 0, outp_replace_desc)
452+
GrB_free(outp_replace_desc)
453+
end

src/Interface/Object_Methods/Vector_Methods.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,3 +339,14 @@ function copy(V::GrB_Vector{T}) where T
339339
end
340340
return W
341341
end
342+
343+
"""
344+
dropzeros!(v)
345+
346+
Remove all zero entries from GraphBLAS vector.
347+
"""
348+
function dropzeros!(v::GrB_Vector)
349+
outp_replace_desc = GrB_Descriptor(Dict(GrB_OUTP => GrB_REPLACE))
350+
GrB_assign(v, v, GrB_NULL, v, GrB_ALL, 0, outp_replace_desc)
351+
GrB_free(outp_replace_desc)
352+
end

src/SuiteSparseGraphBLAS.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1897,7 +1897,7 @@ include("Operations/Select.jl")
18971897
# Higher-level interface
18981898
include("Interface/Interface.jl")
18991899
using .Interface
1900-
export findnz, nnz, LowerTriangular, UpperTriangular, Diagonal
1900+
export findnz, nnz, LowerTriangular, UpperTriangular, Diagonal, dropzeros!
19011901

19021902
# Extensions to the spec
19031903
export

0 commit comments

Comments
 (0)