Lines Matching defs:newTrie

111     UNewTrie2 *newTrie;
120 newTrie=(UNewTrie2 *)uprv_malloc(sizeof(UNewTrie2));
122 if(trie==NULL || newTrie==NULL || data==NULL) {
124 uprv_free(newTrie);
134 trie->newTrie=newTrie;
136 newTrie->data=data;
137 newTrie->dataCapacity=UNEWTRIE2_INITIAL_DATA_LENGTH;
138 newTrie->initialValue=initialValue;
139 newTrie->errorValue=errorValue;
140 newTrie->highStart=0x110000;
141 newTrie->firstFreeBlock=0; /* no free block in the list */
142 newTrie->isCompacted=FALSE;
151 newTrie->data[i]=initialValue;
154 newTrie->data[i]=errorValue;
157 newTrie->data[i]=initialValue;
159 newTrie->dataNullOffset=UNEWTRIE2_DATA_NULL_OFFSET;
160 newTrie->dataLength=UNEWTRIE2_DATA_START_OFFSET;
164 newTrie->index2[i]=j;
165 newTrie->map[i]=1;
169 newTrie->map[i]=0;
176 /* i==newTrie->dataNullOffset */
177 newTrie->map[i++]=
184 newTrie->map[i]=0;
192 newTrie->index2[i]=UNEWTRIE2_DATA_NULL_OFFSET;
200 newTrie->index2[UNEWTRIE2_INDEX_GAP_OFFSET+i]=-1;
205 newTrie->index2[UNEWTRIE2_INDEX_2_NULL_OFFSET+i]=UNEWTRIE2_DATA_NULL_OFFSET;
207 newTrie->index2NullOffset=UNEWTRIE2_INDEX_2_NULL_OFFSET;
208 newTrie->index2Length=UNEWTRIE2_INDEX_2_START_OFFSET;
215 newTrie->index1[i]=j;
220 newTrie->index1[i]=UNEWTRIE2_INDEX_2_NULL_OFFSET;
284 if(other==NULL || (other->memory==NULL && other->newTrie==NULL)) {
310 } else /* other->newTrie!=NULL */ {
311 trie->newTrie=cloneBuilder(other->newTrie);
314 if(trie->memory==NULL && trie->newTrie==NULL) {
373 if(other==NULL || (other->memory==NULL && other->newTrie==NULL)) {
377 if(other->newTrie!=NULL && !other->newTrie->isCompacted) {
644 set32(trie->newTrie, c, TRUE, value, pErrorCode);
658 set32(trie->newTrie, c, FALSE, value, pErrorCode);
704 UNewTrie2 *newTrie;
715 newTrie=trie->newTrie;
716 if(newTrie==NULL || newTrie->isCompacted) {
720 if(!overwrite && value==newTrie->initialValue) {
729 block=getDataBlock(newTrie, start, TRUE);
737 fillBlock(newTrie->data+block, start&UTRIE2_DATA_MASK, UTRIE2_DATA_BLOCK_LENGTH,
738 value, newTrie->initialValue, overwrite);
741 fillBlock(newTrie->data+block, start&UTRIE2_DATA_MASK, limit&UTRIE2_DATA_MASK,
742 value, newTrie->initialValue, overwrite);
754 if(value==newTrie->initialValue) {
755 repeatBlock=newTrie->dataNullOffset;
764 if(value==newTrie->initialValue && isInNullBlock(newTrie, start, TRUE)) {
770 i2=getIndex2Block(newTrie, start, TRUE);
776 block=newTrie->index2[i2];
777 if(isWritableBlock(newTrie, block)) {
788 fillBlock(newTrie->data+block,
790 value, newTrie->initialValue, overwrite);
792 } else if(newTrie->data[block]!=value && (overwrite || block==newTrie->dataNullOffset)) {
813 setIndex2Entry(newTrie, i2, repeatBlock);
816 repeatBlock=getDataBlock(newTrie, start, TRUE);
821 writeBlock(newTrie->data+repeatBlock, value);
830 block=getDataBlock(newTrie, start, TRUE);
836 fillBlock(newTrie->data+block, 0, rest, value, newTrie->initialValue, overwrite);
1175 UNewTrie2 *newTrie;
1179 newTrie=trie->newTrie;
1183 highStart=findHighStart(newTrie, highValue);
1193 trie->highStart=newTrie->highStart=highStart;
1209 compactData(newTrie);
1211 compactIndex2(newTrie);
1215 (long)highStart, (long)trie->newTrie->index2Length, (long)UTRIE2_INDEX_1_OFFSET);
1224 newTrie->data[newTrie->dataLength++]=highValue;
1225 while((newTrie->dataLength&(UTRIE2_DATA_GRANULARITY-1))!=0) {
1226 newTrie->data[newTrie->dataLength++]=trie->initialValue;
1229 newTrie->isCompacted=TRUE;
1252 UNewTrie2 *newTrie;
1271 newTrie=trie->newTrie;
1272 if(newTrie==NULL) {
1283 if(!newTrie->isCompacted) {
1294 allIndexesLength=newTrie->index2Length;
1306 (dataMove+newTrie->dataNullOffset)>0xffff ||
1310 (dataMove+newTrie->dataLength)>UTRIE2_MAX_DATA_LENGTH
1319 length+=newTrie->dataLength*2;
1321 length+=newTrie->dataLength*4;
1333 trie->dataLength=newTrie->dataLength;
1337 trie->index2NullOffset=UTRIE2_INDEX_2_OFFSET+newTrie->index2NullOffset;
1339 trie->dataNullOffset=(uint16_t)(dataMove+newTrie->dataNullOffset);
1359 p=(uint32_t *)newTrie->index2;
1369 *dest16++=(uint16_t)(dataMove+newTrie->index2[i<<(6-UTRIE2_SHIFT_2)]);
1377 p=(uint32_t *)newTrie->index1+UTRIE2_OMITTED_BMP_INDEX_1_LENGTH;
1386 p=(uint32_t *)newTrie->index2+index2Offset;
1387 for(i=newTrie->index2Length-index2Offset; i>0; --i) {
1398 p=newTrie->data;
1399 for(i=newTrie->dataLength; i>0; --i) {
1407 uprv_memcpy(dest16, newTrie->data, newTrie->dataLength*4);
1415 uprv_free(newTrie->data);
1416 uprv_free(newTrie);
1417 trie->newTrie=NULL;
1422 return (UBool)(trie->newTrie==NULL);
1434 if( trie==NULL || trie->memory==NULL || trie->newTrie!=NULL ||