]> granicus.if.org Git - graphviz/commitdiff
sparse SparseMatrix_multiply_vector: use cgraph wrappers for allocation
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Thu, 15 Sep 2022 00:55:32 +0000 (17:55 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Tue, 20 Sep 2022 14:36:59 +0000 (07:36 -0700)
The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

lib/sparse/SparseMatrix.c

index 83400e9c284c2a5dade3b4608f3792addd41756b..c3a7e990041dea0ae59f47b8d6bda5407acef323 100644 (file)
@@ -1045,7 +1045,7 @@ void SparseMatrix_multiply_vector(SparseMatrix A, double *v, double **res) {
   case MATRIX_TYPE_REAL:
     a = (double*) A->a;
     if (v){
-      if (!u) u = MALLOC(sizeof(double)*((size_t)m));
+      if (!u) u = gv_calloc((size_t)m, sizeof(double));
       for (i = 0; i < m; i++){
        u[i] = 0.;
        for (j = ia[i]; j < ia[i+1]; j++){
@@ -1054,7 +1054,7 @@ void SparseMatrix_multiply_vector(SparseMatrix A, double *v, double **res) {
       }
     } else {
       /* v is assumed to be all 1's */
-      if (!u) u = MALLOC(sizeof(double)*((size_t)m));
+      if (!u) u = gv_calloc((size_t)m, sizeof(double));
       for (i = 0; i < m; i++){
        u[i] = 0.;
        for (j = ia[i]; j < ia[i+1]; j++){
@@ -1066,7 +1066,7 @@ void SparseMatrix_multiply_vector(SparseMatrix A, double *v, double **res) {
   case MATRIX_TYPE_INTEGER:
     ai = (int*) A->a;
     if (v){
-      if (!u) u = MALLOC(sizeof(double)*((size_t)m));
+      if (!u) u = gv_calloc((size_t)m, sizeof(double));
       for (i = 0; i < m; i++){
        u[i] = 0.;
        for (j = ia[i]; j < ia[i+1]; j++){
@@ -1075,7 +1075,7 @@ void SparseMatrix_multiply_vector(SparseMatrix A, double *v, double **res) {
       }
     } else {
       /* v is assumed to be all 1's */
-      if (!u) u = MALLOC(sizeof(double)*((size_t)m));
+      if (!u) u = gv_calloc((size_t)m, sizeof(double));
       for (i = 0; i < m; i++){
        u[i] = 0.;
        for (j = ia[i]; j < ia[i+1]; j++){