JUCE
Public Member Functions | List of all members
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. More...
 
 Polynomial (const FloatingType *coefficients, int numCoefficients)
 Creates a new polynomial with given coefficients. More...
 
 Polynomial (const Polynomial &)=default
 Creates a copy of another polynomial. More...
 
 Polynomial (Polynomial &&)=default
 Creates a copy of another polynomial. More...
 
Polynomialoperator= (const Polynomial &)=default
 Creates a copy of another polynomial. More...
 
Polynomialoperator= (Polynomial &&)=default
 Creates a copy of another polynomial. More...
 
template<typename... Values>
 Polynomial (Values... items)
 Creates a new polynomial with coefficients by a C++11 initializer list. More...
 
FloatingType operator[] (int index) const noexcept
 Returns a single coefficient of the receiver for reading. More...
 
FloatingType & operator[] (int index) noexcept
 Returns a single coefficient of the receiver for modifying. More...
 
FloatingType operator() (FloatingType x) const noexcept
 Evaluates the value of the polynomial at a single point x. More...
 
int getOrder () noexcept
 Returns the order of the polynomial. More...
 
Polynomial< FloatingType > withGain (double gain) const
 Returns the polynomial with all its coefficients multiplied with a gain factor. More...
 
Polynomial< FloatingType > getSumWith (const Polynomial< FloatingType > &other) const
 Returns the sum of this polynomial with another. More...
 
Polynomial< FloatingType > getProductWith (const Polynomial< FloatingType > &other) const
 computes the product of two polynomials and return the result More...
 

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.

References Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::add().

Referenced by dsp::Polynomial< FloatingType >::Polynomial().

◆ 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 Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::isEmpty(), jassert, dsp::Polynomial< FloatingType >::operator=(), and dsp::Polynomial< FloatingType >::Polynomial().

◆ Polynomial() [3/5]

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

Creates a copy of another polynomial.

◆ Polynomial() [4/5]

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

Creates a copy of another 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 Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::isEmpty(), and 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.

Referenced by dsp::Polynomial< FloatingType >::Polynomial().

◆ operator=() [2/2]

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

Creates a copy of another 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.

References Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::getUnchecked().

◆ operator[]() [2/2]

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

Returns a single coefficient of the receiver for modifying.

References Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::getReference().

◆ operator()()

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

◆ getOrder()

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

◆ 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.

◆ getSumWith()

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

◆ getProductWith()

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

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