X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_exfuncinset.C;h=667b4461e63db1862893bc3a9187e525e09202e5;hb=46880e2b9b49632c56bab2377ce9a3c826cf8d1d;hp=ceb4d621fba05baace15c1e9d99a57f1ed08e52e;hpb=fe87869cb763c613c4dc36294efbd8edff175d54;p=lyx.git diff --git a/src/mathed/math_exfuncinset.C b/src/mathed/math_exfuncinset.C index ceb4d621fb..667b4461e6 100644 --- a/src/mathed/math_exfuncinset.C +++ b/src/mathed/math_exfuncinset.C @@ -11,6 +11,13 @@ MathExFuncInset::MathExFuncInset(string const & name) {} +MathExFuncInset::MathExFuncInset(string const & name, MathArray const & ar) + : MathNestInset(1), name_(name) +{ + cell(0) = ar; +} + + MathInset * MathExFuncInset::clone() const { return new MathExFuncInset(*this); @@ -37,7 +44,38 @@ void MathExFuncInset::normalize(NormalStream & os) const void MathExFuncInset::maplize(MapleStream & os) const { - os << name_ << '(' << cell(0) << ')'; + if (name_ == "det") + os << "linalg[det](" << cell(0) << ')'; + else + os << name_ << '(' << cell(0) << ')'; +} + + +string asMathematicaName(string const & name) +{ + if (name == "sin") return "Sin"; + if (name == "sinh") return "Sinh"; + if (name == "arcsin") return "ArcSin"; + if (name == "cos") return "Cos"; + if (name == "cosh") return "Cosh"; + if (name == "arcos") return "ArcCos"; + if (name == "tan") return "Tan"; + if (name == "tanh") return "Tanh"; + if (name == "arctan") return "ArcTan"; + if (name == "cot") return "Cot"; + if (name == "coth") return "Coth"; + if (name == "csc") return "Csc"; + if (name == "sec") return "Sec"; + if (name == "exp") return "Exp"; + if (name == "log") return "Log"; + if (name == "ln" ) return "Log"; + return name; +} + + +void MathExFuncInset::mathematicize(MathematicaStream & os) const +{ + os << asMathematicaName(name_) << '[' << cell(0) << ']'; }