@@ -73,9 +73,61 @@ function GrB_BinaryOp_new(
73
73
end
74
74
75
75
"""
76
- GrB_UnaryOp_new(op, fn, ztype, xtype, ytype )
76
+ GrB_UnaryOp_new(op, fn, ztype, xtype)
77
77
78
78
Initialize a new GraphBLAS unary operator with a specified user-defined function and its types.
79
+
80
+ # Examples
81
+ ```jldoctest
82
+ julia> using SuiteSparseGraphBLAS
83
+
84
+ julia> GrB_init(GrB_NONBLOCKING)
85
+ GrB_SUCCESS::GrB_Info = 0
86
+
87
+ julia> u = GrB_Vector{Int64}()
88
+ GrB_Vector{Int64}
89
+
90
+ julia> GrB_Vector_new(u, GrB_INT64, 3)
91
+ GrB_SUCCESS::GrB_Info = 0
92
+
93
+ julia> I = [0, 2]; X = [10, 20]; n = 2;
94
+
95
+ julia> GrB_Vector_build(u, I, X, n, GrB_FIRST_INT64)
96
+ GrB_SUCCESS::GrB_Info = 0
97
+
98
+ julia> w = GrB_Vector{Int64}()
99
+ GrB_Vector{Int64}
100
+
101
+ julia> GrB_Vector_new(w, GrB_INT64, 3)
102
+ GrB_SUCCESS::GrB_Info = 0
103
+
104
+ julia> function NEG(a)
105
+ return -a
106
+ end
107
+ NEG (generic function with 1 method)
108
+
109
+ julia> negative = GrB_UnaryOp()
110
+ GrB_UnaryOp
111
+
112
+ julia> GrB_UnaryOp_new(negative, NEG, GrB_INT64, GrB_INT64)
113
+ GrB_SUCCESS::GrB_Info = 0
114
+
115
+ julia> GrB_apply(w, GrB_NULL, GrB_NULL, negative, u, GrB_NULL)
116
+ GrB_SUCCESS::GrB_Info = 0
117
+
118
+ julia> @GxB_fprint(w, GxB_COMPLETE)
119
+
120
+ GraphBLAS vector: w
121
+ nrows: 3 ncols: 1 max # entries: 2
122
+ format: standard CSC vlen: 3 nvec_nonempty: 1 nvec: 1 plen: 1 vdim: 1
123
+ hyper_ratio 0.0625
124
+ GraphBLAS type: int64_t size: 8
125
+ number of entries: 2
126
+ column: 0 : 2 entries [0:1]
127
+ row 0: int64 -10
128
+ row 2: int64 -20
129
+
130
+ ```
79
131
"""
80
132
function GrB_UnaryOp_new (
81
133
op:: GrB_UnaryOp ,
0 commit comments