#ifndef POLYNOMIAL_HPP #define POLYNOMIAL_HPP #include #include #include "../AttractorKernel.hpp" class Polynomial : public AttractorKernel { double * myParameters; double * vectorNew; double * vectorOld; unsigned int dimension; unsigned int orde; unsigned int numberOfParameters; void init(); void calculateNumberOfParameters(); void recur(unsigned int curr_dimension, unsigned int prev_i, unsigned int n, unsigned int& m, double prev_product=1.0); public: Polynomial(); Polynomial(const unsigned int dimensions, const unsigned int orde); // parameters are stored in a array of doubles // if you want to use other types, use the properties virtual double& parameter(const unsigned int index); virtual double*& parameters(); virtual unsigned int getNumberOfParameters(); // get properties of the attractor // such as the dimension // you should delete the void pointer if you used it virtual void * getProperty(const string identifier); virtual void setProperty(const string identifier, const void * value); // iterate his formula // vector pointers will be swapped! so new remains new and old remains old virtual void iterate(); // getter functions for teh resulta virtual double * & vector(); virtual double * & previousVector(); }; #endif // POLYNOMIAL_HPP