本文整理汇总了C++中Bundle::obs方法的典型用法代码示例。如果您正苦于以下问题:C++ Bundle::obs方法的具体用法?C++ Bundle::obs怎么用?C++ Bundle::obs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bundle
的用法示例。
在下文中一共展示了Bundle::obs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: NAN_ERROR
template<class Obs, class Bundle> double cost(const Bundle& bundle)
{
const auto nb_obs = bundle.template at_obs<Obs>().size();
if (nb_obs==0) return 0;
// std::cout << " cost without save " << std::endl;
double total = 0;
// #pragma omp parallel for reduction(+:total) if(use_omp())
for(auto iobs = bundle.template at_obs<Obs>().first() ; iobs < nb_obs ; ++iobs)
{
//total += (make_function(bundle.obs(iobs))(bundle.map(iobs))).squaredNorm() / 2;
auto pair_residu = make_function(bundle.obs(iobs))(bundle.map(iobs));
if (pair_residu.second)
total += ( pair_residu ).first.squaredNorm();
}
if (std::isnan(total))
throw NAN_ERROR(" NAN : cost_and_save");
return total/2.0;
}