[poincare] Product, Sum, Integral, Floor etc (special layouts) serialize

to identifier[arg1, arg2, ...] instead of identifier([arg1, arg2, ...])
which is not parseable
This commit is contained in:
Émilie Feral
2019-07-30 16:27:57 +02:00
parent 4bffb13829
commit 0e40177f85
3 changed files with 6 additions and 45 deletions

View File

@@ -159,13 +159,7 @@ int IntegralLayoutNode::serialize(char * buffer, int bufferSize, Preferences::Pr
return bufferSize-1;
}
// Write the opening parenthesis
numberOfChar += SerializationHelper::CodePoint(buffer + numberOfChar, bufferSize - numberOfChar, '(');
if (numberOfChar >= bufferSize-1) {
return bufferSize-1;
}
/* Add an extra system parenthesis to avoid serializing:
/* Add an system parenthesis to avoid serializing:
* 2)+(1
* ∫ (5)dx
* 1
@@ -190,12 +184,6 @@ int IntegralLayoutNode::serialize(char * buffer, int bufferSize, Preferences::Pr
// Write the closing system parenthesis
numberOfChar += SerializationHelper::CodePoint(buffer + numberOfChar, bufferSize - numberOfChar, UCodePointRightSystemParenthesis);
if (numberOfChar >= bufferSize-1) {
return bufferSize-1;
}
// Write the closing parenthesis
numberOfChar += SerializationHelper::CodePoint(buffer + numberOfChar, bufferSize - numberOfChar, ')');
buffer[numberOfChar] = 0;
return numberOfChar;
}

View File

@@ -212,12 +212,7 @@ int SequenceLayoutNode::writeDerivedClassInBuffer(const char * operatorName, cha
int numberOfChar = strlcpy(buffer, operatorName, bufferSize);
if (numberOfChar >= bufferSize-1) { return bufferSize-1; }
// Write the opening parenthesis
numberOfChar += SerializationHelper::CodePoint(buffer + numberOfChar, bufferSize - numberOfChar, '(');
if (numberOfChar >= bufferSize-1) { return bufferSize-1; }
/* Add an extra system parenthesis to avoid serializing:
/* Add an system parenthesis to avoid serializing:
* 2)+(1
* ∑ (5)
* n=1
@@ -240,12 +235,6 @@ int SequenceLayoutNode::writeDerivedClassInBuffer(const char * operatorName, cha
// Write the closing system parenthesis
numberOfChar += SerializationHelper::CodePoint(buffer + numberOfChar, bufferSize - numberOfChar, UCodePointRightSystemParenthesis);
if (numberOfChar >= bufferSize-1) {
return bufferSize-1;
}
// Write the closing parenthesis
numberOfChar += SerializationHelper::CodePoint(buffer + numberOfChar, bufferSize - numberOfChar, ')');
buffer[numberOfChar] = 0;
return numberOfChar;
}

View File

@@ -111,19 +111,11 @@ int InfixPrefix(
assert(buffer[bufferSize - 1] == 0);
return bufferSize-1;
}
// Add the opening parenthesis
numberOfChar += UTF8Decoder::CodePointToChars('(', buffer+numberOfChar, bufferSize - numberOfChar);
// Add the opening (system or user) parenthesis
numberOfChar += UTF8Decoder::CodePointToChars(needsSystemParentheses ? UCodePointLeftSystemParenthesis : CodePoint('('), buffer+numberOfChar, bufferSize - numberOfChar);
if (numberOfChar >= bufferSize-1) {
return bufferSize-1;
}
if (needsSystemParentheses) {
// Add the opening system parenthesis
numberOfChar += UTF8Decoder::CodePointToChars(UCodePointLeftSystemParenthesis, buffer+numberOfChar, bufferSize - numberOfChar);
if (numberOfChar >= bufferSize-1) {
return bufferSize-1;
}
}
}
int childrenCount = node->numberOfChildren();
@@ -157,16 +149,8 @@ int InfixPrefix(
}
if (prefix) {
if (needsSystemParentheses) {
// Add the closing system parenthesis
numberOfChar += UTF8Decoder::CodePointToChars(UCodePointRightSystemParenthesis, buffer+numberOfChar, bufferSize - numberOfChar);
if (numberOfChar >= bufferSize-1) {
return bufferSize-1;
}
}
// Add the closing parenthesis
numberOfChar += UTF8Decoder::CodePointToChars(')', buffer+numberOfChar, bufferSize - numberOfChar);
// Add the closing system parenthesis
numberOfChar += UTF8Decoder::CodePointToChars(needsSystemParentheses ? UCodePointRightSystemParenthesis : CodePoint(')'), buffer+numberOfChar, bufferSize - numberOfChar);
if (numberOfChar >= bufferSize-1) {
return bufferSize-1;
}