|
2 | 2 | GrB_free(object) |
3 | 3 |
|
4 | 4 | Generic method to free a GraphBLAS object. |
5 | | -
|
6 | | -# Examples |
7 | | -```jldoctest |
8 | | -julia> using SuiteSparseGraphBLAS |
9 | | -
|
10 | | -julia> w = GrB_Vector{Int64}() |
11 | | -GrB_Vector{Int64} |
12 | | -
|
13 | | -julia> I = [0, 2, 4]; X = [10, 20, 30]; n = 3; |
14 | | -
|
15 | | -julia> GrB_Vector_new(w, GrB_INT64, 5) |
16 | | -GrB_SUCCESS::GrB_Info = 0 |
17 | | -
|
18 | | -julia> GrB_Vector_build(w, I, X, n, GrB_FIRST_INT64) |
19 | | -GrB_SUCCESS::GrB_Info = 0 |
20 | | -
|
21 | | -julia> @GxB_fprint(w, GxB_COMPLETE) |
22 | | -
|
23 | | -GraphBLAS vector: w |
24 | | -nrows: 5 ncols: 1 max # entries: 3 |
25 | | -format: standard CSC vlen: 5 nvec_nonempty: 1 nvec: 1 plen: 1 vdim: 1 |
26 | | -hyper_ratio 0.0625 |
27 | | -GraphBLAS type: int64_t size: 8 |
28 | | -number of entries: 3 |
29 | | -column: 0 : 3 entries [0:2] |
30 | | - row 0: int64 10 |
31 | | - row 2: int64 20 |
32 | | - row 4: int64 30 |
33 | | -
|
34 | | -
|
35 | | -julia> GrB_free(w) |
36 | | -GrB_SUCCESS::GrB_Info = 0 |
37 | | -
|
38 | | -julia> @GxB_fprint(w, GxB_COMPLETE) |
39 | | -
|
40 | | -GraphBLAS vector: w NULL |
41 | | -``` |
42 | 5 | """ |
43 | | -function GrB_free(object::GrB_Struct) |
44 | | - object_ptr = pointer_from_objref(object) |
45 | | - fn_name = "GrB_" * get_struct_name(object) * "_free" |
46 | | - |
47 | | - return GrB_Info( |
48 | | - ccall( |
49 | | - dlsym(graphblas_lib, fn_name), |
50 | | - Cint, |
51 | | - (Ptr{Cvoid}, ), |
52 | | - object_ptr |
53 | | - ) |
54 | | - ) |
55 | | -end |
| 6 | +GrB_free(object::GrB_UnaryOp) = GrB_UnaryOp_free(object) |
| 7 | +GrB_free(object::GrB_BinaryOp) = GrB_BinaryOp_free(object) |
| 8 | +GrB_free(object::GrB_Monoid) = GrB_Monoid_free(object) |
| 9 | +GrB_free(object::GrB_Semiring) = GrB_Semiring_free(object) |
| 10 | +GrB_free(object::GrB_Vector) = GrB_Vector_free(object) |
| 11 | +GrB_free(object::GrB_Matrix) = GrB_Matrix_free(object) |
| 12 | +GrB_free(object::GrB_Descriptor) = GrB_Descriptor_free(object) |
56 | 13 |
|
57 | 14 | """ |
58 | 15 | GrB_UnaryOp_free(unaryop) |
|
130 | 87 | GrB_Vector_free(v) |
131 | 88 |
|
132 | 89 | Free vector. |
| 90 | +
|
| 91 | +# Examples |
| 92 | +```jldoctest |
| 93 | +julia> using SuiteSparseGraphBLAS |
| 94 | +
|
| 95 | +julia> w = GrB_Vector{Int64}() |
| 96 | +GrB_Vector{Int64} |
| 97 | +
|
| 98 | +julia> I = [0, 2, 4]; X = [10, 20, 30]; n = 3; |
| 99 | +
|
| 100 | +julia> GrB_Vector_new(w, GrB_INT64, 5) |
| 101 | +GrB_SUCCESS::GrB_Info = 0 |
| 102 | +
|
| 103 | +julia> GrB_Vector_build(w, I, X, n, GrB_FIRST_INT64) |
| 104 | +GrB_SUCCESS::GrB_Info = 0 |
| 105 | +
|
| 106 | +julia> @GxB_fprint(w, GxB_COMPLETE) |
| 107 | +
|
| 108 | +GraphBLAS vector: w |
| 109 | +nrows: 5 ncols: 1 max # entries: 3 |
| 110 | +format: standard CSC vlen: 5 nvec_nonempty: 1 nvec: 1 plen: 1 vdim: 1 |
| 111 | +hyper_ratio 0.0625 |
| 112 | +GraphBLAS type: int64_t size: 8 |
| 113 | +number of entries: 3 |
| 114 | +column: 0 : 3 entries [0:2] |
| 115 | + row 0: int64 10 |
| 116 | + row 2: int64 20 |
| 117 | + row 4: int64 30 |
| 118 | +
|
| 119 | +
|
| 120 | +julia> GrB_Vector_free(w) |
| 121 | +GrB_SUCCESS::GrB_Info = 0 |
| 122 | +
|
| 123 | +julia> @GxB_fprint(w, GxB_COMPLETE) |
| 124 | +
|
| 125 | +GraphBLAS vector: w NULL |
| 126 | +``` |
133 | 127 | """ |
134 | 128 | function GrB_Vector_free(v::GrB_Vector) |
135 | 129 | v_ptr = pointer_from_objref(v) |
|
0 commit comments