Definition at line 466 of file monomial-ordering.cpp.
469{
470 int i, j,
sum, nextvar;
473 for (i = 0; i < nvars; i++)
474 gt[i] =
475 0;
476
477 nextvar = 0;
478 for (i = 0; i < mo->
len; i++)
479 {
480 mon_part
p = mo->
array[i];
482 {
494 for (j = 0; j <
p->nvars; j++, nextvar++)
495 if (gt[nextvar] == 0) gt[nextvar] = 1;
496 break;
499 for (j = 0; j <
p->nvars; j++, nextvar++)
500 if (gt[nextvar] == 0) gt[nextvar] = -1;
501 break;
503 for (j = nextvar; j <
p->nvars; j++)
504 if (gt[j] == 0)
505 {
507 gt[j] = 1;
508 else if (
p->wts[j] < 0)
509 gt[j] = -1;
510 }
511 break;
514 break;
515 }
516 }
517
519 for (i = 0; i < nvars; i++)
520 {
522 if (gt[i] < 0)
sum++;
523 }
524
525
527 nextvar = 0;
528 for (i = 0; i < nvars; i++)
529 if (gt[i] < 0)
result->array[nextvar++] = i;
531}
void INTERNAL_ERROR(const char *s,...)
VALGRIND_MAKE_MEM_DEFINED & result(result)
#define getmematomicvectortype(S, len)
M2_arrayint M2_makearrayint(int n)
int rawNumberOfVariables(const MonomialOrdering *mo)
const mpreal sum(const mpreal tab[], const unsigned long int n, int &status, mp_rnd_t mode=mpreal::get_default_rnd())
References MonomialOrdering::array, getmematomicvectortype, INTERNAL_ERROR(), MonomialOrdering::len, M2_makearrayint(), MO_GREVLEX, MO_GREVLEX2, MO_GREVLEX2_WTS, MO_GREVLEX4, MO_GREVLEX4_WTS, MO_GREVLEX_WTS, MO_LAURENT, MO_LAURENT_REVLEX, MO_LEX, MO_LEX2, MO_LEX4, MO_NC_LEX, MO_POSITION_DOWN, MO_POSITION_UP, MO_REVLEX, MO_WEIGHTS, mon_part::nvars, p, rawNumberOfVariables(), and result().