| 432 | // For multiplication (F * c and c * F). |
| 433 | template <typename F> |
| 434 | auto operator*(const F& f, const typename F::ScalarType& c) |
| 435 | -> MulExpression<F, typename F::ScalarType, F::Differentiability> { |
| 436 | using ScalarType = typename F::ScalarType; |
| 437 | // Always return a MulExpression. Inside its operator() you can check if c==0. |
| 438 | return MulExpression<F, ScalarType, F::Differentiability>(c, f); |
| 439 | } |
| 440 | |
| 441 | template <typename F> |
| 442 | auto operator*(const typename F::ScalarType& c, const F& f) |
nothing calls this directly
no outgoing calls
no test coverage detected