linbox
KaratsubaMulDomain< _Field > Class Template Reference

#include <matpoly-mult.h>

Public Types

typedef _Field Field
 

Public Member Functions

const Fieldfield () const
 
 KaratsubaMulDomain (const Field &F)
 
template<class Polynomial1, class Polynomial2, class Polynomial3>
void mul (Polynomial1 &a, const Polynomial2 &b, const Polynomial3 &c)
 
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproduct (Polynomial1 &a, const Polynomial2 &b, const Polynomial3 &c)
 
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproductgen (Polynomial1 &a, const Polynomial2 &b, const Polynomial3 &c)
 

Protected Member Functions

template<class Polynomial1, class Polynomial2, class Polynomial3>
void Karatsuba_mul (Polynomial1 &C, size_t shiftC, const Polynomial2 &A, size_t shiftA, size_t degA, const Polynomial3 &B, size_t shiftB, size_t degB)
 
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproduct_Karatsuba (Polynomial1 &C, const Polynomial2 &A, const Polynomial3 &B)
 
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproduct_Karatsubagen (Polynomial1 &C, const Polynomial2 &A, const Polynomial3 &B)
 

Member Typedef Documentation

◆ Field

template<class _Field>
typedef _Field Field

Constructor & Destructor Documentation

◆ KaratsubaMulDomain()

template<class _Field>
KaratsubaMulDomain ( const Field & F)
inline

Member Function Documentation

◆ field()

template<class _Field>
const Field & field ( ) const
inline

◆ mul()

template<class _Field>
template<class Polynomial1, class Polynomial2, class Polynomial3>
void mul ( Polynomial1 & a,
const Polynomial2 & b,
const Polynomial3 & c )
inline

◆ midproduct()

template<class _Field>
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproduct ( Polynomial1 & a,
const Polynomial2 & b,
const Polynomial3 & c )
inline

◆ midproductgen()

template<class _Field>
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproductgen ( Polynomial1 & a,
const Polynomial2 & b,
const Polynomial3 & c )
inline

◆ Karatsuba_mul()

template<class _Field>
template<class Polynomial1, class Polynomial2, class Polynomial3>
void Karatsuba_mul ( Polynomial1 & C,
size_t shiftC,
const Polynomial2 & A,
size_t shiftA,
size_t degA,
const Polynomial3 & B,
size_t shiftB,
size_t degB )
inlineprotected

◆ midproduct_Karatsuba()

template<class _Field>
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproduct_Karatsuba ( Polynomial1 & C,
const Polynomial2 & A,
const Polynomial3 & B )
inlineprotected

◆ midproduct_Karatsubagen()

template<class _Field>
template<class Polynomial1, class Polynomial2, class Polynomial3>
void midproduct_Karatsubagen ( Polynomial1 & C,
const Polynomial2 & A,
const Polynomial3 & B )
inlineprotected

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