Primary module interface unit for module divisors.
More...
#include <algorithm>
#include <cassert>
#include <vector>
import prime_decomposition;
import base;
Primary module interface unit for module divisors.
◆ count_divisors()
template<Integer T>
|
|
nodiscardconstexprexportnoexcept |
Counts the number of divisors of a given number n.
- Template Parameters
-
- Parameters
-
| factors | The prime decomposition of n. |
- Returns
- The number of divisors of n.
◆ divisor_function()
template<Integer T, Integer Exp>
| T ntlib::divisor_function |
( |
const prime_factors< T > & | factors, |
|
|
Exp | x ) |
|
nodiscardconstexprexportnoexcept |
Computes the divisor function for a given number n.
The divisor function for n is defined as \(\sigma_x(n) = \sum_{d \mid n} d^x\).
- Template Parameters
-
| T | An integer-like type. |
| Exp | An integer-like type. |
- Parameters
-
| factors | The prime decomposition of n. |
| x | The power to which all divisors should be taken. Must be non-negative. |
- Returns
- The value of \(\sigma_x(n)\).
◆ enumerate_divisors()
template<Integer T>
| std::vector< T > ntlib::enumerate_divisors |
( |
const prime_factors< T > & | factors | ) |
|
|
nodiscardconstexprexport |
Enumerates all divisors of a given number n.
In particular, this is equal to \(\sigma_0(n)\).
- Template Parameters
-
- Parameters
-
| factors | The prime decomposition of n. |
- Returns
- All divisors of n.