#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
- beginand- endmust be powers of two!
- 
beginmust be smaller or equal thanend!
 
 
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: