works now

release/4.3a0
kartik arcot 2023-01-04 16:38:40 -08:00
parent 4eb73db1c1
commit 1ee54c6533
1 changed files with 10 additions and 8 deletions

View File

@ -618,14 +618,16 @@ protected:
*/ */
template <typename... OptionalJacArgs, typename = IndexIsValid<sizeof...(OptionalJacArgs) + 1>> template <typename... OptionalJacArgs, typename = IndexIsValid<sizeof...(OptionalJacArgs) + 1>>
inline Vector evaluateError(const ValueTypes&... x, OptionalJacArgs&&... H) const { inline Vector evaluateError(const ValueTypes&... x, OptionalJacArgs&&... H) const {
constexpr bool are_all_opt_mat = (... && std::is_same<OptionalMatrix, std::decay_t<OptionalJacArgs>>::value); /* constexpr bool are_all_opt_mat = (... && std::is_same<OptionalMatrix, std::decay_t<OptionalJacArgs>>::value); */
constexpr bool are_all_mat = (... && std::is_same<Matrix, std::decay_t<OptionalJacArgs>>::value); constexpr bool are_all_mat =
static_assert((are_all_mat == false && are_all_opt_mat == false), "ERRORRR"); (... && (std::is_same<Matrix, std::decay_t<OptionalJacArgs>>::value ||
if constexpr ((... && std::is_same<OptionalMatrix, std::decay_t<OptionalJacArgs>>::value)) { std::is_same<boost::none_t, std::decay_t<OptionalJacArgs>>::value));
return evaluateError(x..., std::forward<OptionalJacArgs>(H)..., OptionalNone); static_assert(are_all_mat, "ERRORRR");
} else if constexpr ((... && std::is_same<Matrix, std::decay_t<OptionalJacArgs>>::value)) { /* if constexpr ((... && std::is_same<OptionalMatrix, std::decay_t<OptionalJacArgs>>::value)) { */
return evaluateError(x..., std::forward<OptionalJacArgs>(H)..., OptionalNone); /* return evaluateError(x..., std::forward<OptionalJacArgs>(H)..., boost::none); */
} /* } else if constexpr ((... && std::is_same<Matrix, std::decay_t<OptionalJacArgs>>::value)) { */
return evaluateError(x..., std::forward<OptionalJacArgs>(H)..., boost::none);
/* } */
} }
/// @} /// @}