Browse Source

Added convenience function for double vector deallocation.

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@122 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 19 years ago
parent
commit
ebc9a32240
  1. 3
      prism/include/dv.h
  2. 13
      prism/src/dv/dv.cc

3
prism/include/dv.h

@ -71,7 +71,8 @@ double sum_double_vector_over_bdd(DdManager *ddman, double *vec, DdNode *filter,
double sum_double_vector_over_mtbdd(DdManager *ddman, double *vec, DdNode *mult, DdNode **vars, int num_vars, ODDNode *odd);
DistVector *double_vector_to_dist(double *v, int n);
void free_dist_vector(DistVector *dv);
void free_dist_vector(DistVector *&dv);
void free_dv_or_dist_vector(double *&v, DistVector *&dv);
//------------------------------------------------------------------------------

13
prism/src/dv/dv.cc

@ -455,11 +455,22 @@ DistVector *double_vector_to_dist(double *v, int n)
// free distinct vector struct
void free_dist_vector(DistVector *dv)
void free_dist_vector(DistVector *&dv)
{
free(dv->dist);
free(dv->ptrs);
free(dv);
dv = NULL;
}
//------------------------------------------------------------------------------
// delete double array, distinct vector struct, or both
void free_dv_or_dist_vector(double *&v, DistVector *&dv)
{
if (v) { free(v); v = NULL; }
if (dv) { free_dist_vector(dv); dv = NULL; }
}
//------------------------------------------------------------------------------
Loading…
Cancel
Save