int countBits ( int startBit ) { countBits = replicationCountSize ; this . startBit = new int [ nrows ] ; for ( int i = 0 ; i < nrows ; i ++ ) { this . startBit [ i ] = startBit + countBits ; if ( debug ) System . out . println ( " BitCounterUncompressed row " + i + " startBit=" + this . startBit [ i ] ) ; for ( DataDescriptor nd : parent . subKeys ) { BitCounterUncompressed [ ] bitCounter = ( subCounters == null ) ? null : subCounters . get ( nd ) ; if ( bitCounter == null ) // a regular field countBits += nd . getBitWidth ( ) ; else { if ( debug ) System . out . println ( " ---------> nested " + nd . getFxyName ( ) + " starts at =" + ( startBit + countBits ) ) ; countBits += bitCounter [ i ] . countBits ( startBit + countBits ) ; if ( debug ) System . out . println ( " <--------- nested " + nd . getFxyName ( ) + " ends at =" + ( startBit + countBits ) ) ; } } } return countBits ; }
total bits of this table and all subtables