#include #include #include "add.h" #include "solve.h" inline int solve1(double (*f) (double), double a, double b, double e, int M, double* x) { double y1=0; double y2=0; if (eq(a,b)) { if (f(a)fabs(y)) { return -1; } /*/ y=y_new; } return -1; } inline int solve3(double (*f) (double), double a, double b, double e, int M, double* x) { double y1=0; double y2=0; if (eq(a,b)) { if (f(a)a && c>b) { a=b; y1=y2; b=c; y2=y3; } else if (c=a && p<=c) { a=p; y1=y_p; b=c; y2=y3; } else if (p<=c && p<=b) { a=c; y1=y3; b=p; y2=y_p; } else { a=b; y1=y2; b=p; y2=y_p; } } return -1; } inline int solve6(double (*f) (double), int m, double* d, double a, double b, double e, int M, double *x) { double y1=0; double y2=0; if (m<1) return -1; if (eq(a,b)) { if (f(a)b) { a=b; y1=y2; b=p; y2=y_p; } else { int pos=(p-a)/h; a=a+pos*h; y1=d[pos+(m+1)]; b=a+(pos+1)*h; y2=d[pos+1+(m+1)]; } } return -1; } inline int solve7(double (*f) (double), double x0, double e, int M, double* x) { double last_x0=1e300; for (int i=0; ifabs(x0-last_x0)) { return -1; } if (fabs(y-x0)=0) { return -1; } x_max=-B/2/A; y_max=f(x_max); if (x_maxa && x_maxc && x_maxb) { a=b; y1=y2; b=x_max; y2=y_max; } else { *x=x_max; return i; } if (b-a