| 362 | } |
| 363 | |
| 364 | static inline int wv_get_value_integer(WavpackContext *s, uint32_t *crc, int S) |
| 365 | { |
| 366 | int bit; |
| 367 | |
| 368 | if(s->extra_bits){ |
| 369 | S <<= s->extra_bits; |
| 370 | |
| 371 | if(s->got_extra_bits){ |
| 372 | S |= get_bits(&s->gb_extra_bits, s->extra_bits); |
| 373 | *crc = *crc * 9 + (S&0xffff) * 3 + ((unsigned)S>>16); |
| 374 | } |
| 375 | } |
| 376 | bit = (S & s->and) | s->or; |
| 377 | return (((S + bit) << s->shift) - bit) << s->post_shift; |
| 378 | } |
| 379 | |
| 380 | static float wv_get_value_float(WavpackContext *s, uint32_t *crc, int S) |
| 381 | { |
no test coverage detected