FflasFfpack
ScalFunctions< Element > Struct Template Reference
Inheritance diagram for ScalFunctions< Element >:

Public Types

using vectElt = vector<Element>

Static Public Member Functions

static void genInputs (vector< vectElt > &inputs)
static void genInputsWithZero (vector< vectElt > &inputs)
static Element zero ()
static Element vand (Element x1, Element x2)
static Element vor (Element x1, Element x2)
static Element vxor (Element x1, Element x2)
static Element vandnot (Element x1, Element x2)
static Element add (Element x1, Element x2)
static Element addin (Element &x1, Element x2)
static Element sub (Element x1, Element x2)
static Element subin (Element &x1, Element x2)
static Element mul (Element x1, Element x2)
static Element mulin (Element &x1, Element x2)
static Element div (Element x1, Element x2)
static Element fmadd (Element x1, Element x2, Element x3)
static Element fmaddin (Element &x1, Element x2, Element x3)
static Element fmsub (Element x1, Element x2, Element x3)
static Element fmsubin (Element &x1, Element x2, Element x3)
static Element fnmadd (Element x1, Element x2, Element x3)
static Element fnmaddin (Element &x1, Element x2, Element x3)
static Element lesser (Element x1, Element x2)
static Element lesser_eq (Element x1, Element x2)
static Element greater (Element x1, Element x2)
static Element greater_eq (Element x1, Element x2)
static Element eq (Element x1, Element x2)
static vectElt unpacklo (vectElt a, vectElt b)
static vectElt unpackhi (vectElt a, vectElt b)
static void unpacklohi (vectElt &lo, vectElt &hi, vectElt a, vectElt b)
static vectElt pack_even (vectElt a, vectElt b)
static vectElt pack_odd (vectElt a, vectElt b)
static void pack (vectElt &even, vectElt &odd, vectElt a, vectElt b)
template<uint16_t s>
static vectElt blend (vectElt a, vectElt b)

Member Typedef Documentation

◆ vectElt

template<typename Element>
using vectElt = vector<Element>

Member Function Documentation

◆ genInputs()

template<typename Element>
void genInputs ( vector< vectElt > & inputs)
inlinestatic

◆ genInputsWithZero()

template<typename Element>
void genInputsWithZero ( vector< vectElt > & inputs)
inlinestatic

◆ zero()

template<typename Element>
Element zero ( )
inlinestatic

◆ vand()

template<typename Element>
Element vand ( Element x1,
Element x2 )
inlinestatic

◆ vor()

template<typename Element>
Element vor ( Element x1,
Element x2 )
inlinestatic

◆ vxor()

template<typename Element>
Element vxor ( Element x1,
Element x2 )
inlinestatic

◆ vandnot()

template<typename Element>
Element vandnot ( Element x1,
Element x2 )
inlinestatic

◆ add()

template<typename Element>
Element add ( Element x1,
Element x2 )
inlinestatic

◆ addin()

template<typename Element>
Element addin ( Element & x1,
Element x2 )
inlinestatic

◆ sub()

template<typename Element>
Element sub ( Element x1,
Element x2 )
inlinestatic

◆ subin()

template<typename Element>
Element subin ( Element & x1,
Element x2 )
inlinestatic

◆ mul()

template<typename Element>
Element mul ( Element x1,
Element x2 )
inlinestatic

◆ mulin()

template<typename Element>
Element mulin ( Element & x1,
Element x2 )
inlinestatic

◆ div()

template<typename Element>
Element div ( Element x1,
Element x2 )
inlinestatic

◆ fmadd()

template<typename Element>
Element fmadd ( Element x1,
Element x2,
Element x3 )
inlinestatic

◆ fmaddin()

template<typename Element>
Element fmaddin ( Element & x1,
Element x2,
Element x3 )
inlinestatic

◆ fmsub()

template<typename Element>
Element fmsub ( Element x1,
Element x2,
Element x3 )
inlinestatic

◆ fmsubin()

template<typename Element>
Element fmsubin ( Element & x1,
Element x2,
Element x3 )
inlinestatic

◆ fnmadd()

template<typename Element>
Element fnmadd ( Element x1,
Element x2,
Element x3 )
inlinestatic

◆ fnmaddin()

template<typename Element>
Element fnmaddin ( Element & x1,
Element x2,
Element x3 )
inlinestatic

◆ lesser()

template<typename Element>
Element lesser ( Element x1,
Element x2 )
inlinestatic

◆ lesser_eq()

template<typename Element>
Element lesser_eq ( Element x1,
Element x2 )
inlinestatic

◆ greater()

template<typename Element>
Element greater ( Element x1,
Element x2 )
inlinestatic

◆ greater_eq()

template<typename Element>
Element greater_eq ( Element x1,
Element x2 )
inlinestatic

◆ eq()

template<typename Element>
Element eq ( Element x1,
Element x2 )
inlinestatic

◆ unpacklo()

template<typename Element>
vectElt unpacklo ( vectElt a,
vectElt b )
inlinestatic

◆ unpackhi()

template<typename Element>
vectElt unpackhi ( vectElt a,
vectElt b )
inlinestatic

◆ unpacklohi()

template<typename Element>
void unpacklohi ( vectElt & lo,
vectElt & hi,
vectElt a,
vectElt b )
inlinestatic

◆ pack_even()

template<typename Element>
vectElt pack_even ( vectElt a,
vectElt b )
inlinestatic

◆ pack_odd()

template<typename Element>
vectElt pack_odd ( vectElt a,
vectElt b )
inlinestatic

◆ pack()

template<typename Element>
void pack ( vectElt & even,
vectElt & odd,
vectElt a,
vectElt b )
inlinestatic

◆ blend()

template<typename Element>
template<uint16_t s>
vectElt blend ( vectElt a,
vectElt b )
inlinestatic

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