diff --git a/src/neogb/data.h b/src/neogb/data.h index fb97fd80..af5f6201 100644 --- a/src/neogb/data.h +++ b/src/neogb/data.h @@ -130,6 +130,7 @@ struct ht_t len_t ebl; /* elimination block length: * degree + #elimination variables, * 0 if no elimination order */ + int32_t mo; /* monomial ordering: 0=DRL, 1=LEX */ len_t nv; /* number of variables */ len_t evl; /* real length of exponent vector, * includes degree (or two degrees diff --git a/src/neogb/hash.c b/src/neogb/hash.c index eb02a947..619dd48e 100644 --- a/src/neogb/hash.c +++ b/src/neogb/hash.c @@ -53,6 +53,7 @@ ht_t *initialize_basis_hash_table( ht_t *ht = (ht_t *)malloc(sizeof(ht_t)); ht->nv = nv; + ht->mo = st->mo; /* generate map */ ht->bpv = (len_t)((CHAR_BIT * sizeof(sdm_t)) / (unsigned long)nv); if (ht->bpv == 0) { @@ -136,6 +137,7 @@ ht_t *copy_hash_table( ht_t *ht = (ht_t *)malloc(sizeof(ht_t)); ht->nv = bht->nv; + ht->mo = bht->mo; ht->evl = bht->evl; ht->ebl = bht->ebl; ht->hsz = bht->hsz; @@ -187,6 +189,7 @@ ht_t *initialize_secondary_hash_table( ht_t *ht = (ht_t *)malloc(sizeof(ht_t)); ht->nv = bht->nv; + ht->mo = bht->mo; ht->evl = bht->evl; ht->ebl = bht->ebl;