From 3a39141d440f9a2b802503a599f1ae376e19b559 Mon Sep 17 00:00:00 2001
From: Ben Pfaff <blp@cs.stanford.edu>
Date: Sun, 2 Jan 2022 13:37:44 -0800
Subject: [PATCH] table sections exist

---
 src/language/stats/ctables.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/language/stats/ctables.c b/src/language/stats/ctables.c
index 88c326c8d0..3954637f33 100644
--- a/src/language/stats/ctables.c
+++ b/src/language/stats/ctables.c
@@ -146,13 +146,18 @@ enum {
 
 enum ctables_domain_type
   {
-    CTDT_TABLE,                  /* Entire table. */
-    CTDT_SUBTABLE,               /* Innermost variable in a single layer. */
+    /* Within a section, where stacked variables divide one section from
+       another. */
+    CTDT_TABLE,                  /* All layers of a whole section. */
+    CTDT_LAYER,                  /* One layer within a section. */
+    CTDT_LAYERROW,               /* Row in one layer within a section. */
+    CTDT_LAYERCOL,               /* Column in one layer within a section. */
+
+    /* Within a subtable, where a subtable pairs an innermost row variable with
+       an innermost column variable within a single layer.  */
+    CTDT_SUBTABLE,               /* Whole subtable. */
     CTDT_ROW,                    /* Row within a subtable. */
     CTDT_COL,                    /* Column within a subtable. */
-    CTDT_LAYER,                  /* Entire layer. */
-    CTDT_LAYERROW,               /* Row within a layer. */
-    CTDT_LAYERCOL,               /* Column within a layer. */
 #define N_CTDTS 7
   };
 
@@ -1929,8 +1934,6 @@ static struct ctables_domain *
 ctables_domain_insert (struct ctables_table *t, struct ctables_freq *f,
                        enum ctables_domain_type domain)
 {
-  /* XXX how can we handle CTDT_LAYERROW and CTDT_LAYERCOL?  Crossing subtables
-     is hard.  */
   size_t hash = 0;
   for (enum pivot_axis_type a = 0; a < PIVOT_N_AXES; a++)
     {
-- 
2.30.2