コード例 #1
0
ファイル: eye.hpp プロジェクト: OnlySang/pythran
 types::ndarray<typename types::numpy_type<dtype>::type, 2> eye(long N, long M=-1, long k=0, dtype d=dtype())
 {
     if(M<0) M = N;
     types::ndarray<typename types::numpy_type<dtype>::type, 2> out = zeros(types::make_tuple(N, M), d);
     if(k>=0)
         for(int i=0, j = k; i< N and j < M; ++i, ++j)
             out[i][j] = typename types::numpy_type<dtype>::type(1);
     else
         for(int i=-k, j = 0; i< N and j < M; ++i, ++j)
             out[i][j] = typename types::numpy_type<dtype>::type(1);
     return out;
 }
コード例 #2
0
ファイル: empty.hpp プロジェクト: baoboa/pythran
types::ndarray<dtype, 1> empty(long size, dtype d=dtype()) {
    return empty(types::make_tuple(size), d);
}
コード例 #3
0
ファイル: arange.hpp プロジェクト: Pikalchemist/pythran
 types::ndarray<typename types::numpy_type<dtype>::type, 1> arange(T begin, U end, S step=S(1), dtype d=dtype())
 {
     typedef typename types::numpy_type<dtype>::type R;
     size_t size = std::max(R(0), R(std::ceil((end - begin)/step)));
     types::ndarray<R, 1> a(types::make_tuple((long)size), __builtin__::None);
     if(size)
     {
         auto prev = a.fbegin(),
              end = a.fend();
         *prev = begin;
         for(auto iter = prev + 1; iter!=end; ++iter) {
             *iter = *prev + step;
             prev = iter;
         }
     }
     return a;
 }
コード例 #4
0
ファイル: empty.hpp プロジェクト: baoboa/pythran
types::ndarray<typename types::numpy_type<dtype>::type, N> empty(types::array<long, N>const& shape, dtype d=dtype()) {
    return types::ndarray<typename types::numpy_type<dtype>::type, N>(shape, __builtin__::None);
}