Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.0
python-PyWavelets
add_default_to_switch_statement.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File add_default_to_switch_statement.patch of Package python-PyWavelets
From 91b0a7bdbdd181bfb765246a9ec949b1cf2d12ad Mon Sep 17 00:00:00 2001 From: "Gregory R. Lee" <grlee77@gmail.com> Date: Sat, 10 Dec 2016 03:23:39 -0500 Subject: [PATCH] MAINT: add default to switch statement for is_discrete_wavelet on the Cython side, raise an error if is_discrete_wavelet returns -1 --- pywt/_extensions/_pywt.pyx | 15 ++++++++++++--- pywt/_extensions/c/wavelets.c | 2 ++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/pywt/_extensions/_pywt.pyx b/pywt/_extensions/_pywt.pyx index 5928d9e7..c9b10a1f 100644 --- a/pywt/_extensions/_pywt.pyx +++ b/pywt/_extensions/_pywt.pyx @@ -33,6 +33,15 @@ _attr_deprecation_msg = ('{old} has been renamed to {new} and will ' 'of pywt.') +# raises exception if the wavelet name is undefined +cdef int is_discrete_wav(WAVELET_NAME name): + cdef int is_discrete + discrete = wavelet.is_discrete_wavelet(name) + if discrete == -1: + raise ValueError("unrecognized wavelet family name") + return discrete + + class _Modes(object): """ Because the most common and practical way of representing digital signals @@ -206,7 +215,7 @@ def wavelist(family=None, kind='all'): return True family_code, family_number = wname_to_code(name) - is_discrete = wavelet.is_discrete_wavelet(family_code) + is_discrete = is_discrete_wav(family_code) if kind == 'discrete': return is_discrete else: @@ -299,7 +308,7 @@ def DiscreteContinuousWavelet(name=u"", object filter_bank=None): if filter_bank is None: name = name.lower() family_code, family_number = wname_to_code(name) - if (wavelet.is_discrete_wavelet(family_code)): + if is_discrete_wav(family_code): return Wavelet(name, filter_bank) else: return ContinuousWavelet(name) @@ -334,7 +343,7 @@ cdef public class Wavelet [type WaveletType, object WaveletObject]: # builtin wavelet self.name = name.lower() family_code, family_number = wname_to_code(self.name) - if (wavelet.is_discrete_wavelet(family_code)): + if is_discrete_wav(family_code): self.w = <wavelet.DiscreteWavelet*> wavelet.discrete_wavelet(family_code, family_number) if self.w is NULL: raise ValueError("Invalid wavelet name.") diff --git a/pywt/_extensions/c/wavelets.c b/pywt/_extensions/c/wavelets.c index bc783af4..21b4c672 100644 --- a/pywt/_extensions/c/wavelets.c +++ b/pywt/_extensions/c/wavelets.c @@ -42,6 +42,8 @@ int is_discrete_wavelet(WAVELET_NAME name) return 0; case CMOR: return 0; + default: + return -1; } }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor