Bitcoin Core  22.99.0
P2P Digital Currency
Public Member Functions | Private Attributes | List of all members
LinTrans< I, N > Class Template Reference

A Linear N-bit transformation over the field I. More...

#include <lintrans.h>

Public Member Functions

 LinTrans ()=default
 
constexpr LinTrans (I a, I b)
 
constexpr LinTrans (I a, I b, I c)
 
constexpr LinTrans (I a, I b, I c, I d)
 
constexpr LinTrans (I a, I b, I c, I d, I e)
 
constexpr LinTrans (I a, I b, I c, I d, I e, I f)
 
constexpr LinTrans (I a, I b, I c, I d, I e, I f, I g)
 
constexpr LinTrans (I a, I b, I c, I d, I e, I f, I g, I h)
 
constexpr LinTrans (const I *p, Num< 2 >)
 
constexpr LinTrans (const I *p, Num< 3 >)
 
constexpr LinTrans (const I *p, Num< 4 >)
 
constexpr LinTrans (const I *p, Num< 5 >)
 
constexpr LinTrans (const I *p, Num< 6 >)
 
constexpr LinTrans (const I *p, Num< 7 >)
 
constexpr LinTrans (const I *p, Num< 8 >)
 
template<I(*)(const I &) F>
Build (Num< 1 >, I a)
 
template<I(*)(const I &) F>
Build (Num< 2 >, I a)
 
template<I(*)(const I &) F>
Build (Num< 3 >, I a)
 
template<I(*)(const I &) F>
Build (Num< 4 >, I a)
 
template<I(*)(const I &) F>
Build (Num< 5 >, I a)
 
template<I(*)(const I &) F>
Build (Num< 6 >, I a)
 
template<typename O , int P>
constexpr I Map (I a) const
 
template<typename O , int P>
constexpr I TopMap (I a) const
 

Private Attributes

table [1<< N]
 

Detailed Description

template<typename I, int N>
class LinTrans< I, N >

A Linear N-bit transformation over the field I.

Definition at line 16 of file lintrans.h.

Constructor & Destructor Documentation

◆ LinTrans() [1/15]

template<typename I , int N>
LinTrans< I, N >::LinTrans ( )
default

◆ LinTrans() [2/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( a,
b 
)
inlineconstexpr

Definition at line 23 of file lintrans.h.

◆ LinTrans() [3/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( a,
b,
c 
)
inlineconstexpr

Definition at line 24 of file lintrans.h.

◆ LinTrans() [4/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( a,
b,
c,
d 
)
inlineconstexpr

Definition at line 25 of file lintrans.h.

◆ LinTrans() [5/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( a,
b,
c,
d,
e 
)
inlineconstexpr

Definition at line 26 of file lintrans.h.

◆ LinTrans() [6/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( a,
b,
c,
d,
e,
f 
)
inlineconstexpr

Definition at line 27 of file lintrans.h.

◆ LinTrans() [7/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( a,
b,
c,
d,
e,
f,
g 
)
inlineconstexpr

Definition at line 28 of file lintrans.h.

◆ LinTrans() [8/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( a,
b,
c,
d,
e,
f,
g,
h 
)
inlineconstexpr

Definition at line 29 of file lintrans.h.

◆ LinTrans() [9/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( const I *  p,
Num< 2 >   
)
inlineconstexpr

Definition at line 32 of file lintrans.h.

◆ LinTrans() [10/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( const I *  p,
Num< 3 >   
)
inlineconstexpr

Definition at line 33 of file lintrans.h.

◆ LinTrans() [11/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( const I *  p,
Num< 4 >   
)
inlineconstexpr

Definition at line 34 of file lintrans.h.

◆ LinTrans() [12/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( const I *  p,
Num< 5 >   
)
inlineconstexpr

Definition at line 35 of file lintrans.h.

◆ LinTrans() [13/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( const I *  p,
Num< 6 >   
)
inlineconstexpr

Definition at line 36 of file lintrans.h.

◆ LinTrans() [14/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( const I *  p,
Num< 7 >   
)
inlineconstexpr

Definition at line 37 of file lintrans.h.

◆ LinTrans() [15/15]

template<typename I , int N>
constexpr LinTrans< I, N >::LinTrans ( const I *  p,
Num< 8 >   
)
inlineconstexpr

Definition at line 38 of file lintrans.h.

Member Function Documentation

◆ Build() [1/6]

template<typename I , int N>
template<I(*)(const I &) F>
I LinTrans< I, N >::Build ( Num< 1 >  ,
a 
)
inline

Definition at line 41 of file lintrans.h.

◆ Build() [2/6]

template<typename I , int N>
template<I(*)(const I &) F>
I LinTrans< I, N >::Build ( Num< 2 >  ,
a 
)
inline

Definition at line 48 of file lintrans.h.

◆ Build() [3/6]

template<typename I , int N>
template<I(*)(const I &) F>
I LinTrans< I, N >::Build ( Num< 3 >  ,
a 
)
inline

Definition at line 56 of file lintrans.h.

◆ Build() [4/6]

template<typename I , int N>
template<I(*)(const I &) F>
I LinTrans< I, N >::Build ( Num< 4 >  ,
a 
)
inline

Definition at line 64 of file lintrans.h.

◆ Build() [5/6]

template<typename I , int N>
template<I(*)(const I &) F>
I LinTrans< I, N >::Build ( Num< 5 >  ,
a 
)
inline

Definition at line 73 of file lintrans.h.

◆ Build() [6/6]

template<typename I , int N>
template<I(*)(const I &) F>
I LinTrans< I, N >::Build ( Num< 6 >  ,
a 
)
inline

Definition at line 84 of file lintrans.h.

◆ Map()

template<typename I , int N>
template<typename O , int P>
constexpr I LinTrans< I, N >::Map ( a) const
inlineconstexpr

Definition at line 99 of file lintrans.h.

◆ TopMap()

template<typename I , int N>
template<typename O , int P>
constexpr I LinTrans< I, N >::TopMap ( a) const
inlineconstexpr

Definition at line 102 of file lintrans.h.

Member Data Documentation

◆ table

template<typename I , int N>
I LinTrans< I, N >::table[1<< N]
private

Definition at line 18 of file lintrans.h.


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