#include #include #include extern "C" { #include #include } namespace Poincare { static inline int minInt(int x, int y) { return x < y ? x : y; } int UndefinedNode::polynomialDegree(Context * context, const char * symbolName) const { return -1; } Expression UndefinedNode::setSign(Sign s, ExpressionNode::ReductionContext reductionContext) { assert(s == ExpressionNode::Sign::Positive || s == ExpressionNode::Sign::Negative); return Undefined(this); } Layout UndefinedNode::createLayout(Preferences::PrintFloatMode floatDisplayMode, int numberOfSignificantDigits) const { return LayoutHelper::String(Undefined::Name(), Undefined::NameSize()-1); } int UndefinedNode::serialize(char * buffer, int bufferSize, Preferences::PrintFloatMode floatDisplayMode, int numberOfSignificantDigits) const { if (bufferSize == 0) { return -1; } strlcpy(buffer, Undefined::Name(), bufferSize); return minInt(Undefined::NameSize(), bufferSize) - 1; } template Evaluation UndefinedNode::templatedApproximate() const { return Complex::Undefined(); } template Evaluation UndefinedNode::templatedApproximate() const; template Evaluation UndefinedNode::templatedApproximate() const; }