Home | History | Annotate | Download | only in util

Lines Matching refs:trie

242         CharsTrie trie=buildTrie(data, data.length, StringTrieBuilder.Option.FAST);
244 if( (result=trie.nextForCodePoint(0x4dff))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
245 (result=trie.nextForCodePoint(0x10000))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
246 (result=trie.nextForCodePoint(0x9999))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
247 (result=trie.nextForCodePoint(0x20000))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
248 (result=trie.nextForCodePoint(0xdfff))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
249 (result=trie.nextForCodePoint(0x10ffff))!=BytesTrie.Result.FINAL_VALUE || result!=trie.current() ||
250 trie.getValue()!=2000000000
254 if( (result=trie.firstForCodePoint(0x4dff))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
255 (result=trie.nextForCodePoint(0x10000))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
256 (result=trie.nextForCodePoint(0x9999))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
257 (result=trie.nextForCodePoint(0x20002))!=BytesTrie.Result.FINAL_VALUE || result!=trie.current() ||
258 trie.getValue()!=44444
262 if( (result=trie.reset().nextForCodePoint(0x4dff))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
263 (result=trie.nextForCodePoint(0x10000))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
264 (result=trie.nextForCodePoint(0x9999))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
265 (result=trie.nextForCodePoint(0x20222))!=BytesTrie.Result.NO_MATCH || result!=trie.current() // no match for trail surrogate
269 if( (result=trie.reset().nextForCodePoint(0x4dff))!=BytesTrie.Result.NO_VALUE || result!=trie.current() ||
270 (result=trie.nextForCodePoint(0x103ff))!=BytesTrie.Result.FINAL_VALUE || result!=trie.current() ||
271 trie.getValue()!=99999
316 logln("serialized trie size: "+trieChars.length()+" chars\n");
323 CharsTrie trie=buildLargeTrie(1111);
332 if(trie.first(x.charAt(0))==BytesTrie.Result.NO_MATCH) {
339 BytesTrie.Result result=trie.next(x, index, x.length());
340 if(!result.hasValue() || result!=trie.current() || value!=trie.getValue()) {
392 CharsTrie trie=buildMonthsTrie(StringTrieBuilder.Option.FAST);
394 if((uniqueValue=trie.getUniqueValue())!=0) {
397 trie.next('j');
398 trie.next('a');
399 trie.next('n');
401 if((uniqueValue=trie.getUniqueValue())!=((1<<1)|1)) {
404 trie.first('j');
405 trie.next('u');
406 if((uniqueValue=trie.getUniqueValue())!=0) {
409 if(trie.next('n')!=BytesTrie.Result.INTERMEDIATE_VALUE || 6!=trie.getValue()) {
413 if((uniqueValue=trie.getUniqueValue())!=((6<<1)|1)) {
417 trie.first('a');
418 trie.next('u');
419 if((uniqueValue=trie.getUniqueValue())!=((8<<1)|1)) {
426 CharsTrie trie=buildMonthsTrie(StringTrieBuilder.Option.SMALL);
428 int count=trie.getNextChars(buffer);
432 trie.next('j');
433 trie.next('a');
434 trie.next('n');
437 count=trie.getNextChars(buffer);
442 trie.getValue(); // next() had returned BytesTrie.Result.INTERMEDIATE_VALUE.
444 count=trie.getNextChars(buffer);
449 trie.next('u');
451 count=trie.getNextChars(buffer);
455 trie.next('a');
457 count=trie.getNextChars(buffer);
461 trie.next('r');
462 trie.next('y');
465 count=trie.getNextChars(buffer);
473 CharsTrie trie=buildMonthsTrie(StringTrieBuilder.Option.FAST);
475 trie.next('j');
476 trie.next('a');
477 trie.next('n');
478 CharsTrie.Iterator iter=trie.iterator();
516 CharsTrie trie=buildMonthsTrie(StringTrieBuilder.Option.SMALL);
518 trie.next('j');
519 trie.next('a');
520 trie.next('n');
521 trie.next('u');
522 trie.next('a');
523 CharsTrie.Iterator iter=trie.iterator();
538 CharsTrie trie=buildMonthsTrie(StringTrieBuilder.Option.FAST);
539 CharsTrie.Iterator iter=trie.iterator(4);
583 CharsTrie trie=buildTrie(data, data.length, StringTrieBuilder.Option.FAST);
585 trie.next('a');
586 trie.next('b');
588 CharsTrie.Iterator iter=trie.iterator(2);
605 CharsTrie trie=buildTrie(data, data.length, StringTrieBuilder.Option.FAST);
607 trie.next('a');
608 trie.next('b');
609 trie.next('c');
611 CharsTrie.Iterator iter=trie.iterator(3);
650 CharsTrie trie=buildTrie(data, dataLength, buildOption);
651 checkFirst(trie, data, dataLength);
652 checkNext(trie, data, dataLength);
653 checkNextWithState(trie, data, dataLength);
654 checkNextString(trie, data, dataLength);
655 checkIterator(trie, data, dataLength);
660 // Add the items to the trie builder in an interesting (not trivial, not random) order.
679 CharsTrie trie=builder_.build(buildOption);
687 logln("serialized trie size: "+trieChars.length()+" chars");
692 return trie;
698 private void checkFirst(CharsTrie trie, StringAndValue[] data, int dataLength) {
706 BytesTrie.Result firstResult=trie.first(c);
707 int firstValue=firstResult.hasValue() ? trie.getValue() : -1;
708 BytesTrie.Result nextResult=trie.next(nextCp);
709 if(firstResult!=trie.reset().next(c) ||
710 firstResult!=trie.current() ||
711 firstValue!=(firstResult.hasValue() ? trie.getValue() : -1) ||
712 nextResult!=trie.next(nextCp)
714 errln(String.format("trie.first(U+%04X)!=trie.reset().next(same) for %s",
720 firstResult=trie.firstForCodePoint(c);
721 firstValue=firstResult.hasValue() ? trie.getValue() : -1;
722 nextResult=trie.nextForCodePoint(nextCp);
723 if(firstResult!=trie.reset().nextForCodePoint(c) ||
724 firstResult!=trie.current() ||
725 firstValue!=(firstResult.hasValue() ? trie.getValue() : -1) ||
726 nextResult!=trie.nextForCodePoint(nextCp)
728 errln(String.format("trie.firstForCodePoint(U+%04X)!=trie.reset().nextForCodePoint(same) for %s",
732 trie.reset();
735 private void checkNext(CharsTrie trie, StringAndValue[] data, int dataLength) {
741 if( !(result=trie.next(expectedString, 0, stringLength)).hasValue() ||
742 result!=trie.current()
744 errln("trie does not seem to contain "+data[i].s);
745 } else if(trie.getValue()!=data[i].value) {
746 errln(String.format("trie value for %s is %d=0x%x instead of expected %d=0x%x",
748 trie.getValue(), trie.getValue(),
750 } else if(result!=trie.current() || trie.getValue()!=data[i].value) {
751 errln("trie value for "+data[i].s+" changes when repeating current()/getValue()");
753 trie.reset();
754 result=trie.current();
757 errln(String.format("trie.current()!=hasNext before end of %s (at index %d)",
762 trie.getValue();
763 if(trie.current()!=BytesTrie.Result.INTERMEDIATE_VALUE) {
764 errln(String.format("trie.getValue().current()!=BytesTrie.Result.INTERMEDIATE_VALUE "+
769 result=trie.next(expectedString.charAt(j));
771 errln(String.format("trie.next()=BytesTrie.Result.NO_MATCH "+
775 if(result!=trie.current()) {
776 errln(String.format("trie.next()!=following current() "+
782 errln("trie.next()!=hasValue at the end of "+data[i].s);
785 trie.getValue();
786 if(result!=trie.current()) {
787 errln("trie.current() != current()+getValue()+current() after end of "+
791 trie.saveState(state);
797 if(trie.resetToState(state).next(c).matches()) {
803 errln("(trie.current()==BytesTrie.Result.INTERMEDIATE_VALUE) contradicts "+
804 "(trie.next(some char)!=BytesTrie.Result.NO_MATCH) after end of "+data[i].s);
806 trie.reset();
810 private void checkNextWithState(CharsTrie trie, StringAndValue[] data, int dataLength) {
815 trie.resetToState(noState);
816 errln("trie.resetToState(noState) should throw an IllegalArgumentException");
825 if(!trie.next(expectedString.charAt(j)).matches()) {
826 errln("trie.next()=BytesTrie.Result.NO_MATCH for a prefix of "+data[i].s);
830 trie.saveState(state);
831 BytesTrie.Result resultAtState=trie.current();
835 valueAtState=trie.getValue();
837 result=trie.next(0); // mismatch
838 if(result!=BytesTrie.Result.NO_MATCH || result!=trie.current()) {
839 errln("trie.next(0) matched after part of "+data[i].s);
841 if( resultAtState!=trie.resetToState(state).current() ||
842 (resultAtState.hasValue() && valueAtState!=trie.getValue())
844 errln("trie.next(part of "+data[i].s+") changes current()/getValue() after "+
846 } else if(!(result=trie.next(expectedString, partialLength, stringLength)).hasValue() ||
847 result!=trie.current()) {
848 errln("trie.next(rest of "+data[i].s+") does not seem to contain "+data[i].s+" after "+
850 } else if(!(result=trie.resetToState(state).
852 result!=trie.current()) {
853 errln("trie does not seem to contain "+data[i].s+
855 } else if(trie.getValue()!=data[i].value) {
856 errln(String.format("trie value for %s is %d=0x%x instead of expected %d=0x%x",
858 trie.getValue(), trie.getValue(),
861 trie.reset();
867 private void checkNextString(CharsTrie trie, StringAndValue[] data, int dataLength) {
871 if(!trie.next(expectedString, 0, stringLength/2).matches()) {
872 errln("trie.next(up to middle of string)=BytesTrie.Result.NO_MATCH for "+data[i].s);
876 trie.next(expectedString, stringLength/2, stringLength);
877 if(trie.next(0).matches()) {
878 errln("trie.next(string+NUL)!=BytesTrie.Result.NO_MATCH for "+data[i].s);
880 trie.reset();
884 private void checkIterator(CharsTrie trie, StringAndValue[] data, int dataLength) {
885 checkIterator(trie.iterator(), data, dataLength);
895 errln("trie iterator hasNext()=false for item "+i+": "+data[i].s);
901 errln(String.format("trie iterator next().getString()=%s but expected %s for item %d",
905 errln(String.format("trie iterator next().getValue()=%d=0x%x but expected %d=0x%x for item %d: %s",
912 errln("trie iterator hasNext()=true after all items");
916 errln("trie iterator next() did not throw NoSuchElementException after all items");