waveforms 2.2.1__tar.gz → 2.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {waveforms-2.2.1 → waveforms-2.2.2}/PKG-INFO +1 -1
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/_waveform.pyx +5 -3
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/version.py +1 -1
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/waveform.py +10 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/PKG-INFO +1 -1
- {waveforms-2.2.1 → waveforms-2.2.2}/LICENSE +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/MANIFEST.in +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/README.md +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/pyproject.toml +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/setup.cfg +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/setup.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/src/waveform.h +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/tests/test_multi_drag.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/tests/test_waveform.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/tests/test_wavevstack.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/WaveformLexer.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/WaveformListener.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/WaveformParser.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/__init__.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/__main__.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/_waveform.pyi +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/distortion.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/multy_drag.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/utils.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/waveform_parser.py +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/SOURCES.txt +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/dependency_links.txt +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/entry_points.txt +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/requires.txt +0 -0
- {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/top_level.txt +0 -0
|
@@ -358,15 +358,17 @@ def _drag(t: np.ndarray, t0: float, freq: float, width: float, delta: float,
|
|
|
358
358
|
|
|
359
359
|
def _mollifier(t: np.ndarray, r: float, d: int):
|
|
360
360
|
x = t / r
|
|
361
|
+
xx_1 = np.abs(x)**2 - 1
|
|
361
362
|
if d == 0:
|
|
362
|
-
return np.
|
|
363
|
+
return np.where(xx_1 == 0, 0, np.exp(1 / xx_1 + 1))
|
|
363
364
|
else:
|
|
364
365
|
p = np.poly1d([-2, 0])
|
|
365
366
|
for n in range(1, d):
|
|
366
367
|
p = np.poly1d([1, 0, -2, 0, 1]) * p.deriv() + np.poly1d(
|
|
367
368
|
[-4 * n, 0, 4 * n - 2, 0]) * p
|
|
368
|
-
return np.
|
|
369
|
-
|
|
369
|
+
return np.where(xx_1 == 0, 0,
|
|
370
|
+
np.exp(1 / xx_1 + 1) /
|
|
371
|
+
(-xx_1)**(2 * d)) * p(x) / r**d
|
|
370
372
|
|
|
371
373
|
|
|
372
374
|
LINEAR = registerBaseFunc(_LINEAR)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"""Define version number here and read it from setup.py automatically"""
|
|
2
|
-
__version__ = "2.2.
|
|
2
|
+
__version__ = "2.2.2"
|
|
@@ -739,6 +739,8 @@ class WaveVStack(Waveform):
|
|
|
739
739
|
wav.start = self.start
|
|
740
740
|
wav.stop = self.stop
|
|
741
741
|
wav.sample_rate = self.sample_rate
|
|
742
|
+
wav.filters = self.filters
|
|
743
|
+
wav.label = self.label
|
|
742
744
|
return wav
|
|
743
745
|
|
|
744
746
|
@staticmethod
|
|
@@ -757,6 +759,8 @@ class WaveVStack(Waveform):
|
|
|
757
759
|
ret.stop = self.stop
|
|
758
760
|
ret.shift = self.shift + time
|
|
759
761
|
ret.offset = self.offset
|
|
762
|
+
ret.filters = self.filters
|
|
763
|
+
ret.label = self.label
|
|
760
764
|
return ret
|
|
761
765
|
|
|
762
766
|
def __add__(self, other) -> WaveVStack:
|
|
@@ -775,6 +779,8 @@ class WaveVStack(Waveform):
|
|
|
775
779
|
else:
|
|
776
780
|
# ret.wlist.append(((+inf, ), (_const(1.0 * other), )))
|
|
777
781
|
ret.offset += other
|
|
782
|
+
ret.filters = self.filters
|
|
783
|
+
ret.label = self.label
|
|
778
784
|
return ret
|
|
779
785
|
|
|
780
786
|
def __radd__(self, v) -> WaveVStack:
|
|
@@ -787,10 +793,14 @@ class WaveVStack(Waveform):
|
|
|
787
793
|
if self.offset != 0:
|
|
788
794
|
w = other * self.offset
|
|
789
795
|
ret.wlist.append((w.bounds, w.seq))
|
|
796
|
+
ret.filters = self.filters
|
|
797
|
+
ret.label = self.label
|
|
790
798
|
return ret
|
|
791
799
|
else:
|
|
792
800
|
ret = WaveVStack([Waveform(*w) * other for w in self.wlist])
|
|
793
801
|
ret.offset = self.offset * other
|
|
802
|
+
ret.filters = self.filters
|
|
803
|
+
ret.label = self.label
|
|
794
804
|
return ret
|
|
795
805
|
|
|
796
806
|
def __rmul__(self, v) -> WaveVStack:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|