From: serge-sans-paille Date: Mon, 29 Aug 2022 06:15:49 +0000 (+0200) Subject: [PATCH] WIP X-Git-Tag: archive/raspbian/1.8.1-22+rpi1^2~15 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=4a4da7a0b9eeefddbd44d956a6bc773d2b0dcd2d;p=scipy.git [PATCH] WIP Gbp-Pq: Name pythran_type_PR16646.patch --- diff --git a/scipy/optimize/_group_columns.py b/scipy/optimize/_group_columns.py index 8b4fcee3..99751d28 100644 --- a/scipy/optimize/_group_columns.py +++ b/scipy/optimize/_group_columns.py @@ -52,10 +52,10 @@ def group_dense(m, n, A): return groups -#pythran export group_sparse(int, int, intc[], intc[]) -#pythran export group_sparse(int, int, int[], int[]) -#pythran export group_sparse(int, int, intc[::], intc[::]) -#pythran export group_sparse(int, int, int[::], int[::]) +#pythran export group_sparse(int, int, int32[], int32[]) +#pythran export group_sparse(int, int, int64[], int64[]) +#pythran export group_sparse(int, int, int32[::], int32[::]) +#pythran export group_sparse(int, int, int64[::], int64[::]) def group_sparse(m, n, indices, indptr): groups = -np.ones(n, dtype=np.intp) current_group = 0 diff --git a/scipy/signal/_max_len_seq.py b/scipy/signal/_max_len_seq.py index 04a2e788..afe97dd4 100644 --- a/scipy/signal/_max_len_seq.py +++ b/scipy/signal/_max_len_seq.py @@ -101,14 +101,15 @@ def max_len_seq(nbits, state=None, length=None, taps=None): >>> plt.show() """ + taps_dtype = np.int32 if np.intp().itemsize == 4 else np.int64 if taps is None: if nbits not in _mls_taps: known_taps = np.array(list(_mls_taps.keys())) raise ValueError('nbits must be between %s and %s if taps is None' % (known_taps.min(), known_taps.max())) - taps = np.array(_mls_taps[nbits], np.intp) + taps = np.array(_mls_taps[nbits], taps_dtype) else: - taps = np.unique(np.array(taps, np.intp))[::-1] + taps = np.unique(np.array(taps, taps_dtype))[::-1] if np.any(taps < 0) or np.any(taps > nbits) or taps.size < 1: raise ValueError('taps must be non-empty with values between ' 'zero and nbits (inclusive)') diff --git a/scipy/signal/_max_len_seq_inner.py b/scipy/signal/_max_len_seq_inner.py index 88d6ef3d..8de08937 100644 --- a/scipy/signal/_max_len_seq_inner.py +++ b/scipy/signal/_max_len_seq_inner.py @@ -3,8 +3,8 @@ import numpy as np -#pythran export _max_len_seq_inner(intp[], int8[], int, int, int8[]) -#pythran export _max_len_seq_inner(int[], int8[], int, int, int8[]) +#pythran export _max_len_seq_inner(int32[], int8[], int, int, int8[]) +#pythran export _max_len_seq_inner(int64[], int8[], int, int, int8[]) # Fast inner loop of max_len_seq. def _max_len_seq_inner(taps, state, nbits, length, seq): diff --git a/scipy/sparse/_sputils.py b/scipy/sparse/_sputils.py index 3fea06ea..6d93b6f9 100644 --- a/scipy/sparse/_sputils.py +++ b/scipy/sparse/_sputils.py @@ -153,7 +153,8 @@ def get_index_dtype(arrays=(), maxval=None, check_contents=False): int32min = np.iinfo(np.int32).min int32max = np.iinfo(np.int32).max - dtype = np.intc + # not using intc directly due to misinteractions with pythran + dtype = np.int32 if np.intc().itemsize == 4 else np.int64 if maxval is not None: if maxval > int32max: dtype = np.int64