Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 5
0
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;
}
Ejemplo n.º 6
0
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;
}
Ejemplo n.º 7
0
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;
}
Ejemplo n.º 8
0
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;
}
Ejemplo n.º 9
0
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;
}
Ejemplo n.º 10
0
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;
}
Ejemplo n.º 11
0
SEXP solveAfterLUDist_z( SEXP orientation, SEXP RptrA, SEXP RptrB ){
  ElSolveAfterLUDist_z( parseOrientation(orientation), toDistMatrix_z(RptrA),
			toDistMatrix_z(RptrB) );
  return R_NilValue;
}
Ejemplo n.º 12
0
SEXP solveAfterLU_d( SEXP orientation, SEXP RptrA, SEXP RptrB ){
  ElSolveAfterLU_d( parseOrientation(orientation), toMatrix_d(RptrA),
                    toMatrix_d(RptrB) );
  return R_NilValue;
}
Ejemplo n.º 13
0
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;
}