Jet<Type> operator-(Jet<Type>& left, Jet<Type>& right) { if(left.length() != right.length() ) throw; // Krzycz o problemach Jet<Type> middle(left.length()); for(int i = 0; i < left.length(); i++) { middle.set(i, left.get(i) - right.get(i)); } return middle; }
Jet<Type> operator*(Jet<Type>& left, Jet<Type>& right) { if(left.length() != right.length() ) throw; // Krzycz o problemach Jet<Type> middle(left.length()); for(int i = 0; i < left.length(); i++) { Type acc = Type(); for(int j = 0; j <= i; j ++) { acc += left.get(j) * right.get(i - j); } middle.set(i, acc); } return middle; }
Type getTaylor(const Jet<Type> &jet, const Type &x0, const Type &x, int n = -1) { Type out = 0; Type powerAcc = 1; if(n == -1) n = jet.length(); for(int i = 0; i < n; i++) { out += jet.get(i) * powerAcc; powerAcc *= (x - x0); } return out; }