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);