1#ifndef POLYNOMIALGENERATOR_H 
    2#define POLYNOMIALGENERATOR_H 
   68    typedef std::vector<std::complex<T>> (*rootsGeneratorPtr)(int, T, T, T);
 
   72        int count = roots.size();
 
   74            return Polynomial<T>(-roots[0].real(), 
static_cast<T
>(1));
 
   78            auto mid_begin = roots.begin() + mid;
 
   79            auto end = roots.end();
 
   82            return left_poly*right_poly;
 
 
   86    static std::vector<std::complex<T>> 
basicRootGeneration(
int count = 3, T from = 0, T to = 1, T delta=1){
 
   87        std::uniform_real_distribution<double> distribution(from, to);
 
   88        std::random_device rd;
 
   89        std::default_random_engine generator(rd());
 
   90        std::vector<std::complex<T>> roots;
 
   91        for(
int i = 0; i < count; ++i)
 
   92            roots.push_back(distribution(generator)*delta);
 
 
  121    static std::vector<T> 
generateRoots(
int count = 3, T from = 0, T to = 1, T delta=1){
 
 
  127            throw std::invalid_argument(
"Cant create polynomial from zero given roots.");
 
 
  133    template<
typename... Args>
 
  138    static Polynomial<T> 
gen(
int count = 3, T from = 1, T to = 3, T delta=1){
 
 
 
Definition PolynomialGenerator.h:61
static rootsGeneratorPtr currentRootsGenerator()
Definition PolynomialGenerator.h:105
std::vector< std::complex< T > >(* rootsGeneratorPtr)(int, T, T, T)
Definition PolynomialGenerator.h:68
static Polynomial< T > gen(int count=3, T from=1, T to=3, T delta=1)
Definition PolynomialGenerator.h:138
static void setCoeffGenerator(coeffGeneratorPtr func)
Definition PolynomialGenerator.h:113
static std::vector< T > generateRoots(int count=3, T from=0, T to=1, T delta=1)
Definition PolynomialGenerator.h:121
static coeffGeneratorPtr currentCoeffGenerator()
Definition PolynomialGenerator.h:97
static Polynomial< T > createFromRoots(Args...args)
Definition PolynomialGenerator.h:134
static void setRootsGenerator(rootsGeneratorPtr func)
Definition PolynomialGenerator.h:117
static rootsGeneratorPtr rootsGenerator
Definition PolynomialGenerator.h:69
Polynomial< T >(* coeffGeneratorPtr)(std::vector< std::complex< T > >)
Definition PolynomialGenerator.h:64
static Polynomial< T > basicCoeffsGeneration(std::vector< std::complex< T > > roots)
Definition PolynomialGenerator.h:71
static Polynomial< T > createFromRoots(std::vector< std::complex< T > > args)
Definition PolynomialGenerator.h:125
static std::vector< std::complex< T > > basicRootGeneration(int count=3, T from=0, T to=1, T delta=1)
Definition PolynomialGenerator.h:86
static coeffGeneratorPtr coeffGenerator
Definition PolynomialGenerator.h:65
Definition Polynomial.h:16
Definition ExtendedFunctions.h:14