/* * Retrive the tuning parameters from an XML element node * */ LWSKernelPar DividendTuningOptFileRoutines::processKernelElement(const XMLElement *E) { DIVIDEND_EXIT_ERROR_ON(E == NULL, -1, "Invalid element node"); std::string identifier = queryAttribute(E, "identifier"); unsigned kernelid = queryUnsignedAttribute(E, "kernelid"); unsigned dim = queryUnsignedAttribute(E, "dim"); vector<LWSMacro> lwsM; const XMLElement *DE = E->FirstChildElement("Dim"); while (DE) { string macroName = queryAttribute(DE, "macro"); unsigned start = queryUnsignedAttribute(DE, "start"); unsigned end = queryUnsignedAttribute(DE, "end"); unsigned step = queryUnsignedAttribute(DE, "step"); unsigned defaultv = queryUnsignedAttribute(DE, "default"); LWSMacro a = LWSMacro(macroName, start, end, defaultv, step); lwsM.push_back(a); DE = DE->NextSiblingElement("Dim"); } return LWSKernelPar(identifier, dim, lwsM, kernelid); }
inline bool hasStreamedModifier(ITypeInfo * t) { return queryAttribute(t, streamedAtom) != NULL; }
inline bool hasLinkCountedModifier(ITypeInfo * t) { return queryAttribute(t, _linkCounted_Atom) != NULL; }