+
+ return NULL;
+}
+
+void release() {
+// char inpF[STRLEN], command[STRLEN];
+ string line;
+
+ /* destroy attribute */
+ pthread_attr_destroy(&attr);
+ delete[] threads;
+
+ pme_c.assign(M + 1, 0);
+ pve_c.assign(M + 1, 0);
+ pme_theta.assign(M + 1, 0);
+ for (int i = 0; i < nThreads; i++) {
+ fclose(paramsArray[i].fo);
+ delete paramsArray[i].engine;
+ for (int j = 0; j <= M; j++) {
+ pme_c[j] += paramsArray[i].pme_c[j];
+ pve_c[j] += paramsArray[i].pve_c[j];
+ pme_theta[j] += paramsArray[i].pme_theta[j];
+ }
+ delete[] paramsArray[i].pme_c;
+ delete[] paramsArray[i].pve_c;
+ delete[] paramsArray[i].pme_theta;
+ }
+ delete[] paramsArray;
+