#include #include #include extern "C" { #include #include } namespace Poincare { UndefinedNode * UndefinedNode::FailedAllocationStaticNode() { static AllocationFailureExpressionNode failure; TreePool::sharedPool()->registerStaticNodeIfRequired(&failure); return &failure; } int UndefinedNode::polynomialDegree(char symbolName) const { return -1; } Expression UndefinedNode::setSign(Sign s, Context & context, Preferences::AngleUnit angleUnit) const { return Undefined(); } LayoutRef UndefinedNode::createLayout(Preferences::PrintFloatMode floatDisplayMode, int numberOfSignificantDigits) const { char buffer[6]; int numberOfChars = PrintFloat::convertFloatToText(NAN, buffer, 6, numberOfSignificantDigits, floatDisplayMode); return LayoutHelper::String(buffer, numberOfChars); } int UndefinedNode::serialize(char * buffer, int bufferSize, Preferences::PrintFloatMode floatDisplayMode, int numberOfSignificantDigits) const { if (bufferSize == 0) { return -1; } return PrintFloat::convertFloatToText(NAN, buffer, bufferSize, numberOfSignificantDigits, floatDisplayMode); } template Evaluation UndefinedNode::templatedApproximate() const { return Complex::Undefined(); } }