[poincare] Function constructor has additional length paramater

This commit is contained in:
Ruben Dashyan
2018-11-02 14:27:09 +01:00
committed by Émilie Feral
parent 603e672cf3
commit 4b72e4cef2
2 changed files with 5 additions and 5 deletions

View File

@@ -46,9 +46,9 @@ private:
class Function : public SymbolAbstract {
public:
explicit Function(const char * name);
Function(const char * name, size_t length);
Function(const FunctionNode * n) : SymbolAbstract(n) {}
explicit Function(const char * name, Expression child) : Function(name) {
Function(const char * name, size_t length, Expression child) : Function(name, length) {
replaceChildAtIndexInPlace(0, child);
}

View File

@@ -87,10 +87,10 @@ Evaluation<T> FunctionNode::templatedApproximate(Context& context, Preferences::
return e.approximateToEvaluation<T>(newContext, angleUnit);
}
Function::Function(const char * name) :
Function(TreePool::sharedPool()->createTreeNode<FunctionNode>(SymbolAbstract::AlignedNodeSize(strlen(name), sizeof(FunctionNode))))
Function::Function(const char * name, size_t length) :
Function(TreePool::sharedPool()->createTreeNode<FunctionNode>(SymbolAbstract::AlignedNodeSize(length, sizeof(FunctionNode))))
{
static_cast<FunctionNode *>(Expression::node())->setName(name, strlen(name));
static_cast<FunctionNode *>(Expression::node())->setName(name, length);
}
Expression Function::replaceSymbolWithExpression(const SymbolAbstract & symbol, const Expression & expression) {