virtual void NonZeroPattern (const class ProxyUserData & ud, FlatVector nonzero, FlatVector nonzero_deriv, FlatVector nonzero_dderiv) const override { int dim = Dimension(); Vector v1(1), d1(1), dd1(1); Vector v2(dim), d2(dim), dd2(dim); c1->NonZeroPattern (ud, v1, d1, dd1); c2->NonZeroPattern (ud, v2, d2, dd2);
| 2263 | } |
| 2264 | */ |
| 2265 | virtual void NonZeroPattern (const class ProxyUserData & ud, |
| 2266 | FlatVector<AutoDiffDiff<1,NonZero>> values) const override |
| 2267 | { |
| 2268 | int dim = Dimension(); |
| 2269 | Vector<AutoDiffDiff<1,NonZero>> v1(1), v2(dim); |
| 2270 | c1->NonZeroPattern (ud, v1); |
| 2271 | c2->NonZeroPattern (ud, v2); |
| 2272 | for (size_t j = 0; j < dim; j++) |
| 2273 | values(j) = v1(0) * v2(j); |
| 2274 | } |
| 2275 | |
| 2276 | |
| 2277 |
nothing calls this directly
no test coverage detected