Skip to content

Commit c4d4b92

Browse files
add methods to create select operator
1 parent 42ca4e5 commit c4d4b92

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

src/Object_Methods/Algebra_Methods.jl

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,3 +218,21 @@ function GrB_Semiring_new(semiring::GrB_Semiring, monoid::GrB_Monoid, binary_op:
218218
)
219219
)
220220
end
221+
222+
function GxB_SelectOp_new(op::GxB_SelectOp, GxB_select_function::Function, xtype::GrB_Type{T}, ktype::GrB_Type{U}) where {T <: valid_types, U <: valid_types}
223+
224+
GxB_select_function_C = @cfunction(
225+
$GxB_select_function,
226+
Bool,
227+
(Cintmax_t, Cintmax_t, Cintmax_t, Cintmax_t, Ref{T}, Ref{U})
228+
)
229+
230+
return GrB_Info(
231+
ccall(
232+
dlsym(graphblas_lib, "GxB_SelectOp_new"),
233+
Cint,
234+
(Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cvoid}),
235+
op.p, GxB_select_function_C, xtype.p
236+
)
237+
)
238+
end

src/Structures.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import Base.show
22
import Base.==
33
import Base.pointer
44
export GrB_Type, GrB_UnaryOp, GrB_BinaryOp, GrB_Monoid, GrB_Semiring,
5-
GrB_Vector, GrB_Matrix, GrB_Descriptor
5+
GrB_Vector, GrB_Matrix, GrB_Descriptor, GxB_SelectOp
66

77
abstract type GrB_Struct end
88

src/SuiteSparseGraphBLAS.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ GrB_Vector_nvals, GrB_Vector_setElement, GrB_Vector_extractElement, GrB_Vector_e
183183
GrB_Descriptor_new, GrB_Descriptor_set,
184184

185185
# Algebra Methods
186-
GrB_UnaryOp_new, GrB_BinaryOp_new, GrB_Monoid_new, GrB_Semiring_new,
186+
GrB_UnaryOp_new, GrB_BinaryOp_new, GrB_Monoid_new, GrB_Semiring_new, GxB_SelectOp_new,
187187

188188
# Free Methods
189189
GrB_free, GrB_UnaryOp_free, GrB_BinaryOp_free, GrB_Monoid_free, GrB_Semiring_free,

0 commit comments

Comments
 (0)