Procházet zdrojové kódy

Merge branch 'main' into aaron/public-channel

Aaron Johnson před 1 rokem
rodič
revize
08627ebc52
1 změnil soubory, kde provedl 7 přidání a 5 odebrání
  1. 7 5
      Enclave/OblivAlgs/WaksmanNetwork.hpp

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