Program Listing for File continued_fraction.cpp¶
↰ Return to documentation for file (src_ed/continued_fraction.cpp)
#include "continued_fraction.hpp"
continued_fraction::continued_fraction()
{
}
continued_fraction::continued_fraction(const vector<double>& _a, const vector<double>& _b) : a(_a), b(_b) {}
continued_fraction::continued_fraction(vector<double>& _a, vector<double>& _b, double e0, double norm, bool create) : a(_a), b(_b)
{
for(size_t i=0; i< b.size(); ++i) b[i] *= b[i];
b[0] = norm;
if(create) for(size_t i=0; i< a.size(); ++i) a[i] -= e0;
else for(size_t i=0; i< a.size(); ++i) a[i] = -a[i] + e0;
}
Complex continued_fraction::evaluate(Complex z)
{
Complex G(0.0);
for(int i=(int)a.size()-1; i>=0 ; i--) G = b[i]/(z-a[i]-G);
return G;
}