Loading...
Searching...
No Matches
dsp::Polynomial< FloatingType > Class Template Reference

A class representing a polynomial. More...

Public Member Functions

 Polynomial ()
 Creates a new polynomial which will always evaluate to zero.
 
 Polynomial (const FloatingType *coefficients, int numCoefficients)
 Creates a new polynomial with given coefficients.
 
 Polynomial (const Polynomial &)=default
 Creates a copy of another polynomial.
 
 Polynomial (Polynomial &&)=default
 Creates a copy of another polynomial.
 
Polynomialoperator= (const Polynomial &)=default
 Creates a copy of another polynomial.
 
Polynomialoperator= (Polynomial &&)=default
 Creates a copy of another polynomial.
 
template<typename... Values>
 Polynomial (Values... items)
 Creates a new polynomial with coefficients by a C++11 initializer list.
 
FloatingType operator[] (int index) const noexcept
 Returns a single coefficient of the receiver for reading.
 
FloatingType & operator[] (int index) noexcept
 Returns a single coefficient of the receiver for modifying.
 
FloatingType operator() (FloatingType x) const noexcept
 Evaluates the value of the polynomial at a single point x.
 
int getOrder () noexcept
 Returns the order of the polynomial.
 
Polynomial< FloatingType > withGain (double gain) const
 Returns the polynomial with all its coefficients multiplied with a gain factor.
 
Polynomial< FloatingType > getSumWith (const Polynomial< FloatingType > &other) const
 Returns the sum of this polynomial with another.
 
Polynomial< FloatingType > getProductWith (const Polynomial< FloatingType > &other) const
 computes the product of two polynomials and return the result
 

Detailed Description

template<typename FloatingType>
class dsp::Polynomial< FloatingType >

A class representing a polynomial.

Constructor & Destructor Documentation

◆ Polynomial() [1/5]

template<typename FloatingType>
dsp::Polynomial< FloatingType >::Polynomial ( )

Creates a new polynomial which will always evaluate to zero.

Referenced by getProductWith(), getSumWith(), operator=(), operator=(), Polynomial(), Polynomial(), and withGain().

◆ Polynomial() [2/5]

template<typename FloatingType>
dsp::Polynomial< FloatingType >::Polynomial ( const FloatingType * coefficients,
int numCoefficients )

Creates a new polynomial with given coefficients.

Parameters
numCoefficientsThe number of coefficients stored in coefficients. This is also the order of the returned polynomial.
coefficientsThe coefficients which will be used by the newly created polynomial. The Polynomial class will keep a private copy of the coefficients.

References jassert.

◆ Polynomial() [3/5]

template<typename FloatingType>
dsp::Polynomial< FloatingType >::Polynomial ( const Polynomial< FloatingType > & )
default

Creates a copy of another polynomial.

References Polynomial().

◆ Polynomial() [4/5]

template<typename FloatingType>
dsp::Polynomial< FloatingType >::Polynomial ( Polynomial< FloatingType > && )
default

Creates a copy of another polynomial.

References Polynomial().

◆ Polynomial() [5/5]

template<typename FloatingType>
template<typename... Values>
dsp::Polynomial< FloatingType >::Polynomial ( Values... items)

Creates a new polynomial with coefficients by a C++11 initializer list.

This function can be used in the following way: Polynomial<float> p ({0.5f, -0.3f, 0.2f});

References jassert.

Member Function Documentation

◆ operator=() [1/2]

template<typename FloatingType>
Polynomial & dsp::Polynomial< FloatingType >::operator= ( const Polynomial< FloatingType > & )
default

Creates a copy of another polynomial.

References Polynomial().

◆ operator=() [2/2]

template<typename FloatingType>
Polynomial & dsp::Polynomial< FloatingType >::operator= ( Polynomial< FloatingType > && )
default

Creates a copy of another polynomial.

References Polynomial().

◆ operator[]() [1/2]

template<typename FloatingType>
FloatingType dsp::Polynomial< FloatingType >::operator[] ( int index) const
noexcept

Returns a single coefficient of the receiver for reading.

◆ operator[]() [2/2]

template<typename FloatingType>
FloatingType & dsp::Polynomial< FloatingType >::operator[] ( int index)
noexcept

Returns a single coefficient of the receiver for modifying.

◆ operator()()

template<typename FloatingType>
FloatingType dsp::Polynomial< FloatingType >::operator() ( FloatingType x) const
noexcept

Evaluates the value of the polynomial at a single point x.

References x, and y.

◆ getOrder()

template<typename FloatingType>
int dsp::Polynomial< FloatingType >::getOrder ( )
noexcept

Returns the order of the polynomial.

◆ withGain()

template<typename FloatingType>
Polynomial< FloatingType > dsp::Polynomial< FloatingType >::withGain ( double gain) const

Returns the polynomial with all its coefficients multiplied with a gain factor.

References Polynomial().

◆ getSumWith()

template<typename FloatingType>
Polynomial< FloatingType > dsp::Polynomial< FloatingType >::getSumWith ( const Polynomial< FloatingType > & other) const

Returns the sum of this polynomial with another.

References getSumWith(), Polynomial(), and Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::size().

Referenced by getSumWith().

◆ getProductWith()

template<typename FloatingType>
Polynomial< FloatingType > dsp::Polynomial< FloatingType >::getProductWith ( const Polynomial< FloatingType > & other) const
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram