• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/ICU-511.35/icuSources/common/

Lines Matching defs:pv

43     UPropsVectors *pv;
56 pv=(UPropsVectors *)uprv_malloc(sizeof(UPropsVectors));
58 if(pv==NULL || v==NULL) {
59 uprv_free(pv);
64 uprv_memset(pv, 0, sizeof(UPropsVectors));
65 pv->v=v;
66 pv->columns=columns;
67 pv->maxRows=UPVEC_INITIAL_ROWS;
68 pv->rows=2+(UPVEC_MAX_CP-UPVEC_FIRST_SPECIAL_CP);
71 row=pv->v;
72 uprv_memset(row, 0, pv->rows*columns*4);
81 return pv;
85 upvec_close(UPropsVectors *pv) {
86 if(pv!=NULL) {
87 uprv_free(pv->v);
88 uprv_free(pv);
93 _findRow(UPropsVectors *pv, UChar32 rangeStart) {
97 columns=pv->columns;
98 limit=pv->rows;
99 prevRow=pv->prevRow;
102 row=pv->v+prevRow*columns;
109 pv->prevRow=prevRow+1;
113 pv->prevRow=prevRow+2;
122 pv->prevRow=prevRow;
125 } else if(rangeStart<(UChar32)pv->v[1]) {
127 pv->prevRow=0;
128 return pv->v;
135 row=pv->v+i*columns;
139 pv->prevRow=i;
147 pv->prevRow=start;
148 return pv->v+start*columns;
152 upvec_setValue(UPropsVectors *pv,
166 if( pv==NULL ||
168 column<0 || column>=(pv->columns-2)
173 if(pv->isCompacted) {
180 columns=pv->columns;
187 firstRow=_findRow(pv, start);
188 lastRow=_findRow(pv, end);
202 rows=pv->rows;
203 if((rows+splitFirstRow+splitLastRow)>pv->maxRows) {
207 if(pv->maxRows<UPVEC_MEDIUM_ROWS) {
209 } else if(pv->maxRows<UPVEC_MAX_ROWS) {
221 uprv_memcpy(newVectors, pv->v, rows*columns*4);
222 firstRow=newVectors+(firstRow-pv->v);
223 lastRow=newVectors+(lastRow-pv->v);
224 uprv_free(pv->v);
225 pv->v=newVectors;
226 pv->maxRows=newMaxRows;
230 count = (int32_t)((pv->v+rows*columns)-(lastRow+columns));
237 pv->rows=rows+splitFirstRow+splitLastRow;
262 pv->prevRow=(int32_t)((lastRow-(pv->v))/columns);
278 upvec_getValue(const UPropsVectors *pv, UChar32 c, int32_t column) {
282 if(pv->isCompacted || c<0 || c>UPVEC_MAX_CP || column<0 || column>=(pv->columns-2)) {
285 ncpv=(UPropsVectors *)pv;
291 upvec_getRow(const UPropsVectors *pv, int32_t rowIndex,
296 if(pv->isCompacted || rowIndex<0 || rowIndex>=pv->rows) {
300 columns=pv->columns;
301 row=pv->v+rowIndex*columns;
314 const UPropsVectors *pv=(const UPropsVectors *)context;
317 count=columns=pv->columns; /* includes start/limit columns */
334 upvec_compact(UPropsVectors *pv, UPVecCompactHandler *handler, void *context, UErrorCode *pErrorCode) {
347 if(pv->isCompacted) {
352 pv->isCompacted=TRUE;
354 rows=pv->rows;
355 columns=pv->columns;
360 uprv_sortArray(pv->v, rows, columns*4,
361 upvec_compareRows, pv, FALSE, pErrorCode);
371 row=pv->v;
408 row=pv->v;
416 if(count<0 || 0!=uprv_memcmp(row+2, pv->v+count, valueColumns*4)) {
418 uprv_memmove(pv->v+count, row+2, valueColumns*4);
422 handler(context, start, limit-1, count, pv->v+count, valueColumns, pErrorCode);
432 pv->rows=count/valueColumns+1;
436 upvec_getArray(const UPropsVectors *pv, int32_t *pRows, int32_t *pColumns) {
437 if(!pv->isCompacted) {
441 *pRows=pv->rows;
444 *pColumns=pv->columns-2;
446 return pv->v;
450 upvec_cloneArray(const UPropsVectors *pv,
458 if(!pv->isCompacted) {
462 byteLength=pv->rows*(pv->columns-2)*4;
468 uprv_memcpy(clonedArray, pv->v, byteLength);
470 *pRows=pv->rows;
473 *pColumns=pv->columns-2;
479 upvec_compactToUTrie2WithRowIndexes(UPropsVectors *pv, UErrorCode *pErrorCode) {
481 upvec_compact(pv, upvec_compactToUTrie2Handler, &toUTrie2, pErrorCode);