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

◆ toString()

std::string MonomialOrderings::toString ( const MonomialOrdering * mo)
static

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

294{
295 std::ostringstream o;
296 o << "MonomialOrder => {";
297 for (int i = 0; i < mo->len; i++)
298 {
299 mon_part p = mo->array[i];
300 bool p_ones = false;
301 if (i == 0)
302 o << "\n ";
303 else
304 o << ",\n ";
305 switch (p->type)
306 {
307 case MO_LEX:
308 o << "Lex => " << p->nvars;
309 break;
310 case MO_LEX2:
311 o << "LexSmall => " << p->nvars;
312 break;
313 case MO_LEX4:
314 o << "LexTiny => " << p->nvars;
315 break;
316 case MO_GREVLEX:
317 o << "GRevLex => ";
318 p_ones = true;
319 break;
320 case MO_GREVLEX2:
321 o << "GRevLexSmall => ";
322 p_ones = true;
323 break;
324 case MO_GREVLEX4:
325 o << "GRevLexTiny => ";
326 p_ones = true;
327 break;
328 case MO_GREVLEX_WTS:
329 o << "GRevLex => ";
330 break;
331 case MO_GREVLEX2_WTS:
332 o << "GRevLexSmall => ";
333 break;
334 case MO_GREVLEX4_WTS:
335 o << "GRevLexTiny => ";
336 break;
337 case MO_REVLEX:
338 o << "RevLex => " << p->nvars;
339 break;
340 case MO_WEIGHTS:
341 o << "Weights => ";
342 break;
343 case MO_LAURENT:
344 o << "GroupLex => " << p->nvars;
345 break;
347 o << "GroupRevLex => " << p->nvars;
348 break;
349 case MO_NC_LEX:
350 o << "NCLex => " << p->nvars;
351 break;
352 case MO_POSITION_UP:
353 o << "Position => Up";
354 break;
355 case MO_POSITION_DOWN:
356 o << "Position => Down";
357 break;
358 default:
359 o << "UNKNOWN";
360 break;
361 }
362 if (p->wts != nullptr) { ::toString(o, p->nvars, p->wts); }
363 else if (p_ones)
364 {
365 ::ones(o, p->nvars);
366 }
367 }
368 o << "\n }";
369 return o.str();
370}
static std::string toString(const MonomialOrdering *mo)
int p
std::ostringstream & ones(std::ostringstream &o, int len)
@ MO_GREVLEX4_WTS
@ MO_LAURENT_REVLEX
@ MO_NC_LEX
@ MO_LEX4
@ MO_REVLEX
@ MO_POSITION_UP
@ MO_LEX
@ MO_GREVLEX
@ MO_LEX2
@ MO_GREVLEX4
@ MO_LAURENT
@ MO_GREVLEX2_WTS
@ MO_WEIGHTS
@ MO_POSITION_DOWN
@ MO_GREVLEX2
@ MO_GREVLEX_WTS

References MonomialOrdering::array, MonomialOrdering::len, 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, ones(), p, and toString().

Referenced by TEST(), and toString().