Givaro
Namespaces | Functions
rumul.h File Reference
#include "ruruint.h"
#include "rucmp.h"
+ Include dependency graph for rumul.h:
+ This graph shows which files directly or indirectly include this file:

Namespaces

 RecInt
 NOTE : For this common file, either basic/reduc.h or mg/reduc.h has to be pre-included.
 

Functions

template<size_t K>
ruint< K > & operator*= (ruint< K > &, const ruint< K > &)
 
template<size_t K, typename T >
std::enable_if< std::is_unsigned< T >::value, ruint< K > & >::type operator*= (ruint< K > &, const T &)
 
template<size_t K, typename T >
std::enable_if< std::is_signed< T >::value, ruint< K > & >::type operator*= (ruint< K > &, const T &)
 
template<size_t K>
ruint< K > operator* (const ruint< K > &, const ruint< K > &)
 
template<size_t K, typename T >
std::enable_if< std::is_unsigned< T >::value, ruint< K > >::type operator* (const ruint< K > &, const T &)
 
template<size_t K, typename T >
std::enable_if< std::is_unsigned< T >::value, ruint< K > >::type operator* (const T &, const ruint< K > &)
 
template<size_t K, typename T >
std::enable_if< std::is_signed< T >::value, ruint< K > >::type operator* (const ruint< K > &, const T &)
 
template<size_t K, typename T >
std::enable_if< std::is_signed< T >::value, ruint< K > >::type operator* (const T &, const ruint< K > &)
 
template<size_t K>
void lmul_naive (ruint< K+1 > &a, const ruint< K > &b, const ruint< K > &c)
 
template<size_t K>
void lmul_naive (ruint< K > &ah, ruint< K > &al, const ruint< K > &b, const ruint< K > &c)
 
template<size_t K>
void lmul_kara (ruint< K+1 > &a, const ruint< K > &b, const ruint< K > &c)
 
template<size_t K>
void lmul_kara (ruint< K > &ah, ruint< K > &al, const ruint< K > &b, const ruint< K > &c)
 
template<size_t K>
void lmul (ruint< K+1 > &a, const ruint< K > &b, const ruint< K > &c)
 
template<size_t K>
void lmul (ruint< K > &ah, ruint< K > &al, const ruint< K > &b, const ruint< K > &c)
 
template<size_t K, typename T >
std::enable_if< std::is_arithmetic< T >::value, void >::type lmul (ruint< K+1 > &a, const ruint< K > &b, const T &c)
 
template<size_t K, typename T >
std::enable_if< std::is_arithmetic< T >::value, void >::type lmul (limb &ah, ruint< K > &al, const ruint< K > &b, const T &c)
 
template<size_t K>
ruint< K > & mul (ruint< K > &a, const ruint< K > &b, const ruint< K > &c)
 
template<size_t K>
ruint< K > & mul (ruint< K > &a, const ruint< K > &c)
 
template<size_t K, typename T >
std::enable_if< std::is_arithmetic< T >::value, ruint< K > & >::type mul (ruint< K > &a, const ruint< K > &b, const T &c)
 
template<size_t K, typename T >
std::enable_if< std::is_arithmetic< T >::value, ruint< K > & >::type mul (ruint< K > &a, const T &c)
 
template<size_t K>
ruint< K+1 > & lsquare (ruint< K+1 > &a, const ruint< K > &b)
 
template<size_t K>
ruint< K > & square (ruint< K > &al, const ruint< K > &b)
 
template<>
void lmul_naive (ruint< 6 > &ah, ruint< 6 > &al, const ruint< 6 > &b, const ruint< 6 > &c)
 
template<>
void lmul_kara (ruint< 6 > &ah, ruint< 6 > &al, const ruint< 6 > &b, const ruint< 6 > &c)
 
template<>
void lmul (ruint< 6 > &ah, ruint< 6 > &al, const ruint< 6 > &b, const ruint< 6 > &c)
 
template<typename T >
std::enable_if< std::is_arithmetic< T >::value, void >::type lmul (limb &ret, ruint< 6 > &a, const ruint< 6 > &b, const T &c)
 
template<>
ruint< 6 > & mul (ruint< 6 > &al, const ruint< 6 > &b, const ruint< 6 > &c)
 
template<>
ruint< 6 > & mul (ruint< 6 > &al, const ruint< 6 > &c)
 
template<>
ruint< 6+1 > & lsquare (ruint< 6+1 > &a, const ruint< 6 > &b)
 
template<>
ruint< 6 > & square (ruint< 6 > &al, const ruint< 6 > &b)