File: | /tmp/pyrefcon/scipy/scipy/stats/_hypotests_pythran.cpp |
Warning: | line 1208, column 25 PyObject ownership leak with reference count of 1 |
Press '?' to see keyboard shortcuts
Keyboard shortcuts:
1 | #include <pythonic/core.hpp> | |||
2 | #include <pythonic/python/core.hpp> | |||
3 | #include <pythonic/types/bool.hpp> | |||
4 | #include <pythonic/types/int.hpp> | |||
5 | #ifdef _OPENMP | |||
6 | #include <omp.h> | |||
7 | #endif | |||
8 | #include <pythonic/include/types/ndarray.hpp> | |||
9 | #include <pythonic/include/types/float.hpp> | |||
10 | #include <pythonic/include/types/numpy_texpr.hpp> | |||
11 | #include <pythonic/include/types/int.hpp> | |||
12 | #include <pythonic/types/ndarray.hpp> | |||
13 | #include <pythonic/types/float.hpp> | |||
14 | #include <pythonic/types/int.hpp> | |||
15 | #include <pythonic/types/numpy_texpr.hpp> | |||
16 | #include <pythonic/include/builtins/getattr.hpp> | |||
17 | #include <pythonic/include/builtins/range.hpp> | |||
18 | #include <pythonic/include/builtins/tuple.hpp> | |||
19 | #include <pythonic/include/numpy/square.hpp> | |||
20 | #include <pythonic/include/numpy/sum.hpp> | |||
21 | #include <pythonic/include/operator_/add.hpp> | |||
22 | #include <pythonic/include/operator_/iadd.hpp> | |||
23 | #include <pythonic/include/operator_/mul.hpp> | |||
24 | #include <pythonic/include/operator_/sub.hpp> | |||
25 | #include <pythonic/include/types/slice.hpp> | |||
26 | #include <pythonic/include/types/str.hpp> | |||
27 | #include <pythonic/builtins/getattr.hpp> | |||
28 | #include <pythonic/builtins/range.hpp> | |||
29 | #include <pythonic/builtins/tuple.hpp> | |||
30 | #include <pythonic/numpy/square.hpp> | |||
31 | #include <pythonic/numpy/sum.hpp> | |||
32 | #include <pythonic/operator_/add.hpp> | |||
33 | #include <pythonic/operator_/iadd.hpp> | |||
34 | #include <pythonic/operator_/mul.hpp> | |||
35 | #include <pythonic/operator_/sub.hpp> | |||
36 | #include <pythonic/types/slice.hpp> | |||
37 | #include <pythonic/types/str.hpp> | |||
38 | namespace __pythran__hypotests_pythran | |||
39 | { | |||
40 | struct _a_ij_Aij_Dij2 | |||
41 | { | |||
42 | typedef void callable; | |||
43 | typedef void pure; | |||
44 | template <typename argument_type0 > | |||
45 | struct type | |||
46 | { | |||
47 | typedef typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type __type0; | |||
48 | typedef typename pythonic::assignable<long>::type __type2; | |||
49 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::builtins::functor::range{})>::type>::type __type4; | |||
50 | typedef decltype(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, std::declval<__type0>())) __type6; | |||
51 | typedef typename std::tuple_element<0,typename std::remove_reference<__type6>::type>::type __type7; | |||
52 | typedef typename pythonic::lazy<__type7>::type __type8; | |||
53 | typedef decltype(std::declval<__type4>()(std::declval<__type8>())) __type9; | |||
54 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type9>::type::iterator>::value_type>::type __type10; | |||
55 | typedef typename std::tuple_element<1,typename std::remove_reference<__type6>::type>::type __type11; | |||
56 | typedef typename pythonic::lazy<__type11>::type __type12; | |||
57 | typedef decltype(std::declval<__type4>()(std::declval<__type12>())) __type13; | |||
58 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type13>::type::iterator>::value_type>::type __type14; | |||
59 | typedef decltype(pythonic::types::make_tuple(std::declval<__type10>(), std::declval<__type14>())) __type15; | |||
60 | typedef decltype(std::declval<__type0>()[std::declval<__type15>()]) __type16; | |||
61 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::numpy::functor::square{})>::type>::type __type17; | |||
62 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::numpy::functor::sum{})>::type>::type __type18; | |||
63 | typedef typename pythonic::assignable<typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type>::type __type19; | |||
64 | typedef typename __combined<__type19,__type0>::type __type20; | |||
65 | typedef pythonic::types::contiguous_slice __type21; | |||
66 | typedef decltype(std::declval<__type20>()(std::declval<__type21>(), std::declval<__type21>())) __type22; | |||
67 | typedef decltype(std::declval<__type18>()(std::declval<__type22>())) __type23; | |||
68 | typedef decltype(pythonic::operator_::add(std::declval<__type23>(), std::declval<__type23>())) __type26; | |||
69 | typedef typename pythonic::assignable<typename __combined<__type0,__type0>::type>::type __type27; | |||
70 | typedef decltype(std::declval<__type27>()(std::declval<__type21>(), std::declval<__type21>())) __type28; | |||
71 | typedef decltype(std::declval<__type18>()(std::declval<__type28>())) __type29; | |||
72 | typedef decltype(pythonic::operator_::add(std::declval<__type29>(), std::declval<__type29>())) __type32; | |||
73 | typedef decltype(pythonic::operator_::sub(std::declval<__type26>(), std::declval<__type32>())) __type33; | |||
74 | typedef decltype(std::declval<__type17>()(std::declval<__type33>())) __type34; | |||
75 | typedef decltype(pythonic::operator_::mul(std::declval<__type16>(), std::declval<__type34>())) __type35; | |||
76 | typedef decltype(pythonic::operator_::add(std::declval<__type2>(), std::declval<__type35>())) __type36; | |||
77 | typedef typename __combined<__type2,__type36>::type __type37; | |||
78 | typedef __type0 __ptype0; | |||
79 | typedef __type0 __ptype1; | |||
80 | typedef typename pythonic::returnable<typename __combined<__type37,__type35>::type>::type result_type; | |||
81 | } | |||
82 | ; | |||
83 | template <typename argument_type0 > | |||
84 | typename type<argument_type0>::result_type operator()(argument_type0&& A) const | |||
85 | ; | |||
86 | } ; | |||
87 | struct _Q | |||
88 | { | |||
89 | typedef void callable; | |||
90 | typedef void pure; | |||
91 | template <typename argument_type0 > | |||
92 | struct type | |||
93 | { | |||
94 | typedef typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type __type0; | |||
95 | typedef typename pythonic::assignable<long>::type __type1; | |||
96 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::builtins::functor::range{})>::type>::type __type3; | |||
97 | typedef decltype(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, std::declval<__type0>())) __type5; | |||
98 | typedef typename std::tuple_element<0,typename std::remove_reference<__type5>::type>::type __type6; | |||
99 | typedef typename pythonic::lazy<__type6>::type __type7; | |||
100 | typedef decltype(std::declval<__type3>()(std::declval<__type7>())) __type8; | |||
101 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type8>::type::iterator>::value_type>::type __type9; | |||
102 | typedef typename std::tuple_element<1,typename std::remove_reference<__type5>::type>::type __type10; | |||
103 | typedef typename pythonic::lazy<__type10>::type __type11; | |||
104 | typedef decltype(std::declval<__type3>()(std::declval<__type11>())) __type12; | |||
105 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type12>::type::iterator>::value_type>::type __type13; | |||
106 | typedef decltype(pythonic::types::make_tuple(std::declval<__type9>(), std::declval<__type13>())) __type14; | |||
107 | typedef decltype(std::declval<__type0>()[std::declval<__type14>()]) __type15; | |||
108 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::numpy::functor::sum{})>::type>::type __type16; | |||
109 | typedef typename pythonic::assignable<typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type>::type __type17; | |||
110 | typedef pythonic::types::contiguous_slice __type18; | |||
111 | typedef decltype(std::declval<__type17>()(std::declval<__type18>(), std::declval<__type18>())) __type19; | |||
112 | typedef decltype(std::declval<__type16>()(std::declval<__type19>())) __type20; | |||
113 | typedef decltype(pythonic::operator_::add(std::declval<__type20>(), std::declval<__type20>())) __type23; | |||
114 | typedef decltype(pythonic::operator_::mul(std::declval<__type15>(), std::declval<__type23>())) __type24; | |||
115 | typedef decltype(pythonic::operator_::add(std::declval<__type1>(), std::declval<__type24>())) __type25; | |||
116 | typedef typename __combined<__type1,__type25>::type __type26; | |||
117 | typedef __type0 __ptype2; | |||
118 | typedef typename pythonic::returnable<typename __combined<__type26,__type24>::type>::type result_type; | |||
119 | } | |||
120 | ; | |||
121 | template <typename argument_type0 > | |||
122 | typename type<argument_type0>::result_type operator()(argument_type0&& A) const | |||
123 | ; | |||
124 | } ; | |||
125 | struct _P | |||
126 | { | |||
127 | typedef void callable; | |||
128 | typedef void pure; | |||
129 | template <typename argument_type0 > | |||
130 | struct type | |||
131 | { | |||
132 | typedef typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type __type0; | |||
133 | typedef typename pythonic::assignable<long>::type __type1; | |||
134 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::builtins::functor::range{})>::type>::type __type3; | |||
135 | typedef decltype(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, std::declval<__type0>())) __type5; | |||
136 | typedef typename std::tuple_element<0,typename std::remove_reference<__type5>::type>::type __type6; | |||
137 | typedef typename pythonic::lazy<__type6>::type __type7; | |||
138 | typedef decltype(std::declval<__type3>()(std::declval<__type7>())) __type8; | |||
139 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type8>::type::iterator>::value_type>::type __type9; | |||
140 | typedef typename std::tuple_element<1,typename std::remove_reference<__type5>::type>::type __type10; | |||
141 | typedef typename pythonic::lazy<__type10>::type __type11; | |||
142 | typedef decltype(std::declval<__type3>()(std::declval<__type11>())) __type12; | |||
143 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type12>::type::iterator>::value_type>::type __type13; | |||
144 | typedef decltype(pythonic::types::make_tuple(std::declval<__type9>(), std::declval<__type13>())) __type14; | |||
145 | typedef decltype(std::declval<__type0>()[std::declval<__type14>()]) __type15; | |||
146 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::numpy::functor::sum{})>::type>::type __type16; | |||
147 | typedef typename pythonic::assignable<typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type>::type __type17; | |||
148 | typedef pythonic::types::contiguous_slice __type18; | |||
149 | typedef decltype(std::declval<__type17>()(std::declval<__type18>(), std::declval<__type18>())) __type19; | |||
150 | typedef decltype(std::declval<__type16>()(std::declval<__type19>())) __type20; | |||
151 | typedef decltype(pythonic::operator_::add(std::declval<__type20>(), std::declval<__type20>())) __type23; | |||
152 | typedef decltype(pythonic::operator_::mul(std::declval<__type15>(), std::declval<__type23>())) __type24; | |||
153 | typedef decltype(pythonic::operator_::add(std::declval<__type1>(), std::declval<__type24>())) __type25; | |||
154 | typedef typename __combined<__type1,__type25>::type __type26; | |||
155 | typedef __type0 __ptype3; | |||
156 | typedef typename pythonic::returnable<typename __combined<__type26,__type24>::type>::type result_type; | |||
157 | } | |||
158 | ; | |||
159 | template <typename argument_type0 > | |||
160 | typename type<argument_type0>::result_type operator()(argument_type0&& A) const | |||
161 | ; | |||
162 | } ; | |||
163 | struct _Dij | |||
164 | { | |||
165 | typedef void callable; | |||
166 | typedef void pure; | |||
167 | template <typename argument_type0 , typename argument_type1 , typename argument_type2 > | |||
168 | struct type | |||
169 | { | |||
170 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::numpy::functor::sum{})>::type>::type __type0; | |||
171 | typedef typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type __type1; | |||
172 | typedef pythonic::types::contiguous_slice __type2; | |||
173 | typedef decltype(std::declval<__type1>()(std::declval<__type2>(), std::declval<__type2>())) __type3; | |||
174 | typedef decltype(std::declval<__type0>()(std::declval<__type3>())) __type4; | |||
175 | typedef typename pythonic::returnable<decltype(pythonic::operator_::add(std::declval<__type4>(), std::declval<__type4>()))>::type result_type; | |||
176 | } | |||
177 | ; | |||
178 | template <typename argument_type0 , typename argument_type1 , typename argument_type2 > | |||
179 | typename type<argument_type0, argument_type1, argument_type2>::result_type operator()(argument_type0&& A, argument_type1&& i, argument_type2&& j) const | |||
180 | ; | |||
181 | } ; | |||
182 | struct _Aij | |||
183 | { | |||
184 | typedef void callable; | |||
185 | typedef void pure; | |||
186 | template <typename argument_type0 , typename argument_type1 , typename argument_type2 > | |||
187 | struct type | |||
188 | { | |||
189 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::numpy::functor::sum{})>::type>::type __type0; | |||
190 | typedef typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type __type1; | |||
191 | typedef pythonic::types::contiguous_slice __type2; | |||
192 | typedef decltype(std::declval<__type1>()(std::declval<__type2>(), std::declval<__type2>())) __type3; | |||
193 | typedef decltype(std::declval<__type0>()(std::declval<__type3>())) __type4; | |||
194 | typedef typename pythonic::returnable<decltype(pythonic::operator_::add(std::declval<__type4>(), std::declval<__type4>()))>::type result_type; | |||
195 | } | |||
196 | ; | |||
197 | template <typename argument_type0 , typename argument_type1 , typename argument_type2 > | |||
198 | typename type<argument_type0, argument_type1, argument_type2>::result_type operator()(argument_type0&& A, argument_type1&& i, argument_type2&& j) const | |||
199 | ; | |||
200 | } ; | |||
201 | template <typename argument_type0 > | |||
202 | typename _a_ij_Aij_Dij2::type<argument_type0>::result_type _a_ij_Aij_Dij2::operator()(argument_type0&& A) const | |||
203 | { | |||
204 | typedef typename pythonic::assignable<long>::type __type0; | |||
205 | typedef typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type __type1; | |||
206 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::builtins::functor::range{})>::type>::type __type2; | |||
207 | typedef decltype(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, std::declval<__type1>())) __type4; | |||
208 | typedef typename std::tuple_element<0,typename std::remove_reference<__type4>::type>::type __type5; | |||
209 | typedef typename pythonic::lazy<__type5>::type __type6; | |||
210 | typedef decltype(std::declval<__type2>()(std::declval<__type6>())) __type7; | |||
211 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type7>::type::iterator>::value_type>::type __type8; | |||
212 | typedef typename std::tuple_element<1,typename std::remove_reference<__type4>::type>::type __type9; | |||
213 | typedef typename pythonic::lazy<__type9>::type __type10; | |||
214 | typedef decltype(std::declval<__type2>()(std::declval<__type10>())) __type11; | |||
215 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type11>::type::iterator>::value_type>::type __type12; | |||
216 | typedef decltype(pythonic::types::make_tuple(std::declval<__type8>(), std::declval<__type12>())) __type13; | |||
217 | typedef decltype(std::declval<__type1>()[std::declval<__type13>()]) __type14; | |||
218 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::numpy::functor::square{})>::type>::type __type15; | |||
219 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::numpy::functor::sum{})>::type>::type __type16; | |||
220 | typedef typename pythonic::assignable<typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type>::type __type17; | |||
221 | typedef typename __combined<__type17,__type1>::type __type19; | |||
222 | typedef pythonic::types::contiguous_slice __type20; | |||
223 | typedef decltype(std::declval<__type19>()(std::declval<__type20>(), std::declval<__type20>())) __type21; | |||
224 | typedef decltype(std::declval<__type16>()(std::declval<__type21>())) __type22; | |||
225 | typedef decltype(pythonic::operator_::add(std::declval<__type22>(), std::declval<__type22>())) __type25; | |||
226 | typedef typename pythonic::assignable<typename __combined<__type1,__type1>::type>::type __type27; | |||
227 | typedef decltype(std::declval<__type27>()(std::declval<__type20>(), std::declval<__type20>())) __type28; | |||
228 | typedef decltype(std::declval<__type16>()(std::declval<__type28>())) __type29; | |||
229 | typedef decltype(pythonic::operator_::add(std::declval<__type29>(), std::declval<__type29>())) __type32; | |||
230 | typedef decltype(pythonic::operator_::sub(std::declval<__type25>(), std::declval<__type32>())) __type33; | |||
231 | typedef decltype(std::declval<__type15>()(std::declval<__type33>())) __type34; | |||
232 | typedef decltype(pythonic::operator_::mul(std::declval<__type14>(), std::declval<__type34>())) __type35; | |||
233 | typedef decltype(pythonic::operator_::add(std::declval<__type0>(), std::declval<__type35>())) __type36; | |||
234 | typedef typename __combined<__type0,__type36>::type __type37; | |||
235 | typename pythonic::lazy<decltype(std::get<0>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)))>::type m = std::get<0>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)); | |||
236 | typename pythonic::lazy<decltype(std::get<1>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)))>::type n = std::get<1>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)); | |||
237 | typename pythonic::assignable<typename __combined<__type37,__type35>::type>::type count = 0L; | |||
238 | { | |||
239 | long __target139669610617968 = m; | |||
240 | for (long i=0L; i < __target139669610617968; i += 1L) | |||
241 | { | |||
242 | { | |||
243 | long __target139669610618688 = n; | |||
244 | for (long j=0L; j < __target139669610618688; j += 1L) | |||
245 | { | |||
246 | typename pythonic::assignable<typename __combined<__type17,__type1>::type>::type __pythran_inline_AijA2 = A; | |||
247 | typename pythonic::assignable_noescape<decltype(i)>::type __pythran_inline_Aiji2 = i; | |||
248 | typename pythonic::assignable_noescape<decltype(j)>::type __pythran_inline_Aijj2 = j; | |||
249 | typename pythonic::assignable<typename pythonic::assignable<typename __combined<__type1,__type1>::type>::type>::type __pythran_inline_DijA3 = A; | |||
250 | typename pythonic::assignable_noescape<decltype(i)>::type __pythran_inline_Diji3 = i; | |||
251 | typename pythonic::assignable_noescape<decltype(j)>::type __pythran_inline_Dijj3 = j; | |||
252 | count += pythonic::operator_::mul(A.fast(pythonic::types::make_tuple(i, j)), pythonic::numpy::functor::square{}(pythonic::operator_::sub(pythonic::operator_::add(pythonic::numpy::functor::sum{}(__pythran_inline_AijA2(pythonic::types::contiguous_slice(pythonic::builtins::None,__pythran_inline_Aiji2),pythonic::types::contiguous_slice(pythonic::builtins::None,__pythran_inline_Aijj2))), pythonic::numpy::functor::sum{}(__pythran_inline_AijA2(pythonic::types::contiguous_slice(pythonic::operator_::add(__pythran_inline_Aiji2, 1L),pythonic::builtins::None),pythonic::types::contiguous_slice(pythonic::operator_::add(__pythran_inline_Aijj2, 1L),pythonic::builtins::None)))), pythonic::operator_::add(pythonic::numpy::functor::sum{}(__pythran_inline_DijA3(pythonic::types::contiguous_slice(pythonic::operator_::add(__pythran_inline_Diji3, 1L),pythonic::builtins::None),pythonic::types::contiguous_slice(pythonic::builtins::None,__pythran_inline_Dijj3))), pythonic::numpy::functor::sum{}(__pythran_inline_DijA3(pythonic::types::contiguous_slice(pythonic::builtins::None,__pythran_inline_Diji3),pythonic::types::contiguous_slice(pythonic::operator_::add(__pythran_inline_Dijj3, 1L),pythonic::builtins::None))))))); | |||
253 | } | |||
254 | } | |||
255 | } | |||
256 | } | |||
257 | return count; | |||
258 | } | |||
259 | template <typename argument_type0 > | |||
260 | typename _Q::type<argument_type0>::result_type _Q::operator()(argument_type0&& A) const | |||
261 | { | |||
262 | typedef typename pythonic::assignable<long>::type __type0; | |||
263 | typedef typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type __type1; | |||
264 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::builtins::functor::range{})>::type>::type __type2; | |||
265 | typedef decltype(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, std::declval<__type1>())) __type4; | |||
266 | typedef typename std::tuple_element<0,typename std::remove_reference<__type4>::type>::type __type5; | |||
267 | typedef typename pythonic::lazy<__type5>::type __type6; | |||
268 | typedef decltype(std::declval<__type2>()(std::declval<__type6>())) __type7; | |||
269 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type7>::type::iterator>::value_type>::type __type8; | |||
270 | typedef typename std::tuple_element<1,typename std::remove_reference<__type4>::type>::type __type9; | |||
271 | typedef typename pythonic::lazy<__type9>::type __type10; | |||
272 | typedef decltype(std::declval<__type2>()(std::declval<__type10>())) __type11; | |||
273 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type11>::type::iterator>::value_type>::type __type12; | |||
274 | typedef decltype(pythonic::types::make_tuple(std::declval<__type8>(), std::declval<__type12>())) __type13; | |||
275 | typedef decltype(std::declval<__type1>()[std::declval<__type13>()]) __type14; | |||
276 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::numpy::functor::sum{})>::type>::type __type15; | |||
277 | typedef typename pythonic::assignable<typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type>::type __type16; | |||
278 | typedef pythonic::types::contiguous_slice __type17; | |||
279 | typedef decltype(std::declval<__type16>()(std::declval<__type17>(), std::declval<__type17>())) __type18; | |||
280 | typedef decltype(std::declval<__type15>()(std::declval<__type18>())) __type19; | |||
281 | typedef decltype(pythonic::operator_::add(std::declval<__type19>(), std::declval<__type19>())) __type22; | |||
282 | typedef decltype(pythonic::operator_::mul(std::declval<__type14>(), std::declval<__type22>())) __type23; | |||
283 | typedef decltype(pythonic::operator_::add(std::declval<__type0>(), std::declval<__type23>())) __type24; | |||
284 | typedef typename __combined<__type0,__type24>::type __type25; | |||
285 | typename pythonic::lazy<decltype(std::get<0>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)))>::type m = std::get<0>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)); | |||
286 | typename pythonic::lazy<decltype(std::get<1>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)))>::type n = std::get<1>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)); | |||
287 | typename pythonic::assignable<typename __combined<__type25,__type23>::type>::type count = 0L; | |||
288 | { | |||
289 | long __target139669610711936 = m; | |||
290 | for (long i=0L; i < __target139669610711936; i += 1L) | |||
291 | { | |||
292 | { | |||
293 | long __target139669610712608 = n; | |||
294 | for (long j=0L; j < __target139669610712608; j += 1L) | |||
295 | { | |||
296 | typename pythonic::assignable_noescape<decltype(A)>::type __pythran_inline_DijA1 = A; | |||
297 | typename pythonic::assignable_noescape<decltype(i)>::type __pythran_inline_Diji1 = i; | |||
298 | typename pythonic::assignable_noescape<decltype(j)>::type __pythran_inline_Dijj1 = j; | |||
299 | count += pythonic::operator_::mul(A.fast(pythonic::types::make_tuple(i, j)), pythonic::operator_::add(pythonic::numpy::functor::sum{}(__pythran_inline_DijA1(pythonic::types::contiguous_slice(pythonic::operator_::add(__pythran_inline_Diji1, 1L),pythonic::builtins::None),pythonic::types::contiguous_slice(pythonic::builtins::None,__pythran_inline_Dijj1))), pythonic::numpy::functor::sum{}(__pythran_inline_DijA1(pythonic::types::contiguous_slice(pythonic::builtins::None,__pythran_inline_Diji1),pythonic::types::contiguous_slice(pythonic::operator_::add(__pythran_inline_Dijj1, 1L),pythonic::builtins::None))))); | |||
300 | } | |||
301 | } | |||
302 | } | |||
303 | } | |||
304 | return count; | |||
305 | } | |||
306 | template <typename argument_type0 > | |||
307 | typename _P::type<argument_type0>::result_type _P::operator()(argument_type0&& A) const | |||
308 | { | |||
309 | typedef typename pythonic::assignable<long>::type __type0; | |||
310 | typedef typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type __type1; | |||
311 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::builtins::functor::range{})>::type>::type __type2; | |||
312 | typedef decltype(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, std::declval<__type1>())) __type4; | |||
313 | typedef typename std::tuple_element<0,typename std::remove_reference<__type4>::type>::type __type5; | |||
314 | typedef typename pythonic::lazy<__type5>::type __type6; | |||
315 | typedef decltype(std::declval<__type2>()(std::declval<__type6>())) __type7; | |||
316 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type7>::type::iterator>::value_type>::type __type8; | |||
317 | typedef typename std::tuple_element<1,typename std::remove_reference<__type4>::type>::type __type9; | |||
318 | typedef typename pythonic::lazy<__type9>::type __type10; | |||
319 | typedef decltype(std::declval<__type2>()(std::declval<__type10>())) __type11; | |||
320 | typedef typename std::remove_cv<typename std::iterator_traits<typename std::remove_reference<__type11>::type::iterator>::value_type>::type __type12; | |||
321 | typedef decltype(pythonic::types::make_tuple(std::declval<__type8>(), std::declval<__type12>())) __type13; | |||
322 | typedef decltype(std::declval<__type1>()[std::declval<__type13>()]) __type14; | |||
323 | typedef typename std::remove_cv<typename std::remove_reference<decltype(pythonic::numpy::functor::sum{})>::type>::type __type15; | |||
324 | typedef typename pythonic::assignable<typename std::remove_cv<typename std::remove_reference<argument_type0>::type>::type>::type __type16; | |||
325 | typedef pythonic::types::contiguous_slice __type17; | |||
326 | typedef decltype(std::declval<__type16>()(std::declval<__type17>(), std::declval<__type17>())) __type18; | |||
327 | typedef decltype(std::declval<__type15>()(std::declval<__type18>())) __type19; | |||
328 | typedef decltype(pythonic::operator_::add(std::declval<__type19>(), std::declval<__type19>())) __type22; | |||
329 | typedef decltype(pythonic::operator_::mul(std::declval<__type14>(), std::declval<__type22>())) __type23; | |||
330 | typedef decltype(pythonic::operator_::add(std::declval<__type0>(), std::declval<__type23>())) __type24; | |||
331 | typedef typename __combined<__type0,__type24>::type __type25; | |||
332 | typename pythonic::lazy<decltype(std::get<0>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)))>::type m = std::get<0>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)); | |||
333 | typename pythonic::lazy<decltype(std::get<1>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)))>::type n = std::get<1>(pythonic::builtins::getattr(pythonic::types::attr::SHAPE{}, A)); | |||
334 | typename pythonic::assignable<typename __combined<__type25,__type23>::type>::type count = 0L; | |||
335 | { | |||
336 | long __target139669610613200 = m; | |||
337 | for (long i=0L; i < __target139669610613200; i += 1L) | |||
338 | { | |||
339 | { | |||
340 | long __target139669610613920 = n; | |||
341 | for (long j=0L; j < __target139669610613920; j += 1L) | |||
342 | { | |||
343 | typename pythonic::assignable_noescape<decltype(A)>::type __pythran_inline_AijA0 = A; | |||
344 | typename pythonic::assignable_noescape<decltype(i)>::type __pythran_inline_Aiji0 = i; | |||
345 | typename pythonic::assignable_noescape<decltype(j)>::type __pythran_inline_Aijj0 = j; | |||
346 | count += pythonic::operator_::mul(A.fast(pythonic::types::make_tuple(i, j)), pythonic::operator_::add(pythonic::numpy::functor::sum{}(__pythran_inline_AijA0(pythonic::types::contiguous_slice(pythonic::builtins::None,__pythran_inline_Aiji0),pythonic::types::contiguous_slice(pythonic::builtins::None,__pythran_inline_Aijj0))), pythonic::numpy::functor::sum{}(__pythran_inline_AijA0(pythonic::types::contiguous_slice(pythonic::operator_::add(__pythran_inline_Aiji0, 1L),pythonic::builtins::None),pythonic::types::contiguous_slice(pythonic::operator_::add(__pythran_inline_Aijj0, 1L),pythonic::builtins::None))))); | |||
347 | } | |||
348 | } | |||
349 | } | |||
350 | } | |||
351 | return count; | |||
352 | } | |||
353 | template <typename argument_type0 , typename argument_type1 , typename argument_type2 > | |||
354 | typename _Dij::type<argument_type0, argument_type1, argument_type2>::result_type _Dij::operator()(argument_type0&& A, argument_type1&& i, argument_type2&& j) const | |||
355 | { | |||
356 | return pythonic::operator_::add(pythonic::numpy::functor::sum{}(A(pythonic::types::contiguous_slice(pythonic::operator_::add(i, 1L),pythonic::builtins::None),pythonic::types::contiguous_slice(pythonic::builtins::None,j))), pythonic::numpy::functor::sum{}(A(pythonic::types::contiguous_slice(pythonic::builtins::None,i),pythonic::types::contiguous_slice(pythonic::operator_::add(j, 1L),pythonic::builtins::None)))); | |||
357 | } | |||
358 | template <typename argument_type0 , typename argument_type1 , typename argument_type2 > | |||
359 | typename _Aij::type<argument_type0, argument_type1, argument_type2>::result_type _Aij::operator()(argument_type0&& A, argument_type1&& i, argument_type2&& j) const | |||
360 | { | |||
361 | return pythonic::operator_::add(pythonic::numpy::functor::sum{}(A(pythonic::types::contiguous_slice(pythonic::builtins::None,i),pythonic::types::contiguous_slice(pythonic::builtins::None,j))), pythonic::numpy::functor::sum{}(A(pythonic::types::contiguous_slice(pythonic::operator_::add(i, 1L),pythonic::builtins::None),pythonic::types::contiguous_slice(pythonic::operator_::add(j, 1L),pythonic::builtins::None)))); | |||
362 | } | |||
363 | } | |||
364 | #include <pythonic/python/exception_handler.hpp> | |||
365 | #ifdef ENABLE_PYTHON_MODULE1 | |||
366 | typename __pythran__hypotests_pythran::_a_ij_Aij_Dij2::type<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>::result_type _a_ij_Aij_Dij20(pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>&& A) | |||
367 | { | |||
368 | ||||
369 | PyThreadState *_save = PyEval_SaveThread(); | |||
370 | try { | |||
371 | auto res = __pythran__hypotests_pythran::_a_ij_Aij_Dij2()(A); | |||
372 | PyEval_RestoreThread(_save); | |||
373 | return res; | |||
374 | } | |||
375 | catch(...) { | |||
376 | PyEval_RestoreThread(_save); | |||
377 | throw; | |||
378 | } | |||
379 | ; | |||
380 | } | |||
381 | typename __pythran__hypotests_pythran::_a_ij_Aij_Dij2::type<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>::result_type _a_ij_Aij_Dij21(pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>&& A) | |||
382 | { | |||
383 | ||||
384 | PyThreadState *_save = PyEval_SaveThread(); | |||
385 | try { | |||
386 | auto res = __pythran__hypotests_pythran::_a_ij_Aij_Dij2()(A); | |||
387 | PyEval_RestoreThread(_save); | |||
388 | return res; | |||
389 | } | |||
390 | catch(...) { | |||
391 | PyEval_RestoreThread(_save); | |||
392 | throw; | |||
393 | } | |||
394 | ; | |||
395 | } | |||
396 | typename __pythran__hypotests_pythran::_a_ij_Aij_Dij2::type<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>::result_type _a_ij_Aij_Dij22(pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>&& A) | |||
397 | { | |||
398 | ||||
399 | PyThreadState *_save = PyEval_SaveThread(); | |||
400 | try { | |||
401 | auto res = __pythran__hypotests_pythran::_a_ij_Aij_Dij2()(A); | |||
402 | PyEval_RestoreThread(_save); | |||
403 | return res; | |||
404 | } | |||
405 | catch(...) { | |||
406 | PyEval_RestoreThread(_save); | |||
407 | throw; | |||
408 | } | |||
409 | ; | |||
410 | } | |||
411 | typename __pythran__hypotests_pythran::_a_ij_Aij_Dij2::type<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>::result_type _a_ij_Aij_Dij23(pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>&& A) | |||
412 | { | |||
413 | ||||
414 | PyThreadState *_save = PyEval_SaveThread(); | |||
415 | try { | |||
416 | auto res = __pythran__hypotests_pythran::_a_ij_Aij_Dij2()(A); | |||
417 | PyEval_RestoreThread(_save); | |||
418 | return res; | |||
419 | } | |||
420 | catch(...) { | |||
421 | PyEval_RestoreThread(_save); | |||
422 | throw; | |||
423 | } | |||
424 | ; | |||
425 | } | |||
426 | typename __pythran__hypotests_pythran::_Q::type<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>::result_type _Q0(pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>&& A) | |||
427 | { | |||
428 | ||||
429 | PyThreadState *_save = PyEval_SaveThread(); | |||
430 | try { | |||
431 | auto res = __pythran__hypotests_pythran::_Q()(A); | |||
432 | PyEval_RestoreThread(_save); | |||
433 | return res; | |||
434 | } | |||
435 | catch(...) { | |||
436 | PyEval_RestoreThread(_save); | |||
437 | throw; | |||
438 | } | |||
439 | ; | |||
440 | } | |||
441 | typename __pythran__hypotests_pythran::_Q::type<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>::result_type _Q1(pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>&& A) | |||
442 | { | |||
443 | ||||
444 | PyThreadState *_save = PyEval_SaveThread(); | |||
445 | try { | |||
446 | auto res = __pythran__hypotests_pythran::_Q()(A); | |||
447 | PyEval_RestoreThread(_save); | |||
448 | return res; | |||
449 | } | |||
450 | catch(...) { | |||
451 | PyEval_RestoreThread(_save); | |||
452 | throw; | |||
453 | } | |||
454 | ; | |||
455 | } | |||
456 | typename __pythran__hypotests_pythran::_Q::type<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>::result_type _Q2(pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>&& A) | |||
457 | { | |||
458 | ||||
459 | PyThreadState *_save = PyEval_SaveThread(); | |||
460 | try { | |||
461 | auto res = __pythran__hypotests_pythran::_Q()(A); | |||
462 | PyEval_RestoreThread(_save); | |||
463 | return res; | |||
464 | } | |||
465 | catch(...) { | |||
466 | PyEval_RestoreThread(_save); | |||
467 | throw; | |||
468 | } | |||
469 | ; | |||
470 | } | |||
471 | typename __pythran__hypotests_pythran::_Q::type<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>::result_type _Q3(pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>&& A) | |||
472 | { | |||
473 | ||||
474 | PyThreadState *_save = PyEval_SaveThread(); | |||
475 | try { | |||
476 | auto res = __pythran__hypotests_pythran::_Q()(A); | |||
477 | PyEval_RestoreThread(_save); | |||
478 | return res; | |||
479 | } | |||
480 | catch(...) { | |||
481 | PyEval_RestoreThread(_save); | |||
482 | throw; | |||
483 | } | |||
484 | ; | |||
485 | } | |||
486 | typename __pythran__hypotests_pythran::_P::type<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>::result_type _P0(pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>&& A) | |||
487 | { | |||
488 | ||||
489 | PyThreadState *_save = PyEval_SaveThread(); | |||
490 | try { | |||
491 | auto res = __pythran__hypotests_pythran::_P()(A); | |||
492 | PyEval_RestoreThread(_save); | |||
493 | return res; | |||
494 | } | |||
495 | catch(...) { | |||
496 | PyEval_RestoreThread(_save); | |||
497 | throw; | |||
498 | } | |||
499 | ; | |||
500 | } | |||
501 | typename __pythran__hypotests_pythran::_P::type<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>::result_type _P1(pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>&& A) | |||
502 | { | |||
503 | ||||
504 | PyThreadState *_save = PyEval_SaveThread(); | |||
505 | try { | |||
506 | auto res = __pythran__hypotests_pythran::_P()(A); | |||
507 | PyEval_RestoreThread(_save); | |||
508 | return res; | |||
509 | } | |||
510 | catch(...) { | |||
511 | PyEval_RestoreThread(_save); | |||
512 | throw; | |||
513 | } | |||
514 | ; | |||
515 | } | |||
516 | typename __pythran__hypotests_pythran::_P::type<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>::result_type _P2(pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>&& A) | |||
517 | { | |||
518 | ||||
519 | PyThreadState *_save = PyEval_SaveThread(); | |||
520 | try { | |||
521 | auto res = __pythran__hypotests_pythran::_P()(A); | |||
522 | PyEval_RestoreThread(_save); | |||
523 | return res; | |||
524 | } | |||
525 | catch(...) { | |||
526 | PyEval_RestoreThread(_save); | |||
527 | throw; | |||
528 | } | |||
529 | ; | |||
530 | } | |||
531 | typename __pythran__hypotests_pythran::_P::type<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>::result_type _P3(pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>&& A) | |||
532 | { | |||
533 | ||||
534 | PyThreadState *_save = PyEval_SaveThread(); | |||
535 | try { | |||
536 | auto res = __pythran__hypotests_pythran::_P()(A); | |||
537 | PyEval_RestoreThread(_save); | |||
538 | return res; | |||
539 | } | |||
540 | catch(...) { | |||
541 | PyEval_RestoreThread(_save); | |||
542 | throw; | |||
543 | } | |||
544 | ; | |||
545 | } | |||
546 | typename __pythran__hypotests_pythran::_Dij::type<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>, long, long>::result_type _Dij0(pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>&& A, long&& i, long&& j) | |||
547 | { | |||
548 | ||||
549 | PyThreadState *_save = PyEval_SaveThread(); | |||
550 | try { | |||
551 | auto res = __pythran__hypotests_pythran::_Dij()(A, i, j); | |||
552 | PyEval_RestoreThread(_save); | |||
553 | return res; | |||
554 | } | |||
555 | catch(...) { | |||
556 | PyEval_RestoreThread(_save); | |||
557 | throw; | |||
558 | } | |||
559 | ; | |||
560 | } | |||
561 | typename __pythran__hypotests_pythran::_Dij::type<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>, long, long>::result_type _Dij1(pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>&& A, long&& i, long&& j) | |||
562 | { | |||
563 | ||||
564 | PyThreadState *_save = PyEval_SaveThread(); | |||
565 | try { | |||
566 | auto res = __pythran__hypotests_pythran::_Dij()(A, i, j); | |||
567 | PyEval_RestoreThread(_save); | |||
568 | return res; | |||
569 | } | |||
570 | catch(...) { | |||
571 | PyEval_RestoreThread(_save); | |||
572 | throw; | |||
573 | } | |||
574 | ; | |||
575 | } | |||
576 | typename __pythran__hypotests_pythran::_Dij::type<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>, long, long>::result_type _Dij2(pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>&& A, long&& i, long&& j) | |||
577 | { | |||
578 | ||||
579 | PyThreadState *_save = PyEval_SaveThread(); | |||
580 | try { | |||
581 | auto res = __pythran__hypotests_pythran::_Dij()(A, i, j); | |||
582 | PyEval_RestoreThread(_save); | |||
583 | return res; | |||
584 | } | |||
585 | catch(...) { | |||
586 | PyEval_RestoreThread(_save); | |||
587 | throw; | |||
588 | } | |||
589 | ; | |||
590 | } | |||
591 | typename __pythran__hypotests_pythran::_Dij::type<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>, long, long>::result_type _Dij3(pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>&& A, long&& i, long&& j) | |||
592 | { | |||
593 | ||||
594 | PyThreadState *_save = PyEval_SaveThread(); | |||
595 | try { | |||
596 | auto res = __pythran__hypotests_pythran::_Dij()(A, i, j); | |||
597 | PyEval_RestoreThread(_save); | |||
598 | return res; | |||
599 | } | |||
600 | catch(...) { | |||
601 | PyEval_RestoreThread(_save); | |||
602 | throw; | |||
603 | } | |||
604 | ; | |||
605 | } | |||
606 | typename __pythran__hypotests_pythran::_Aij::type<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>, long, long>::result_type _Aij0(pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>&& A, long&& i, long&& j) | |||
607 | { | |||
608 | ||||
609 | PyThreadState *_save = PyEval_SaveThread(); | |||
610 | try { | |||
611 | auto res = __pythran__hypotests_pythran::_Aij()(A, i, j); | |||
612 | PyEval_RestoreThread(_save); | |||
613 | return res; | |||
614 | } | |||
615 | catch(...) { | |||
616 | PyEval_RestoreThread(_save); | |||
617 | throw; | |||
618 | } | |||
619 | ; | |||
620 | } | |||
621 | typename __pythran__hypotests_pythran::_Aij::type<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>, long, long>::result_type _Aij1(pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>&& A, long&& i, long&& j) | |||
622 | { | |||
623 | ||||
624 | PyThreadState *_save = PyEval_SaveThread(); | |||
625 | try { | |||
626 | auto res = __pythran__hypotests_pythran::_Aij()(A, i, j); | |||
627 | PyEval_RestoreThread(_save); | |||
628 | return res; | |||
629 | } | |||
630 | catch(...) { | |||
631 | PyEval_RestoreThread(_save); | |||
632 | throw; | |||
633 | } | |||
634 | ; | |||
635 | } | |||
636 | typename __pythran__hypotests_pythran::_Aij::type<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>, long, long>::result_type _Aij2(pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>&& A, long&& i, long&& j) | |||
637 | { | |||
638 | ||||
639 | PyThreadState *_save = PyEval_SaveThread(); | |||
640 | try { | |||
641 | auto res = __pythran__hypotests_pythran::_Aij()(A, i, j); | |||
642 | PyEval_RestoreThread(_save); | |||
643 | return res; | |||
644 | } | |||
645 | catch(...) { | |||
646 | PyEval_RestoreThread(_save); | |||
647 | throw; | |||
648 | } | |||
649 | ; | |||
650 | } | |||
651 | typename __pythran__hypotests_pythran::_Aij::type<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>, long, long>::result_type _Aij3(pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>&& A, long&& i, long&& j) | |||
652 | { | |||
653 | ||||
654 | PyThreadState *_save = PyEval_SaveThread(); | |||
655 | try { | |||
656 | auto res = __pythran__hypotests_pythran::_Aij()(A, i, j); | |||
657 | PyEval_RestoreThread(_save); | |||
658 | return res; | |||
659 | } | |||
660 | catch(...) { | |||
661 | PyEval_RestoreThread(_save); | |||
662 | throw; | |||
663 | } | |||
664 | ; | |||
665 | } | |||
666 | ||||
667 | static PyObject * | |||
668 | __pythran_wrap__a_ij_Aij_Dij20(PyObject *self, PyObject *args, PyObject *kw) | |||
669 | { | |||
670 | PyObject* args_obj[1+1]; | |||
671 | ||||
672 | char const* keywords[] = {"A", nullptr}; | |||
673 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
674 | (char**)keywords , &args_obj[0])) | |||
675 | return nullptr; | |||
676 | if(is_convertible<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>(args_obj[0])) | |||
677 | return to_python(_a_ij_Aij_Dij20(from_python<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>(args_obj[0]))); | |||
678 | else { | |||
679 | return nullptr; | |||
680 | } | |||
681 | } | |||
682 | ||||
683 | static PyObject * | |||
684 | __pythran_wrap__a_ij_Aij_Dij21(PyObject *self, PyObject *args, PyObject *kw) | |||
685 | { | |||
686 | PyObject* args_obj[1+1]; | |||
687 | ||||
688 | char const* keywords[] = {"A", nullptr}; | |||
689 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
690 | (char**)keywords , &args_obj[0])) | |||
691 | return nullptr; | |||
692 | if(is_convertible<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>(args_obj[0])) | |||
693 | return to_python(_a_ij_Aij_Dij21(from_python<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>(args_obj[0]))); | |||
694 | else { | |||
695 | return nullptr; | |||
696 | } | |||
697 | } | |||
698 | ||||
699 | static PyObject * | |||
700 | __pythran_wrap__a_ij_Aij_Dij22(PyObject *self, PyObject *args, PyObject *kw) | |||
701 | { | |||
702 | PyObject* args_obj[1+1]; | |||
703 | ||||
704 | char const* keywords[] = {"A", nullptr}; | |||
705 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
706 | (char**)keywords , &args_obj[0])) | |||
707 | return nullptr; | |||
708 | if(is_convertible<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>(args_obj[0])) | |||
709 | return to_python(_a_ij_Aij_Dij22(from_python<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>(args_obj[0]))); | |||
710 | else { | |||
711 | return nullptr; | |||
712 | } | |||
713 | } | |||
714 | ||||
715 | static PyObject * | |||
716 | __pythran_wrap__a_ij_Aij_Dij23(PyObject *self, PyObject *args, PyObject *kw) | |||
717 | { | |||
718 | PyObject* args_obj[1+1]; | |||
719 | ||||
720 | char const* keywords[] = {"A", nullptr}; | |||
721 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
722 | (char**)keywords , &args_obj[0])) | |||
723 | return nullptr; | |||
724 | if(is_convertible<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>(args_obj[0])) | |||
725 | return to_python(_a_ij_Aij_Dij23(from_python<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>(args_obj[0]))); | |||
726 | else { | |||
727 | return nullptr; | |||
728 | } | |||
729 | } | |||
730 | ||||
731 | static PyObject * | |||
732 | __pythran_wrap__Q0(PyObject *self, PyObject *args, PyObject *kw) | |||
733 | { | |||
734 | PyObject* args_obj[1+1]; | |||
735 | ||||
736 | char const* keywords[] = {"A", nullptr}; | |||
737 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
738 | (char**)keywords , &args_obj[0])) | |||
739 | return nullptr; | |||
740 | if(is_convertible<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>(args_obj[0])) | |||
741 | return to_python(_Q0(from_python<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>(args_obj[0]))); | |||
742 | else { | |||
743 | return nullptr; | |||
744 | } | |||
745 | } | |||
746 | ||||
747 | static PyObject * | |||
748 | __pythran_wrap__Q1(PyObject *self, PyObject *args, PyObject *kw) | |||
749 | { | |||
750 | PyObject* args_obj[1+1]; | |||
751 | ||||
752 | char const* keywords[] = {"A", nullptr}; | |||
753 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
754 | (char**)keywords , &args_obj[0])) | |||
755 | return nullptr; | |||
756 | if(is_convertible<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>(args_obj[0])) | |||
757 | return to_python(_Q1(from_python<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>(args_obj[0]))); | |||
758 | else { | |||
759 | return nullptr; | |||
760 | } | |||
761 | } | |||
762 | ||||
763 | static PyObject * | |||
764 | __pythran_wrap__Q2(PyObject *self, PyObject *args, PyObject *kw) | |||
765 | { | |||
766 | PyObject* args_obj[1+1]; | |||
767 | ||||
768 | char const* keywords[] = {"A", nullptr}; | |||
769 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
770 | (char**)keywords , &args_obj[0])) | |||
771 | return nullptr; | |||
772 | if(is_convertible<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>(args_obj[0])) | |||
773 | return to_python(_Q2(from_python<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>(args_obj[0]))); | |||
774 | else { | |||
775 | return nullptr; | |||
776 | } | |||
777 | } | |||
778 | ||||
779 | static PyObject * | |||
780 | __pythran_wrap__Q3(PyObject *self, PyObject *args, PyObject *kw) | |||
781 | { | |||
782 | PyObject* args_obj[1+1]; | |||
783 | ||||
784 | char const* keywords[] = {"A", nullptr}; | |||
785 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
786 | (char**)keywords , &args_obj[0])) | |||
787 | return nullptr; | |||
788 | if(is_convertible<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>(args_obj[0])) | |||
789 | return to_python(_Q3(from_python<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>(args_obj[0]))); | |||
790 | else { | |||
791 | return nullptr; | |||
792 | } | |||
793 | } | |||
794 | ||||
795 | static PyObject * | |||
796 | __pythran_wrap__P0(PyObject *self, PyObject *args, PyObject *kw) | |||
797 | { | |||
798 | PyObject* args_obj[1+1]; | |||
799 | ||||
800 | char const* keywords[] = {"A", nullptr}; | |||
801 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
802 | (char**)keywords , &args_obj[0])) | |||
803 | return nullptr; | |||
804 | if(is_convertible<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>(args_obj[0])) | |||
805 | return to_python(_P0(from_python<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>(args_obj[0]))); | |||
806 | else { | |||
807 | return nullptr; | |||
808 | } | |||
809 | } | |||
810 | ||||
811 | static PyObject * | |||
812 | __pythran_wrap__P1(PyObject *self, PyObject *args, PyObject *kw) | |||
813 | { | |||
814 | PyObject* args_obj[1+1]; | |||
815 | ||||
816 | char const* keywords[] = {"A", nullptr}; | |||
817 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
818 | (char**)keywords , &args_obj[0])) | |||
819 | return nullptr; | |||
820 | if(is_convertible<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>(args_obj[0])) | |||
821 | return to_python(_P1(from_python<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>(args_obj[0]))); | |||
822 | else { | |||
823 | return nullptr; | |||
824 | } | |||
825 | } | |||
826 | ||||
827 | static PyObject * | |||
828 | __pythran_wrap__P2(PyObject *self, PyObject *args, PyObject *kw) | |||
829 | { | |||
830 | PyObject* args_obj[1+1]; | |||
831 | ||||
832 | char const* keywords[] = {"A", nullptr}; | |||
833 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
834 | (char**)keywords , &args_obj[0])) | |||
835 | return nullptr; | |||
836 | if(is_convertible<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>(args_obj[0])) | |||
837 | return to_python(_P2(from_python<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>(args_obj[0]))); | |||
838 | else { | |||
839 | return nullptr; | |||
840 | } | |||
841 | } | |||
842 | ||||
843 | static PyObject * | |||
844 | __pythran_wrap__P3(PyObject *self, PyObject *args, PyObject *kw) | |||
845 | { | |||
846 | PyObject* args_obj[1+1]; | |||
847 | ||||
848 | char const* keywords[] = {"A", nullptr}; | |||
849 | if(! PyArg_ParseTupleAndKeywords(args, kw, "O", | |||
850 | (char**)keywords , &args_obj[0])) | |||
851 | return nullptr; | |||
852 | if(is_convertible<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>(args_obj[0])) | |||
853 | return to_python(_P3(from_python<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>(args_obj[0]))); | |||
854 | else { | |||
855 | return nullptr; | |||
856 | } | |||
857 | } | |||
858 | ||||
859 | static PyObject * | |||
860 | __pythran_wrap__Dij0(PyObject *self, PyObject *args, PyObject *kw) | |||
861 | { | |||
862 | PyObject* args_obj[3+1]; | |||
863 | ||||
864 | char const* keywords[] = {"A", "i", "j", nullptr}; | |||
865 | if(! PyArg_ParseTupleAndKeywords(args, kw, "OOO", | |||
866 | (char**)keywords , &args_obj[0], &args_obj[1], &args_obj[2])) | |||
867 | return nullptr; | |||
868 | if(is_convertible<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>(args_obj[0]) && is_convertible<long>(args_obj[1]) && is_convertible<long>(args_obj[2])) | |||
869 | return to_python(_Dij0(from_python<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>(args_obj[0]), from_python<long>(args_obj[1]), from_python<long>(args_obj[2]))); | |||
870 | else { | |||
871 | return nullptr; | |||
872 | } | |||
873 | } | |||
874 | ||||
875 | static PyObject * | |||
876 | __pythran_wrap__Dij1(PyObject *self, PyObject *args, PyObject *kw) | |||
877 | { | |||
878 | PyObject* args_obj[3+1]; | |||
879 | ||||
880 | char const* keywords[] = {"A", "i", "j", nullptr}; | |||
881 | if(! PyArg_ParseTupleAndKeywords(args, kw, "OOO", | |||
882 | (char**)keywords , &args_obj[0], &args_obj[1], &args_obj[2])) | |||
883 | return nullptr; | |||
884 | if(is_convertible<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>(args_obj[0]) && is_convertible<long>(args_obj[1]) && is_convertible<long>(args_obj[2])) | |||
885 | return to_python(_Dij1(from_python<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>(args_obj[0]), from_python<long>(args_obj[1]), from_python<long>(args_obj[2]))); | |||
886 | else { | |||
887 | return nullptr; | |||
888 | } | |||
889 | } | |||
890 | ||||
891 | static PyObject * | |||
892 | __pythran_wrap__Dij2(PyObject *self, PyObject *args, PyObject *kw) | |||
893 | { | |||
894 | PyObject* args_obj[3+1]; | |||
895 | ||||
896 | char const* keywords[] = {"A", "i", "j", nullptr}; | |||
897 | if(! PyArg_ParseTupleAndKeywords(args, kw, "OOO", | |||
898 | (char**)keywords , &args_obj[0], &args_obj[1], &args_obj[2])) | |||
899 | return nullptr; | |||
900 | if(is_convertible<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>(args_obj[0]) && is_convertible<long>(args_obj[1]) && is_convertible<long>(args_obj[2])) | |||
901 | return to_python(_Dij2(from_python<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>(args_obj[0]), from_python<long>(args_obj[1]), from_python<long>(args_obj[2]))); | |||
902 | else { | |||
903 | return nullptr; | |||
904 | } | |||
905 | } | |||
906 | ||||
907 | static PyObject * | |||
908 | __pythran_wrap__Dij3(PyObject *self, PyObject *args, PyObject *kw) | |||
909 | { | |||
910 | PyObject* args_obj[3+1]; | |||
911 | ||||
912 | char const* keywords[] = {"A", "i", "j", nullptr}; | |||
913 | if(! PyArg_ParseTupleAndKeywords(args, kw, "OOO", | |||
914 | (char**)keywords , &args_obj[0], &args_obj[1], &args_obj[2])) | |||
915 | return nullptr; | |||
916 | if(is_convertible<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>(args_obj[0]) && is_convertible<long>(args_obj[1]) && is_convertible<long>(args_obj[2])) | |||
917 | return to_python(_Dij3(from_python<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>(args_obj[0]), from_python<long>(args_obj[1]), from_python<long>(args_obj[2]))); | |||
918 | else { | |||
919 | return nullptr; | |||
920 | } | |||
921 | } | |||
922 | ||||
923 | static PyObject * | |||
924 | __pythran_wrap__Aij0(PyObject *self, PyObject *args, PyObject *kw) | |||
925 | { | |||
926 | PyObject* args_obj[3+1]; | |||
927 | ||||
928 | char const* keywords[] = {"A", "i", "j", nullptr}; | |||
929 | if(! PyArg_ParseTupleAndKeywords(args, kw, "OOO", | |||
930 | (char**)keywords , &args_obj[0], &args_obj[1], &args_obj[2])) | |||
931 | return nullptr; | |||
932 | if(is_convertible<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>(args_obj[0]) && is_convertible<long>(args_obj[1]) && is_convertible<long>(args_obj[2])) | |||
933 | return to_python(_Aij0(from_python<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>(args_obj[0]), from_python<long>(args_obj[1]), from_python<long>(args_obj[2]))); | |||
934 | else { | |||
935 | return nullptr; | |||
936 | } | |||
937 | } | |||
938 | ||||
939 | static PyObject * | |||
940 | __pythran_wrap__Aij1(PyObject *self, PyObject *args, PyObject *kw) | |||
941 | { | |||
942 | PyObject* args_obj[3+1]; | |||
943 | ||||
944 | char const* keywords[] = {"A", "i", "j", nullptr}; | |||
945 | if(! PyArg_ParseTupleAndKeywords(args, kw, "OOO", | |||
946 | (char**)keywords , &args_obj[0], &args_obj[1], &args_obj[2])) | |||
947 | return nullptr; | |||
948 | if(is_convertible<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>(args_obj[0]) && is_convertible<long>(args_obj[1]) && is_convertible<long>(args_obj[2])) | |||
949 | return to_python(_Aij1(from_python<pythonic::types::numpy_texpr<pythonic::types::ndarray<long,pythonic::types::pshape<long,long>>>>(args_obj[0]), from_python<long>(args_obj[1]), from_python<long>(args_obj[2]))); | |||
950 | else { | |||
951 | return nullptr; | |||
952 | } | |||
953 | } | |||
954 | ||||
955 | static PyObject * | |||
956 | __pythran_wrap__Aij2(PyObject *self, PyObject *args, PyObject *kw) | |||
957 | { | |||
958 | PyObject* args_obj[3+1]; | |||
959 | ||||
960 | char const* keywords[] = {"A", "i", "j", nullptr}; | |||
961 | if(! PyArg_ParseTupleAndKeywords(args, kw, "OOO", | |||
962 | (char**)keywords , &args_obj[0], &args_obj[1], &args_obj[2])) | |||
963 | return nullptr; | |||
964 | if(is_convertible<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>(args_obj[0]) && is_convertible<long>(args_obj[1]) && is_convertible<long>(args_obj[2])) | |||
965 | return to_python(_Aij2(from_python<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>(args_obj[0]), from_python<long>(args_obj[1]), from_python<long>(args_obj[2]))); | |||
966 | else { | |||
967 | return nullptr; | |||
968 | } | |||
969 | } | |||
970 | ||||
971 | static PyObject * | |||
972 | __pythran_wrap__Aij3(PyObject *self, PyObject *args, PyObject *kw) | |||
973 | { | |||
974 | PyObject* args_obj[3+1]; | |||
975 | ||||
976 | char const* keywords[] = {"A", "i", "j", nullptr}; | |||
977 | if(! PyArg_ParseTupleAndKeywords(args, kw, "OOO", | |||
978 | (char**)keywords , &args_obj[0], &args_obj[1], &args_obj[2])) | |||
979 | return nullptr; | |||
980 | if(is_convertible<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>(args_obj[0]) && is_convertible<long>(args_obj[1]) && is_convertible<long>(args_obj[2])) | |||
981 | return to_python(_Aij3(from_python<pythonic::types::numpy_texpr<pythonic::types::ndarray<double,pythonic::types::pshape<long,long>>>>(args_obj[0]), from_python<long>(args_obj[1]), from_python<long>(args_obj[2]))); | |||
982 | else { | |||
983 | return nullptr; | |||
984 | } | |||
985 | } | |||
986 | ||||
987 | static PyObject * | |||
988 | __pythran_wrapall__a_ij_Aij_Dij2(PyObject *self, PyObject *args, PyObject *kw) | |||
989 | { | |||
990 | return pythonic::handle_python_exception([self, args, kw]() | |||
991 | -> PyObject* { | |||
992 | ||||
993 | if(PyObject* obj = __pythran_wrap__a_ij_Aij_Dij20(self, args, kw)) | |||
994 | return obj; | |||
995 | PyErr_Clear(); | |||
996 | ||||
997 | ||||
998 | if(PyObject* obj = __pythran_wrap__a_ij_Aij_Dij21(self, args, kw)) | |||
999 | return obj; | |||
1000 | PyErr_Clear(); | |||
1001 | ||||
1002 | ||||
1003 | if(PyObject* obj = __pythran_wrap__a_ij_Aij_Dij22(self, args, kw)) | |||
1004 | return obj; | |||
1005 | PyErr_Clear(); | |||
1006 | ||||
1007 | ||||
1008 | if(PyObject* obj = __pythran_wrap__a_ij_Aij_Dij23(self, args, kw)) | |||
1009 | return obj; | |||
1010 | PyErr_Clear(); | |||
1011 | ||||
1012 | return pythonic::python::raise_invalid_argument( | |||
1013 | "_a_ij_Aij_Dij2", "\n"" - _a_ij_Aij_Dij2(int[:,:])\n"" - _a_ij_Aij_Dij2(float[:,:])", args, kw); | |||
1014 | }); | |||
1015 | } | |||
1016 | ||||
1017 | ||||
1018 | static PyObject * | |||
1019 | __pythran_wrapall__Q(PyObject *self, PyObject *args, PyObject *kw) | |||
1020 | { | |||
1021 | return pythonic::handle_python_exception([self, args, kw]() | |||
1022 | -> PyObject* { | |||
1023 | ||||
1024 | if(PyObject* obj = __pythran_wrap__Q0(self, args, kw)) | |||
1025 | return obj; | |||
1026 | PyErr_Clear(); | |||
1027 | ||||
1028 | ||||
1029 | if(PyObject* obj = __pythran_wrap__Q1(self, args, kw)) | |||
1030 | return obj; | |||
1031 | PyErr_Clear(); | |||
1032 | ||||
1033 | ||||
1034 | if(PyObject* obj = __pythran_wrap__Q2(self, args, kw)) | |||
1035 | return obj; | |||
1036 | PyErr_Clear(); | |||
1037 | ||||
1038 | ||||
1039 | if(PyObject* obj = __pythran_wrap__Q3(self, args, kw)) | |||
1040 | return obj; | |||
1041 | PyErr_Clear(); | |||
1042 | ||||
1043 | return pythonic::python::raise_invalid_argument( | |||
1044 | "_Q", "\n"" - _Q(int[:,:])\n"" - _Q(float[:,:])", args, kw); | |||
1045 | }); | |||
1046 | } | |||
1047 | ||||
1048 | ||||
1049 | static PyObject * | |||
1050 | __pythran_wrapall__P(PyObject *self, PyObject *args, PyObject *kw) | |||
1051 | { | |||
1052 | return pythonic::handle_python_exception([self, args, kw]() | |||
1053 | -> PyObject* { | |||
1054 | ||||
1055 | if(PyObject* obj = __pythran_wrap__P0(self, args, kw)) | |||
1056 | return obj; | |||
1057 | PyErr_Clear(); | |||
1058 | ||||
1059 | ||||
1060 | if(PyObject* obj = __pythran_wrap__P1(self, args, kw)) | |||
1061 | return obj; | |||
1062 | PyErr_Clear(); | |||
1063 | ||||
1064 | ||||
1065 | if(PyObject* obj = __pythran_wrap__P2(self, args, kw)) | |||
1066 | return obj; | |||
1067 | PyErr_Clear(); | |||
1068 | ||||
1069 | ||||
1070 | if(PyObject* obj = __pythran_wrap__P3(self, args, kw)) | |||
1071 | return obj; | |||
1072 | PyErr_Clear(); | |||
1073 | ||||
1074 | return pythonic::python::raise_invalid_argument( | |||
1075 | "_P", "\n"" - _P(int[:,:])\n"" - _P(float[:,:])", args, kw); | |||
1076 | }); | |||
1077 | } | |||
1078 | ||||
1079 | ||||
1080 | static PyObject * | |||
1081 | __pythran_wrapall__Dij(PyObject *self, PyObject *args, PyObject *kw) | |||
1082 | { | |||
1083 | return pythonic::handle_python_exception([self, args, kw]() | |||
1084 | -> PyObject* { | |||
1085 | ||||
1086 | if(PyObject* obj = __pythran_wrap__Dij0(self, args, kw)) | |||
1087 | return obj; | |||
1088 | PyErr_Clear(); | |||
1089 | ||||
1090 | ||||
1091 | if(PyObject* obj = __pythran_wrap__Dij1(self, args, kw)) | |||
1092 | return obj; | |||
1093 | PyErr_Clear(); | |||
1094 | ||||
1095 | ||||
1096 | if(PyObject* obj = __pythran_wrap__Dij2(self, args, kw)) | |||
1097 | return obj; | |||
1098 | PyErr_Clear(); | |||
1099 | ||||
1100 | ||||
1101 | if(PyObject* obj = __pythran_wrap__Dij3(self, args, kw)) | |||
1102 | return obj; | |||
1103 | PyErr_Clear(); | |||
1104 | ||||
1105 | return pythonic::python::raise_invalid_argument( | |||
1106 | "_Dij", "\n"" - _Dij(int[:,:], int, int)\n"" - _Dij(float[:,:], int, int)", args, kw); | |||
1107 | }); | |||
1108 | } | |||
1109 | ||||
1110 | ||||
1111 | static PyObject * | |||
1112 | __pythran_wrapall__Aij(PyObject *self, PyObject *args, PyObject *kw) | |||
1113 | { | |||
1114 | return pythonic::handle_python_exception([self, args, kw]() | |||
1115 | -> PyObject* { | |||
1116 | ||||
1117 | if(PyObject* obj = __pythran_wrap__Aij0(self, args, kw)) | |||
1118 | return obj; | |||
1119 | PyErr_Clear(); | |||
1120 | ||||
1121 | ||||
1122 | if(PyObject* obj = __pythran_wrap__Aij1(self, args, kw)) | |||
1123 | return obj; | |||
1124 | PyErr_Clear(); | |||
1125 | ||||
1126 | ||||
1127 | if(PyObject* obj = __pythran_wrap__Aij2(self, args, kw)) | |||
1128 | return obj; | |||
1129 | PyErr_Clear(); | |||
1130 | ||||
1131 | ||||
1132 | if(PyObject* obj = __pythran_wrap__Aij3(self, args, kw)) | |||
1133 | return obj; | |||
1134 | PyErr_Clear(); | |||
1135 | ||||
1136 | return pythonic::python::raise_invalid_argument( | |||
1137 | "_Aij", "\n"" - _Aij(int[:,:], int, int)\n"" - _Aij(float[:,:], int, int)", args, kw); | |||
1138 | }); | |||
1139 | } | |||
1140 | ||||
1141 | ||||
1142 | static PyMethodDef Methods[] = { | |||
1143 | { | |||
1144 | "_a_ij_Aij_Dij2", | |||
1145 | (PyCFunction)__pythran_wrapall__a_ij_Aij_Dij2, | |||
1146 | METH_VARARGS0x0001 | METH_KEYWORDS0x0002, | |||
1147 | "A term that appears in the ASE of Kendall's tau and Somers' D.\n""\n"" Supported prototypes:\n""\n"" - _a_ij_Aij_Dij2(int[:,:])\n"" - _a_ij_Aij_Dij2(float[:,:])"},{ | |||
1148 | "_Q", | |||
1149 | (PyCFunction)__pythran_wrapall__Q, | |||
1150 | METH_VARARGS0x0001 | METH_KEYWORDS0x0002, | |||
1151 | "Twice the number of discordant pairs, excluding ties.\n""\n"" Supported prototypes:\n""\n"" - _Q(int[:,:])\n"" - _Q(float[:,:])"},{ | |||
1152 | "_P", | |||
1153 | (PyCFunction)__pythran_wrapall__P, | |||
1154 | METH_VARARGS0x0001 | METH_KEYWORDS0x0002, | |||
1155 | "Twice the number of concordant pairs, excluding ties.\n""\n"" Supported prototypes:\n""\n"" - _P(int[:,:])\n"" - _P(float[:,:])"},{ | |||
1156 | "_Dij", | |||
1157 | (PyCFunction)__pythran_wrapall__Dij, | |||
1158 | METH_VARARGS0x0001 | METH_KEYWORDS0x0002, | |||
1159 | "Sum of lower-left and upper-right blocks of contingency table.\n""\n"" Supported prototypes:\n""\n"" - _Dij(int[:,:], int, int)\n"" - _Dij(float[:,:], int, int)"},{ | |||
1160 | "_Aij", | |||
1161 | (PyCFunction)__pythran_wrapall__Aij, | |||
1162 | METH_VARARGS0x0001 | METH_KEYWORDS0x0002, | |||
1163 | "Sum of upper-left and lower right blocks of contingency table.\n""\n"" Supported prototypes:\n""\n"" - _Aij(int[:,:], int, int)\n"" - _Aij(float[:,:], int, int)"}, | |||
1164 | {NULL__null, NULL__null, 0, NULL__null} | |||
1165 | }; | |||
1166 | ||||
1167 | ||||
1168 | #if PY_MAJOR_VERSION3 >= 3 | |||
1169 | static struct PyModuleDef moduledef = { | |||
1170 | PyModuleDef_HEAD_INIT{ { 1, __null }, __null, 0, __null, }, | |||
1171 | "_hypotests_pythran", /* m_name */ | |||
1172 | "", /* m_doc */ | |||
1173 | -1, /* m_size */ | |||
1174 | Methods, /* m_methods */ | |||
1175 | NULL__null, /* m_reload */ | |||
1176 | NULL__null, /* m_traverse */ | |||
1177 | NULL__null, /* m_clear */ | |||
1178 | NULL__null, /* m_free */ | |||
1179 | }; | |||
1180 | #define PYTHRAN_RETURNreturn theModule return theModule | |||
1181 | #define PYTHRAN_MODULE_INIT(s)PyInit_s PyInit_##s | |||
1182 | #else | |||
1183 | #define PYTHRAN_RETURNreturn theModule return | |||
1184 | #define PYTHRAN_MODULE_INIT(s)PyInit_s init##s | |||
1185 | #endif | |||
1186 | PyMODINIT_FUNCextern "C" PyObject* | |||
1187 | PYTHRAN_MODULE_INIT(_hypotests_pythran)PyInit__hypotests_pythran(void) | |||
1188 | #ifndef _WIN32 | |||
1189 | __attribute__ ((visibility("default"))) | |||
1190 | #if defined(GNUC) && !defined(__clang__1) | |||
1191 | __attribute__ ((externally_visible)) | |||
1192 | #endif | |||
1193 | #endif | |||
1194 | ; | |||
1195 | PyMODINIT_FUNCextern "C" PyObject* | |||
1196 | PYTHRAN_MODULE_INIT(_hypotests_pythran)PyInit__hypotests_pythran(void) { | |||
1197 | import_array(){if (_import_array() < 0) {PyErr_Print(); PyErr_SetString( PyExc_ImportError, "numpy.core.multiarray failed to import"); return __null; } } | |||
| ||||
1198 | #if PY_MAJOR_VERSION3 >= 3 | |||
1199 | PyObject* theModule = PyModule_Create(&moduledef)PyModule_Create2(&moduledef, 1013); | |||
1200 | #else | |||
1201 | PyObject* theModule = Py_InitModule3("_hypotests_pythran", | |||
1202 | Methods, | |||
1203 | "" | |||
1204 | ); | |||
1205 | #endif | |||
1206 | if(! theModule) | |||
1207 | PYTHRAN_RETURNreturn theModule; | |||
1208 | PyObject * theDoc = Py_BuildValue("(sss)", | |||
| ||||
1209 | "0.9.12", | |||
1210 | "2021-07-14 11:02:37.224243", | |||
1211 | "c1daeef739e190b001bcd9fbabc6b217f8584808fd9822565cbb8dfefdc46c11"); | |||
1212 | if(! theDoc) | |||
1213 | PYTHRAN_RETURNreturn theModule; | |||
1214 | PyModule_AddObject(theModule, | |||
1215 | "__pythran__", | |||
1216 | theDoc); | |||
1217 | ||||
1218 | ||||
1219 | PYTHRAN_RETURNreturn theModule; | |||
1220 | } | |||
1221 | ||||
1222 | #endif |
1 | #ifndef Py_BuildValue |
2 | struct _object; |
3 | typedef struct _object PyObject; |
4 | PyObject* clang_analyzer_PyObject_New_Reference(); |
5 | PyObject* Py_BuildValue(const char *format, ...) { |
6 | return clang_analyzer_PyObject_New_Reference(); |
7 | } |
8 | #else |
9 | #warning "API Py_BuildValue is defined as a macro." |
10 | #endif |