| 664 | |
| 665 | template <typename RegisterT> |
| 666 | BitpackIntegerDecoder<RegisterT>::BitpackIntegerDecoder( bool isScaledInteger, |
| 667 | unsigned bytestreamNumber, |
| 668 | SourceDestBuffer &dbuf, int64_t minimum, |
| 669 | int64_t maximum, double scale, |
| 670 | double offset, uint64_t maxRecordCount ) : |
| 671 | BitpackDecoder( bytestreamNumber, dbuf, sizeof( RegisterT ), maxRecordCount ), |
| 672 | isScaledInteger_( isScaledInteger ), minimum_( minimum ), maximum_( maximum ), scale_( scale ), |
| 673 | offset_( offset ) |
| 674 | { |
| 675 | // Get pointer to parent ImageFileImpl |
| 676 | ImageFileImplSharedPtr imf( dbuf.impl()->destImageFile() ); //??? should be function for this, |
| 677 | // imf->parentFile() --> ImageFile? |
| 678 | |
| 679 | bitsPerRecord_ = imf->bitsNeeded( minimum_, maximum_ ); |
| 680 | destBitMask_ = |
| 681 | ( bitsPerRecord_ == 64 ) ? ~0 : static_cast<RegisterT>( 1ULL << bitsPerRecord_ ) - 1; |
| 682 | } |
| 683 | |
| 684 | template <typename RegisterT> |
| 685 | size_t BitpackIntegerDecoder<RegisterT>::inputProcessAligned( const char *inbuf, |
nothing calls this directly
no test coverage detected