質問編集履歴
2
サンプルコードを修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -104,8 +104,22 @@
|
|
104
104
|
|
105
105
|
|
106
106
|
|
107
|
-
def
|
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
|
-
|
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
サンプルコードを追記しました。
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
|
+
```
|