// {{{ headers #include #include #include "domainiter.h" // }}} using namespace blitz; using namespace std; typedef Array Array1D; typedef Array Array2D; int main(const int argc, const char** argv) { try { Array2D b (3,5); b = tensor::i*tensor::j; std::cout << b << std::endl; Array2D a (3,5); Array index(3,5); index = 1; Array1D c(10); c = 0.5f; DomainIter<2> iter (a.lbound(), a.ubound()); for (DomainIter<2> i = iter.begin(); i != iter.end(); ++i) { a(*i) = b(*i)*c(index(*i)); } // same as above but more brief, for (DomainIter<2> i(a.lbound(), a.ubound()); i; ++i) { a(*i) = b(*i)*c(index(*i)); } std::cout << a << std::endl; } catch(...) { std::cerr << "Caught unknown exception" << std::endl; return 1; } return 0; }