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.
Files changed (30) hide show
  1. {waveforms-2.2.1 → waveforms-2.2.2}/PKG-INFO +1 -1
  2. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/_waveform.pyx +5 -3
  3. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/version.py +1 -1
  4. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/waveform.py +10 -0
  5. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/PKG-INFO +1 -1
  6. {waveforms-2.2.1 → waveforms-2.2.2}/LICENSE +0 -0
  7. {waveforms-2.2.1 → waveforms-2.2.2}/MANIFEST.in +0 -0
  8. {waveforms-2.2.1 → waveforms-2.2.2}/README.md +0 -0
  9. {waveforms-2.2.1 → waveforms-2.2.2}/pyproject.toml +0 -0
  10. {waveforms-2.2.1 → waveforms-2.2.2}/setup.cfg +0 -0
  11. {waveforms-2.2.1 → waveforms-2.2.2}/setup.py +0 -0
  12. {waveforms-2.2.1 → waveforms-2.2.2}/src/waveform.h +0 -0
  13. {waveforms-2.2.1 → waveforms-2.2.2}/tests/test_multi_drag.py +0 -0
  14. {waveforms-2.2.1 → waveforms-2.2.2}/tests/test_waveform.py +0 -0
  15. {waveforms-2.2.1 → waveforms-2.2.2}/tests/test_wavevstack.py +0 -0
  16. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/WaveformLexer.py +0 -0
  17. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/WaveformListener.py +0 -0
  18. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/WaveformParser.py +0 -0
  19. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/__init__.py +0 -0
  20. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/__main__.py +0 -0
  21. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/_waveform.pyi +0 -0
  22. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/distortion.py +0 -0
  23. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/multy_drag.py +0 -0
  24. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/utils.py +0 -0
  25. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms/waveform_parser.py +0 -0
  26. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/SOURCES.txt +0 -0
  27. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/dependency_links.txt +0 -0
  28. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/entry_points.txt +0 -0
  29. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/requires.txt +0 -0
  30. {waveforms-2.2.1 → waveforms-2.2.2}/waveforms.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: waveforms
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Edit waveforms used in experiment
5
5
  Author-email: feihoo87 <feihoo87@gmail.com>
6
6
  Maintainer-email: feihoo87 <feihoo87@gmail.com>
@@ -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.exp(1 / (np.abs(x)**2 - 1) + 1)
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.exp(1 / (np.abs(x)**2 - 1) +
369
- 1) * p(x) / (1 - x**2)**(2 * d) / r**d
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.1"
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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: waveforms
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: Edit waveforms used in experiment
5
5
  Author-email: feihoo87 <feihoo87@gmail.com>
6
6
  Maintainer-email: feihoo87 <feihoo87@gmail.com>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes