Home | History | Annotate | Download | only in common

Lines Matching refs:newTrie

109     UNewTrie2 *newTrie;
118 newTrie=(UNewTrie2 *)uprv_malloc(sizeof(UNewTrie2));
120 if(trie==NULL || newTrie==NULL || data==NULL) {
122 uprv_free(newTrie);
132 trie->newTrie=newTrie;
134 newTrie->data=data;
135 newTrie->dataCapacity=UNEWTRIE2_INITIAL_DATA_LENGTH;
136 newTrie->initialValue=initialValue;
137 newTrie->errorValue=errorValue;
138 newTrie->highStart=0x110000;
139 newTrie->firstFreeBlock=0; /* no free block in the list */
140 newTrie->isCompacted=FALSE;
149 newTrie->data[i]=initialValue;
152 newTrie->data[i]=errorValue;
155 newTrie->data[i]=initialValue;
157 newTrie->dataNullOffset=UNEWTRIE2_DATA_NULL_OFFSET;
158 newTrie->dataLength=UNEWTRIE2_DATA_START_OFFSET;
162 newTrie->index2[i]=j;
163 newTrie->map[i]=1;
167 newTrie->map[i]=0;
174 /* i==newTrie->dataNullOffset */
175 newTrie->map[i++]=
182 newTrie->map[i]=0;
190 newTrie->index2[i]=UNEWTRIE2_DATA_NULL_OFFSET;
198 newTrie->index2[UNEWTRIE2_INDEX_GAP_OFFSET+i]=-1;
203 newTrie->index2[UNEWTRIE2_INDEX_2_NULL_OFFSET+i]=UNEWTRIE2_DATA_NULL_OFFSET;
205 newTrie->index2NullOffset=UNEWTRIE2_INDEX_2_NULL_OFFSET;
206 newTrie->index2Length=UNEWTRIE2_INDEX_2_START_OFFSET;
213 newTrie->index1[i]=j;
218 newTrie->index1[i]=UNEWTRIE2_INDEX_2_NULL_OFFSET;
282 if(other==NULL || (other->memory==NULL && other->newTrie==NULL)) {
308 } else /* other->newTrie!=NULL */ {
309 trie->newTrie=cloneBuilder(other->newTrie);
312 if(trie->memory==NULL && trie->newTrie==NULL) {
371 if(other==NULL || (other->memory==NULL && other->newTrie==NULL)) {
375 if(other->newTrie!=NULL && !other->newTrie->isCompacted) {
642 set32(trie->newTrie, c, TRUE, value, pErrorCode);
656 set32(trie->newTrie, c, FALSE, value, pErrorCode);
702 UNewTrie2 *newTrie;
713 newTrie=trie->newTrie;
714 if(newTrie==NULL || newTrie->isCompacted) {
718 if(!overwrite && value==newTrie->initialValue) {
727 block=getDataBlock(newTrie, start, TRUE);
735 fillBlock(newTrie->data+block, start&UTRIE2_DATA_MASK, UTRIE2_DATA_BLOCK_LENGTH,
736 value, newTrie->initialValue, overwrite);
739 fillBlock(newTrie->data+block, start&UTRIE2_DATA_MASK, limit&UTRIE2_DATA_MASK,
740 value, newTrie->initialValue, overwrite);
752 if(value==newTrie->initialValue) {
753 repeatBlock=newTrie->dataNullOffset;
762 if(value==newTrie->initialValue && isInNullBlock(newTrie, start, TRUE)) {
768 i2=getIndex2Block(newTrie, start, TRUE);
774 block=newTrie->index2[i2];
775 if(isWritableBlock(newTrie, block)) {
786 fillBlock(newTrie->data+block,
788 value, newTrie->initialValue, overwrite);
790 } else if(newTrie->data[block]!=value && (overwrite || block==newTrie->dataNullOffset)) {
811 setIndex2Entry(newTrie, i2, repeatBlock);
814 repeatBlock=getDataBlock(newTrie, start, TRUE);
819 writeBlock(newTrie->data+repeatBlock, value);
828 block=getDataBlock(newTrie, start, TRUE);
834 fillBlock(newTrie->data+block, 0, rest, value, newTrie->initialValue, overwrite);
1173 UNewTrie2 *newTrie;
1177 newTrie=trie->newTrie;
1181 highStart=findHighStart(newTrie, highValue);
1191 trie->highStart=newTrie->highStart=highStart;
1207 compactData(newTrie);
1209 compactIndex2(newTrie);
1213 (long)highStart, (long)trie->newTrie->index2Length, (long)UTRIE2_INDEX_1_OFFSET);
1222 newTrie->data[newTrie->dataLength++]=highValue;
1223 while((newTrie->dataLength&(UTRIE2_DATA_GRANULARITY-1))!=0) {
1224 newTrie->data[newTrie->dataLength++]=trie->initialValue;
1227 newTrie->isCompacted=TRUE;
1250 UNewTrie2 *newTrie;
1269 newTrie=trie->newTrie;
1270 if(newTrie==NULL) {
1281 if(!newTrie->isCompacted) {
1292 allIndexesLength=newTrie->index2Length;
1304 (dataMove+newTrie->dataNullOffset)>0xffff ||
1308 (dataMove+newTrie->dataLength)>UTRIE2_MAX_DATA_LENGTH
1317 length+=newTrie->dataLength*2;
1319 length+=newTrie->dataLength*4;
1331 trie->dataLength=newTrie->dataLength;
1335 trie->index2NullOffset=UTRIE2_INDEX_2_OFFSET+newTrie->index2NullOffset;
1337 trie->dataNullOffset=(uint16_t)(dataMove+newTrie->dataNullOffset);
1357 p=(uint32_t *)newTrie->index2;
1367 *dest16++=(uint16_t)(dataMove+newTrie->index2[i<<(6-UTRIE2_SHIFT_2)]);
1375 p=(uint32_t *)newTrie->index1+UTRIE2_OMITTED_BMP_INDEX_1_LENGTH;
1384 p=(uint32_t *)newTrie->index2+index2Offset;
1385 for(i=newTrie->index2Length-index2Offset; i>0; --i) {
1396 p=newTrie->data;
1397 for(i=newTrie->dataLength; i>0; --i) {
1405 uprv_memcpy(dest16, newTrie->data, newTrie->dataLength*4);
1413 uprv_free(newTrie->data);
1414 uprv_free(newTrie);
1415 trie->newTrie=NULL;