Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::detail_periodic::Double< N > Struct Template Reference

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...

Collaboration diagram for dedekind::category::detail_periodic::Double< N >:

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

Detailed Description

template<IsCountWord N>
struct dedekind::category::detail_periodic::Double< N >

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\).


The documentation for this struct was generated from the following file: