To avoid warning, add non raw memory access multiplyHessianAdd with throwing exception.

release/4.3a0
Sungtae An 2015-01-29 18:06:14 -05:00
parent 5afc3c4cea
commit 9ac98849b1
1 changed files with 6 additions and 0 deletions

View File

@ -55,6 +55,12 @@ public:
typedef Eigen::Matrix<double, D, 1> DVector;
mutable std::vector<DVector> y;
/** y += alpha * A'*A*x */
void multiplyHessianAdd(double alpha, const VectorValues& x, VectorValues& y) const{
throw std::runtime_error(
"RegularHessianFactor::forbidden use of multiplyHessianAdd without raw memory access, use HessianFactor instead");
}
/** y += alpha * A'*A*x */
void multiplyHessianAdd(double alpha, const double* x, double* yvalues) const {
// Create a vector of temporary y values, corresponding to rows i