39 #ifndef NAVMSGDATAWORDS_HPP
40 #define NAVMSGDATAWORDS_HPP
57 template <std::
size_t WordSize = 30>
69 uint32_t
getBits(
unsigned start,
unsigned num)
const override;
75 void dump(std::ostream& s,
unsigned totalBits)
const override;
82 template <std::
size_t WordSize>
84 getBits(
unsigned start,
unsigned num)
const
89 uint32_t fbmodN = (start % WordSize);
90 return ((sf[start/WordSize] & (((uint32_t)-1) >> (fbmodN+1))) >>
95 template <std::
size_t WordSize>
97 dump(std::ostream& s,
unsigned totalBits)
const
99 unsigned numWords = ceil((
double)totalBits / (
double)WordSize);
100 s << std::hex << std::setfill(
'0');
103 s <<
"0x" << std::setw(8) << sf[j] <<
" ";
105 s << std::dec << std::setfill(
' ') <<
" ";
110 #endif // NAVMSGDATAWORDS_HPP