| 472 | } |
| 473 | |
| 474 | std::string |
| 475 | Step::vectorSize(VectorVariable *vector) |
| 476 | { |
| 477 | std::stringstream size; |
| 478 | |
| 479 | if (vector->nElems() == NULL) { |
| 480 | return ""; |
| 481 | } |
| 482 | |
| 483 | if (vector->off() != NULL) { |
| 484 | size << vector->off()->name() << " + "; |
| 485 | } |
| 486 | if (vector->inc() == NULL) { |
| 487 | size << vector->nElems()->name(); |
| 488 | } |
| 489 | else { |
| 490 | size << "1 + (" << vector->nElems()->name() << " - 1) * abs(" |
| 491 | << vector->inc()->name() << ")"; |
| 492 | } |
| 493 | return size.str(); |
| 494 | } |
| 495 | |
| 496 | void |
| 497 | Step::assignKargs(const StepKargs& map) |