pass in this to lambda expression explicitly

release/4.3a0
Varun Agrawal 2025-01-20 10:04:06 -05:00
parent ba355bc707
commit 3d116d7fdf
1 changed files with 16 additions and 10 deletions

View File

@ -20,12 +20,15 @@
namespace gtsam { namespace gtsam {
/* ********************************************************************************************* */ /* ************************************************************************* */
InequalityPenaltyFunction::UnaryScalarFunc InequalityPenaltyFunction::function() const { InequalityPenaltyFunction::UnaryScalarFunc InequalityPenaltyFunction::function()
return [=](const double& x, OptionalJacobian<1, 1> H = {}) -> double { return (*this)(x, H); }; const {
return [this](const double& x, OptionalJacobian<1, 1> H = {}) {
return this->operator()(x, H);
};
} }
/* ********************************************************************************************* */ /* ************************************************************************* */
double RampFunction::Ramp(const double x, OptionalJacobian<1, 1> H) { double RampFunction::Ramp(const double x, OptionalJacobian<1, 1> H) {
if (x < 0) { if (x < 0) {
if (H) { if (H) {
@ -40,8 +43,9 @@ double RampFunction::Ramp(const double x, OptionalJacobian<1, 1> H) {
} }
} }
/* ********************************************************************************************* */ /* ************************************************************************* */
double SmoothRampPoly2::operator()(const double& x, OptionalJacobian<1, 1> H) const { double SmoothRampPoly2::operator()(const double& x,
OptionalJacobian<1, 1> H) const {
if (x <= 0) { if (x <= 0) {
if (H) { if (H) {
H->setZero(); H->setZero();
@ -60,8 +64,9 @@ double SmoothRampPoly2::operator()(const double& x, OptionalJacobian<1, 1> H) co
} }
} }
/* ********************************************************************************************* */ /* ************************************************************************* */
double SmoothRampPoly3::operator()(const double& x, OptionalJacobian<1, 1> H) const { double SmoothRampPoly3::operator()(const double& x,
OptionalJacobian<1, 1> H) const {
if (x <= 0) { if (x <= 0) {
if (H) { if (H) {
H->setZero(); H->setZero();
@ -80,8 +85,9 @@ double SmoothRampPoly3::operator()(const double& x, OptionalJacobian<1, 1> H) co
} }
} }
/* ********************************************************************************************* */ /* ************************************************************************* */
double SoftPlusFunction::operator()(const double& x, OptionalJacobian<1, 1> H) const { double SoftPlusFunction::operator()(const double& x,
OptionalJacobian<1, 1> H) const {
if (H) { if (H) {
H->setConstant(1 / (1 + std::exp(-k_ * x))); H->setConstant(1 / (1 + std::exp(-k_ * x)));
} }