package marmot.util;
public class FeatUtil {
public static int getMaxSignature(boolean special_signature) {
return (special_signature) ? 64 : 32;
}
public static int getSignature(String form, boolean special_signature) {
int signature = 0;
if (special_signature) {
if (StringUtils.containsSpecial(form)) {
signature += 1;
}
signature *= 2;
}
if (StringUtils.containsDigit(form)) {
signature += 1;
}
signature *= 2;
if (StringUtils.containsHyphon(form)) {
signature += 1;
}
signature *= 2;
if (StringUtils.containsUpperCase(form)) {
signature += 1;
}
signature *= 2;
if (StringUtils.containsLowerCase(form)) {
signature += 1;
}
return signature;
}
public static short[] getCharIndexes(String form,
SymbolTable<Character> char_table_, boolean insert) {
short[] chars = new short[form.length()];
for (int i = 0; i < form.length(); i++) {
chars[i] = (short) char_table_.toIndex(form.charAt(i), -1, insert);
}
return chars;
}
}