[shared] StorageCartesianFunction: add a method

derivativeNameWithArgument
This commit is contained in:
Émilie Feral
2018-10-12 09:37:53 +02:00
parent d30e508bcd
commit 3cedfb84e9
2 changed files with 14 additions and 0 deletions

View File

@@ -46,6 +46,19 @@ StorageCartesianFunction StorageCartesianFunction::NewModel(Ion::Storage::Record
return StorageCartesianFunction(Ion::Storage::sharedStorage()->recordNamed(nameBuffer));
}
int StorageCartesianFunction::derivativeNameWithArgument(char * buffer, size_t bufferSize, char arg) {
// Fill buffer with f(x). Keep one char for derivative sign.
int numberOfChars = nameWithArgument(buffer, bufferSize-1, arg);
assert(numberOfChars < bufferSize - 1);
char * lastChar = buffer+numberOfChars;
while (*(lastChar+1) != '(' && lastChar >= buffer) {
*(lastChar+1) = *lastChar;
lastChar--;
}
*lastChar = '\'';
return numberOfChars+1;
}
bool StorageCartesianFunction::displayDerivative() const {
return recordData()->displayDerivative();
}