X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_matrixinset.C;h=f1343b47362f52326f42b1c13c21dc6d57cbf230;hb=3e93baac3cd18e27db3eb2a1fcaf90b25e0918a6;hp=330c3cef62b0ff46ef2e775e4962c270c3c24bc1;hpb=fc1b3149985a0f94cceaa502e86072c0984e362e;p=lyx.git diff --git a/src/mathed/math_matrixinset.C b/src/mathed/math_matrixinset.C index 330c3cef62..f1343b4736 100644 --- a/src/mathed/math_matrixinset.C +++ b/src/mathed/math_matrixinset.C @@ -1,11 +1,20 @@ -#ifdef __GNUG__ -#pragma implementation -#endif +/** + * \file math_matrixinset.C + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author André Pönitz + * + * Full author contact details are available in file CREDITS. + */ + +#include #include "math_matrixinset.h" -#include "math_parser.h" +#include "math_data.h" #include "math_mathmlstream.h" -#include "Lsstream.h" + +using std::auto_ptr; MathMatrixInset::MathMatrixInset(MathGridInset const & p) @@ -13,9 +22,9 @@ MathMatrixInset::MathMatrixInset(MathGridInset const & p) {} -MathInset * MathMatrixInset::clone() const +auto_ptr MathMatrixInset::clone() const { - return new MathMatrixInset(*this); + return auto_ptr(new MathMatrixInset(*this)); } @@ -31,7 +40,7 @@ void MathMatrixInset::normalize(NormalStream & os) const } -void MathMatrixInset::maplize(MapleStream & os) const +void MathMatrixInset::maple(MapleStream & os) const { os << "matrix(" << int(nrows()) << ',' << int(ncols()) << ",["; for (idx_type idx = 0; idx < nargs(); ++idx) { @@ -43,13 +52,31 @@ void MathMatrixInset::maplize(MapleStream & os) const } +void MathMatrixInset::maxima(MaximaStream & os) const +{ + os << "matrix("; + for (row_type row = 0; row < nrows(); ++row) { + if (row) + os << ','; + os << '['; + for (col_type col = 0; col < ncols(); ++col) { + if (col) + os << ','; + os << cell(index(row, col)); + } + os << ']'; + } + os << ')'; +} + + void MathMatrixInset::mathmlize(MathMLStream & os) const { MathGridInset::mathmlize(os); } -void MathMatrixInset::octavize(OctaveStream & os) const +void MathMatrixInset::octave(OctaveStream & os) const { os << '['; for (row_type row = 0; row < nrows(); ++row) {