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

◆ elem_text_out()

template<class E, bool OC>
void ExponentVector< E, OC >::elem_text_out ( buffer & o,
int nvars,
ConstExponents a,
const std::vector< std::string > & varnames,
bool p_one )
inlinestatic

Definition at line 281 of file ExponentVector.hpp.

286 {
287 int len_ = 0;
288 for (unsigned int v = 0; v < nvars; v++)
289 if (a[v] != 0)
290 {
291 len_++;
292 if (varnames.size() < v)
293 o << ".";
294 else
295 o << varnames[v];
296 int e = a[v];
297 int single = (varnames[v].size() == 1);
298 if (e > 1 && single)
299 o << e;
300 else if (e > 1)
301 o << "^" << e;
302 else if (e < 0)
303 o << "^(" << e << ")";
304 }
305 if (len_ == 0 && p_one) o << "1";
306 }