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

◆ displayMat() [1/2]

template<typename Mat>
void displayMat ( buffer & o,
const Mat & A )

Definition at line 43 of file mat-util.hpp.

44{
45 // Assumption: Mat is either DMat<RingType> or SMat<RingType>, in that it
46 // defines the following:
47 // Mat::ElementType
48 // A.ring()
49 // A.numRows(), A.numColumns()
50 // A.entry(r,c)
51 // and A.ring().elem_text_out
52
53 size_t nrows = A.numRows();
54 size_t ncols = A.numColumns();
55 buffer* p = new buffer[nrows];
56 size_t r;
57 for (size_t c = 0; c < ncols; c++)
58 {
59 size_t maxcount = 0;
60 for (r = 0; r < nrows; r++)
61 {
62 const typename Mat::ElementType& a = A.entry(r, c);
63 if (!A.ring().is_zero(a))
64 A.ring().elem_text_out(p[r], a, true, false, false);
65 else
66 p[r] << ".";
67 if (p[r].size() > maxcount) maxcount = p[r].size();
68 }
69 for (r = 0; r < nrows; r++)
70 for (size_t k = maxcount + 1 - p[r].size(); k > 0; k--) p[r] << ' ';
71 }
72 for (r = 0; r < nrows; r++)
73 {
74 p[r] << '\0';
75 char* s = p[r].str();
76 o << s << newline;
77 }
78 delete[] p;
79}
int p
void size_t s
Definition m2-mem.cpp:271
char newline[]
Definition m2-types.cpp:49

References newline, p, and s.

Referenced by DMatLinAlg< RingType >::debug_out(), LUUtil< RT >::debug_out(), displayMat(), and TEST().