From de1c744257fac5ac7e44984667fb9c0406008e6b Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Wed, 19 Mar 2008 21:24:13 +0000 Subject: [PATCH] =?UTF-8?q?Memory=20use=20improvement=20in=20sparse=20R=3D?= =?UTF-8?q?=3F[I]=20for=20MDPs.?= git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@703 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/sparse/PS_NondetInstReward.cc | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/prism/src/sparse/PS_NondetInstReward.cc b/prism/src/sparse/PS_NondetInstReward.cc index 4ff03241..cdb15839 100644 --- a/prism/src/sparse/PS_NondetInstReward.cc +++ b/prism/src/sparse/PS_NondetInstReward.cc @@ -73,7 +73,7 @@ jlong __pointer in // sparse matrix NDSparseMatrix *ndsm; // vectors - double *sr_vec, *soln, *soln2, *tmpsoln; + double *soln, *soln2, *tmpsoln; // timing stuff long start1, start2, start3, stop; double time_taken, time_for_setup, time_for_iters; @@ -100,16 +100,10 @@ jlong __pointer in kbt = kb; PS_PrintToMainLog(env, "[%.1f KB]\n", kb); - // get vector for state rewards - PS_PrintToMainLog(env, "Creating vector for state rewards... "); - sr_vec = mtbdd_to_double_vector(ddman, state_rewards, rvars, num_rvars, odd); - kb = n*8.0/1024.0; - kbt += kb; - PS_PrintToMainLog(env, "[%.1f KB]\n", kb); - // create solution/iteration vectors + // (solution is initialised to the state rewards) PS_PrintToMainLog(env, "Allocating iteration vectors... "); - soln = new double[n]; + soln = mtbdd_to_double_vector(ddman, state_rewards, rvars, num_rvars, odd); soln2 = new double[n]; kb = n*8.0/1024.0; kbt += 2*kb; @@ -118,11 +112,6 @@ jlong __pointer in // print total memory usage PS_PrintToMainLog(env, "TOTAL: [%.1f KB]\n", kbt); - // initial solution is the state rewards - for (i = 0; i < n; i++) { - soln[i] = sr_vec[i]; - } - // get setup time stop = util_cpu_time(); time_for_setup = (double)(stop - start2)/1000; @@ -201,7 +190,6 @@ jlong __pointer in // free memory free_nd_sparse_matrix(ndsm); - delete sr_vec; delete soln2; return ptr_to_jlong(soln);