浏览代码

Merge branch 'main' into Clients

Sajin Sasy 1 年之前
父节点
当前提交
9f2ce8288b
共有 2 个文件被更改,包括 8 次插入5 次删除
  1. 7 5
      Enclave/OblivAlgs/WaksmanNetwork.hpp
  2. 1 0
      Enclave/sort.cpp

+ 7 - 5
Enclave/OblivAlgs/WaksmanNetwork.hpp

@@ -101,7 +101,7 @@ struct WNEvalPlan {
     count_switches(Nright);
   }
 
-  void dump(int indent = 0) {
+  void dump(int indent = 0) const {
       printf("%*sN = %lu, nthreads = %lu, inswitches = %lu, outswitches = %lu\n",
           indent, "", N, nthreads, subtree_num_inswitches,
           subtree_num_outswitches);
@@ -464,10 +464,12 @@ unsigned long start = printf_with_rtclock("Thread %u starting applyInversePermut
   WNTraversal lefttraversal = traversal;
   lefttraversal.inSwitches += numInSwitches;
   lefttraversal.outSwitches += numOutSwitches;
-  traversal.inSwitches +=
-    plan.subplans[0].subtree_num_inswitches + numInSwitches;
-  traversal.outSwitches +=
-    plan.subplans[0].subtree_num_outswitches + numOutSwitches;
+  traversal.inSwitches += numInSwitches;
+  traversal.outSwitches += numOutSwitches;
+  if (plan.subplans.size() > 0) {
+    traversal.inSwitches += plan.subplans[0].subtree_num_inswitches;
+    traversal.outSwitches += plan.subplans[0].subtree_num_outswitches;
+  }
 
 #ifdef SHOW_APPLYPERM
   printf("s");

+ 1 - 0
Enclave/sort.cpp

@@ -57,6 +57,7 @@ size_t sort_precompute(uint32_t N)
 
     WaksmanNetwork wnet(N);
     wnet.setPermutation(random_permutation);
+    delete[] random_permutation;
 
     // Note that sized_wns[N] creates a map entry for N if it doesn't yet exist
     pthread_mutex_lock(&precomp_wns.mutex);