SEXP solveQAfterQRDist_z ( SEXP orientation, SEXP RptrA, SEXP Rptrt, SEXP Rptrd, SEXP RptrB, SEXP RptrX){ ElSolveAfterQRDist_z( parseOrientation(orientation), toDistMatrix_z(RptrA), toDistMatrix_z(Rptrt), toDistMatrix_d(Rptrd), toDistMatrix_z(RptrB), toDistMatrix_z(RptrX) ); return R_NilValue; }
SEXP applyQAfterRQDist_d ( SEXP side, SEXP orientation, SEXP RptrA, SEXP Rptrt, SEXP Rptrd, SEXP RptrB){ ElApplyQAfterRQDist_d( parseSide(side), parseOrientation(orientation), toDistMatrix_d(RptrA), toDistMatrix_d(Rptrt), toDistMatrix_d(Rptrd), toDistMatrix_d(RptrB) ); return R_NilValue; }
SEXP solveAfterCholeskyPiv_z ( SEXP uplo, SEXP orientation, SEXP RptrA, SEXP Rptrp, SEXP RptrB){ ElSolveAfterCholeskyPiv_z( parseUpLo(uplo), parseOrientation(orientation), toMatrix_z(RptrA), toPermutation(Rptrp), toMatrix_z(RptrB) ); return R_NilValue; }
SEXP solveAfterLUFullPiv_z ( SEXP orientation, SEXP RptrA, SEXP Rptrp, SEXP Rptrq, SEXP RptrB){ ElSolveAfterLUFullPiv_z( parseOrientation(orientation), toMatrix_z(RptrA), toPermutation(Rptrp), toPermutation(Rptrq), toMatrix_z(RptrB) ); return R_NilValue; }
SEXP solveAfterLUPartialPivDist_z ( SEXP orientation, SEXP RptrA, SEXP Rptrp, SEXP RptrB){ ElSolveAfterLUPartialPivDist_z( parseOrientation(orientation), toDistMatrix_z(RptrA), toDistPermutation(Rptrp), toDistMatrix_z(RptrB) ); return R_NilValue; }
SEXP solveAfterLUFullPivDist_d ( SEXP orientation, SEXP RptrA, SEXP Rptrp, SEXP Rptrq, SEXP RptrB){ ElSolveAfterLUFullPivDist_d( parseOrientation(orientation), toDistMatrix_d(RptrA), toDistPermutation(Rptrp), toDistPermutation(Rptrq), toDistMatrix_d(RptrB) ); return R_NilValue; }
SVGGlyph SVGGlyphElement::buildGlyphIdentifier() const { SVGGlyph identifier(buildGenericGlyphIdentifier(this)); identifier.glyphName = fastGetAttribute(SVGNames::glyph_nameAttr); identifier.orientation = parseOrientation(fastGetAttribute(SVGNames::orientationAttr)); identifier.arabicForm = parseArabicForm(fastGetAttribute(SVGNames::arabic_formAttr)); String language = fastGetAttribute(SVGNames::langAttr); if (!language.isEmpty()) identifier.languages = parseDelimitedString(language, ','); return identifier; }
bool parse(const String8& str, ConfigDescription* out) { Vector<String8> parts = AaptUtil::splitAndLowerCase(str, '-'); ConfigDescription config; AaptLocaleValue locale; ssize_t index = 0; ssize_t localeIndex = 0; const ssize_t N = parts.size(); const char* part = parts[index].string(); if (str.length() == 0) { goto success; } if (parseMcc(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseMnc(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } // Locale spans a few '-' separators, so we let it // control the index. localeIndex = locale.initFromDirName(parts, index); if (localeIndex < 0) { return false; } else if (localeIndex > index) { locale.writeTo(&config); index = localeIndex; if (index >= N) { goto success; } part = parts[index].string(); } if (parseLayoutDirection(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseSmallestScreenWidthDp(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseScreenWidthDp(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseScreenHeightDp(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseScreenLayoutSize(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseScreenLayoutLong(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseScreenRound(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseOrientation(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseUiModeType(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseUiModeNight(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseDensity(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseTouchscreen(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseKeysHidden(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseKeyboard(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseNavHidden(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseNavigation(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseScreenSize(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseVersion(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } // Unrecognized. return false; success: if (out != NULL) { applyVersionForCompatibility(&config); *out = config; } return true; }
SEXP solveAfterCholeskyDist_z ( SEXP uplo, SEXP orientation, SEXP RptrA, SEXP RptrB){ ElSolveAfterCholeskyDist_z( parseUpLo(uplo), parseOrientation(orientation), toDistMatrix_z(RptrA), toDistMatrix_z(RptrB) ); return R_NilValue; }
SEXP solveAfterLUPartialPiv_d ( SEXP orientation, SEXP RptrA, SEXP Rptrp, SEXP RptrB){ ElSolveAfterLUPartialPiv_d( parseOrientation(orientation), toMatrix_d(RptrA), toPermutation(Rptrp), toMatrix_d(RptrB) ); return R_NilValue; }
SEXP solveAfterLUDist_z( SEXP orientation, SEXP RptrA, SEXP RptrB ){ ElSolveAfterLUDist_z( parseOrientation(orientation), toDistMatrix_z(RptrA), toDistMatrix_z(RptrB) ); return R_NilValue; }
SEXP solveAfterLU_d( SEXP orientation, SEXP RptrA, SEXP RptrB ){ ElSolveAfterLU_d( parseOrientation(orientation), toMatrix_d(RptrA), toMatrix_d(RptrB) ); return R_NilValue; }
bool parse(const String8& str, ConfigDescription* out) { Vector<String8> parts = AaptUtil::splitAndLowerCase(str, '-'); ConfigDescription config; AaptLocaleValue locale; ssize_t index = 0; ssize_t localeIndex = 0; const ssize_t N = parts.size(); const char* part = parts[index].string(); if (str.length() == 0) { goto success; } if (parseMcc(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseMnc(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } // Locale spans a few '-' separators, so we let it // control the index. localeIndex = locale.initFromDirName(parts, index); if (localeIndex < 0) { return false; } else if (localeIndex > index) { locale.writeTo(&config); index = localeIndex; if (index >= N) { goto success; } part = parts[index].string(); } if (parseLayoutDirection(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseSmallestScreenWidthDp(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseScreenWidthDp(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseScreenHeightDp(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseScreenLayoutSize(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseScreenLayoutLong(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseOrientation(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseUiModeType(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseUiModeNight(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseDensity(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseTouchscreen(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseKeysHidden(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseKeyboard(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseNavHidden(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseNavigation(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseScreenSize(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } if (parseVersion(part, &config)) { index++; if (index == N) { goto success; } part = parts[index].string(); } // Unrecognized. return false; success: if (out != NULL) { #ifndef HAVE_ANDROID_OS applyVersionForCompatibility(&config); #else // Calling applyVersionForCompatibility when compiling a theme can cause // the path to be changed by AAPT which results in the themed assets not being // loaded. The only time (as of right now) that aapt is run on an android device // is when it is being used for themes, so this should be the correct behavior // in this case. If AAPT is ever used on an android device for some other reason, // we will need to change this. printf("AAPT is running on Android, skipping applyVersionForCompatibility"); #endif *out = config; } return true; }