質問編集履歴

2

サンプルコードを修正

2018/09/21 02:21

投稿

sakami_kosuke
sakami_kosuke

スコア10

test CHANGED
File without changes
test CHANGED
@@ -104,8 +104,22 @@
104
104
 
105
105
 
106
106
 
107
- def foo(vector[np.ndarray[DTYPE_t, ndim=2]] X):
107
+ def calc_n(int M, int K, vector[np.ndarray[DTYPE_t, ndim=2]] Pi, vector[np.ndarray[DTYPE_t, ndim=2]] Freqs):
108
108
 
109
+ cdef np.ndarray[DTYPE_t, ndim= 2] ni_k
110
+
111
+ cdef np.ndarray[DTYPE_t, ndim= 1] n__k
112
+
109
- return X
113
+ cdef int i
114
+
115
+ ni_k = np.empty((M, K), dtype=np.float32)
116
+
117
+ for i in range(M):
118
+
119
+ ni_k[i] = np.sum(Pi[i] * Freqs[i][:, None], axis=0)
120
+
121
+ n__k = np.sum(ni_k, axis=0)
122
+
123
+ return ni_k, n__k
110
124
 
111
125
  ```

1

サンプルコードを追記しました。

2018/09/21 02:21

投稿

sakami_kosuke
sakami_kosuke

スコア10

test CHANGED
File without changes
test CHANGED
@@ -79,3 +79,33 @@
79
79
  上の両方とも、うまくいきませんでした。
80
80
 
81
81
  なにかうまい方法があれば、ご教授いただきたいです。
82
+
83
+
84
+
85
+ ### サンプルコード
86
+
87
+
88
+
89
+ ```
90
+
91
+ import numpy as np
92
+
93
+ cimport numpy as np
94
+
95
+
96
+
97
+ from libcpp.vector cimport vector
98
+
99
+
100
+
101
+ DTYPE = np.float32
102
+
103
+ ctypedef np.float32_t DTYPE_t
104
+
105
+
106
+
107
+ def foo(vector[np.ndarray[DTYPE_t, ndim=2]] X):
108
+
109
+ return X
110
+
111
+ ```