Changeset 2034 for trunk


Ignore:
Timestamp:
Apr 16, 2012, 5:49:46 PM (7 years ago)
Author:
nmedfort
Message:

Some changes for the eventual ICXML inclusion; please test these Ken; differences were reported during testing but I may have run them incorrectly.

Location:
trunk/symbol_table
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/symbol_table/id_group_strms.py

    r1960 r2034  
    2020        ends_gte_17 = 0
    2121
    22 def Gen_lgth_groups(markers, groups):
    23     groups.starts = markers.starts
    24     groups.ends = markers.ends
     22def Gen_lgth_groups(groups):
    2523
    26     cursor = groups.starts
    27     temp = groups.ends
     24        cursor = groups.starts
     25        temp = groups.ends
    2826
    29     # Group symbols of length 1
    30     cursor = pablo.Advance(cursor)
    31     groups.ends_1 = cursor & temp
    32     temp = temp & ~groups.ends_1
     27        # Group symbols of length 1
     28        cursor = pablo.Advance(cursor)
     29        groups.ends_1 = cursor & temp
     30        temp = temp & ~groups.ends_1
    3331
    34     # Group symbols of length 2
    35     cursor = pablo.Advance(cursor)
    36     groups.ends_2 = cursor & temp
    37     temp = temp & ~groups.ends_2
     32        # Group symbols of length 2
     33        cursor = pablo.Advance(cursor)
     34        groups.ends_2 = cursor & temp
     35        temp = temp & ~groups.ends_2
    3836
    39     # Group symbols of length 3
    40     cursor = pablo.Advance(cursor)
    41     groups.ends_3 = cursor & temp
    42     temp = temp & ~groups.ends_3
     37        # Group symbols of length 3
     38        cursor = pablo.Advance(cursor)
     39        groups.ends_3 = cursor & temp
     40        temp = temp & ~groups.ends_3
    4341
    44     # Group symbols of length 4
    45     cursor = pablo.Advance(cursor)
    46     groups.ends_4 = cursor & temp
    47     temp = temp & ~groups.ends_4
     42        # Group symbols of length 4
     43        cursor = pablo.Advance(cursor)
     44        groups.ends_4 = cursor & temp
     45        temp = temp & ~groups.ends_4
    4846
    49     # Group symbols of length 5
    50     cursor = pablo.Advance(cursor)
    51     groups.ends_5 = cursor & temp
    52     temp = temp & ~groups.ends_5
     47        # Group symbols of length 5
     48        cursor = pablo.Advance(cursor)
     49        groups.ends_5 = cursor & temp
     50        temp = temp & ~groups.ends_5
    5351
    54     # Group symbols of length 6
    55     cursor = pablo.Advance(cursor)
    56     groups.ends_6 = cursor & temp
    57     temp = temp & ~groups.ends_6
     52        # Group symbols of length 6
     53        cursor = pablo.Advance(cursor)
     54        groups.ends_6 = cursor & temp
     55        temp = temp & ~groups.ends_6
    5856
    59     # Group symbols of length 7
    60     cursor = pablo.Advance(cursor)
    61     groups.ends_7 = cursor & temp
    62     temp = temp & ~groups.ends_7
     57        # Group symbols of length 7
     58        cursor = pablo.Advance(cursor)
     59        groups.ends_7 = cursor & temp
     60        temp = temp & ~groups.ends_7
    6361
    64     # Group symbols of length 8
    65     cursor = pablo.Advance(cursor)
    66     groups.ends_8 = cursor & temp
    67     temp = temp & ~groups.ends_8
     62        # Group symbols of length 8
     63        cursor = pablo.Advance(cursor)
     64        groups.ends_8 = cursor & temp
     65        temp = temp & ~groups.ends_8
    6866
    69     # Group symbols of length 9
    70     cursor = pablo.Advance(cursor)
    71     groups.ends_9 = cursor & temp
    72     temp = temp & ~groups.ends_9
     67        # Group symbols of length 9
     68        cursor = pablo.Advance(cursor)
     69        groups.ends_9 = cursor & temp
     70        temp = temp & ~groups.ends_9
    7371
    74     # Group symbols of length 10
    75     cursor = pablo.Advance(cursor)
    76     groups.ends_10 = cursor & temp
    77     temp = temp & ~groups.ends_10
     72        # Group symbols of length 10
     73        cursor = pablo.Advance(cursor)
     74        groups.ends_10 = cursor & temp
     75        temp = temp & ~groups.ends_10
    7876
    79     # Group symbols of length 11
    80     cursor = pablo.Advance(cursor)
    81     groups.ends_11 = cursor & temp
    82     temp = temp & ~groups.ends_11
     77        # Group symbols of length 11
     78        cursor = pablo.Advance(cursor)
     79        groups.ends_11 = cursor & temp
     80        temp = temp & ~groups.ends_11
    8381
    84     # Group symbols of length 12
    85     cursor = pablo.Advance(cursor)
    86     groups.ends_12 = cursor & temp
    87     temp = temp & ~groups.ends_12
     82        # Group symbols of length 12
     83        cursor = pablo.Advance(cursor)
     84        groups.ends_12 = cursor & temp
     85        temp = temp & ~groups.ends_12
    8886
    89     # Group symbols of length 13
    90     cursor = pablo.Advance(cursor)
    91     groups.ends_13 = cursor & temp
    92     temp = temp & ~groups.ends_13
     87        # Group symbols of length 13
     88        cursor = pablo.Advance(cursor)
     89        groups.ends_13 = cursor & temp
     90        temp = temp & ~groups.ends_13
    9391
    94     # Group symbols of length 14
    95     cursor = pablo.Advance(cursor)
    96     groups.ends_14 = cursor & temp
    97     temp = temp & ~groups.ends_14
     92        # Group symbols of length 14
     93        cursor = pablo.Advance(cursor)
     94        groups.ends_14 = cursor & temp
     95        temp = temp & ~groups.ends_14
    9896
    99     # Group symbols of length 15
    100     cursor = pablo.Advance(cursor)
    101     groups.ends_15 = cursor & temp
    102     temp = temp & ~groups.ends_15
     97        # Group symbols of length 15
     98        cursor = pablo.Advance(cursor)
     99        groups.ends_15 = cursor & temp
     100        temp = temp & ~groups.ends_15
    103101
    104     # Group symbols of length 16
    105     cursor = pablo.Advance(cursor)
    106     groups.ends_16 = cursor & temp
    107     temp = temp & ~groups.ends_16
     102        # Group symbols of length 16
     103        cursor = pablo.Advance(cursor)
     104        groups.ends_16 = cursor & temp
     105        temp = temp & ~groups.ends_16
    108106
    109     # Group symbols of length greater than 16
    110     groups.ends_gte_17 = temp
     107        # Group symbols of length greater than 16
     108        groups.ends_gte_17 = temp
    111109
    112110def Main(groups):
    113     Gen_lgth_groups(markers, groups)
     111        Gen_lgth_groups(groups)
    114112
  • trunk/symbol_table/id_group_strms_template.hpp

    r1960 r2034  
    1111
    1212static IDISA_ALWAYS_INLINE void identity_group_do_block(Markers & markers, Groups & groups) {
     13        groups.starts = markers.starts;
     14        groups.ends = markers.ends;
    1315        // GENERATED
    1416        @id_group_strms_block_stmts
     
    1618
    1719static IDISA_ALWAYS_INLINE void identity_group_do_final_block(Markers & markers, Groups & groups, BitBlock & EOF_mask) {
     20        groups.starts = markers.starts;
     21        groups.ends = markers.ends;
    1822        // GENERATED
    1923        @id_group_strms_final_block_stmts
  • trunk/symbol_table/src/Makefile

    r2024 r2034  
    1 CC= g++ $(CFLAGS) # -g # -O3 
     1CC= g++ $(CFLAGS) # -g # -O3
    22SSE=-msse2 #-mssse3 #-msse4.2
    3 CFLAGS= $(SSE) 
     3CFLAGS= $(SSE)
    44
    55PAPI_DIR=/usr/local/papi-4.0.0
    66ARCH=$(shell getconf LONG_BIT)
    77ifeq ($(ARCH),32)
    8         AFLAGS=-march=pentium4
    9         PAPI=-DPAPI -I$(PAPI_DIR)/include -L$(PAPI_DIR)/lib -lpapi
     8        AFLAGS=-march=pentium4
     9        PAPI=-DPAPI -I$(PAPI_DIR)/include -L$(PAPI_DIR)/lib -lpapi
    1010else
    11         AFLAGS=-march=nocona -m64
    12         PAPI=-DPAPI -I$(PAPI_DIR)/include -L$(PAPI_DIR)/lib -lpapi
     11        AFLAGS=-march=nocona -m64
     12        PAPI=-DPAPI -I$(PAPI_DIR)/include -L$(PAPI_DIR)/lib -lpapi
    1313endif
    1414
     
    1616
    1717all: basis_bits.hpp buffer.hpp byte_pool.hpp  hash_strms.hpp  hash_table.hpp  id_group_strms.hpp  id_symbol_table.hpp  main.cpp  Makefile  marker_strms.hpp  symbol_table.hpp  transpose.hpp
    18         $(CC) -o main main.cpp $(AFLAGS) #-DID_SYMBOL_TABLE_TEMPLATE_HPP_DEBUG #-DHASH_TABLE_HPP_DEBUG # -DBUFFER_PROFILING
     18        $(CC) -o main main.cpp $(AFLAGS) -DID_SYMBOL_TABLE_TEMPLATE_HPP_DEBUG #-DHASH_TABLE_HPP_DEBUG # -DBUFFER_PROFILING
    1919
    2020test: main
     
    2424        diff -rq --exclude=".svn" $(TEST_ROOT)/uniform $(TEST_ROOT)/uniform_rslts || exit 0
    2525
    26 clean: 
     26clean:
    2727        rm -Rf main $(TEST_ROOT)/uniform_rslts
    2828
  • trunk/symbol_table/src/id_symbol_table.hpp

    r2032 r2034  
    2323#ifdef ID_SYMBOL_TABLE_TEMPLATE_HPP_DEBUG
    2424static void print_symbol_debug(gid_type gid, const uint8_t buffer [], const int32_t spos, const uint32_t epos, const uint32_t lgth) {
    25     cout << "{Symbol:{";
    26     cout << "GID:" << gid;
    27     cout << ",Length:" << lgth;
    28     cout << ",Value:'" << string((char *)&(buffer[spos]), lgth) << "'";
    29     cout << ",Start:" << spos;
    30     cout << ",End:" << epos;
    31     cout << "}}" << endl;
     25        cout << "{Symbol:{";
     26        cout << "GID:" << gid;
     27        cout << ",Length:" << lgth;
     28        cout << ",Value:'" << string((char *)&(buffer[spos]), lgth) << "'";
     29        cout << ",Start:" << spos;
     30        cout << ",End:" << epos;
     31        cout << "}}" << endl;
    3232}
    3333#endif
     
    3737class id_symbol_table: public symbol_table<SYMBOL> {
    3838public:
    39     id_symbol_table()/*:hash_table_1(256)*/{}
    40     ~id_symbol_table() {
     39        id_symbol_table()/*:hash_table_1(256)*/{}
     40        ~id_symbol_table() {
    4141//      hash_table_1.print_table();
    4242//      hash_table_2.print_table();
     
    7676        hash_table_gte_17.print_diagnostics();
    7777#endif
    78     }
    79 
    80                   // Groups & groups
    81                   void resolve(uint8_t buffer [], Groups groups [],  BitBlock starts [], BitBlock ends_gte_17 [],
    82                                                                                 BitBlock h0 [], BitBlock h1 [], uint32_t blocks, SYMBOL & symbols) {
    83 
    84                         uint32_t blk_offset;
    85 
    86                         for(uint32_t blk=0;blk<blocks;blk++) {
    87 
    88                                 blk_offset = blk * BLOCKSIZE;
    89                                 ///////////////////////////////////////////////////////////////////////////////
    90                                 // Byte Space Hash
    91                                 ///////////////////////////////////////////////////////////////////////////////
    92                                 if(bitblock::any(groups[blk].ends_1)) {
    93                                         do_block<SYMBOL, hash_table <identity_strategy_t<uint8_t,1>, hash_strategy_t<1>, ALLOCATOR> >
    94                                                 (blk_offset,
    95                                                  hash_table_1,
    96                                                  groups[blk].ends_1,
    97                                                  &buffer[blk_offset], 1,                                                  /* buffer, symbol length */
    98                                                  &buffer[blk_offset], &buffer[blk_offset], bytes2bits(1), BLOCK_SIZE, /* h0, h1, hash lgth (bits), hash block size (bits) */
     78        }
     79
     80        // Groups & groups
     81        void resolve(uint8_t buffer [], Groups groups [],  BitBlock starts [], BitBlock ends_gte_17 [],
     82                                 BitBlock h0 [], BitBlock h1 [], uint32_t blocks, SYMBOL & symbols) {
     83
     84                        for(uint32_t blk = 0; blk < blocks; blk++) {
     85                                const uint32_t blk_offset = blk * BLOCKSIZE;
     86                                resolve(blk_offset, &buffer[blk_offset], groups[blk], &starts[blk], &ends_gte_17[blk], h0[blk], h1[blk], symbols);
     87                        }
     88        }
     89
     90        // Groups & groups
     91        IDISA_ALWAYS_INLINE
     92        void resolve(uint32_t blk_offset, uint8_t buffer [], Groups groups,  BitBlock starts [], BitBlock ends_gte_17[],
     93                                 BitBlock h0, BitBlock h1, SYMBOL & symbols) {
     94
     95                        ///////////////////////////////////////////////////////////////////////////////
     96                        // Byte Space Hash
     97                        ///////////////////////////////////////////////////////////////////////////////
     98                        #define BYTE_HASH(LENGTH_GROUP, COMPARISON_TYPE) \
     99                                if(bitblock::any(groups.ends_##LENGTH_GROUP)) { \
     100                                        do_block<SYMBOL, hash_table <identity_strategy_t<COMPARISON_TYPE,LENGTH_GROUP>, hash_strategy_t<LENGTH_GROUP>, ALLOCATOR> > \
     101                                                (blk_offset, \
     102                                                 hash_table_##LENGTH_GROUP, \
     103                                                 groups.ends_##LENGTH_GROUP, \
     104                                                 buffer, LENGTH_GROUP, /* buffer, symbol length */ \
     105                                                 buffer, buffer, bytes2bits(LENGTH_GROUP), BLOCK_SIZE, /* h0, h1, hash lgth (bits), hash block size (bits) */ \
     106                                                 symbols, this->gid_factory, this->gid_data); \
     107                                }
     108
     109                        BYTE_HASH(1, uint8_t);
     110                        BYTE_HASH(2, uint16_t);
     111                        BYTE_HASH(3, uint16_t);
     112                        BYTE_HASH(4, uint32_t);
     113                        BYTE_HASH(5, uint32_t);
     114                        BYTE_HASH(6, uint32_t);
     115                        BYTE_HASH(7, uint32_t);
     116
     117                        #undef BYTE_HASH
     118
     119                        ///////////////////////////////////////////////////////////////////////////////
     120                        // Bit Space Hash
     121                        ///////////////////////////////////////////////////////////////////////////////
     122                        if(bitblock::any(groups.ends_8)) {
     123                                do_block<SYMBOL, hash_table <identity_strategy_t<uint64_t,8>, hash_strategy_d, ALLOCATOR> >
     124                                        (blk_offset,
     125                                         hash_table_8,
     126                                         groups.ends_8, buffer, 8,
     127                                         (uint8_t *)&h0, (uint8_t *)&h1, 8, BLOCK_SIZE/8,
     128                                         symbols, this->gid_factory, this->gid_data);
     129                        }
     130                        if(bitblock::any(groups.ends_9)) {
     131                                do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,9>, hash_strategy_d, ALLOCATOR> >
     132                                        (blk_offset,
     133                                        hash_table_9,
     134                                        groups.ends_9, buffer, 9,
     135                                        (uint8_t *)&h0, (uint8_t *)&h1, 9, BLOCK_SIZE/8,
     136                                        symbols, this->gid_factory, this->gid_data);
     137                        }
     138                        if(bitblock::any(groups.ends_10)) {
     139                                do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,10>, hash_strategy_d, ALLOCATOR> >
     140                                        (blk_offset,
     141                                        hash_table_10,
     142                                        groups.ends_10, buffer, 10,
     143                                        (uint8_t *)&h0, (uint8_t *)&h1, 10, BLOCK_SIZE/8,
     144                                        symbols, this->gid_factory, this->gid_data);
     145                        }
     146                        if(bitblock::any(groups.ends_11)) {
     147                                do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,11>, hash_strategy_d, ALLOCATOR> >
     148                                                (blk_offset,
     149                                                hash_table_11,
     150                                                groups.ends_11, buffer, 11,
     151                                                (uint8_t *)&h0, (uint8_t *)&h1, 11, BLOCK_SIZE/8,
     152                                                symbols, this->gid_factory, this->gid_data);
     153                        }
     154                        if(bitblock::any(groups.ends_12)) {
     155                                do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,12>, hash_strategy_d, ALLOCATOR> >
     156                                                (blk_offset,
     157                                                hash_table_12,
     158                                                groups.ends_12, buffer, 12,
     159                                                (uint8_t *)&h0, (uint8_t *)&h1, 12, BLOCK_SIZE/8,
     160                                                symbols, this->gid_factory, this->gid_data);
     161                        }
     162                        if(bitblock::any(groups.ends_13)) {
     163                                do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,13>, hash_strategy_d, ALLOCATOR> >
     164                                                (blk_offset,
     165                                                hash_table_13,
     166                                                groups.ends_13, buffer, 13,
     167                                                (uint8_t *)&h0, (uint8_t *)&h1, 13, BLOCK_SIZE/8,
     168                                                symbols, this->gid_factory, this->gid_data);
     169                        }
     170                        if(bitblock::any(groups.ends_14)) {
     171                                do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,14>, hash_strategy_d, ALLOCATOR> >
     172                                                (blk_offset,
     173                                                hash_table_14,
     174                                                groups.ends_14, buffer, 14,
     175                                                (uint8_t *)&h0, (uint8_t *)&h1, 14, BLOCK_SIZE/8,
     176                                                symbols, this->gid_factory, this->gid_data);
     177                        }
     178                        if(bitblock::any(groups.ends_15)) {
     179                                do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,15>, hash_strategy_d, ALLOCATOR> >
     180                                                (blk_offset,
     181                                                hash_table_15,
     182                                                groups.ends_15, buffer, 15,
     183                                                (uint8_t *)&h0, (uint8_t *)&h1, 15, BLOCK_SIZE/8,
     184                                                symbols, this->gid_factory, this->gid_data);
     185                        }
     186                        if(bitblock::any(groups.ends_16)) {
     187                                do_block<SYMBOL, hash_table<identity_strategy_t<BitBlock,16>, hash_strategy_d, ALLOCATOR> >
     188                                                (blk_offset,
     189                                                hash_table_16,
     190                                                groups.ends_16, buffer, 16,
     191                                                (uint8_t *)&h0, (uint8_t *)&h1, 16, BLOCK_SIZE/8,
     192                                                symbols, this->gid_factory, this->gid_data);
     193                        }
     194                        if(bitblock::any(groups.ends_gte_17)) {
     195                                do_block<SYMBOL, hash_table<identity_strategy_d, hash_strategy_d, ALLOCATOR> >
     196                                                (blk_offset,
     197                                                 hash_table_gte_17,
     198                                                 starts, ends_gte_17,
     199                                                 buffer,
     200                                                 (uint8_t *)&h0, (uint8_t *)&h1, 17, BLOCK_SIZE/8,
    99201                                                 symbols, this->gid_factory, this->gid_data);
    100                                 }
    101                                 if(bitblock::any(groups[blk].ends_2)) {
    102                                                 do_block<SYMBOL, hash_table <identity_strategy_t<uint16_t,2>, hash_strategy_t<2>, ALLOCATOR> >
    103                                                         (blk_offset,
    104                                                          hash_table_2,
    105                                                          groups[blk].ends_2,
    106                                                          &buffer[blk_offset], 2,
    107                                                          &buffer[blk_offset], &buffer[blk_offset], bytes2bits(2), BLOCK_SIZE,
    108                                                          symbols, this->gid_factory, this->gid_data);
    109                                 }
    110                                 if(bitblock::any(groups[blk].ends_3)) {
    111                                                 do_block<SYMBOL, hash_table <identity_strategy_t<uint16_t,3>, hash_strategy_t<3>, ALLOCATOR> >
    112                                                         (blk_offset,
    113                                                          hash_table_3,
    114                                                          groups[blk].ends_3,
    115                                                          &buffer[blk_offset], 3,
    116                                                          &buffer[blk_offset], &buffer[blk_offset], bytes2bits(3), BLOCK_SIZE,
    117                                                          symbols, this->gid_factory, this->gid_data);
    118                                 }
    119                                 if(bitblock::any(groups[blk].ends_4)) {
    120                                                 do_block<SYMBOL, hash_table <identity_strategy_t<uint32_t,4>, hash_strategy_t<4>, ALLOCATOR> >
    121                                                         (blk_offset,
    122                                                          hash_table_4,
    123                                                          groups[blk].ends_4,
    124                                                          &buffer[blk_offset], 4,
    125                                                          &buffer[blk_offset], &buffer[blk_offset], bytes2bits(4), BLOCK_SIZE,
    126                                                          symbols, this->gid_factory, this->gid_data);
    127                                 }
    128                                 if(bitblock::any(groups[blk].ends_5)) {
    129                                                 do_block<SYMBOL, hash_table <identity_strategy_t<uint32_t,5>, hash_strategy_t<5>, ALLOCATOR> >
    130                                                         (blk_offset,
    131                                                          hash_table_5,
    132                                                          groups[blk].ends_5,
    133                                                          &buffer[blk_offset], 5,
    134                                                          &buffer[blk_offset], &buffer[blk_offset], bytes2bits(5), BLOCK_SIZE,
    135                                                          symbols, this->gid_factory, this->gid_data);
    136                                 }
    137                                 if(bitblock::any(groups[blk].ends_6)) {
    138                                                 do_block<SYMBOL, hash_table <identity_strategy_t<uint32_t,6>, hash_strategy_t<6>, ALLOCATOR> >
    139                                                         (blk_offset,
    140                                                          hash_table_6,
    141                                                          groups[blk].ends_6,
    142                                                          &buffer[blk_offset], 6,
    143                                                          &buffer[blk_offset], &buffer[blk_offset], bytes2bits(6), BLOCK_SIZE,
    144                                                          symbols, this->gid_factory, this->gid_data);
    145                                 }
    146                                 if(bitblock::any(groups[blk].ends_7)) {
    147                                                 do_block<SYMBOL, hash_table <identity_strategy_t<uint32_t,7>, hash_strategy_t<7>, ALLOCATOR> >
    148                                                         (blk_offset,
    149                                                          hash_table_7,
    150                                                          groups[blk].ends_7,
    151                                                          &buffer[blk_offset], 7,
    152                                                          &buffer[blk_offset], &buffer[blk_offset], bytes2bits(7), BLOCK_SIZE,
    153                                                          symbols, this->gid_factory, this->gid_data);
    154                                 }
    155                                 ///////////////////////////////////////////////////////////////////////////////
    156                                 // Bit Space Hash
    157                                 ///////////////////////////////////////////////////////////////////////////////
    158                                 if(bitblock::any(groups[blk].ends_8)) {
    159                                                 do_block<SYMBOL, hash_table <identity_strategy_t<uint64_t,8>, hash_strategy_d, ALLOCATOR> >
    160                                                         (blk_offset,
    161                                                          hash_table_8,
    162                                                          groups[blk].ends_8, &buffer[blk_offset], 8,
    163                                                          (uint8_t *)&h0[blk], (uint8_t *)&h1[blk], 8, BLOCK_SIZE/8,
    164                                                          symbols, this->gid_factory, this->gid_data);
    165                                 }
    166                                 if(bitblock::any(groups[blk].ends_9)) {
    167                                         do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,9>, hash_strategy_d, ALLOCATOR> >
    168                                                 (blk_offset,
    169                                                 hash_table_9,
    170                                                 groups[blk].ends_9, &buffer[blk_offset], 9,
    171                                                 (uint8_t *)&h0[blk], (uint8_t *)&h1[blk], 9, BLOCK_SIZE/8,
    172                                                 symbols, this->gid_factory, this->gid_data);
    173                                 }
    174                                 if(bitblock::any(groups[blk].ends_10)) {
    175                                         do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,10>, hash_strategy_d, ALLOCATOR> >
    176                                                 (blk_offset,
    177                                                 hash_table_10,
    178                                                 groups[blk].ends_10, &buffer[blk_offset], 10,
    179                                                 (uint8_t *)&h0[blk], (uint8_t *)&h1[blk], 10, BLOCK_SIZE/8,
    180                                                 symbols, this->gid_factory, this->gid_data);
    181                                 }
    182                                 if(bitblock::any(groups[blk].ends_11)) {
    183                                         do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,11>, hash_strategy_d, ALLOCATOR> >
    184                                                         (blk_offset,
    185                                                         hash_table_11,
    186                                                         groups[blk].ends_11, &buffer[blk_offset], 11,
    187                                                         (uint8_t *)&h0[blk], (uint8_t *)&h1[blk], 11, BLOCK_SIZE/8,
    188                                                         symbols, this->gid_factory, this->gid_data);
    189                                 }
    190                                 if(bitblock::any(groups[blk].ends_12)) {
    191                                         do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,12>, hash_strategy_d, ALLOCATOR> >
    192                                                         (blk_offset,
    193                                                         hash_table_12,
    194                                                         groups[blk].ends_12, &buffer[blk_offset], 12,
    195                                                         (uint8_t *)&h0[blk], (uint8_t *)&h1[blk], 12, BLOCK_SIZE/8,
    196                                                         symbols, this->gid_factory, this->gid_data);
    197                                 }
    198                                 if(bitblock::any(groups[blk].ends_13)) {
    199                                         do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,13>, hash_strategy_d, ALLOCATOR> >
    200                                                         (blk_offset,
    201                                                         hash_table_13,
    202                                                         groups[blk].ends_13, &buffer[blk_offset], 13,
    203                                                         (uint8_t *)&h0[blk], (uint8_t *)&h1[blk], 13, BLOCK_SIZE/8,
    204                                                         symbols, this->gid_factory, this->gid_data);
    205                                 }
    206                                 if(bitblock::any(groups[blk].ends_14)) {
    207                                         do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,14>, hash_strategy_d, ALLOCATOR> >
    208                                                         (blk_offset,
    209                                                         hash_table_14,
    210                                                         groups[blk].ends_14, &buffer[blk_offset], 14,
    211                                                         (uint8_t *)&h0[blk], (uint8_t *)&h1[blk], 14, BLOCK_SIZE/8,
    212                                                         symbols, this->gid_factory, this->gid_data);
    213                                 }
    214                                 if(bitblock::any(groups[blk].ends_15)) {
    215                                         do_block<SYMBOL, hash_table<identity_strategy_t<uint64_t,15>, hash_strategy_d, ALLOCATOR> >
    216                                                         (blk_offset,
    217                                                         hash_table_15,
    218                                                         groups[blk].ends_15, &buffer[blk_offset], 15,
    219                                                         (uint8_t *)&h0[blk], (uint8_t *)&h1[blk], 15, BLOCK_SIZE/8,
    220                                                         symbols, this->gid_factory, this->gid_data);
    221                                 }
    222                                 if(bitblock::any(groups[blk].ends_16)) {
    223                                         do_block<SYMBOL, hash_table<identity_strategy_t<BitBlock,16>, hash_strategy_d, ALLOCATOR> >
    224                                                         (blk_offset,
    225                                                         hash_table_16,
    226                                                         groups[blk].ends_16, &buffer[blk_offset], 16,
    227                                                         (uint8_t *)&h0[blk], (uint8_t *)&h1[blk], 16, BLOCK_SIZE/8,
    228                                                         symbols, this->gid_factory, this->gid_data);
    229                                 }
    230                                 if(bitblock::any(groups[blk].ends_gte_17)) {
    231                                         do_block<SYMBOL, hash_table<identity_strategy_d, hash_strategy_d, ALLOCATOR> >
    232                                                         (blk_offset,
    233                                                          hash_table_gte_17,
    234                                                          &starts[blk], &ends_gte_17[blk],
    235                                                          &buffer[blk_offset],
    236                                                          (uint8_t *)&h0[blk], (uint8_t *)&h1[blk], 17, BLOCK_SIZE/8,
    237                                                          symbols, this->gid_factory, this->gid_data);
    238                                 }
    239                         }
    240     }
     202                        }
     203        }
    241204
    242205private:
    243     ///////////////////////////////////////////////////////////////////////////////
    244     // Byte Space Hash
    245     ///////////////////////////////////////////////////////////////////////////////
    246     hash_table<identity_strategy_t<uint8_t,1>, hash_strategy_t<1>, ALLOCATOR> hash_table_1;
    247     hash_table<identity_strategy_t<uint16_t,2>, hash_strategy_t<2>, ALLOCATOR> hash_table_2;
    248     hash_table<identity_strategy_t<uint16_t,3>, hash_strategy_t<3>, ALLOCATOR> hash_table_3;
    249     hash_table<identity_strategy_t<uint32_t,4>, hash_strategy_t<4>, ALLOCATOR> hash_table_4;
    250     hash_table<identity_strategy_t<uint32_t,5>, hash_strategy_t<5>, ALLOCATOR> hash_table_5;
    251     hash_table<identity_strategy_t<uint32_t,6>, hash_strategy_t<6>, ALLOCATOR> hash_table_6;
    252     hash_table<identity_strategy_t<uint32_t,7>, hash_strategy_t<7>, ALLOCATOR> hash_table_7;
    253     ///////////////////////////////////////////////////////////////////////////////
    254     // Bit Space Hash
    255     ///////////////////////////////////////////////////////////////////////////////
    256     hash_table<identity_strategy_t<uint64_t,8>, hash_strategy_d, ALLOCATOR> hash_table_8;
    257     hash_table<identity_strategy_t<uint64_t,9>, hash_strategy_d, ALLOCATOR> hash_table_9;
    258     hash_table<identity_strategy_t<uint64_t,10>, hash_strategy_d, ALLOCATOR> hash_table_10;
    259     hash_table<identity_strategy_t<uint64_t,11>, hash_strategy_d, ALLOCATOR> hash_table_11;
    260     hash_table<identity_strategy_t<uint64_t,12>, hash_strategy_d, ALLOCATOR> hash_table_12;
    261     hash_table<identity_strategy_t<uint64_t,13>, hash_strategy_d, ALLOCATOR> hash_table_13;
    262     hash_table<identity_strategy_t<uint64_t,14>, hash_strategy_d, ALLOCATOR> hash_table_14;
    263     hash_table<identity_strategy_t<uint64_t,15>, hash_strategy_d, ALLOCATOR> hash_table_15;
    264     hash_table<identity_strategy_t<BitBlock,16>, hash_strategy_d, ALLOCATOR> hash_table_16;
    265     hash_table<identity_strategy_d, hash_strategy_d, ALLOCATOR> hash_table_gte_17;
     206        ///////////////////////////////////////////////////////////////////////////////
     207        // Byte Space Hash
     208        ///////////////////////////////////////////////////////////////////////////////
     209        hash_table<identity_strategy_t<uint8_t,1>, hash_strategy_t<1>, ALLOCATOR> hash_table_1;
     210        hash_table<identity_strategy_t<uint16_t,2>, hash_strategy_t<2>, ALLOCATOR> hash_table_2;
     211        hash_table<identity_strategy_t<uint16_t,3>, hash_strategy_t<3>, ALLOCATOR> hash_table_3;
     212        hash_table<identity_strategy_t<uint32_t,4>, hash_strategy_t<4>, ALLOCATOR> hash_table_4;
     213        hash_table<identity_strategy_t<uint32_t,5>, hash_strategy_t<5>, ALLOCATOR> hash_table_5;
     214        hash_table<identity_strategy_t<uint32_t,6>, hash_strategy_t<6>, ALLOCATOR> hash_table_6;
     215        hash_table<identity_strategy_t<uint32_t,7>, hash_strategy_t<7>, ALLOCATOR> hash_table_7;
     216        ///////////////////////////////////////////////////////////////////////////////
     217        // Bit Space Hash
     218        ///////////////////////////////////////////////////////////////////////////////
     219        hash_table<identity_strategy_t<uint64_t,8>, hash_strategy_d, ALLOCATOR> hash_table_8;
     220        hash_table<identity_strategy_t<uint64_t,9>, hash_strategy_d, ALLOCATOR> hash_table_9;
     221        hash_table<identity_strategy_t<uint64_t,10>, hash_strategy_d, ALLOCATOR> hash_table_10;
     222        hash_table<identity_strategy_t<uint64_t,11>, hash_strategy_d, ALLOCATOR> hash_table_11;
     223        hash_table<identity_strategy_t<uint64_t,12>, hash_strategy_d, ALLOCATOR> hash_table_12;
     224        hash_table<identity_strategy_t<uint64_t,13>, hash_strategy_d, ALLOCATOR> hash_table_13;
     225        hash_table<identity_strategy_t<uint64_t,14>, hash_strategy_d, ALLOCATOR> hash_table_14;
     226        hash_table<identity_strategy_t<uint64_t,15>, hash_strategy_d, ALLOCATOR> hash_table_15;
     227        hash_table<identity_strategy_t<BitBlock,16>, hash_strategy_d, ALLOCATOR> hash_table_16;
     228        hash_table<identity_strategy_d, hash_strategy_d, ALLOCATOR> hash_table_gte_17;
    266229};
    267230
     
    271234template<class SYMBOL, class HASH_TABLE>
    272235void do_block(uint32_t blk_offset,
    273               HASH_TABLE & h_table,
    274               BitBlock ends,
    275               uint8_t buffer [], const uint32_t lgth,
    276               uint8_t h0 [], uint8_t h1 [], const uint32_t h_lgth, const uint32_t h_block_size,
    277               SYMBOL & symbols, GIDFactory & gid_factory, GIDData & gid_data) {
     236                  HASH_TABLE & h_table,
     237                  BitBlock ends,
     238                  uint8_t buffer [], const uint32_t lgth,
     239                  uint8_t h0 [], uint8_t h1 [], const uint32_t h_lgth, const uint32_t h_block_size,
     240                  SYMBOL & symbols, GIDFactory & gid_factory, GIDData & gid_data) {
    278241
    279242                uint8_t * buffer_base = buffer;
     
    286249                uint32_t blk_count;
    287250
    288     ReverseScanner<BitBlock, scanword_t> rscanner(&ends);
    289 
    290     rscanner.scan_to_next();
    291     epos = rscanner.get_pos();
    292 
    293                 while(!rscanner.is_done()) { 
    294 
    295         spos = epos - lgth;
     251        ReverseScanner<BitBlock, scanword_t> rscanner(&ends);
     252
     253        rscanner.scan_to_next();
     254        epos = rscanner.get_pos();
     255
     256                while(!rscanner.is_done()) {
     257
     258                spos = epos - lgth;
    296259
    297260                        if(spos < 0) { // boundary case
    298261                                        spos = (BLOCK_SIZE - (-1 * spos)) & (BLOCK_SIZE - 1);
    299                                         blk_count = (lgth/BLOCK_SIZE)+1;               
    300                                         buffer_base -= (BLOCK_SIZE * blk_count);       
     262                                        blk_count = (lgth/BLOCK_SIZE)+1;
     263                                        buffer_base -= (BLOCK_SIZE * blk_count);
    301264                                        h0_base -= (h_block_size * blk_count);
    302265                                        h1_base -= (h_block_size * blk_count);
     
    311274
    312275                        rscanner.scan_to_next();
    313                 epos = rscanner.get_pos();
     276                epos = rscanner.get_pos();
    314277                }
    315278        }
     
    346309
    347310        while(!ends_rscanner.is_done()) {
    348                
     311
    349312                starts_rscanner.move_to(epos);
    350313                starts_rscanner.scan_to_next();
     
    355318                          starts_base--;
    356319
    357                     blk_count++;
    358 
    359                     starts_rscanner.init(starts_base);
    360                     starts_rscanner.scan_to_next();
    361 
    362                     if(!starts_rscanner.is_done()) { // found start
     320                        blk_count++;
     321
     322                        starts_rscanner.init(starts_base);
     323                        starts_rscanner.scan_to_next();
     324
     325                        if(!starts_rscanner.is_done()) { // found start
    363326                                        lgth = epos + (BLOCK_SIZE - starts_rscanner.get_pos()) + (BLOCK_SIZE * (blk_count-1));
    364                                         // spos = (BLOCK_SIZE - (-1 * spos)) & (BLOCK_SIZE - 1);
    365 
    366                                         // buffer_base -= (BLOCK_SIZE * blk_count);     
     327                                        // spos = (BLOCK_SIZE - (-1 * spos)) & (BLOCK_SIZE - 1);
     328
     329                                        // buffer_base -= (BLOCK_SIZE * blk_count);
    367330                                        //spos = epos - lgth;
    368331                                        spos = starts_rscanner.get_pos();
     
    372335                                        h1_base -= (h_block_size * blk_count);
    373336                                        break;
    374                     }
     337                        }
    375338
    376339                }
     
    394357/*
    395358void do_block(uint32_t blk_offset,
    396               HASH_TABLE & h_table,
    397               BitBlock ends,
    398               uint8_t buffer [], const uint32_t lgth,
    399               uint8_t h0 [], uint8_t h1 [], const uint32_t h_lgth, const uint32_t h_block_size,
    400               SYMBOL & symbols, GIDFactory & gid_factory, GIDData & gid_data) {
    401 
    402     gid_type gid;
    403     int32_t spos;
    404     int32_t epos;
    405     ForwardScanner<BitBlock, scanword_t> fscanner(&ends);
    406 
    407     fscanner.scan_to_next();
    408     epos = fscanner.get_pos();
    409     spos = (epos - lgth);
     359                  HASH_TABLE & h_table,
     360                  BitBlock ends,
     361                  uint8_t buffer [], const uint32_t lgth,
     362                  uint8_t h0 [], uint8_t h1 [], const uint32_t h_lgth, const uint32_t h_block_size,
     363                  SYMBOL & symbols, GIDFactory & gid_factory, GIDData & gid_data) {
     364
     365        gid_type gid;
     366        int32_t spos;
     367        int32_t epos;
     368        ForwardScanner<BitBlock, scanword_t> fscanner(&ends);
     369
     370        fscanner.scan_to_next();
     371        epos = fscanner.get_pos();
     372        spos = (epos - lgth);
    410373
    411374        if(!fscanner.is_done() && (spos < 0) ) { // block boundary case
     
    435398        spos = (epos - lgth);
    436399
    437     }
     400        }
    438401
    439402        while(!fscanner.is_done()) {
     
    449412                epos = fscanner.get_pos();
    450413                spos = (epos - lgth);
    451     }
     414        }
    452415
    453416}
  • trunk/symbol_table/symbol_table.pro

    r1986 r2034  
    3030    test/st_test_file_generator.py \
    3131    test/Makefile \
    32     symbol_table.pro.user \
    3332    src/Makefile \
    3433    test/uniform/st_test_UNIFORM_(17_1000_50)_(25_1000_50)_1_1 \
     
    7978    lib/bitblock_scan.hpp \
    8079    src/buffer.hpp \
    81     lib/hash.hpp
     80    lib/hash.hpp \
     81    src/gid.hpp
  • trunk/symbol_table/symbol_table.pro.user

    r2010 r2034  
    22<qtcreator>
    33 <data>
    4   <variable>RunConfiguration0-BaseEnvironmentBase</variable>
    5   <value type="int">2</value>
    6  </data>
    7  <data>
    8   <variable>RunConfiguration0-CommandLineArguments</variable>
    9   <valuelist type="QVariantList"/>
    10  </data>
    11  <data>
    12   <variable>RunConfiguration0-ProFile</variable>
    13   <value type="QString">symbol_table.pro</value>
    14  </data>
    15  <data>
    16   <variable>RunConfiguration0-RunConfiguration.name</variable>
    17   <value type="QString">symbol_table</value>
    18  </data>
    19  <data>
    20   <variable>RunConfiguration0-UseDyldImageSuffix</variable>
    21   <value type="bool">false</value>
    22  </data>
    23  <data>
    24   <variable>RunConfiguration0-UseTerminal</variable>
    25   <value type="bool">false</value>
    26  </data>
    27  <data>
    28   <variable>RunConfiguration0-UserEnvironmentChanges</variable>
    29   <valuelist type="QVariantList"/>
    30  </data>
    31  <data>
    32   <variable>RunConfiguration0-UserSetName</variable>
    33   <value type="bool">false</value>
    34  </data>
    35  <data>
    36   <variable>RunConfiguration0-UserSetWorkingDirectory</variable>
    37   <value type="bool">false</value>
    38  </data>
    39  <data>
    40   <variable>RunConfiguration0-UserWorkingDirectory</variable>
    41   <value type="QString"></value>
    42  </data>
    43  <data>
    44   <variable>RunConfiguration0-type</variable>
    45   <value type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
    46  </data>
    47  <data>
    48   <variable>activeRunConfiguration</variable>
     4  <variable>ProjectExplorer.Project.ActiveTarget</variable>
    495  <value type="int">0</value>
    506 </data>
    517 <data>
    52   <variable>activebuildconfiguration</variable>
    53   <value type="QString">Debug</value>
    54  </data>
    55  <data>
    56   <variable>buildConfiguration-Debug</variable>
     8  <variable>ProjectExplorer.Project.EditorSettings</variable>
    579  <valuemap type="QVariantMap">
    58    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
    59    <value key="QtVersionId" type="int">0</value>
    60    <value key="ToolChain" type="int">0</value>
    61    <value key="addQDumper" type=""></value>
    62    <value key="buildConfiguration" type="int">2</value>
     10   <value key="EditorConfiguration.Codec" type="QByteArray">System</value>
    6311  </valuemap>
    6412 </data>
    6513 <data>
    66   <variable>buildConfiguration-Release</variable>
     14  <variable>ProjectExplorer.Project.Target.0</variable>
    6715  <valuemap type="QVariantMap">
    68    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
    69    <value key="QtVersionId" type="int">0</value>
    70    <value key="addQDumper" type=""></value>
    71    <value key="buildConfiguration" type="int">0</value>
     16   <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Desktop</value>
     17   <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.DesktopTarget</value>
     18   <value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">0</value>
     19   <value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value>
     20   <valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap">
     21    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
     22     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
     23     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
     24     <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
     25    </valuemap>
     26    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
     27     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
     28     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
     29     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
     30     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
     31     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
     32    </valuemap>
     33    <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
     34    <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
     35     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
     36     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
     37     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
     38     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
     39      <value type="QString">clean</value>
     40     </valuelist>
     41     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
     42    </valuemap>
     43    <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
     44    <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
     45    <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
     46    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Debug</value>
     47    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
     48    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value>
     49    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/nigelm/workspace2/icxml/src/xerces-c-3.1.1/src/symbol_table-build-desktop</value>
     50    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">2</value>
     51    <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value>
     52    <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
     53   </valuemap>
     54   <valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap">
     55    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
     56     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
     57     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
     58     <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
     59    </valuemap>
     60    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
     61     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
     62     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
     63     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
     64     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
     65     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
     66    </valuemap>
     67    <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
     68    <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
     69     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
     70     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
     71     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
     72     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
     73     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
     74    </valuemap>
     75    <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
     76    <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
     77    <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
     78    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Release</value>
     79    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
     80    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
     81    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">/home/nigelm/workspace2/icxml/src/xerces-c-3.1.1/src/symbol_table-build-desktop</value>
     82    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">2</value>
     83    <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">0</value>
     84    <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
     85   </valuemap>
     86   <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</value>
     87   <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
     88    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">symbol_table</value>
     89    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
     90    <value key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase" type="int">2</value>
     91    <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments" type="QVariantList"/>
     92    <value key="Qt4ProjectManager.Qt4RunConfiguration.ProFile" type="QString">symbol_table.pro</value>
     93    <value key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix" type="bool">false</value>
     94    <value key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal" type="bool">false</value>
     95    <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges" type="QVariantList"/>
     96    <value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetName" type="bool">false</value>
     97    <value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetWorkingDirectory" type="bool">false</value>
     98    <value key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory" type="QString"></value>
     99   </valuemap>
     100   <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
    72101  </valuemap>
    73102 </data>
    74103 <data>
    75   <variable>buildconfiguration-Debug-buildstep0</variable>
    76   <valuemap type="QVariantMap">
    77    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
    78   </valuemap>
     104  <variable>ProjectExplorer.Project.TargetCount</variable>
     105  <value type="int">1</value>
    79106 </data>
    80107 <data>
    81   <variable>buildconfiguration-Debug-buildstep1</variable>
    82   <valuemap type="QVariantMap">
    83    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
    84   </valuemap>
    85  </data>
    86  <data>
    87   <variable>buildconfiguration-Debug-cleanstep0</variable>
    88   <valuemap type="QVariantMap">
    89    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
    90    <value key="cleanConfig" type="bool">true</value>
    91    <valuelist key="makeargs" type="QVariantList">
    92     <value type="QString">clean</value>
    93    </valuelist>
    94   </valuemap>
    95  </data>
    96  <data>
    97   <variable>buildconfiguration-Release-buildstep0</variable>
    98   <valuemap type="QVariantMap">
    99    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
    100   </valuemap>
    101  </data>
    102  <data>
    103   <variable>buildconfiguration-Release-buildstep1</variable>
    104   <valuemap type="QVariantMap">
    105    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
    106   </valuemap>
    107  </data>
    108  <data>
    109   <variable>buildconfiguration-Release-cleanstep0</variable>
    110   <valuemap type="QVariantMap">
    111    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Release</value>
    112   </valuemap>
    113  </data>
    114  <data>
    115   <variable>buildconfigurations</variable>
    116   <valuelist type="QVariantList">
    117    <value type="QString">Debug</value>
    118    <value type="QString">Release</value>
    119   </valuelist>
    120  </data>
    121  <data>
    122   <variable>buildstep0</variable>
    123   <valuemap type="QVariantMap">
    124    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
    125    <value key="mkspec" type="QString"></value>
    126   </valuemap>
    127  </data>
    128  <data>
    129   <variable>buildstep1</variable>
    130   <valuemap type="QVariantMap">
    131    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
    132   </valuemap>
    133  </data>
    134  <data>
    135   <variable>buildsteps</variable>
    136   <valuelist type="QVariantList">
    137    <value type="QString">trolltech.qt4projectmanager.qmake</value>
    138    <value type="QString">trolltech.qt4projectmanager.make</value>
    139   </valuelist>
    140  </data>
    141  <data>
    142   <variable>cleanstep0</variable>
    143   <valuemap type="QVariantMap">
    144    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString"></value>
    145    <value key="clean" type="bool">true</value>
    146   </valuemap>
    147  </data>
    148  <data>
    149   <variable>cleansteps</variable>
    150   <valuelist type="QVariantList">
    151    <value type="QString">trolltech.qt4projectmanager.make</value>
    152   </valuelist>
    153  </data>
    154  <data>
    155   <variable>defaultFileEncoding</variable>
    156   <value type="QByteArray">System</value>
    157  </data>
    158  <data>
    159   <variable>project</variable>
    160   <valuemap type="QVariantMap"/>
     108  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
     109  <value type="int">4</value>
    161110 </data>
    162111</qtcreator>
Note: See TracChangeset for help on using the changeset viewer.