Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Side by Side Diff: source/test/perf/unisetperf/draft/bitset.cpp

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 ********************************************************************** 2 **********************************************************************
3 * Copyright (C) 2007, International Business Machines 3 * Copyright (C) 2014, International Business Machines
4 * Corporation and others. All Rights Reserved. 4 * Corporation and others. All Rights Reserved.
5 ********************************************************************** 5 **********************************************************************
6 * file name: bitset.cpp 6 * file name: bitset.cpp
7 * encoding: US-ASCII 7 * encoding: US-ASCII
8 * tab size: 8 (not used) 8 * tab size: 8 (not used)
9 * indentation:4 9 * indentation:4
10 * 10 *
11 * created on: 2007jan15 11 * created on: 2007jan15
12 * created by: Markus Scherer 12 * created by: Markus Scherer
13 * 13 *
14 * Idea for a "compiled", fast, read-only (immutable) version of a UnicodeSet 14 * Idea for a "compiled", fast, read-only (immutable) version of a UnicodeSet
15 * using a folded bit set consisting of a 1k-entry index table and a 15 * using a folded bit set consisting of a 1k-entry index table and a
16 * compacted array of 64-bit words. 16 * compacted array of 64-bit words.
17 * Uses a simple hash table for compaction. 17 * Uses a simple hash table for compaction.
18 * Uses the original set for supplementary code points. 18 * Uses the original set for supplementary code points.
19 */ 19 */
20 20
21 #include "unicode/utypes.h" 21 #include "unicode/utypes.h"
22 #include "unicont.h" 22 #include "unicont.h"
23 #include "cmemory.h" // for UPRV_LENGTHOF
23 24
24 /* 25 /*
25 * Hash table for up to 1k 64-bit words, for 1 bit per BMP code point. 26 * Hash table for up to 1k 64-bit words, for 1 bit per BMP code point.
26 * Hashes 64-bit words and maps them to 16-bit integers which are 27 * Hashes 64-bit words and maps them to 16-bit integers which are
27 * assigned in order of new incoming words for subsequent storage 28 * assigned in order of new incoming words for subsequent storage
28 * in a contiguous array. 29 * in a contiguous array.
29 */ 30 */
30 struct BMPBitHash : public UObject { 31 struct BMPBitHash : public UObject {
31 int64_t keys[0x800]; // 2k 32 int64_t keys[0x800]; // 2k
32 uint16_t values[0x800]; 33 uint16_t values[0x800];
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 index[i++]=all; 140 index[i++]=all;
140 } while(i<j); 141 } while(i<j);
141 } 142 }
142 b=INT64_C(0xffffffffffffffff); 143 b=INT64_C(0xffffffffffffffff);
143 } 144 }
144 /* i==j */ 145 /* i==j */
145 b&=(INT64_C(1)<<(end&0x3f))-1; 146 b&=(INT64_C(1)<<(end&0x3f))-1;
146 prevIndex=j; 147 prevIndex=j;
147 } 148 }
148 149
149 if(bitHash->countKeys()>LENGTHOF(shortBits)) { 150 if(bitHash->countKeys()>UPRV_LENGTHOF(shortBits)) {
150 bits=(int64_t *)uprv_malloc(bitHash->countKeys()*8); 151 bits=(int64_t *)uprv_malloc(bitHash->countKeys()*8);
151 } 152 }
152 if(bits!=NULL) { 153 if(bits!=NULL) {
153 bitHash->invert(bits); 154 bitHash->invert(bits);
154 } else { 155 } else {
155 bits=shortBits; 156 bits=shortBits;
156 errorCode=U_MEMORY_ALLOCATION_ERROR; 157 errorCode=U_MEMORY_ALLOCATION_ERROR;
157 return; 158 return;
158 } 159 }
159 160
(...skipping 28 matching lines...) Expand all
188 189
189 private: 190 private:
190 uint16_t index[0x400]; 191 uint16_t index[0x400];
191 int64_t shortBits[32]; 192 int64_t shortBits[32];
192 int64_t *bits; 193 int64_t *bits;
193 194
194 uint32_t latin1Bits[8]; 195 uint32_t latin1Bits[8];
195 196
196 UnicodeSet *restSet; 197 UnicodeSet *restSet;
197 }; 198 };
OLDNEW
« no previous file with comments | « source/test/perf/perldriver/PerfFramework.pm ('k') | source/test/perf/unisetperf/draft/contperf.bat » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698