X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_matrixinset.C;h=f1343b47362f52326f42b1c13c21dc6d57cbf230;hb=57501b93064a6deed43e415beed45606054d86ad;hp=25cece5aa9736617620749752cc35cdb99d146a6;hpb=2b8ef58dc021912b2862328b9000cfe37578ea37;p=lyx.git diff --git a/src/mathed/math_matrixinset.C b/src/mathed/math_matrixinset.C index 25cece5aa9..f1343b4736 100644 --- a/src/mathed/math_matrixinset.C +++ b/src/mathed/math_matrixinset.C @@ -1,37 +1,46 @@ -#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(MathArrayInset const & p) - : MathArrayInset(p) +MathMatrixInset::MathMatrixInset(MathGridInset const & p) + : MathGridInset(p) {} -MathInset * MathMatrixInset::clone() const +auto_ptr MathMatrixInset::clone() const { - return new MathMatrixInset(*this); + return auto_ptr(new MathMatrixInset(*this)); } void MathMatrixInset::write(WriteStream & os) const { - MathArrayInset::write(os); + MathGridInset::write(os); } void MathMatrixInset::normalize(NormalStream & os) const { - MathArrayInset::normalize(os); + MathGridInset::normalize(os); } -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) {