示例#1
0
 typename types::numpy_expr_to_ndarray<E>::type tile(E const& expr, int reps)
 {
     size_t n = expr.flat_size();
     typename types::numpy_expr_to_ndarray<E>::type out(types::array<long, 1>{{long(n * reps)}}, __builtin__::None);
     auto out_iter = out.fbegin();
     _tile(expr.begin(), expr.end(), out_iter, utils::int_<types::numpy_expr_to_ndarray<E>::N>());
     for(int i = 1; i< reps; ++i)
         out_iter = std::copy(out.fbegin(), out.fbegin() + n, out_iter);
     return out;
 }
示例#2
0
文件: take.hpp 项目: OnlySang/pythran
 typename types::numpy_expr_to_ndarray<F>::type take(types::ndarray<T,N> const & expr, F const& indices)
 {
     typename types::numpy_expr_to_ndarray<F>::type out = asarray(indices);
     auto expr_iter = expr.fbegin();
     for(auto out_iter = out.fbegin(), out_end = out.fend(); out_iter != out_end; ++out_iter)
         *out_iter = *(expr_iter + *out_iter);
     return out;
 }