Я работаю над этим кодом C ++:
double robCalculation::calcsomePoad(double freq, double t, double w,
double b, double L, double a, double d, double p, double xbol, double
n, double m, double sigma, double intval, bool RungeVal)
{
auto c0 = 299792458;
auto mue_r = 1.000023;
auto lambda = c0/freq;
dcomp v0(1.0,0.0);
auto z0 = 120*M_PI;
dcomp Z0(z0,0.0);
dcomp j(0.0,1.0);
auto we = w - ((5*t*(1+log(4*M_PI*w/t))) / (4 *M_PI));
auto kc = we / b;
auto temp = pow((1-kc*kc),0.25);
auto temp2 = (2+2*temp) / (1-temp);
auto temp3 = 1/log(temp2);
auto Z0s = 120*M_PI*M_PI * temp3;
auto k0 = 2.0*M_PI / lambda;
dcomp ZL=dcomp(1.0,1.0)*pow(((M_PI*freq*mue_r)/sigma),0.5);
auto l=L;
auto temp4=(a-L)/2;
auto xmin=temp4;
auto xmax=temp4+l;
double temp6 = 0;
.
.
.
}
, поскольку вы можете видеть, что исчисление зависит от переменной в предыдущей строке.
Мой вопрос заключается в следующем: есть ликакой-нибудь алгоритм, API, методику вы можете посоветовать мне оптимизировать этот код и сделать исчисление меньше в "водопаде"?