mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-31 13:00:26 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			425 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			425 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright 2020 Mobilinkd LLC.
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <cstdint>
 | |
| #include <cstddef>
 | |
| 
 | |
| #include "Util.h"
 | |
| 
 | |
| namespace modemm17
 | |
| {
 | |
| 
 | |
| inline constexpr uint32_t convolve_bit(uint32_t poly, uint32_t memory)
 | |
| {
 | |
| 	return popcount(poly & memory) & 1;
 | |
| }
 | |
| 
 | |
| template <size_t K, size_t k = 1>
 | |
| inline constexpr uint32_t update_memory(uint32_t memory, uint32_t input)
 | |
| {
 | |
|     return (memory << k | input) & ((1 << (K + 1)) - 1);
 | |
| }
 | |
| 
 | |
| 
 | |
| } // modemm17
 |