Laguerre polynomials
Loading...
Searching...
No Matches
Laguerre Namespace Reference

Classes

class  Generator
 
class  ModifiedLaguerre13
 
class  ModifiedLaguerre18
 
class  Original
 
class  Polynomial
 

Functions

template<typename ... T>
bool anynotfinite (T &&... t)
 Check if at least one number is not finite.
 
template<typename T >
bool complexnotfinite (complex< T > a, T big)
 Check if a complex number contains NaN or Inf values.
 
template<typename ... T>
bool anycomplex (T &&... t)
 Check if at least one complex number has imaginary part.
 
template<typename T >
bool anycomplex (vector< complex< T > > vec)
 Check if at least one number in complex vector has imaginary part.
 
template<typename number >
int sign (number val)
 Sign.
 
template<typename number >
number fms (number a, number b, number c, number d)
 Fused multiply-substract a*b+(-d*c)+d*c+(-d*c)
 
template<typename number >
complex< numberfms (std::complex< number > a, std::complex< number > b, std::complex< number > c, std::complex< number > d)
 Fused multiply-substract for complex numbers.
 
template<typename number >
complex< numberfma (complex< number > a, complex< number > b, complex< number > c)
 Fused multiply-add for complex numbers.
 
template<typename number >
complex< numberfma (std::complex< number > a, std::complex< number > b, number c)
 Fused multiply-substract for complex&real numbers.
 
template<typename number >
complex< numberfma (complex< number > a, number b, complex< number > c)
 Fused multiply-substract for complex&real numbers.
 
template<typename number >
complex< numberfma (number a, number b, complex< number > c)
 Fused multiply-substract for complex&real numbers.
 
template<typename number >
complex< numberfma (complex< number > a, number b, number c)
 Fused multiply-substract for complex&real numbers.
 
template<typename number >
void printVec (vector< number > vec)
 Print out vector.
 
template<typename number , typename T >
vector< numbercastVec (vector< T > vec)
 Convert vector<T> to vector<number>
 
template<typename T >
vector< T > diff (vector< T > coeffs, int deg=1)
 Diff vector.
 
template<typename T >
void divide (vector< T > dividend, vector< T > divisor, vector< T > &quotient, vector< T > &remainder)
 Divide vectors (coefficients of polynomials)
 
template<typename T >
void getRemainder (vector< T > dividend, vector< T > divisor, vector< T > &remainder)
 Divide vectors (coefficients of polynomials)
 

Function Documentation

◆ anycomplex() [1/2]

template<typename ... T>
bool Laguerre::anycomplex ( T &&... t)
inline

Check if at least one complex number has imaginary part.

◆ anycomplex() [2/2]

template<typename T >
bool Laguerre::anycomplex ( vector< complex< T > > vec)
inline

Check if at least one number in complex vector has imaginary part.

◆ anynotfinite()

template<typename ... T>
bool Laguerre::anynotfinite ( T &&... t)
inline

Check if at least one number is not finite.

◆ castVec()

template<typename number , typename T >
vector< number > Laguerre::castVec ( vector< T > vec)
inline

Convert vector<T> to vector<number>

Returns
new vector of template type <number>

◆ complexnotfinite()

template<typename T >
bool Laguerre::complexnotfinite ( complex< T > a,
T big )

Check if a complex number contains NaN or Inf values.

◆ diff()

template<typename T >
vector< T > Laguerre::diff ( vector< T > coeffs,
int deg = 1 )
inline

Diff vector.

Returns
new vector of template type <T>

◆ divide()

template<typename T >
void Laguerre::divide ( vector< T > dividend,
vector< T > divisor,
vector< T > & quotient,
vector< T > & remainder )
inline

Divide vectors (coefficients of polynomials)

◆ fma() [1/5]

template<typename number >
complex< number > Laguerre::fma ( complex< number > a,
complex< number > b,
complex< number > c )
inline

Fused multiply-add for complex numbers.

Returns
a*b+c

◆ fma() [2/5]

template<typename number >
complex< number > Laguerre::fma ( complex< number > a,
number b,
complex< number > c )
inline

Fused multiply-substract for complex&real numbers.

Returns
a*b+c

◆ fma() [3/5]

template<typename number >
complex< number > Laguerre::fma ( complex< number > a,
number b,
number c )
inline

Fused multiply-substract for complex&real numbers.

Returns
a*b+c

◆ fma() [4/5]

template<typename number >
complex< number > Laguerre::fma ( number a,
number b,
complex< number > c )
inline

Fused multiply-substract for complex&real numbers.

Returns
a*b+c

◆ fma() [5/5]

template<typename number >
complex< number > Laguerre::fma ( std::complex< number > a,
std::complex< number > b,
number c )
inline

Fused multiply-substract for complex&real numbers.

Returns
a*b+c

◆ fms() [1/2]

template<typename number >
number Laguerre::fms ( number a,
number b,
number c,
number d )
inline

Fused multiply-substract a*b+(-d*c)+d*c+(-d*c)

◆ fms() [2/2]

template<typename number >
complex< number > Laguerre::fms ( std::complex< number > a,
std::complex< number > b,
std::complex< number > c,
std::complex< number > d )
inline

Fused multiply-substract for complex numbers.

◆ getRemainder()

template<typename T >
void Laguerre::getRemainder ( vector< T > dividend,
vector< T > divisor,
vector< T > & remainder )
inline

Divide vectors (coefficients of polynomials)

◆ printVec()

template<typename number >
void Laguerre::printVec ( vector< number > vec)
inline

Print out vector.

◆ sign()

template<typename number >
int Laguerre::sign ( number val)
inline

Sign.