| 1255 | |
| 1256 | |
| 1257 | class DynamicVectorExpression |
| 1258 | { |
| 1259 | shared_ptr<DynamicBaseExpression> ve; |
| 1260 | public: |
| 1261 | DynamicVectorExpression() { } |
| 1262 | DynamicVectorExpression (shared_ptr<DynamicBaseExpression> ave) : ve(ave) { } |
| 1263 | DynamicVectorExpression (shared_ptr<BaseVector> v) |
| 1264 | : ve(make_shared<DynamicVecExpression>(v)) { } |
| 1265 | |
| 1266 | AutoVector Evaluate() const |
| 1267 | { |
| 1268 | return ve->Evaluate(); |
| 1269 | /* |
| 1270 | auto vec = ve->CreateVector(); |
| 1271 | ve->AssignTo (1, vec); |
| 1272 | return vec; |
| 1273 | */ |
| 1274 | } |
| 1275 | |
| 1276 | AutoVector CreateVector() const |
| 1277 | { |
| 1278 | return ve->CreateVector(); |
| 1279 | } |
| 1280 | |
| 1281 | void AssignTo (double s, BaseVector & v2) const |
| 1282 | { ve->AssignTo(s,v2); } |
| 1283 | void AddTo (double s, BaseVector & v2) const |
| 1284 | { ve->AddTo(s,v2); } |
| 1285 | void AssignTo (Complex s, BaseVector & v2) const |
| 1286 | { ve->AssignTo(s,v2); } |
| 1287 | void AddTo (Complex s, BaseVector & v2) const |
| 1288 | { ve->AddTo(s,v2); } |
| 1289 | auto Ptr() const { return ve; } |
| 1290 | }; |
| 1291 | |
| 1292 | inline auto operator+ (DynamicVectorExpression a, DynamicVectorExpression b) |
| 1293 | { |
no outgoing calls
no test coverage detected