public String indexedToReadable(String indexedForm) { return BCDUtils.base10kSortableIntToBase10(indexedForm); }
public String toInternal(String val) { // TODO? make sure each character is a digit? return BCDUtils.base10toBase10kSortableInt(val); }
out[wpos++] = (char)(val + '0'); } else if (val < 100) { int div = div10(val); int ones = val - mul10(div); // mod 10 out[wpos++] = (char)(div + '0'); out[wpos++] = (char)(ones + '0'); } else if (val < 1000) { int div = div10(val); int ones = val - mul10(div); // mod 10 val=div; div = div10(val); int tens = val - mul10(div); // mod 10 out[wpos++] = (char)(div + '0'); out[wpos++] = (char)(tens + '0'); out[wpos++] = (char)(ones + '0'); } else { int div = div10(val); int ones = val - mul10(div); // mod 10 val=div; div = div10(val); int tens = val - mul10(div); // mod 10 val=div; div = div10(val); int hundreds = val - mul10(div); // mod 10 int div = div10(val); int ones = val - mul10(div); // mod 10 val=div; div = div10(val);
public static String base100SortableIntToBase10(String val) { int slen = val.length(); char[] arr = new char[slen<<2]; val.getChars(0,slen,arr,0); int len = base100SortableIntToBase10(arr,0,slen,arr,slen); return new String(arr,slen,len); }
public static String base10toBase100SortableInt(String val) { char[] arr = new char[val.length()+1]; val.getChars(0,val.length(),arr,0); int len = base10toBase100SortableInt(arr,0,val.length(),arr,arr.length); return new String(arr,arr.length-len,len); }
public static String base10toBase10kSortableInt(String val) { char[] arr = new char[val.length()+1]; val.getChars(0,val.length(),arr,0); int len = base10toBase10kSortableInt(arr,0,val.length(),arr,arr.length); return new String(arr,arr.length-len,len); }
public static String base10kSortableIntToBase10(String val) { int slen = val.length(); char[] arr = new char[slen*5]; // +1 time for orig, +4 for new val.getChars(0,slen,arr,0); int len = base10kSortableIntToBase10(arr,0,slen,arr,slen); return new String(arr,slen,len); }