Bug Summary

File:/tmp/pyrefcon/scipy/scipy/stats/_hypotests_pythran.cpp
Warning:line 1208, column 25
PyObject ownership leak with reference count of 1

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple x86_64-unknown-linux-gnu -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name _hypotests_pythran.cpp -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=cplusplus -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -analyzer-output=html -analyzer-checker=python -analyzer-disable-checker=deadcode -analyzer-config prune-paths=true,suppress-c++-stdlib=true,suppress-null-return-paths=false,crosscheck-with-z3=true,model-path=/opt/pyrefcon/lib/pyrefcon/models/models -analyzer-config experimental-enable-naive-ctu-analysis=true,ctu-dir=/tmp/pyrefcon/scipy/csa-scan,ctu-index-name=/tmp/pyrefcon/scipy/csa-scan/externalDefMap.txt,ctu-invocation-list=/tmp/pyrefcon/scipy/csa-scan/invocations.yaml,display-ctu-progress=false -setup-static-analyzer -analyzer-config-compatibility-mode=true -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=none -fno-rounding-math -mconstructor-aliases -munwind-tables -target-cpu x86-64 -tune-cpu generic -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -fcoverage-compilation-dir=/tmp/pyrefcon/scipy -resource-dir /opt/pyrefcon/lib/clang/13.0.0 -isystem /opt/pyrefcon/lib/pyrefcon/models/python3.8 -D NDEBUG -D _FORTIFY_SOURCE=2 -D ENABLE_PYTHON_MODULE -D __PYTHRAN__=3 -D PYTHRAN_BLAS_NONE -I /home/pyrefcon/.local/lib/python3.8/site-packages/pythran -I /usr/lib/python3/dist-packages/numpy/core/include -I /usr/lib/python3/dist-packages/numpy/core/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward -internal-isystem /opt/pyrefcon/lib/clang/13.0.0/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-result -Wsign-compare -Wall -Wformat -Werror=format-security -Wformat -Werror=format-security -Wdate-time -Wno-unused-function -Wno-int-in-bool-context -Wno-unknown-warning-option -std=c++11 -fdeprecated-macro -fdebug-compilation-dir=/tmp/pyrefcon/scipy -ferror-limit 19 -fvisibility hidden -pthread -stack-protector 2 -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/pyrefcon/scipy/csa-scan/reports -x c++ scipy/stats/_hypotests_pythran.cpp

scipy/stats/_hypotests_pythran.cpp

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>
38namespace __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
366typename __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}
381typename __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}
396typename __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}
411typename __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}
426typename __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}
441typename __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}
456typename __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}
471typename __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}
486typename __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}
501typename __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}
516typename __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}
531typename __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}
546typename __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}
561typename __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}
576typename __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}
591typename __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}
606typename __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}
621typename __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}
636typename __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}
651typename __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
667static 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
683static 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
699static 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
715static 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
731static 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
747static 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
763static 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
779static 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
795static 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
811static 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
827static 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
843static 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
859static 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
875static 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
891static 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
907static 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
923static 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
939static 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
955static 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
971static 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
993if(PyObject* obj = __pythran_wrap__a_ij_Aij_Dij20(self, args, kw))
994 return obj;
995PyErr_Clear();
996
997
998if(PyObject* obj = __pythran_wrap__a_ij_Aij_Dij21(self, args, kw))
999 return obj;
1000PyErr_Clear();
1001
1002
1003if(PyObject* obj = __pythran_wrap__a_ij_Aij_Dij22(self, args, kw))
1004 return obj;
1005PyErr_Clear();
1006
1007
1008if(PyObject* obj = __pythran_wrap__a_ij_Aij_Dij23(self, args, kw))
1009 return obj;
1010PyErr_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
1024if(PyObject* obj = __pythran_wrap__Q0(self, args, kw))
1025 return obj;
1026PyErr_Clear();
1027
1028
1029if(PyObject* obj = __pythran_wrap__Q1(self, args, kw))
1030 return obj;
1031PyErr_Clear();
1032
1033
1034if(PyObject* obj = __pythran_wrap__Q2(self, args, kw))
1035 return obj;
1036PyErr_Clear();
1037
1038
1039if(PyObject* obj = __pythran_wrap__Q3(self, args, kw))
1040 return obj;
1041PyErr_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
1055if(PyObject* obj = __pythran_wrap__P0(self, args, kw))
1056 return obj;
1057PyErr_Clear();
1058
1059
1060if(PyObject* obj = __pythran_wrap__P1(self, args, kw))
1061 return obj;
1062PyErr_Clear();
1063
1064
1065if(PyObject* obj = __pythran_wrap__P2(self, args, kw))
1066 return obj;
1067PyErr_Clear();
1068
1069
1070if(PyObject* obj = __pythran_wrap__P3(self, args, kw))
1071 return obj;
1072PyErr_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
1086if(PyObject* obj = __pythran_wrap__Dij0(self, args, kw))
1087 return obj;
1088PyErr_Clear();
1089
1090
1091if(PyObject* obj = __pythran_wrap__Dij1(self, args, kw))
1092 return obj;
1093PyErr_Clear();
1094
1095
1096if(PyObject* obj = __pythran_wrap__Dij2(self, args, kw))
1097 return obj;
1098PyErr_Clear();
1099
1100
1101if(PyObject* obj = __pythran_wrap__Dij3(self, args, kw))
1102 return obj;
1103PyErr_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
1117if(PyObject* obj = __pythran_wrap__Aij0(self, args, kw))
1118 return obj;
1119PyErr_Clear();
1120
1121
1122if(PyObject* obj = __pythran_wrap__Aij1(self, args, kw))
1123 return obj;
1124PyErr_Clear();
1125
1126
1127if(PyObject* obj = __pythran_wrap__Aij2(self, args, kw))
1128 return obj;
1129PyErr_Clear();
1130
1131
1132if(PyObject* obj = __pythran_wrap__Aij3(self, args, kw))
1133 return obj;
1134PyErr_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
1142static 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
1186PyMODINIT_FUNCextern "C" PyObject*
1187PYTHRAN_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;
1195PyMODINIT_FUNCextern "C" PyObject*
1196PYTHRAN_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; } }
1
Taking false branch
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)
2
Assuming 'theModule' is non-null
3
Taking false branch
1207 PYTHRAN_RETURNreturn theModule;
1208 PyObject * theDoc = Py_BuildValue("(sss)",
4
Calling 'Py_BuildValue'
6
Returning from 'Py_BuildValue'
9
PyObject ownership leak with reference count of 1
1209 "0.9.12",
1210 "2021-07-14 11:02:37.224243",
1211 "c1daeef739e190b001bcd9fbabc6b217f8584808fd9822565cbb8dfefdc46c11");
1212 if(! theDoc)
7
Assuming 'theDoc' is non-null
8
Taking false branch
1213 PYTHRAN_RETURNreturn theModule;
1214 PyModule_AddObject(theModule,
1215 "__pythran__",
1216 theDoc);
1217
1218
1219 PYTHRAN_RETURNreturn theModule;
1220}
1221
1222#endif

/opt/pyrefcon/lib/pyrefcon/models/models/Py_BuildValue.model

1#ifndef Py_BuildValue
2struct _object;
3typedef struct _object PyObject;
4PyObject* clang_analyzer_PyObject_New_Reference();
5PyObject* Py_BuildValue(const char *format, ...) {
6 return clang_analyzer_PyObject_New_Reference();
5
Setting reference count to 1
7}
8#else
9#warning "API Py_BuildValue is defined as a macro."
10#endif