319{
321 int cmp, df, dg, i;
322
323
324
326 {
327 case 1:
328
329
334 for (i = 0; i <
M->n_vars(); i++)
335 {
336 if (EXP1[i] < EXP2[i]) return -1;
337 if (EXP1[i] > EXP2[i]) return 1;
338 }
339 return 0;
340 case 2:
341
342
347 for (i = 0; i <
M->n_vars(); i++)
348 {
349 if (EXP1[i] < EXP2[i]) return 1;
350 if (EXP1[i] > EXP2[i]) return -1;
351 }
352 return 0;
353 case 3:
354
355
360 for (i =
M->n_vars() - 1; i >= 0; i--)
361 {
362 if (EXP1[i] < EXP2[i]) return -1;
363 if (EXP1[i] > EXP2[i]) return 1;
364 }
365 return 0;
366 case 4:
367
368
373 for (i =
M->n_vars() - 1; i >= 0; i--)
374 {
375 if (EXP1[i] < EXP2[i]) return 1;
376 if (EXP1[i] > EXP2[i]) return -1;
377 }
378 return 0;
379 case 5:
380
381
382
385 if (df > dg) return -1;
386 if (df < dg) return 1;
388 if (cmp != 0) return cmp;
390 if (cmp < 0) return 1;
391 if (cmp > 0) return -1;
392 return 0;
393 default:
395 if (cmp != 0) return cmp;
397 if (cmp < 0) return 1;
398 if (cmp > 0) return -1;
399 return 0;
400 }
401 return 0;
402}
exponents::Exponents exponents_t
int degree(const res_pair *q) const
#define ALLOCATE_EXPONENTS(byte_len)