我正在编写一个 C++ 程序,我在其中定义了一个函数在哪里是重载函数,是可变的最优参数。
该程序是通过使用 ADOL-C 的自动微分导出的。我想知道在实现该功能时是否应该小心关于分支和循环。
我会创建函数:
template <class Tdouble> Tdouble myfunF ( Tdouble t, Tdouble *tis, int nbti)
{
Tdouble res = 0.;
double ri = 0.;
for(int id=0;i<nbti;++i)
{
ri = ...;
if (t>ti){
res = res + ri;
}
}
return res ;
}
Tdouble类型类似于 ADOL-C 中的adouble类型。如何分析这种构造是否适合使用 ADOL-C 进行自动微分并重写代码?