Macaulay2 Engine
Loading...
Searching...
No Matches

◆ moIsLex()

int moIsLex ( const MonomialOrdering * mo)

Definition at line 374 of file monomial-ordering.cpp.

375{
376 // The monomial order is lex if what?
377 // one lex block, no grevlex blocks, no weightvector blocks.
378 // only: lex block and position blocks are allowed.
379 int nlex = 0;
380 int i;
381 for (i = 0; i < mo->len; i++)
382 {
383 enum MonomialOrdering_type typ = mo->array[i]->type;
384 switch (typ)
385 {
386 case MO_LEX:
387 case MO_LEX2:
388 case MO_LEX4:
389 nlex++;
390 break;
391 case MO_POSITION_UP:
392 case MO_POSITION_DOWN:
393 break;
394 default:
395 return 0;
396 }
397 }
398 return (nlex == 1);
399}
MonomialOrdering_type
@ MO_LEX4
@ MO_POSITION_UP
@ MO_LEX
@ MO_LEX2
@ MO_POSITION_DOWN

References MonomialOrdering::array, MonomialOrdering::len, MO_LEX, MO_LEX2, MO_LEX4, MO_POSITION_DOWN, and MO_POSITION_UP.

Referenced by TEST().