|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
One step of fast doubling, \((F(j), F(j+1))\) modulo m to \((F(2j), F(2j+1))\) or \((F(2j+1), F(2j+2))\) by bit i of k: \(F(2j) = F(j)(2F(j+1) - F(j))\), \(F(2j+1) = F(j)^2 + F(j+1)^2\).
More...

Public Member Functions | |
| constexpr std::array< N, 2 > | operator() (std::array< N, 2 > p, N i) const |
Public Attributes | |
| N | k |
| N | m |
| N | w |
One step of fast doubling, \((F(j), F(j+1))\) modulo m to \((F(2j), F(2j+1))\) or \((F(2j+1), F(2j+2))\) by bit i of k: \(F(2j) = F(j)(2F(j+1) - F(j))\), \(F(2j+1) = F(j)^2 + F(j+1)^2\).