#include <modm/math/algorithm/prescaler.hpp>
 | 
| static constexpr Result  | from_range (T input_frequency, T desired_frequency, std::ranges::forward_range auto &&prescalers) | 
|   | 
| static constexpr Result  | from_list (T input_frequency, T desired_frequency, std::initializer_list< uint32_t > prescalers) | 
|   | 
| template<typename Function >  | 
| static constexpr Result  | from_function (T input_frequency, T desired_frequency, uint32_t begin, uint32_t end, Function prescaler_modifier) | 
|   | 
| static constexpr Result  | from_linear (T input_frequency, T desired_frequency, uint32_t begin, uint32_t end) | 
|   | 
| static constexpr Result  | from_power (T input_frequency, T desired_frequency, uint32_t begin, uint32_t end) | 
|   | 
template<typename T>
class modm::GenericPrescaler< T >
Computes the best fitting prescaler from a list or range.
- Note
 - For ranges the end is inclusive: [begin, end]! 
 
 
template<typename T > 
template<typename Function > 
  
  
      
        
          | static constexpr Result modm::GenericPrescaler< T >::from_function  | 
          ( | 
          T  | 
          input_frequency,  | 
         
        
           | 
           | 
          T  | 
          desired_frequency,  | 
         
        
           | 
           | 
          uint32_t  | 
          begin,  | 
         
        
           | 
           | 
          uint32_t  | 
          end,  | 
         
        
           | 
           | 
          Function  | 
          prescaler_modifier  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestaticconstexpr   | 
  
 
From any linear range via modifier function. 
- Note
 - the range end is inclusive: [begin, end]. 
 
- Precondition
 - begin must be smaller or equal than end! 
 
 
 
template<typename T > 
  
  
      
        
          | static constexpr Result modm::GenericPrescaler< T >::from_linear  | 
          ( | 
          T  | 
          input_frequency,  | 
         
        
           | 
           | 
          T  | 
          desired_frequency,  | 
         
        
           | 
           | 
          uint32_t  | 
          begin,  | 
         
        
           | 
           | 
          uint32_t  | 
          end  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestaticconstexpr   | 
  
 
From any linear range. 
- Note
 - the range end is inclusive: [begin, end]. 
 
- Precondition
 - begin must be smaller or equal than end! 
 
 
 
template<typename T > 
  
  
      
        
          | static constexpr Result modm::GenericPrescaler< T >::from_list  | 
          ( | 
          T  | 
          input_frequency,  | 
         
        
           | 
           | 
          T  | 
          desired_frequency,  | 
         
        
           | 
           | 
          std::initializer_list< uint32_t >  | 
          prescalers  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestaticconstexpr   | 
  
 
From a initializer list. 
- Precondition
 - The list must be sorted from low to high numbers! 
 
 
 
template<typename T > 
  
  
      
        
          | static constexpr Result modm::GenericPrescaler< T >::from_power  | 
          ( | 
          T  | 
          input_frequency,  | 
         
        
           | 
           | 
          T  | 
          desired_frequency,  | 
         
        
           | 
           | 
          uint32_t  | 
          begin,  | 
         
        
           | 
           | 
          uint32_t  | 
          end  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestaticconstexpr   | 
  
 
From any 2-logarithmic range. 
- Note
 - the range end is inclusive: [begin, end]. 
 
- Precondition
 begin and end must be powers of two!  
- 
begin must be smaller or equal than end!  
 
 
template<typename T > 
  
  
      
        
          | static constexpr Result modm::GenericPrescaler< T >::from_range  | 
          ( | 
          T  | 
          input_frequency,  | 
         
        
           | 
           | 
          T  | 
          desired_frequency,  | 
         
        
           | 
           | 
          std::ranges::forward_range auto &&  | 
          prescalers  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestaticconstexpr   | 
  
 
From any forward range. 
- Precondition
 - The container must be sorted from low to high numbers! 
 
 
 
The documentation for this class was generated from the following file: