50 #ifdef HAVE_MUELU_EPETRAEXT 62 long ExtractNonSerializableData(
const Teuchos::ParameterList& inList, Teuchos::ParameterList& serialList, Teuchos::ParameterList& nonSerialList) {
63 using Teuchos::ParameterList;
68 for (ParameterList::ConstIterator it = inList.begin(); it != inList.end(); it++) {
69 const std::string& levelName = it->first;
72 if (inList.isSublist(levelName) && levelName.find(
"level ") == 0 && levelName.size() > 6) {
73 int levelID = strtol(levelName.substr(6).c_str(), 0, 0);
74 if (maxLevel < levelID)
78 const ParameterList& levelList = inList.sublist(levelName);
79 for (ParameterList::ConstIterator it2 = levelList.begin(); it2 != levelList.end(); it2++) {
80 const std::string& name = it2->first;
81 if (name ==
"A" || name ==
"P" || name ==
"R" || name ==
"Nullspace" || name ==
"Coordinates")
82 nonSerialList.sublist(levelName).setEntry(name, it2->second);
83 #ifdef HAVE_MUELU_MATLAB 86 nonSerialList.sublist(levelName).setEntry(name, it2->second);
90 serialList.sublist(levelName).setEntry(name, it2->second);
94 serialList.setEntry(it->first, it->second);
105 char* buf = (
char*) malloc(stream.size() + 1);
106 strcpy(buf, stream.c_str());
107 char* token = strtok(buf, delimChars);
117 char* tokStart = token;
118 char* tokEnd = token + strlen(token) - 1;
119 while(*tokStart ==
' ' && tokStart < tokEnd)
121 while(*tokEnd ==
' ' && tokStart < tokEnd)
124 if(tokStart < tokEnd)
126 std::string finishedToken(tokStart, tokEnd - tokStart);
127 tokenList.push_back(finishedToken);
129 token = strtok(NULL, delimChars);
137 char* str = (
char*) malloc(name.length() + 1);
138 strcpy(str, name.c_str());
140 char* firstWord = strtok(str,
" ");
145 char* secondWord = strtok(NULL,
" ");
150 char* thirdWord = strtok(NULL,
" ");
156 char* tolowerIt = firstWord;
159 *tolowerIt = (char) tolower(*tolowerIt);
163 if(strstr(firstWord,
"matrix") ||
164 strstr(firstWord,
"multivector") ||
165 strstr(firstWord,
"map") ||
166 strstr(firstWord,
"ordinalvector") ||
167 strstr(firstWord,
"int") ||
168 strstr(firstWord,
"scalar") ||
169 strstr(firstWord,
"double") ||
170 strstr(firstWord,
"complex") ||
171 strstr(firstWord,
"string"))
Namespace for MueLu classes and methods.
bool IsParamMuemexVariable(const std::string &name)
void TokenizeStringAndStripWhiteSpace(const std::string &stream, std::vector< std::string > &tokenList, const char *delimChars)
long ExtractNonSerializableData(const Teuchos::ParameterList &inList, Teuchos::ParameterList &serialList, Teuchos::ParameterList &nonSerialList)