├── tqwt_tools ├── dualqdecomposition │ ├── __init__.py │ └── dualqdecomposition.py ├── __init__.py ├── util │ ├── __init__.py │ ├── other.py │ └── test_signal.py └── tqwt │ ├── __init__.py │ ├── check_params.py │ ├── wavelets.py │ ├── itqwt.py │ └── tqwt.py ├── tests ├── resources │ ├── w_sine.mat │ ├── testaudio.wav │ └── speech1.txt └── tqwt_tests.py ├── requirements.txt ├── README.md ├── setup.py └── .gitignore /tqwt_tools/dualqdecomposition/__init__.py: -------------------------------------------------------------------------------- 1 | from .dualqdecomposition import DualQDecomposition -------------------------------------------------------------------------------- /tests/resources/w_sine.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jollyjonson/tqwt_tools/HEAD/tests/resources/w_sine.mat -------------------------------------------------------------------------------- /tqwt_tools/__init__.py: -------------------------------------------------------------------------------- 1 | from .dualqdecomposition import DualQDecomposition 2 | from .tqwt import tqwt, itqwt 3 | -------------------------------------------------------------------------------- /tests/resources/testaudio.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jollyjonson/tqwt_tools/HEAD/tests/resources/testaudio.wav -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | ipython>=7.8.0 2 | jupyter>=1.0.0 3 | matplotlib>=3.1.1 4 | numpy>=1.17.2 5 | scipy>=1.3.1 6 | sortedcontainers>=2.1.0 7 | typeguard>=2.7.1 8 | -------------------------------------------------------------------------------- /tqwt_tools/util/__init__.py: -------------------------------------------------------------------------------- 1 | from .other import get_package_path 2 | from .test_signal import low_resonance_test_signal, high_resonance_test_signal, speech_signal, music_signal -------------------------------------------------------------------------------- /tqwt_tools/tqwt/__init__.py: -------------------------------------------------------------------------------- 1 | from .tqwt import analysis_filter_bank, tqwt 2 | from .itqwt import synthesis_filter_bank, itqwt 3 | from .wavelets import compute_wavelets, compute_wavelet_norms 4 | -------------------------------------------------------------------------------- /tqwt_tools/util/other.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | 4 | def get_package_path() -> str: 5 | import tqwt_tools 6 | return os.path.abspath(os.path.dirname(tqwt_tools.__file__)) # the abspath of the dirname of the __init__.py file 7 | -------------------------------------------------------------------------------- /tqwt_tools/tqwt/check_params.py: -------------------------------------------------------------------------------- 1 | from typeguard import typechecked 2 | 3 | 4 | @typechecked 5 | def check_params(q: float, redundancy: float, stages: int): 6 | if q < 1: 7 | raise ValueError("q must be greater or equal 1!") 8 | if redundancy <= 1: 9 | raise ValueError("The redundancy must be strictly greater than 1") 10 | if stages < 1: 11 | raise ValueError("stages must be a positive integer!") 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Tunable-Q Wavelet Transform Tools 2 | 3 | This is a Python implementation/port of parts of Ivan Selesnick's [TQWT Matlab Toolbox](http://eeweb.poly.edu/iselesni/TQWT/index.html). 4 | For detailed information and advice see [1] and [2]. For a quick start see the examples! 5 | 6 | ----------------------- 7 | [1] Selesnick, I. W. (2011). TQWT toolbox guide. Electrical and Computer Engineering, Polytechnic Institute of New York University. Available online at: http://eeweb.poly.edu/iselesni/TQWT/index.html 8 | 9 | [2] Selesnick, I. W. (2011). Resonance-based signal decomposition: A new sparsity-enabled signal analysis method. Signal Processing, 91(12), 2793-2809. -------------------------------------------------------------------------------- /tqwt_tools/tqwt/wavelets.py: -------------------------------------------------------------------------------- 1 | from copy import deepcopy 2 | from typing import Callable 3 | 4 | import numpy as np 5 | 6 | from .itqwt import itqwt 7 | from .tqwt import tqwt 8 | 9 | 10 | def compute_wavelets(n: int, q: float, redundancy: float, stages: int) -> np.ndarray: 11 | 12 | n_zeros = np.zeros(n) 13 | wavelet_shaped_zeros = tqwt(n_zeros, q, redundancy, stages) 14 | wavelets = np.array([None for _ in range(stages + 1)], dtype=object) 15 | 16 | for j_i in range(stages + 1): 17 | w = deepcopy(wavelet_shaped_zeros) 18 | m = int(round(w[j_i].shape[0]/2)) 19 | w[j_i][m] = 1.0 20 | wavelet = itqwt(w, q, redundancy, n) 21 | wavelets[j_i] = wavelet 22 | 23 | return wavelets 24 | 25 | 26 | def compute_wavelet_norms(n: int, q: float, redundancy: float, stages: int, 27 | norm_function: Callable = np.linalg.norm) -> np.ndarray: 28 | return np.array([norm_function(w_j) for w_j in compute_wavelets(n, q, redundancy, stages)]) 29 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | """setup script""" 2 | from setuptools import setup 3 | 4 | 5 | if __name__ == "__main__": 6 | 7 | setup( 8 | 9 | name='tqwt_tools', 10 | 11 | version='0.0.1', 12 | 13 | description='Computation of a Tunable-Q Wavelet Transform and a resonance-based signal decomposition', 14 | 15 | author='Jonas Hajek-Lellmann', 16 | 17 | author_email='jonas.hajek-lellmann@gmx.de', 18 | 19 | python_requires='>=3.7', 20 | 21 | classifiers=[ 22 | "Programming Language :: Python :: 3.7", 23 | "Development Status :: 3 - Alpha", 24 | 'Intended Audience :: Telecommunications Industry', 25 | 'Intended Audience :: Science/Research', 26 | 'Indended Audience :: Developers' 27 | 'Environment :: Console', 28 | 'Topic :: Scientific/Engineering :: Information Analysis', 29 | ], 30 | 31 | install_requires=[ 32 | 'scipy', 33 | 'numpy', 34 | 'sortedcontainers', 35 | 'typeguard', 36 | ], 37 | ) -------------------------------------------------------------------------------- /tqwt_tools/util/test_signal.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | import numpy as np 4 | from scipy.io.wavfile import read 5 | from scipy.signal.signaltools import resample 6 | from scipy.signal.windows import blackman 7 | 8 | from .other import get_package_path 9 | 10 | 11 | def low_resonance_test_signal() -> np.ndarray: 12 | 13 | n2, n4, n6 = 40, 20, 80 14 | v2 = np.sin(0.1*np.pi*np.arange(n2))*blackman(n2) 15 | v4 = np.sin(0.2*np.pi*np.arange(n4))*blackman(n4) 16 | v6 = np.sin(0.05*np.pi*np.arange(n6))*blackman(n6) 17 | test_signal = np.zeros(512) 18 | test_signal[50:n2+50] = v2 19 | test_signal[300:n4+300] += v4 20 | test_signal[150:n6+150] += v6 21 | return test_signal 22 | 23 | 24 | def high_resonance_test_signal() -> np.ndarray: 25 | 26 | n1, n3, n5 = 160, 80, 320 27 | v1 = np.sin(0.1*np.pi*np.arange(n1))*blackman(n1) 28 | v3 = np.sin(0.2*np.pi*np.arange(n3))*blackman(n3) 29 | v5 = np.sin(0.05*np.pi*np.arange(n5))*blackman(n5) 30 | test_signal = np.zeros(512) 31 | test_signal[10:10+n1] += v1 32 | test_signal[150:150+n3] += v3 33 | test_signal[180:180+n5] += v5 34 | return test_signal 35 | 36 | 37 | def speech_signal() -> np.ndarray: 38 | test_signal = [] 39 | with open(os.path.join(get_package_path().replace('/tqwt_tools/', '/'), 'tests', 'resources', 'speech1.txt'), 'r') \ 40 | as speech_txt_handle: 41 | for line in speech_txt_handle.readlines(): 42 | test_signal.append(float(line.replace('\n', ''))) 43 | test_signal = np.array(test_signal) / np.max(np.abs(test_signal)) 44 | return test_signal 45 | 46 | 47 | def music_signal(start_sample: int = 0, end_sample: int = -1) -> np.ndarray: 48 | """fs = 8820Hz""" 49 | _, audio = read(os.path.join(get_package_path().replace('/tqwt_tools/', '/'), 'tests', 'resources', 50 | 'testaudio.wav')) 51 | audio = audio / np.abs(np.max(audio)) 52 | return resample(audio, int(audio.shape[0]/5))[start_sample:end_sample] 53 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | share/python-wheels/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | MANIFEST 28 | 29 | # PyInstaller 30 | # Usually these files are written by a python script from a template 31 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 32 | *.manifest 33 | *.spec 34 | 35 | # Installer logs 36 | pip-log.txt 37 | pip-delete-this-directory.txt 38 | 39 | # Unit test / coverage reports 40 | htmlcov/ 41 | .tox/ 42 | .nox/ 43 | .coverage 44 | .coverage.* 45 | .cache 46 | nosetests.xml 47 | coverage.xml 48 | *.cover 49 | *.py,cover 50 | .hypothesis/ 51 | .pytest_cache/ 52 | cover/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | .pybuilder/ 76 | target/ 77 | 78 | # Jupyter Notebook 79 | .ipynb_checkpoints 80 | 81 | # IPython 82 | profile_default/ 83 | ipython_config.py 84 | 85 | # pyenv 86 | # For a library or package, you might want to ignore these files since the code is 87 | # intended to run in multiple environments; otherwise, check them in: 88 | # .python-version 89 | 90 | # pipenv 91 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 92 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 93 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 94 | # install all needed dependencies. 95 | #Pipfile.lock 96 | 97 | # poetry 98 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. 99 | # This is especially recommended for binary packages to ensure reproducibility, and is more 100 | # commonly ignored for libraries. 101 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control 102 | #poetry.lock 103 | 104 | # pdm 105 | # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. 106 | #pdm.lock 107 | # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it 108 | # in version control. 109 | # https://pdm.fming.dev/#use-with-ide 110 | .pdm.toml 111 | 112 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm 113 | __pypackages__/ 114 | 115 | # Celery stuff 116 | celerybeat-schedule 117 | celerybeat.pid 118 | 119 | # SageMath parsed files 120 | *.sage.py 121 | 122 | # Environments 123 | .env 124 | .venv 125 | env/ 126 | venv/ 127 | ENV/ 128 | env.bak/ 129 | venv.bak/ 130 | 131 | # Spyder project settings 132 | .spyderproject 133 | .spyproject 134 | 135 | # Rope project settings 136 | .ropeproject 137 | 138 | # mkdocs documentation 139 | /site 140 | 141 | # mypy 142 | .mypy_cache/ 143 | .dmypy.json 144 | dmypy.json 145 | 146 | # Pyre type checker 147 | .pyre/ 148 | 149 | # pytype static type analyzer 150 | .pytype/ 151 | 152 | # Cython debug symbols 153 | cython_debug/ 154 | 155 | # PyCharm 156 | # JetBrains specific template is maintained in a separate JetBrains.gitignore that can 157 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore 158 | # and can be added to the global gitignore or merged into this file. For a more nuclear 159 | # option (not recommended) you can uncomment the following to ignore the entire idea folder. 160 | .idea/ -------------------------------------------------------------------------------- /tqwt_tools/tqwt/itqwt.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from scipy.fftpack import fft, ifft 3 | 4 | 5 | def itqwt(w: np.ndarray, q: float, redundancy: float, n: int) -> np.ndarray: 6 | """ 7 | Inverse Tunable-Q Wavelet Transform 8 | 9 | Parameters 10 | ---------- 11 | w: np.ndarray with dtype np.object 12 | Wavelet coefficients for inverse transform 13 | q: float 14 | Q-Factor of the `tqwt` used for the forward transform. Greater or equal than 1. 15 | redundancy: float 16 | Parameter determining overlap ov the bands, s. `tqwt` docs for more info. Greater or equal than 1. 17 | n: int 18 | length of the original time-domain signal in samples. 19 | 20 | Returns 21 | ------- 22 | y: np.ndarray: 23 | Time-domain signal 24 | 25 | """ 26 | w = np.array(w, dtype=object) # behaving sort of like a cell array in matlab 27 | 28 | # scaling factors 29 | beta = 2.0 / (q + 1) 30 | alpha = 1.0 - beta / redundancy 31 | num_subbands = w.shape[0] 32 | 33 | y = fft(w[num_subbands-1]) / np.sqrt(w[num_subbands-1].shape[0]) # unitary DFT 34 | 35 | for subband_idx in reversed(range(num_subbands-1)): 36 | W = fft(w[subband_idx]) / np.sqrt(len(w[subband_idx])) # unitary DFT 37 | m = int(2 * round(alpha ** subband_idx * n/2)) 38 | y = synthesis_filter_bank(y, W, m) 39 | 40 | return np.real_if_close(ifft(y) * np.sqrt(y.shape[0])) # inverse unitary DFT, discard small imaginary part 41 | 42 | 43 | def synthesis_filter_bank(lp_subband: np.ndarray, hp_subband: np.ndarray, n: int) -> np.ndarray: 44 | """ 45 | Complementary function for the `analysis_filter_bank`. Used iteratively by the `itqwt` 46 | 47 | Parameters 48 | ---------- 49 | lp_subband: np.ndarray 50 | Low-pass subband (frequency-domain) 51 | hp_subband: np.ndarray 52 | High-pass subband (frequency-domain) 53 | n: int 54 | Length of the output in samples (frequency-domain) 55 | """ 56 | n0 = lp_subband.shape[0] 57 | n1 = hp_subband.shape[0] 58 | 59 | p = int((n - n1) / 2) # pass-band 60 | t = int((n0 + n1 - n) / 2 - 1) # transition band 61 | s = int((n - n0) / 2) # stop-band 62 | 63 | # transition band function 64 | v = np.arange(start=1, stop=t + 1) / (t + 1) * np.pi 65 | trans = (1 + np.cos(v)) * np.sqrt(2 - np.cos(v)) / 2 66 | 67 | # low-pass subband 68 | y0 = np.zeros(n, dtype=complex) 69 | y0[0] = lp_subband[0] # DC-term 70 | y0[1:p+1] = lp_subband[1:p + 1] # passband 71 | y0[1+p:p+t+1] = lp_subband[1 + p:p + t + 1] * trans # transition-band 72 | y0[p+t+1:p+t+s+1] = np.zeros((p+t+s+1) - (p+t+1)) # stop-band 73 | if n // 2 == 0: 74 | y0[n/2] = 0 # Nyquist if even length 75 | y0[n-p-t-s:n-p-t] = np.zeros((n-p-t) - (n-p-t-s)) # stop-band (negative frequency) 76 | y0[n-p-t:n-p] = lp_subband[n0 - p - t:n0 - p] * np.flip(trans) # transition band (negative frequencies) 77 | y0[n-p:] = lp_subband[n0 - p:] # passband (negative frequency) 78 | 79 | # high-pass subband 80 | y1 = np.zeros(n, dtype=complex) 81 | y1[0] = 0 # DC-term 82 | y1[1:p+1] = np.zeros(p) # stop-band 83 | y1[1+p:t+p+1] = hp_subband[1:t + 1] * np.flip(trans) # transition-band 84 | y1[p+t+1:p+t+s+1] = hp_subband[t + 1:s + 1 + t] # passband 85 | if n // 2 == 0: 86 | y1[n/2] = hp_subband[n1 / 2] # Nyquist if N is even 87 | y1[n-p-t-s-1:n-p-t] = hp_subband[n1 - t - s - 1:n1 - t] # passband (negative frequency) 88 | y1[n-p-t:n-p] = hp_subband[n1 - t:n1] * trans # transition-band (negative frequency) 89 | y1[n-p:n] = np.zeros(p) 90 | 91 | return y0 + y1 92 | -------------------------------------------------------------------------------- /tests/tqwt_tests.py: -------------------------------------------------------------------------------- 1 | import os 2 | import unittest 3 | 4 | import matplotlib.pyplot as plt 5 | import numpy as np 6 | import numpy.testing as npt 7 | from scipy.io.matlab import loadmat 8 | from scipy.io.wavfile import read, write 9 | from scipy.signal import resample 10 | from time import time 11 | 12 | from tqwt_tools.tqwt import synthesis_filter_bank, analysis_filter_bank 13 | from tqwt_tools import tqwt, itqwt 14 | from tqwt_tools.util import get_package_path 15 | from tqwt_tools.util.test_signal import speech_signal 16 | 17 | # these output values of the afb and sfb were generated from the Matlab toolbox ([V0, V1] = afb((0:19), 16, 12)) 18 | EXPECTEDV0 = np.array([0, 1, 2, 3, 4, 4.85268414962686, 4.24264068711929, 1.68666974424811, 0, 3.13238666788935, 19 | 9.89949493661167, 14.5580524488806, 16, 17, 18, 19]) 20 | EXPECTEDV1 = np.array([0, 1.20476410303436, 4.24264068711929, 6.79375780947761, 8, 9, 10, 11, 12, 21 | 12.6169787890298, 9.89949493661167, 3.61429230910309]) 22 | EXPECTEDY = np.array([0, 1, 2, 3, 4, 5, 9.283601844998817, 17.507536716885582, 23.775413799563122, 25.131037888449338, 23 | 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37.296444516289142, 37.790891865207485, 24 | 31.014025662207025, 20.061288372791118, 15, 16, 17, 18, 19], dtype=complex) 25 | 26 | 27 | class TestTQWT(unittest.TestCase): 28 | 29 | def test_afb(self): 30 | """Check the analysis filter bank function in a simple case against hard-coded Matlab results""" 31 | v0, v1 = analysis_filter_bank(np.arange(20).astype(float), 16, 12) 32 | npt.assert_allclose(EXPECTEDV0, v0) 33 | npt.assert_allclose(EXPECTEDV1, v1) 34 | 35 | def test_tqwt(self): 36 | """Test the tqwt main function with random numbers""" 37 | sine = np.cos(2 * np.pi * 2 / 10 * np.arange(48)) 38 | w = tqwt(sine, 3, 3, 3) 39 | w_matlab = loadmat(os.path.join(get_package_path().replace('/tqwt_tools/', '/'), 40 | 'tests', 'resources', 'w_sine'))['w'] 41 | for subband, subband_matlab in zip(w, np.squeeze(w_matlab)): 42 | npt.assert_allclose(np.imag(subband), 0, atol=1e-14) 43 | npt.assert_allclose(np.real_if_close(subband).astype(np.float32), np.squeeze(subband_matlab)) 44 | 45 | def test_tqwt_with_audio(self) -> None: 46 | """Test the TQWT with audio material""" 47 | 48 | #sine = np.cos(2 * np.pi * 1000 / 16000 * np.arange(48000)) 49 | #wAudio = tqwt.tqwt(sine, 8, 2, 32) 50 | 51 | #start = time() 52 | #wAudio = tqwt.tqwt(self.audio, 10, 1.5, 67) 53 | #print("Runtime: ", time()-start) 54 | 55 | # # plot the resulting spectrogram by resampling each subband 56 | # spectrogram = np.zeros((wAudio.shape[0], self.audio.shape[0]), dtype=np.complex) 57 | # for idx, subband in enumerate(wAudio): 58 | # spectrogram[idx, :] = resample(subband, self.audio.shape[0]) 59 | # plt.imshow(20*np.log10(1e-8+np.abs(spectrogram)), aspect='auto') 60 | # plt.yticks([]); plt.xticks([]) 61 | # plt.show() 62 | 63 | 64 | class TestITQWT(unittest.TestCase): 65 | 66 | def test_sfb(self) -> None: 67 | """Test the synthesis filter bank used in the itqwt against results from the original Matlab implementation""" 68 | y = synthesis_filter_bank(np.arange(20), np.arange(start=20, stop=40), 30) 69 | npt.assert_allclose(EXPECTEDY, y) 70 | 71 | 72 | class TestPerfectReconstruction(unittest.TestCase): 73 | 74 | def test_perfect_reconstruction(self) -> None: 75 | q = 2; r = 2; j = 8 76 | x = speech_signal() 77 | n = speech_signal().shape[0] 78 | w = tqwt(x, q, r, j) # wavelet transform 79 | y = itqwt(w, q, r, n) # inverse wavelet transform 80 | max_reconstruction_error_db = 20 * np.log10(max(abs(x - y))) 81 | self.assertLess(max_reconstruction_error_db, -290) 82 | print("[TestPerfectReconstruction] Reconstrucion Error: ", max_reconstruction_error_db, "dB") 83 | 84 | 85 | if __name__ == '__main__': 86 | unittest.main() 87 | -------------------------------------------------------------------------------- /tqwt_tools/dualqdecomposition/dualqdecomposition.py: -------------------------------------------------------------------------------- 1 | from typing import Tuple, Union 2 | 3 | import numpy as np 4 | from sortedcontainers import SortedDict 5 | 6 | from ..tqwt import tqwt, itqwt, compute_wavelet_norms 7 | 8 | 9 | class DualQDecomposition: 10 | """ 11 | Resonance signal decomposition using two Q-factors for signal with noise. 12 | This is obtained by minimizing the cost function: 13 | 14 | || x - x1 - x2 ||_2^2 + lambda_1 ||w1||_1 + lambda_2 ||w2||_2 15 | 16 | References 17 | ---------- 18 | .. [1] Selesnick, I. W. (2011). Resonance-based signal decomposition: A new sparsity-enabled signal analysis method. 19 | Signal Processing, 91(12), 2793-2809. 20 | 21 | .. [2] Selesnick, I. W. (2011). TQWT toolbox guide. Electrical and Computer Engineering, Polytechnic Institute of 22 | New York University. Available online at: http://eeweb.poly.edu/iselesni/TQWT/index.html 23 | 24 | 25 | Parameters 26 | ---------- 27 | q1: float 28 | redundancy_1: float 29 | stages_1: int 30 | 31 | q2: float 32 | redundancy_2: float 33 | stages_2: int 34 | 35 | lambda_1: float 36 | lambda_2: float 37 | mu: float 38 | num_iterations: int 39 | 40 | compute_cost_function: bool 41 | 42 | """ 43 | 44 | def __init__(self, q1: float, redundancy_1: float, stages_1: int, q2: float, redundancy_2: float, stages_2: int, 45 | lambda_1: float, lambda_2: float, mu: float, num_iterations: int, 46 | compute_cost_function: bool = False): 47 | # parameters of the first transform, define (i)tqwt lambdas 48 | self._q1 = q1 49 | self._redundancy_1 = redundancy_1 50 | self._stages_1 = stages_1 51 | self.tqwt1 = lambda x: tqwt(x, self._q1, self._redundancy_1, self._stages_1) 52 | self.itqwt1 = lambda w, n: itqwt(w, self._q1, self._redundancy_1, n) 53 | # parameters of the second transform, define (i)tqwt lambdas 54 | self._q2 = q2 55 | self._redundancy_2 = redundancy_2 56 | self._stages_2 = stages_2 57 | self.tqwt2 = lambda x: tqwt(x, self._q2, self._redundancy_2, self._stages_2) 58 | self.itqwt2 = lambda w, n: itqwt(w, self._q2, self._redundancy_2, n) 59 | # SALSA parameters 60 | self._lambda_1 = lambda_1 61 | self._lambda_2 = lambda_2 62 | self._mu = mu 63 | self._num_iterations = num_iterations 64 | 65 | self._history = None 66 | self._compute_cost_function = compute_cost_function 67 | 68 | def __call__(self, x: np.ndarray) -> Tuple[np.ndarray, np.ndarray]: 69 | """ 70 | Perform a Dual-Q decomposition on the one-dimensional time-domain signal `x`. 71 | 72 | Parameters 73 | ---------- 74 | x: np.ndarray, one-dimensional with even length 75 | Input signal 76 | 77 | Returns 78 | ------- 79 | x1: np.ndarray with x.shape 80 | Signal component corresponding to the first transform 81 | x2: np.ndarray with x.shape 82 | Signal component corresponding to the second transform 83 | """ 84 | assert len(x.shape) == 1 85 | 86 | n = x.shape[0] 87 | w1, w2 = self.tqwt1(x), self.tqwt2(x) 88 | d1, d2 = (np.array([np.zeros(s.shape, s.dtype) for s in w], dtype=object) for w in [w1, w2]) 89 | u1, u2 = (np.array([np.zeros(s.shape, s.dtype) for s in w], dtype=object) for w in [w1, w2]) 90 | t1 = self._lambda_1 * compute_wavelet_norms(n, self._q1, self._redundancy_1, self._stages_1) / (2 * self._mu) 91 | t2 = self._lambda_2 * compute_wavelet_norms(n, self._q2, self._redundancy_2, self._stages_2) / (2 * self._mu) 92 | 93 | for iter_idx in range(self._num_iterations): 94 | 95 | for j in range(self._stages_1 + 1): 96 | u1[j] = self.soft_threshold(w1[j] + d1[j], t1[j]) - d1[j] 97 | for j in range(self._stages_2 + 1): 98 | u2[j] = self.soft_threshold(w2[j] + d2[j], t2[j]) - d2[j] 99 | 100 | c = (x - self.itqwt1(u1, n) - self.itqwt2(u2, n)) / (self._mu + 2) 101 | d1, d2 = self.tqwt1(c), self.tqwt2(c) 102 | 103 | for j in range(self._stages_1 + 1): 104 | w1[j] = d1[j] + u1[j] 105 | for j in range(self._stages_2 + 1): 106 | w2[j] = d2[j] + u2[j] 107 | 108 | if self._compute_cost_function: 109 | self.update_history(iter_idx, w1, w2, t1, t2, x) 110 | 111 | return self.itqwt1(w1, n), self.itqwt2(w2, n) 112 | 113 | @staticmethod 114 | def soft_threshold(x: np.ndarray, thresh: float) -> np.ndarray: 115 | y = np.abs(x)-thresh 116 | y[np.where(y < 0)] = 0 117 | return y / (y + thresh) * x 118 | 119 | def update_history(self, iter_idx, w1, w2, t1, t2, x) -> None: 120 | """Compute the cost function and store its value in the history dict.""" 121 | if iter_idx == 0: # re-initialize the history for every run 122 | self._history = SortedDict() 123 | 124 | residual = x - self.itqwt1(w1, x.shape[0]) - self.itqwt2(w2, x.shape[0]) 125 | cost_function = np.sum(np.abs(residual) ** 2) 126 | for j in range(self._stages_1 + 1): 127 | cost_function += t1[j] * np.sum(np.abs(w1[j])) 128 | for j in range(self._stages_2 + 1): 129 | cost_function += t2[j] * np.sum(np.abs(w2[j])) 130 | self._history[iter_idx] = cost_function 131 | 132 | @property 133 | def history(self) -> Union[SortedDict, None]: 134 | """ 135 | If `compute_cost_function` is True a SortedDict mapping the iteration steps to the value of the cost function is 136 | returned. Returns None if `compute_cost_function` is False. 137 | """ 138 | return self._history 139 | -------------------------------------------------------------------------------- /tqwt_tools/tqwt/tqwt.py: -------------------------------------------------------------------------------- 1 | from typing import Tuple 2 | 3 | import numpy as np 4 | from scipy.fftpack import fft, ifft 5 | 6 | from tqwt_tools.tqwt.check_params import check_params 7 | 8 | 9 | def tqwt(x: np.ndarray, q: float, redundancy: float, stages: int) -> np.ndarray: 10 | """ 11 | Tunable-Q Wavelet transform TODO: more docs for tqwt 12 | 13 | Parameters 14 | ---------- 15 | x: array like, shape (n,) 16 | Input signal, needs to be of even length 17 | q: float 18 | Q-Factor. The Q-factor, denoted Q, affects the oscillatory behavior the wavelet; specifically, Q affects the 19 | extent to which the oscillations of the wavelet are sustained. Roughly, Q is a measure of the number of 20 | oscillations the wavelet exhibits. For Q, a value of 1.0 or greater can be specified. The definition of the 21 | Q-factor of an oscillatory pulse is the ratio of its center frequency to its bandwidth. 22 | redundancy: float 23 | Oversampling rate (redundancy). Redundancy of the TQWT when it is computed using 24 | infinitely many levels. Here `redundancy means total over-sampling rate of the transform (the total number of 25 | wavelet coefficients divided by the length of the signal to which the TQWT is applied.) The specified value of 26 | must be greater than 1.0, and a value of 3.0 or greater is recommended. (When it is close to 1.0, the wavelet 27 | will not be well localized in time — it will have excessive ringing which is generally considered undesirable.) 28 | The actual redundancy will be somewhat different than the parameter because the transform can actually be 29 | computed using only a finite number of levels. 30 | stages: int 31 | The number of stages (or levels) of the wavelet transform is denoted by stages. The transform consists of a 32 | sequence of two-channel filter banks, with the low-pass output of each filter bank being used as the input to 33 | the successive filter bank. The parameter `stages` denotes the number of filter banks. Each output signal 34 | constitutes one subband of the wavelet transform. There will be J + 1 subbands: the high-pass filter output 35 | signal of each filter bank, and the low-pass filter output signal of the final filter bank. 36 | 37 | Returns 38 | ------- 39 | w: np.ndarray with dtype np.object 40 | Wavelet coefficients. 41 | 42 | Examples 43 | -------- 44 | >>> # verify perfect reconstruction 45 | >>> import numpy as np 46 | >>> from tqwt_tools import tqwt 47 | >>> q = 4; redundancy = 3; stages = 3 # parameters 48 | >>> n = 200 # signal length 49 | >>> x = np.random.randn(n) # test signal (white noise) 50 | >>> w = tqwt(x, q, redundancy, stages) # wavelet transform 51 | >>> y = itqwt(w, q, redundancy, N); # inverse wavelet transform 52 | >>> max(abs(x - y)) # reconstruction error 53 | """ 54 | check_params(q, redundancy, stages) 55 | if x.shape[0] % 2 or len(x.shape) != 1: 56 | raise ValueError("Input signal x needs to be one dimensional and of even length!") 57 | x = np.asarray(x) 58 | 59 | beta = float(2 / (q + 1)) 60 | alpha = float(1 - beta / redundancy) 61 | n = x.shape[0] 62 | 63 | max_num_stages = int(np.floor(np.log(beta * n / 8) / np.log(1 / alpha))) 64 | 65 | if stages > max_num_stages: 66 | if max_num_stages > 0: 67 | raise ValueError("Too many subbands, reduce subbands to " + str(max_num_stages)) 68 | else: 69 | raise ValueError("Too many subbands specified, increase signal length") 70 | 71 | fft_of_x = fft(x) / np.sqrt(n) # unitary DFT 72 | 73 | w = [] # init list of wavelet coefficients 74 | 75 | for subband_idx in range(1, stages + 1): 76 | n0 = 2 * round(alpha ** subband_idx * n / 2) 77 | n1 = 2 * round(beta * alpha ** (subband_idx - 1) * n / 2) 78 | fft_of_x, w_subband = analysis_filter_bank(fft_of_x, n0, n1) 79 | w.append(ifft(w_subband) * np.sqrt(len(w_subband))) # inverse unitary DFT 80 | 81 | w.append(ifft(fft_of_x) * np.sqrt(len(fft_of_x))) # inverse unitary DFT 82 | return np.array(w, dtype=object) 83 | 84 | 85 | def analysis_filter_bank(x: np.ndarray, n0: int, n1: int) -> Tuple[np.ndarray, np.ndarray]: 86 | """ 87 | Two-channel analysis filter bank operating on a frequency domain input x. This function is used 88 | iteratively by `tqwt`. 89 | 90 | Parameters 91 | ---------- 92 | x: np.ndarray 93 | Input vector (frequency domain) 94 | n0: int 95 | length of the lp_subband 96 | n1: int 97 | length of the hp_subband 98 | 99 | Returns 100 | ------- 101 | lp_subband: np.ndarray 102 | low-pass output of the filter bank in the frequency domain 103 | hp_subband: np.ndarray 104 | high-pass output of the filter bank in the frequency domain 105 | """ 106 | x = np.array(x) 107 | n = x.shape[0] # len(x) 108 | 109 | p = int((n-n1) / 2) # pass-band 110 | t = int((n0 + n1 - n) / 2 - 1) # transition-band 111 | s = int((n - n0) / 2) # stop-band 112 | 113 | # transition band function 114 | v = np.arange(start=1, stop=t+1) / (t+1) * np.pi 115 | transit_band = (1 + np.cos(v)) * np.sqrt(2 - np.cos(v)) / 2.0 116 | 117 | # low-pass subband 118 | lp_subband = np.zeros(n0, dtype=x.dtype) 119 | lp_subband[0] = x[0] # DC-term 120 | lp_subband[1:p+1] = x[1:p + 1] # pass-band 121 | lp_subband[1+p:p+t+1] = x[1 + p:p + t + 1] * transit_band # transition-band 122 | lp_subband[int(n0 / 2)] = 0 # nyquist 123 | lp_subband[n0-p-t:n0-p] = x[n - p - t:n - p] * np.flip(transit_band) # transition-band (negative frequencies) 124 | lp_subband[n0-p:] = x[n - p:] # pass-band (negative frequencies) 125 | 126 | # high-pass subband 127 | hp_subband = np.zeros(n1, dtype=x.dtype) 128 | hp_subband[0] = 0 # DC-term 129 | hp_subband[1:t+1] = x[1 + p:t + p + 1] * np.flip(transit_band) # transition-band 130 | hp_subband[t+1:s+1+t] = x[p + t + 1:p + t + s + 1] # pass-band 131 | if n // 2 == 0: # nyquist if N is even 132 | hp_subband[n1/2] = x[n / 2] 133 | hp_subband[n1-t-s-1:n1-t] = x[n - p - t - s - 1:n - p - t] # pass-band (negative frequencies) 134 | hp_subband[n1-t:n1] = x[n - p - t:n - p] * transit_band # transition-band (negative frequencies) 135 | 136 | return lp_subband, hp_subband 137 | -------------------------------------------------------------------------------- /tests/resources/speech1.txt: -------------------------------------------------------------------------------- 1 | 8.6364746093750000e-03 2 | 8.9416503906250000e-03 3 | 8.3923339843750000e-03 4 | 8.9111328125000000e-03 5 | 8.3923339843750000e-03 6 | 8.3618164062500000e-03 7 | 8.6364746093750000e-03 8 | 8.6059570312500000e-03 9 | 8.5754394531250000e-03 10 | 8.3923339843750000e-03 11 | 8.0871582031250000e-03 12 | 8.3312988281250000e-03 13 | 8.2702636718750000e-03 14 | 8.1787109375000000e-03 15 | 8.4228515625000000e-03 16 | 8.1787109375000000e-03 17 | 8.3312988281250000e-03 18 | 8.1176757812500000e-03 19 | 8.3923339843750000e-03 20 | 8.2092285156250000e-03 21 | 8.0566406250000000e-03 22 | 7.9345703125000000e-03 23 | 7.3242187500000000e-03 24 | 7.1411132812500000e-03 25 | 6.1645507812500000e-03 26 | 5.4321289062500000e-03 27 | 5.3405761718750000e-03 28 | 4.3640136718750000e-03 29 | 4.1809082031250000e-03 30 | 3.4790039062500000e-03 31 | 3.5705566406250000e-03 32 | 2.2888183593750000e-03 33 | 1.6784667968750000e-03 34 | 6.1035156250000000e-04 35 | 4.8828125000000000e-04 36 | -3.0517578125000000e-04 37 | -1.1291503906250000e-03 38 | -2.1362304687500000e-03 39 | -3.2043457031250000e-03 40 | -4.2114257812500000e-03 41 | -5.2795410156250000e-03 42 | -6.4697265625000000e-03 43 | -6.9885253906250000e-03 44 | -8.6364746093750000e-03 45 | -9.3078613281250000e-03 46 | -9.9792480468750000e-03 47 | -1.0986328125000000e-02 48 | -1.1627197265625000e-02 49 | -1.2329101562500000e-02 50 | -1.2695312500000000e-02 51 | -1.3000488281250000e-02 52 | -1.4160156250000000e-02 53 | -1.4831542968750000e-02 54 | -1.6326904296875000e-02 55 | -1.7242431640625000e-02 56 | -1.8493652343750000e-02 57 | -1.9989013671875000e-02 58 | -2.0355224609375000e-02 59 | -2.1179199218750000e-02 60 | -2.1759033203125000e-02 61 | -2.1911621093750000e-02 62 | -2.1575927734375000e-02 63 | -2.1148681640625000e-02 64 | -2.0965576171875000e-02 65 | -1.9989013671875000e-02 66 | -2.0080566406250000e-02 67 | -2.0690917968750000e-02 68 | -2.0324707031250000e-02 69 | -1.9866943359375000e-02 70 | -1.8249511718750000e-02 71 | -1.7700195312500000e-02 72 | -1.6906738281250000e-02 73 | -1.4953613281250000e-02 74 | -1.4709472656250000e-02 75 | -1.3092041015625000e-02 76 | -1.2145996093750000e-02 77 | -1.1871337890625000e-02 78 | -1.1566162109375000e-02 79 | -1.2542724609375000e-02 80 | -1.3183593750000000e-02 81 | -1.2268066406250000e-02 82 | -1.1993408203125000e-02 83 | -1.0650634765625000e-02 84 | -9.8571777343750000e-03 85 | -8.3312988281250000e-03 86 | -5.5236816406250000e-03 87 | 2.8076171875000000e-03 88 | 1.3397216796875000e-02 89 | 2.6397705078125000e-02 90 | 3.8146972656250000e-02 91 | 4.5318603515625000e-02 92 | 5.0994873046875000e-02 93 | 5.1116943359375000e-02 94 | 4.8278808593750000e-02 95 | 4.3731689453125000e-02 96 | 3.6651611328125000e-02 97 | 2.8808593750000000e-02 98 | 2.0294189453125000e-02 99 | 1.1016845703125000e-02 100 | 4.7302246093750000e-03 101 | 5.7983398437500000e-04 102 | 3.9672851562500000e-04 103 | 2.8686523437500000e-03 104 | 6.5307617187500000e-03 105 | 9.2773437500000000e-03 106 | 1.1505126953125000e-02 107 | 1.2817382812500000e-02 108 | 1.3793945312500000e-02 109 | 1.4617919921875000e-02 110 | 1.5747070312500000e-02 111 | 1.6448974609375000e-02 112 | 1.8463134765625000e-02 113 | 1.9653320312500000e-02 114 | 2.1636962890625000e-02 115 | 2.4780273437500000e-02 116 | 2.7130126953125000e-02 117 | 3.0426025390625000e-02 118 | 3.2135009765625000e-02 119 | 3.1982421875000000e-02 120 | 2.9754638671875000e-02 121 | 2.4749755859375000e-02 122 | 1.9775390625000000e-02 123 | 1.4190673828125000e-02 124 | 8.9111328125000000e-03 125 | 4.9743652343750000e-03 126 | 1.4038085937500000e-03 127 | 6.1035156250000000e-05 128 | -6.1035156250000000e-05 129 | 3.9672851562500000e-04 130 | 2.5939941406250000e-03 131 | 5.5541992187500000e-03 132 | 8.2702636718750000e-03 133 | 9.6130371093750000e-03 134 | 1.0345458984375000e-02 135 | 9.3078613281250000e-03 136 | 7.8430175781250000e-03 137 | 6.2866210937500000e-03 138 | 4.6997070312500000e-03 139 | 4.1809082031250000e-03 140 | 4.9438476562500000e-03 141 | 9.2163085937500000e-03 142 | 1.5380859375000000e-02 143 | 2.2735595703125000e-02 144 | 2.9144287109375000e-02 145 | 3.1127929687500000e-02 146 | 3.2897949218750000e-02 147 | 3.1799316406250000e-02 148 | 3.2470703125000000e-02 149 | 3.3721923828125000e-02 150 | 3.2226562500000000e-02 151 | 2.6977539062500000e-02 152 | 1.8280029296875000e-02 153 | 7.7819824218750000e-03 154 | 6.1035156250000000e-04 155 | -3.5400390625000000e-03 156 | -4.1503906250000000e-03 157 | -3.3569335937500000e-03 158 | -2.8381347656250000e-03 159 | -2.9602050781250000e-03 160 | -2.9296875000000000e-03 161 | -1.3122558593750000e-03 162 | 1.2817382812500000e-03 163 | 5.2795410156250000e-03 164 | 7.5988769531250000e-03 165 | 8.2397460937500000e-03 166 | 7.2326660156250000e-03 167 | 5.1269531250000000e-03 168 | 3.9978027343750000e-03 169 | 4.9438476562500000e-03 170 | 5.8288574218750000e-03 171 | 6.9885253906250000e-03 172 | 6.4392089843750000e-03 173 | 4.8522949218750000e-03 174 | 2.1972656250000000e-03 175 | 3.0517578125000000e-05 176 | -1.7089843750000000e-03 177 | -3.4790039062500000e-03 178 | -5.5236816406250000e-03 179 | -8.4838867187500000e-03 180 | -1.2084960937500000e-02 181 | -1.4862060546875000e-02 182 | -1.6540527343750000e-02 183 | -1.7486572265625000e-02 184 | -1.7944335937500000e-02 185 | -1.8218994140625000e-02 186 | -1.9805908203125000e-02 187 | -2.1911621093750000e-02 188 | -2.4291992187500000e-02 189 | -2.6367187500000000e-02 190 | -2.8503417968750000e-02 191 | -2.9663085937500000e-02 192 | -3.1341552734375000e-02 193 | -3.3172607421875000e-02 194 | -3.5125732421875000e-02 195 | -3.7078857421875000e-02 196 | -3.7353515625000000e-02 197 | -3.7445068359375000e-02 198 | -3.7231445312500000e-02 199 | -3.7048339843750000e-02 200 | -3.9672851562500000e-02 201 | -4.1687011718750000e-02 202 | -4.5532226562500000e-02 203 | -4.5623779296875000e-02 204 | -4.6386718750000000e-02 205 | -4.8278808593750000e-02 206 | -4.9194335937500000e-02 207 | -5.3497314453125000e-02 208 | -5.3527832031250000e-02 209 | -5.5541992187500000e-02 210 | -5.4321289062500000e-02 211 | -5.2551269531250000e-02 212 | -5.1635742187500000e-02 213 | -5.0048828125000000e-02 214 | -4.9377441406250000e-02 215 | -4.8431396484375000e-02 216 | -4.3395996093750000e-02 217 | -3.7536621093750000e-02 218 | -2.5970458984375000e-02 219 | -1.4251708984375000e-02 220 | -1.4038085937500000e-03 221 | 1.3671875000000000e-02 222 | 3.5034179687500000e-02 223 | 5.7708740234375000e-02 224 | 7.5195312500000000e-02 225 | 8.4014892578125000e-02 226 | 8.0688476562500000e-02 227 | 7.1716308593750000e-02 228 | 5.9539794921875000e-02 229 | 4.2419433593750000e-02 230 | 2.4780273437500000e-02 231 | 7.4157714843750000e-03 232 | -8.7890625000000000e-03 233 | -1.8371582031250000e-02 234 | -2.5512695312500000e-02 235 | -2.5939941406250000e-02 236 | -2.0233154296875000e-02 237 | -1.0253906250000000e-02 238 | 2.4414062500000000e-03 239 | 1.2084960937500000e-02 240 | 1.7425537109375000e-02 241 | 2.1026611328125000e-02 242 | 2.2338867187500000e-02 243 | 2.4719238281250000e-02 244 | 2.5054931640625000e-02 245 | 2.7374267578125000e-02 246 | 2.9846191406250000e-02 247 | 3.3142089843750000e-02 248 | 3.8055419921875000e-02 249 | 4.2327880859375000e-02 250 | 4.7363281250000000e-02 251 | 5.0415039062500000e-02 252 | 5.0384521484375000e-02 253 | 4.8461914062500000e-02 254 | 4.1259765625000000e-02 255 | 3.1188964843750000e-02 256 | 1.8859863281250000e-02 257 | 7.0495605468750000e-03 258 | -1.5869140625000000e-03 259 | -8.1787109375000000e-03 260 | -1.0742187500000000e-02 261 | -1.1810302734375000e-02 262 | -9.5214843750000000e-03 263 | -4.3334960937500000e-03 264 | 1.4343261718750000e-03 265 | 7.1411132812500000e-03 266 | 1.1077880859375000e-02 267 | 1.3336181640625000e-02 268 | 1.3336181640625000e-02 269 | 1.0253906250000000e-02 270 | 5.8593750000000000e-03 271 | 1.5869140625000000e-03 272 | -2.2583007812500000e-03 273 | -2.9296875000000000e-03 274 | -2.2277832031250000e-03 275 | 9.7656250000000000e-04 276 | 5.1269531250000000e-03 277 | 1.0559082031250000e-02 278 | 1.5838623046875000e-02 279 | 2.0660400390625000e-02 280 | 2.4261474609375000e-02 281 | 2.4353027343750000e-02 282 | 2.1606445312500000e-02 283 | 1.6479492187500000e-02 284 | 1.0589599609375000e-02 285 | 4.1198730468750000e-03 286 | -2.3498535156250000e-03 287 | -7.0190429687500000e-03 288 | -9.2163085937500000e-03 289 | -1.0040283203125000e-02 290 | -8.7890625000000000e-03 291 | -7.3242187500000000e-03 292 | -4.8217773437500000e-03 293 | -2.8686523437500000e-03 294 | -2.0446777343750000e-03 295 | -6.1035156250000000e-04 296 | -9.7656250000000000e-04 297 | -1.5258789062500000e-04 298 | 1.4343261718750000e-03 299 | 2.4414062500000000e-03 300 | 7.4768066406250000e-03 301 | 1.3671875000000000e-02 302 | 2.1850585937500000e-02 303 | 3.0395507812500000e-02 304 | 3.6407470703125000e-02 305 | 4.0435791015625000e-02 306 | 4.2663574218750000e-02 307 | 3.9581298828125000e-02 308 | 3.4454345703125000e-02 309 | 2.5634765625000000e-02 310 | 1.4984130859375000e-02 311 | 4.7302246093750000e-03 312 | -3.9367675781250000e-03 313 | -9.8266601562500000e-03 314 | -1.1901855468750000e-02 315 | -1.0498046875000000e-02 316 | -5.5541992187500000e-03 317 | 2.1667480468750000e-03 318 | 1.1199951171875000e-02 319 | 1.8218994140625000e-02 320 | 2.4291992187500000e-02 321 | 2.6916503906250000e-02 322 | 2.6000976562500000e-02 323 | 2.3040771484375000e-02 324 | 1.6174316406250000e-02 325 | 8.7280273437500000e-03 326 | 1.8920898437500000e-03 327 | -4.2724609375000000e-03 328 | -7.7514648437500000e-03 329 | -9.1247558593750000e-03 330 | -8.4228515625000000e-03 331 | -5.9509277343750000e-03 332 | -1.5563964843750000e-03 333 | 1.8310546875000000e-03 334 | 3.4484863281250000e-03 335 | 3.6926269531250000e-03 336 | 2.1667480468750000e-03 337 | -1.1596679687500000e-03 338 | -5.4931640625000000e-03 339 | -1.0314941406250000e-02 340 | -1.4526367187500000e-02 341 | -1.7974853515625000e-02 342 | -2.0843505859375000e-02 343 | -2.2064208984375000e-02 344 | -2.3040771484375000e-02 345 | -2.4047851562500000e-02 346 | -2.4047851562500000e-02 347 | -2.3681640625000000e-02 348 | -2.3254394531250000e-02 349 | -2.3864746093750000e-02 350 | -2.5421142578125000e-02 351 | -2.8442382812500000e-02 352 | -3.2226562500000000e-02 353 | -3.6407470703125000e-02 354 | -3.8787841796875000e-02 355 | -3.9855957031250000e-02 356 | -4.0405273437500000e-02 357 | -3.9398193359375000e-02 358 | -3.9001464843750000e-02 359 | -3.8848876953125000e-02 360 | -3.8726806640625000e-02 361 | -4.1015625000000000e-02 362 | -4.2510986328125000e-02 363 | -4.4342041015625000e-02 364 | -4.6539306640625000e-02 365 | -4.8095703125000000e-02 366 | -4.9835205078125000e-02 367 | -5.0628662109375000e-02 368 | -5.0231933593750000e-02 369 | -4.9102783203125000e-02 370 | -4.7729492187500000e-02 371 | -4.6234130859375000e-02 372 | -4.4219970703125000e-02 373 | -4.2083740234375000e-02 374 | -4.2175292968750000e-02 375 | -4.3457031250000000e-02 376 | -4.8767089843750000e-02 377 | -5.3619384765625000e-02 378 | -6.1584472656250000e-02 379 | -6.5368652343750000e-02 380 | -5.2703857421875000e-02 381 | -3.7841796875000000e-03 382 | 5.5358886718750000e-02 383 | 1.1227416992187500e-01 384 | 1.3659667968750000e-01 385 | 1.3827514648437500e-01 386 | 1.4025878906250000e-01 387 | 1.3031005859375000e-01 388 | 1.0928344726562500e-01 389 | 7.6354980468750000e-02 390 | 3.3813476562500000e-02 391 | 2.7465820312500000e-04 392 | -3.4576416015625000e-02 393 | -6.4147949218750000e-02 394 | -7.5469970703125000e-02 395 | -6.1981201171875000e-02 396 | -2.9541015625000000e-02 397 | 2.9907226562500000e-03 398 | 2.3559570312500000e-02 399 | 3.2775878906250000e-02 400 | 3.8024902343750000e-02 401 | 4.2510986328125000e-02 402 | 3.9154052734375000e-02 403 | 3.2409667968750000e-02 404 | 2.4932861328125000e-02 405 | 1.7944335937500000e-02 406 | 1.8859863281250000e-02 407 | 2.0446777343750000e-02 408 | 3.0090332031250000e-02 409 | 4.4128417968750000e-02 410 | 5.7403564453125000e-02 411 | 7.0465087890625000e-02 412 | 7.3791503906250000e-02 413 | 6.6925048828125000e-02 414 | 4.9377441406250000e-02 415 | 2.4291992187500000e-02 416 | 4.0893554687500000e-03 417 | -1.3397216796875000e-02 418 | -2.5909423828125000e-02 419 | -3.5919189453125000e-02 420 | -3.8696289062500000e-02 421 | -2.8442382812500000e-02 422 | -1.3519287109375000e-02 423 | 4.3029785156250000e-03 424 | 1.9561767578125000e-02 425 | 3.3172607421875000e-02 426 | 4.4433593750000000e-02 427 | 4.4097900390625000e-02 428 | 3.3142089843750000e-02 429 | 1.4984130859375000e-02 430 | -2.9602050781250000e-03 431 | -1.7059326171875000e-02 432 | -2.9541015625000000e-02 433 | -3.5034179687500000e-02 434 | -3.3477783203125000e-02 435 | -2.3895263671875000e-02 436 | -7.7819824218750000e-03 437 | 1.0467529296875000e-02 438 | 2.9479980468750000e-02 439 | 4.6112060546875000e-02 440 | 5.5877685546875000e-02 441 | 5.7861328125000000e-02 442 | 5.1452636718750000e-02 443 | 4.0557861328125000e-02 444 | 2.5146484375000000e-02 445 | 9.9487304687500000e-03 446 | 8.8500976562500000e-04 447 | -4.2724609375000000e-03 448 | -2.0141601562500000e-03 449 | 5.1879882812500000e-04 450 | 6.1340332031250000e-03 451 | 1.6662597656250000e-02 452 | 2.3956298828125000e-02 453 | 3.0700683593750000e-02 454 | 3.3081054687500000e-02 455 | 2.8320312500000000e-02 456 | 2.3956298828125000e-02 457 | 1.5106201171875000e-02 458 | 8.4533691406250000e-03 459 | 5.6762695312500000e-03 460 | 6.3476562500000000e-03 461 | 1.3702392578125000e-02 462 | 2.4108886718750000e-02 463 | 3.4790039062500000e-02 464 | 4.2999267578125000e-02 465 | 4.6264648437500000e-02 466 | 4.5471191406250000e-02 467 | 4.0283203125000000e-02 468 | 3.2043457031250000e-02 469 | 1.9958496093750000e-02 470 | 7.8125000000000000e-03 471 | -2.5939941406250000e-03 472 | -9.9487304687500000e-03 473 | -1.0711669921875000e-02 474 | -8.6059570312500000e-03 475 | -2.0751953125000000e-03 476 | 7.2021484375000000e-03 477 | 1.6174316406250000e-02 478 | 2.4993896484375000e-02 479 | 2.8808593750000000e-02 480 | 2.8137207031250000e-02 481 | 2.5024414062500000e-02 482 | 1.8493652343750000e-02 483 | 1.0345458984375000e-02 484 | 5.4931640625000000e-04 485 | -8.5754394531250000e-03 486 | -1.5411376953125000e-02 487 | -1.9653320312500000e-02 488 | -2.1179199218750000e-02 489 | -2.1575927734375000e-02 490 | -1.9592285156250000e-02 491 | -1.7547607421875000e-02 492 | -1.5228271484375000e-02 493 | -1.3793945312500000e-02 494 | -1.4251708984375000e-02 495 | -1.7303466796875000e-02 496 | -2.1270751953125000e-02 497 | -2.6092529296875000e-02 498 | -2.9754638671875000e-02 499 | -3.3111572265625000e-02 500 | -3.5675048828125000e-02 501 | -3.5583496093750000e-02 502 | -3.6560058593750000e-02 503 | -3.8208007812500000e-02 504 | -4.0771484375000000e-02 505 | -4.5776367187500000e-02 506 | -5.1879882812500000e-02 507 | -5.9143066406250000e-02 508 | -6.9122314453125000e-02 509 | -7.8674316406250000e-02 510 | -8.8043212890625000e-02 511 | -9.6008300781250000e-02 512 | -9.9945068359375000e-02 513 | -9.7595214843750000e-02 514 | -9.2193603515625000e-02 515 | -8.1604003906250000e-02 516 | -7.4493408203125000e-02 517 | -7.5378417968750000e-02 518 | -7.4218750000000000e-02 519 | -7.4371337890625000e-02 520 | -7.2784423828125000e-02 521 | -6.7352294921875000e-02 522 | -7.1319580078125000e-02 523 | -6.7504882812500000e-02 524 | -6.1462402343750000e-02 525 | -5.2307128906250000e-02 526 | -3.7750244140625000e-02 527 | -2.0416259765625000e-02 528 | 7.9956054687500000e-03 529 | 6.9091796875000000e-02 530 | 1.2634277343750000e-01 531 | 1.7034912109375000e-01 532 | 1.7547607421875000e-01 533 | 1.4727783203125000e-01 534 | 1.2194824218750000e-01 535 | 8.9599609375000000e-02 536 | 4.7515869140625000e-02 537 | 2.2888183593750000e-03 538 | -4.0039062500000000e-02 539 | -6.2713623046875000e-02 540 | -7.4768066406250000e-02 541 | -8.1024169921875000e-02 542 | -7.1563720703125000e-02 543 | -4.1931152343750000e-02 544 | 3.6010742187500000e-03 545 | 4.1168212890625000e-02 546 | 5.9906005859375000e-02 547 | 6.0302734375000000e-02 548 | 5.7342529296875000e-02 549 | 5.6671142578125000e-02 550 | 4.9468994140625000e-02 551 | 4.0069580078125000e-02 552 | 3.4576416015625000e-02 553 | 3.5064697265625000e-02 554 | 4.6661376953125000e-02 555 | 5.5236816406250000e-02 556 | 6.5124511718750000e-02 557 | 7.4310302734375000e-02 558 | 7.8063964843750000e-02 559 | 7.6873779296875000e-02 560 | 6.3873291015625000e-02 561 | 4.0618896484375000e-02 562 | 1.3061523437500000e-02 563 | -1.4984130859375000e-02 564 | -3.1616210937500000e-02 565 | -3.9245605468750000e-02 566 | -3.7628173828125000e-02 567 | -2.9357910156250000e-02 568 | -1.5563964843750000e-02 569 | 6.1645507812500000e-03 570 | 2.6977539062500000e-02 571 | 4.0863037109375000e-02 572 | 4.4860839843750000e-02 573 | 4.1290283203125000e-02 574 | 3.4332275390625000e-02 575 | 1.8188476562500000e-02 576 | -4.1503906250000000e-03 577 | -2.6794433593750000e-02 578 | -4.0740966796875000e-02 579 | -4.2205810546875000e-02 580 | -3.6560058593750000e-02 581 | -2.2949218750000000e-02 582 | -2.7465820312500000e-03 583 | 2.1545410156250000e-02 584 | 4.5562744140625000e-02 585 | 6.0760498046875000e-02 586 | 6.8908691406250000e-02 587 | 6.8695068359375000e-02 588 | 5.9844970703125000e-02 589 | 4.3487548828125000e-02 590 | 2.1789550781250000e-02 591 | 8.8500976562500000e-04 592 | -1.6479492187500000e-02 593 | -2.7801513671875000e-02 594 | -3.1127929687500000e-02 595 | -2.8289794921875000e-02 596 | -1.9287109375000000e-02 597 | -8.7280273437500000e-03 598 | 1.5258789062500000e-04 599 | 7.3547363281250000e-03 600 | 9.4909667968750000e-03 601 | 7.5378417968750000e-03 602 | 3.0822753906250000e-03 603 | -2.0751953125000000e-03 604 | -5.3710937500000000e-03 605 | -7.3242187500000000e-03 606 | -4.4860839843750000e-03 607 | 4.6997070312500000e-03 608 | 2.2247314453125000e-02 609 | 4.7180175781250000e-02 610 | 6.9946289062500000e-02 611 | 8.9630126953125000e-02 612 | 9.5214843750000000e-02 613 | 9.2041015625000000e-02 614 | 7.8735351562500000e-02 615 | 5.7312011718750000e-02 616 | 3.2348632812500000e-02 617 | 6.7749023437500000e-03 618 | -1.3427734375000000e-02 619 | -2.5512695312500000e-02 620 | -2.8472900390625000e-02 621 | -2.0050048828125000e-02 622 | -5.1879882812500000e-03 623 | 1.5167236328125000e-02 624 | 3.4179687500000000e-02 625 | 4.7515869140625000e-02 626 | 5.4718017578125000e-02 627 | 5.4260253906250000e-02 628 | 4.8187255859375000e-02 629 | 3.8299560546875000e-02 630 | 2.5604248046875000e-02 631 | 1.3153076171875000e-02 632 | 1.7700195312500000e-03 633 | -5.2185058593750000e-03 634 | -7.7514648437500000e-03 635 | -6.3171386718750000e-03 636 | -1.9836425781250000e-03 637 | 3.6926269531250000e-03 638 | 8.3618164062500000e-03 639 | 1.2237548828125000e-02 640 | 1.3977050781250000e-02 641 | 1.3732910156250000e-02 642 | 1.1077880859375000e-02 643 | 7.7209472656250000e-03 644 | 2.6855468750000000e-03 645 | -3.0212402343750000e-03 646 | -8.2092285156250000e-03 647 | -1.4068603515625000e-02 648 | -1.9378662109375000e-02 649 | -2.3864746093750000e-02 650 | -2.9144287109375000e-02 651 | -3.4698486328125000e-02 652 | -3.9794921875000000e-02 653 | -4.5074462890625000e-02 654 | -4.9011230468750000e-02 655 | -5.3894042968750000e-02 656 | -5.8044433593750000e-02 657 | -6.1248779296875000e-02 658 | -6.2255859375000000e-02 659 | -6.0729980468750000e-02 660 | -5.9112548828125000e-02 661 | -5.7678222656250000e-02 662 | -5.8624267578125000e-02 663 | -6.2011718750000000e-02 664 | -6.9000244140625000e-02 665 | -7.6873779296875000e-02 666 | -8.3038330078125000e-02 667 | -8.6639404296875000e-02 668 | -8.8348388671875000e-02 669 | -8.5906982421875000e-02 670 | -8.6944580078125000e-02 671 | -8.4197998046875000e-02 672 | -8.6151123046875000e-02 673 | -8.6395263671875000e-02 674 | -8.4106445312500000e-02 675 | -7.9498291015625000e-02 676 | -7.6080322265625000e-02 677 | -7.3303222656250000e-02 678 | -7.8308105468750000e-02 679 | -8.1115722656250000e-02 680 | -8.2489013671875000e-02 681 | -8.0505371093750000e-02 682 | -7.1777343750000000e-02 683 | -6.2347412109375000e-02 684 | -4.7698974609375000e-02 685 | -2.4902343750000000e-02 686 | 3.5705566406250000e-03 687 | 7.5561523437500000e-02 688 | 1.4660644531250000e-01 689 | 2.0205688476562500e-01 690 | 2.1542358398437500e-01 691 | 1.7654418945312500e-01 692 | 1.4282226562500000e-01 693 | 1.0083007812500000e-01 694 | 4.6569824218750000e-02 695 | -3.2653808593750000e-03 696 | -5.1513671875000000e-02 697 | -7.1899414062500000e-02 698 | -7.8338623046875000e-02 699 | -8.2092285156250000e-02 700 | -6.4971923828125000e-02 701 | -2.7862548828125000e-02 702 | 2.8167724609375000e-02 703 | 6.8267822265625000e-02 704 | 8.0627441406250000e-02 705 | 7.5012207031250000e-02 706 | 6.1859130859375000e-02 707 | 5.3466796875000000e-02 708 | 3.6041259765625000e-02 709 | 1.8218994140625000e-02 710 | 1.6235351562500000e-02 711 | 2.2705078125000000e-02 712 | 4.5440673828125000e-02 713 | 6.4300537109375000e-02 714 | 7.9406738281250000e-02 715 | 9.4726562500000000e-02 716 | 9.4757080078125000e-02 717 | 8.5510253906250000e-02 718 | 6.2774658203125000e-02 719 | 2.8228759765625000e-02 720 | -5.1879882812500000e-03 721 | -3.9489746093750000e-02 722 | -5.5847167968750000e-02 723 | -5.8471679687500000e-02 724 | -4.8522949218750000e-02 725 | -2.7618408203125000e-02 726 | -7.9345703125000000e-04 727 | 3.6560058593750000e-02 728 | 6.5368652343750000e-02 729 | 7.8338623046875000e-02 730 | 7.4981689453125000e-02 731 | 5.8227539062500000e-02 732 | 3.8269042968750000e-02 733 | 6.9885253906250000e-03 734 | -2.7832031250000000e-02 735 | -5.5297851562500000e-02 736 | -6.9488525390625000e-02 737 | -6.5216064453125000e-02 738 | -5.3314208984375000e-02 739 | -3.0151367187500000e-02 740 | 4.3640136718750000e-03 741 | 4.0283203125000000e-02 742 | 7.1289062500000000e-02 743 | 8.8470458984375000e-02 744 | 9.3475341796875000e-02 745 | 8.8287353515625000e-02 746 | 7.1075439453125000e-02 747 | 4.7210693359375000e-02 748 | 2.0568847656250000e-02 749 | -1.5258789062500000e-04 750 | -1.4617919921875000e-02 751 | -2.3529052734375000e-02 752 | -2.3010253906250000e-02 753 | -1.6845703125000000e-02 754 | -7.2631835937500000e-03 755 | -3.6621093750000000e-04 756 | 2.8381347656250000e-03 757 | 4.3640136718750000e-03 758 | 2.4414062500000000e-04 759 | -8.0566406250000000e-03 760 | -1.7883300781250000e-02 761 | -2.4078369140625000e-02 762 | -2.0660400390625000e-02 763 | -9.9182128906250000e-03 764 | 1.1169433593750000e-02 765 | 3.8391113281250000e-02 766 | 6.6253662109375000e-02 767 | 9.0148925781250000e-02 768 | 1.0342407226562500e-01 769 | 1.0794067382812500e-01 770 | 1.0113525390625000e-01 771 | 8.3007812500000000e-02 772 | 5.9051513671875000e-02 773 | 2.8076171875000000e-02 774 | -1.7395019531250000e-03 775 | -2.4017333984375000e-02 776 | -3.5491943359375000e-02 777 | -3.2775878906250000e-02 778 | -1.9226074218750000e-02 779 | 2.3803710937500000e-03 780 | 2.7404785156250000e-02 781 | 4.6691894531250000e-02 782 | 5.7647705078125000e-02 783 | 6.0241699218750000e-02 784 | 5.6579589843750000e-02 785 | 4.5684814453125000e-02 786 | 3.0242919921875000e-02 787 | 1.3244628906250000e-02 788 | -2.7465820312500000e-04 789 | -1.0070800781250000e-02 790 | -1.5045166015625000e-02 791 | -1.3366699218750000e-02 792 | -8.9111328125000000e-03 793 | -1.9531250000000000e-03 794 | 3.8146972656250000e-03 795 | 6.8359375000000000e-03 796 | 7.4157714843750000e-03 797 | 5.7983398437500000e-03 798 | 3.9672851562500000e-03 799 | 3.3569335937500000e-03 800 | 2.4719238281250000e-03 801 | 2.5329589843750000e-03 802 | 1.7089843750000000e-03 803 | 1.8615722656250000e-03 804 | -1.0681152343750000e-03 805 | -4.0588378906250000e-03 806 | -1.1169433593750000e-02 807 | -2.0080566406250000e-02 808 | -3.2470703125000000e-02 809 | -4.8339843750000000e-02 810 | -6.7291259765625000e-02 811 | -8.2702636718750000e-02 812 | -9.6801757812500000e-02 813 | -1.0391235351562500e-01 814 | -1.0571289062500000e-01 815 | -9.8785400390625000e-02 816 | -8.6242675781250000e-02 817 | -7.4127197265625000e-02 818 | -6.4941406250000000e-02 819 | -6.2377929687500000e-02 820 | -6.9702148437500000e-02 821 | -8.0078125000000000e-02 822 | -9.2956542968750000e-02 823 | -1.0281372070312500e-01 824 | -1.0437011718750000e-01 825 | -1.0348510742187500e-01 826 | -9.4665527343750000e-02 827 | -8.8378906250000000e-02 828 | -7.8247070312500000e-02 829 | -7.1716308593750000e-02 830 | -6.8389892578125000e-02 831 | -7.1075439453125000e-02 832 | -7.8643798828125000e-02 833 | -8.9996337890625000e-02 834 | -9.7686767578125000e-02 835 | -1.0995483398437500e-01 836 | -1.1315917968750000e-01 837 | -1.0601806640625000e-01 838 | -9.1583251953125000e-02 839 | -7.0129394531250000e-02 840 | -4.1931152343750000e-02 841 | -1.1962890625000000e-02 842 | 7.4249267578125000e-02 843 | 1.7312622070312500e-01 844 | 2.4374389648437500e-01 845 | 2.6681518554687500e-01 846 | 2.0989990234375000e-01 847 | 1.5832519531250000e-01 848 | 1.0702514648437500e-01 849 | 3.6621093750000000e-02 850 | -2.5421142578125000e-02 851 | -7.7911376953125000e-02 852 | -9.5397949218750000e-02 853 | -8.5113525390625000e-02 854 | -8.2031250000000000e-02 855 | -5.9051513671875000e-02 856 | -1.3488769531250000e-02 857 | 5.4901123046875000e-02 858 | 1.0366821289062500e-01 859 | 1.1251831054687500e-01 860 | 9.1583251953125000e-02 861 | 6.0058593750000000e-02 862 | 3.8482666015625000e-02 863 | 1.7181396484375000e-02 864 | -5.4626464843750000e-03 865 | -4.8828125000000000e-03 866 | 7.6904296875000000e-03 867 | 4.1503906250000000e-02 868 | 7.5408935546875000e-02 869 | 9.7656250000000000e-02 870 | 1.1663818359375000e-01 871 | 1.1651611328125000e-01 872 | 1.0125732421875000e-01 873 | 7.1014404296875000e-02 874 | 2.2033691406250000e-02 875 | -2.6611328125000000e-02 876 | -6.8206787109375000e-02 877 | -8.3435058593750000e-02 878 | -7.4401855468750000e-02 879 | -5.3802490234375000e-02 880 | -1.9042968750000000e-02 881 | 1.9500732421875000e-02 882 | 6.6101074218750000e-02 883 | 9.8724365234375000e-02 884 | 1.0430908203125000e-01 885 | 9.0606689453125000e-02 886 | 6.0729980468750000e-02 887 | 2.7832031250000000e-02 888 | -1.4526367187500000e-02 889 | -5.9143066406250000e-02 890 | -8.6639404296875000e-02 891 | -9.2987060546875000e-02 892 | -7.6477050781250000e-02 893 | -5.0659179687500000e-02 894 | -1.8157958984375000e-02 895 | 2.2186279296875000e-02 896 | 5.7342529296875000e-02 897 | 8.2305908203125000e-02 898 | 8.9263916015625000e-02 899 | 8.2275390625000000e-02 900 | 6.6528320312500000e-02 901 | 4.2083740234375000e-02 902 | 1.7669677734375000e-02 903 | 4.8828125000000000e-04 904 | -5.6152343750000000e-03 905 | -1.5563964843750000e-03 906 | 7.4157714843750000e-03 907 | 2.2216796875000000e-02 908 | 3.3843994140625000e-02 909 | 3.6865234375000000e-02 910 | 2.8503417968750000e-02 911 | 1.1322021484375000e-02 912 | -8.3312988281250000e-03 913 | -3.3050537109375000e-02 914 | -5.7678222656250000e-02 915 | -7.1380615234375000e-02 916 | -6.6467285156250000e-02 917 | -4.0771484375000000e-02 918 | -2.1667480468750000e-03 919 | 4.2388916015625000e-02 920 | 8.9263916015625000e-02 921 | 1.2506103515625000e-01 922 | 1.4440917968750000e-01 923 | 1.4425659179687500e-01 924 | 1.3214111328125000e-01 925 | 1.0440063476562500e-01 926 | 6.8603515625000000e-02 927 | 2.7770996093750000e-02 928 | -1.0681152343750000e-02 929 | -3.5766601562500000e-02 930 | -4.5104980468750000e-02 931 | -3.7384033203125000e-02 932 | -1.5472412109375000e-02 933 | 7.4768066406250000e-03 934 | 3.0914306640625000e-02 935 | 4.7515869140625000e-02 936 | 5.6060791015625000e-02 937 | 5.7250976562500000e-02 938 | 5.2001953125000000e-02 939 | 4.3334960937500000e-02 940 | 3.1372070312500000e-02 941 | 2.0202636718750000e-02 942 | 1.3244628906250000e-02 943 | 9.1857910156250000e-03 944 | 9.1247558593750000e-03 945 | 9.9487304687500000e-03 946 | 1.1810302734375000e-02 947 | 1.0589599609375000e-02 948 | 2.5024414062500000e-03 949 | -7.7514648437500000e-03 950 | -1.8096923828125000e-02 951 | -2.4749755859375000e-02 952 | -2.7252197265625000e-02 953 | -2.5299072265625000e-02 954 | -1.9042968750000000e-02 955 | -9.3383789062500000e-03 956 | 0.0000000000000000e+00 957 | 5.8593750000000000e-03 958 | 7.5683593750000000e-03 959 | 1.9531250000000000e-03 960 | -1.0284423828125000e-02 961 | -2.8076171875000000e-02 962 | -5.5175781250000000e-02 963 | -8.2580566406250000e-02 964 | -1.0418701171875000e-01 965 | -1.1587524414062500e-01 966 | -1.1077880859375000e-01 967 | -1.0040283203125000e-01 968 | -9.0515136718750000e-02 969 | -8.0413818359375000e-02 970 | -7.6873779296875000e-02 971 | -7.5500488281250000e-02 972 | -7.7026367187500000e-02 973 | -9.1186523437500000e-02 974 | -1.0137939453125000e-01 975 | -1.1743164062500000e-01 976 | -1.2847900390625000e-01 977 | -1.2133789062500000e-01 978 | -1.1880493164062500e-01 979 | -1.0165405273437500e-01 980 | -9.0881347656250000e-02 981 | -8.4991455078125000e-02 982 | -7.9559326171875000e-02 983 | -7.7209472656250000e-02 984 | -8.0047607421875000e-02 985 | -7.9315185546875000e-02 986 | -8.6334228515625000e-02 987 | -1.0009765625000000e-01 988 | -1.1062622070312500e-01 989 | -1.1895751953125000e-01 990 | -1.1260986328125000e-01 991 | -8.9660644531250000e-02 992 | -5.7220458984375000e-02 993 | -2.1240234375000000e-02 994 | 3.5491943359375000e-02 995 | 1.3754272460937500e-01 996 | 2.1984863281250000e-01 997 | 2.7523803710937500e-01 998 | 2.5405883789062500e-01 999 | 1.9174194335937500e-01 1000 | 1.4657592773437500e-01 1001 | 8.2550048828125000e-02 1002 | 1.4892578125000000e-02 1003 | -4.4403076171875000e-02 1004 | -8.5937500000000000e-02 1005 | -7.9101562500000000e-02 1006 | -7.1655273437500000e-02 1007 | -6.1309814453125000e-02 1008 | -2.9479980468750000e-02 1009 | 2.4017333984375000e-02 1010 | 8.4930419921875000e-02 1011 | 1.0452270507812500e-01 1012 | 8.8653564453125000e-02 1013 | 5.4321289062500000e-02 1014 | 2.8198242187500000e-02 1015 | 1.4373779296875000e-02 1016 | -3.9672851562500000e-03 1017 | -3.9672851562500000e-03 1018 | 1.9439697265625000e-02 1019 | 5.4870605468750000e-02 1020 | 9.7717285156250000e-02 1021 | 1.1978149414062500e-01 1022 | 1.3507080078125000e-01 1023 | 1.4053344726562500e-01 1024 | 1.2133789062500000e-01 1025 | 8.8928222656250000e-02 1026 | 3.8513183593750000e-02 1027 | -1.4038085937500000e-02 1028 | -5.4443359375000000e-02 1029 | -8.0291748046875000e-02 1030 | -7.4890136718750000e-02 1031 | -5.1025390625000000e-02 1032 | -1.3061523437500000e-02 1033 | 2.5817871093750000e-02 1034 | 5.7739257812500000e-02 1035 | 8.4503173828125000e-02 1036 | 8.7097167968750000e-02 1037 | 6.9396972656250000e-02 1038 | 3.7109375000000000e-02 1039 | 1.6784667968750000e-03 1040 | -2.6702880859375000e-02 1041 | -5.5633544921875000e-02 1042 | -7.3089599609375000e-02 1043 | -7.1960449218750000e-02 1044 | -5.0903320312500000e-02 1045 | -1.5258789062500000e-02 1046 | 1.8005371093750000e-02 1047 | 5.0354003906250000e-02 1048 | 7.4676513671875000e-02 1049 | 8.4136962890625000e-02 1050 | 7.9467773437500000e-02 1051 | 5.9173583984375000e-02 1052 | 3.6560058593750000e-02 1053 | 1.5045166015625000e-02 1054 | -3.3569335937500000e-03 1055 | -1.1993408203125000e-02 1056 | -9.7656250000000000e-03 1057 | 4.7302246093750000e-03 1058 | 2.2857666015625000e-02 1059 | 4.0039062500000000e-02 1060 | 5.2917480468750000e-02 1061 | 5.5023193359375000e-02 1062 | 4.4311523437500000e-02 1063 | 1.9165039062500000e-02 1064 | -1.1962890625000000e-02 1065 | -4.0100097656250000e-02 1066 | -6.4605712890625000e-02 1067 | -7.2723388671875000e-02 1068 | -6.6925048828125000e-02 1069 | -3.6041259765625000e-02 1070 | 1.1444091796875000e-02 1071 | 5.9448242187500000e-02 1072 | 1.0311889648437500e-01 1073 | 1.2835693359375000e-01 1074 | 1.4239501953125000e-01 1075 | 1.4266967773437500e-01 1076 | 1.2649536132812500e-01 1077 | 9.7564697265625000e-02 1078 | 6.0150146484375000e-02 1079 | 2.5665283203125000e-02 1080 | 1.2817382812500000e-03 1081 | -1.1901855468750000e-02 1082 | -1.0559082031250000e-02 1083 | -2.2888183593750000e-03 1084 | 1.6052246093750000e-02 1085 | 2.9357910156250000e-02 1086 | 3.5339355468750000e-02 1087 | 3.2989501953125000e-02 1088 | 2.6092529296875000e-02 1089 | 2.0874023437500000e-02 1090 | 1.7547607421875000e-02 1091 | 1.5136718750000000e-02 1092 | 1.5441894531250000e-02 1093 | 1.8676757812500000e-02 1094 | 2.6885986328125000e-02 1095 | 3.6102294921875000e-02 1096 | 4.2755126953125000e-02 1097 | 4.3243408203125000e-02 1098 | 3.5675048828125000e-02 1099 | 2.1575927734375000e-02 1100 | 1.3732910156250000e-03 1101 | -2.0935058593750000e-02 1102 | -3.9306640625000000e-02 1103 | -5.0292968750000000e-02 1104 | -5.0048828125000000e-02 1105 | -4.3609619140625000e-02 1106 | -3.3752441406250000e-02 1107 | -2.1453857421875000e-02 1108 | -1.3641357421875000e-02 1109 | -8.5449218750000000e-03 1110 | -1.2634277343750000e-02 1111 | -2.3010253906250000e-02 1112 | -3.6376953125000000e-02 1113 | -5.5511474609375000e-02 1114 | -7.0343017578125000e-02 1115 | -8.4381103515625000e-02 1116 | -9.4940185546875000e-02 1117 | -1.0055541992187500e-01 1118 | -1.0400390625000000e-01 1119 | -1.0598754882812500e-01 1120 | -1.0675048828125000e-01 1121 | -1.0681152343750000e-01 1122 | -1.0958862304687500e-01 1123 | -1.0852050781250000e-01 1124 | -1.1102294921875000e-01 1125 | -1.0897827148437500e-01 1126 | -1.1059570312500000e-01 1127 | -1.0794067382812500e-01 1128 | -1.0873413085937500e-01 1129 | -1.0394287109375000e-01 1130 | -1.0589599609375000e-01 1131 | -1.0272216796875000e-01 1132 | -1.0159301757812500e-01 1133 | -9.8571777343750000e-02 1134 | -1.0000610351562500e-01 1135 | -1.0147094726562500e-01 1136 | -1.0739135742187500e-01 1137 | -1.1148071289062500e-01 1138 | -1.1129760742187500e-01 1139 | -1.0852050781250000e-01 1140 | -9.9365234375000000e-02 1141 | -8.5021972656250000e-02 1142 | -6.7993164062500000e-02 1143 | -4.4525146484375000e-02 1144 | -7.4462890625000000e-03 1145 | 8.7677001953125000e-02 1146 | 1.8515014648437500e-01 1147 | 2.5674438476562500e-01 1148 | 2.5958251953125000e-01 1149 | 2.0352172851562500e-01 1150 | 1.6119384765625000e-01 1151 | 1.1260986328125000e-01 1152 | 5.4656982421875000e-02 1153 | 1.7395019531250000e-03 1154 | -3.9062500000000000e-02 1155 | -3.9947509765625000e-02 1156 | -3.6315917968750000e-02 1157 | -4.1442871093750000e-02 1158 | -2.8503417968750000e-02 1159 | 6.6528320312500000e-03 1160 | 6.4117431640625000e-02 1161 | 8.8836669921875000e-02 1162 | 7.3608398437500000e-02 1163 | 3.4667968750000000e-02 1164 | 1.3122558593750000e-03 1165 | -1.1535644531250000e-02 1166 | -2.0019531250000000e-02 1167 | -1.4221191406250000e-02 1168 | 1.7211914062500000e-02 1169 | 5.9143066406250000e-02 1170 | 1.0964965820312500e-01 1171 | 1.3873291015625000e-01 1172 | 1.5225219726562500e-01 1173 | 1.5643310546875000e-01 1174 | 1.3977050781250000e-01 1175 | 1.1071777343750000e-01 1176 | 6.4788818359375000e-02 1177 | 9.7045898437500000e-03 1178 | -3.7719726562500000e-02 1179 | -6.9793701171875000e-02 1180 | -6.7108154296875000e-02 1181 | -4.3090820312500000e-02 1182 | -8.1787109375000000e-03 1183 | 2.6824951171875000e-02 1184 | 5.4107666015625000e-02 1185 | 7.6293945312500000e-02 1186 | 7.3486328125000000e-02 1187 | 4.8767089843750000e-02 1188 | 1.4068603515625000e-02 1189 | -2.0996093750000000e-02 1190 | -4.5318603515625000e-02 1191 | -7.1533203125000000e-02 1192 | -8.8287353515625000e-02 1193 | -8.3587646484375000e-02 1194 | -5.6915283203125000e-02 1195 | -1.4160156250000000e-02 1196 | 2.4078369140625000e-02 1197 | 5.6976318359375000e-02 1198 | 8.1542968750000000e-02 1199 | 8.8592529296875000e-02 1200 | 7.8552246093750000e-02 1201 | 5.2185058593750000e-02 1202 | 2.6580810546875000e-02 1203 | 5.5847167968750000e-03 1204 | -1.0833740234375000e-02 1205 | -1.6632080078125000e-02 1206 | -1.0864257812500000e-02 1207 | 6.5917968750000000e-03 1208 | 2.7832031250000000e-02 1209 | 4.5654296875000000e-02 1210 | 6.0852050781250000e-02 1211 | 6.7169189453125000e-02 1212 | 5.8715820312500000e-02 1213 | 3.3172607421875000e-02 1214 | -1.5869140625000000e-03 1215 | -3.4118652343750000e-02 1216 | -6.1798095703125000e-02 1217 | -7.6660156250000000e-02 1218 | -7.3791503906250000e-02 1219 | -4.6783447265625000e-02 1220 | -4.4860839843750000e-03 1221 | 4.2663574218750000e-02 1222 | 8.0780029296875000e-02 1223 | 1.0769653320312500e-01 1224 | 1.1987304687500000e-01 1225 | 1.2081909179687500e-01 1226 | 1.1148071289062500e-01 1227 | 9.5581054687500000e-02 1228 | 7.1929931640625000e-02 1229 | 4.8370361328125000e-02 1230 | 2.7130126953125000e-02 1231 | 1.5747070312500000e-02 1232 | 1.7944335937500000e-02 1233 | 2.9815673828125000e-02 1234 | 4.5654296875000000e-02 1235 | 5.7220458984375000e-02 1236 | 5.7556152343750000e-02 1237 | 4.6936035156250000e-02 1238 | 2.7526855468750000e-02 1239 | 6.2255859375000000e-03 1240 | -6.7138671875000000e-03 1241 | -1.0314941406250000e-02 1242 | -6.5307617187500000e-03 1243 | 2.4414062500000000e-04 1244 | 1.2451171875000000e-02 1245 | 2.6611328125000000e-02 1246 | 4.2510986328125000e-02 1247 | 5.0964355468750000e-02 1248 | 5.1757812500000000e-02 1249 | 4.4586181640625000e-02 1250 | 2.9541015625000000e-02 1251 | 5.4931640625000000e-03 1252 | -2.0172119140625000e-02 1253 | -4.2938232421875000e-02 1254 | -5.4229736328125000e-02 1255 | -5.4992675781250000e-02 1256 | -5.0018310546875000e-02 1257 | -4.3029785156250000e-02 1258 | -3.8055419921875000e-02 1259 | -3.3569335937500000e-02 1260 | -3.1311035156250000e-02 1261 | -3.1402587890625000e-02 1262 | -3.5430908203125000e-02 1263 | -4.6112060546875000e-02 1264 | -5.8776855468750000e-02 1265 | -7.1990966796875000e-02 1266 | -8.6975097656250000e-02 1267 | -9.7747802734375000e-02 1268 | -1.0580444335937500e-01 1269 | -1.1279296875000000e-01 1270 | -1.1694335937500000e-01 1271 | -1.1901855468750000e-01 1272 | -1.2158203125000000e-01 1273 | -1.2274169921875000e-01 1274 | -1.2442016601562500e-01 1275 | -1.2411499023437500e-01 1276 | -1.2222290039062500e-01 1277 | -1.1935424804687500e-01 1278 | -1.1206054687500000e-01 1279 | -1.0925292968750000e-01 1280 | -1.0916137695312500e-01 1281 | -1.0968017578125000e-01 1282 | -1.0348510742187500e-01 1283 | -9.9365234375000000e-02 1284 | -1.0198974609375000e-01 1285 | -1.0717773437500000e-01 1286 | -1.1651611328125000e-01 1287 | -1.2103271484375000e-01 1288 | -1.2316894531250000e-01 1289 | -1.2792968750000000e-01 1290 | -1.2698364257812500e-01 1291 | -1.1032104492187500e-01 1292 | -9.0515136718750000e-02 1293 | -5.9967041015625000e-02 1294 | -1.8035888671875000e-02 1295 | 7.5775146484375000e-02 1296 | 1.7742919921875000e-01 1297 | 2.5588989257812500e-01 1298 | 2.6071166992187500e-01 1299 | 2.1701049804687500e-01 1300 | 1.7456054687500000e-01 1301 | 1.3174438476562500e-01 1302 | 7.7392578125000000e-02 1303 | 2.1881103515625000e-02 1304 | -2.1789550781250000e-02 1305 | -2.4200439453125000e-02 1306 | -2.0721435546875000e-02 1307 | -2.3284912109375000e-02 1308 | -1.7272949218750000e-02 1309 | 9.7656250000000000e-03 1310 | 6.0546875000000000e-02 1311 | 8.8348388671875000e-02 1312 | 7.7758789062500000e-02 1313 | 3.8452148437500000e-02 1314 | -9.1552734375000000e-05 1315 | -2.3559570312500000e-02 1316 | -3.8208007812500000e-02 1317 | -3.6895751953125000e-02 1318 | -1.1352539062500000e-02 1319 | 3.0120849609375000e-02 1320 | 8.6853027343750000e-02 1321 | 1.2646484375000000e-01 1322 | 1.5008544921875000e-01 1323 | 1.5664672851562500e-01 1324 | 1.4715576171875000e-01 1325 | 1.3180541992187500e-01 1326 | 1.0241699218750000e-01 1327 | 5.5694580078125000e-02 1328 | 3.4790039062500000e-03 1329 | -3.9886474609375000e-02 1330 | -4.9865722656250000e-02 1331 | -3.6102294921875000e-02 1332 | -1.1871337890625000e-02 1333 | 1.3610839843750000e-02 1334 | 3.8848876953125000e-02 1335 | 6.4758300781250000e-02 1336 | 6.8054199218750000e-02 1337 | 4.5928955078125000e-02 1338 | 1.0101318359375000e-02 1339 | -2.1636962890625000e-02 1340 | -4.0588378906250000e-02 1341 | -6.1553955078125000e-02 1342 | -8.2061767578125000e-02 1343 | -8.7707519531250000e-02 1344 | -7.2692871093750000e-02 1345 | -3.7475585937500000e-02 1346 | -1.2512207031250000e-03 1347 | 3.4271240234375000e-02 1348 | 6.5490722656250000e-02 1349 | 8.4075927734375000e-02 1350 | 8.6486816406250000e-02 1351 | 6.8634033203125000e-02 1352 | 4.4342041015625000e-02 1353 | 1.9348144531250000e-02 1354 | -1.0681152343750000e-03 1355 | -1.2329101562500000e-02 1356 | -1.2725830078125000e-02 1357 | -2.7770996093750000e-03 1358 | 1.1810302734375000e-02 1359 | 2.8350830078125000e-02 1360 | 5.0598144531250000e-02 1361 | 6.7504882812500000e-02 1362 | 7.2296142578125000e-02 1363 | 5.8685302734375000e-02 1364 | 3.4332275390625000e-02 1365 | 7.7209472656250000e-03 1366 | -2.0202636718750000e-02 1367 | -4.5715332031250000e-02 1368 | -5.7891845703125000e-02 1369 | -4.9102783203125000e-02 1370 | -2.3040771484375000e-02 1371 | 9.5825195312500000e-03 1372 | 4.1381835937500000e-02 1373 | 6.8359375000000000e-02 1374 | 8.9752197265625000e-02 1375 | 1.0357666015625000e-01 1376 | 1.0549926757812500e-01 1377 | 1.0037231445312500e-01 1378 | 8.5632324218750000e-02 1379 | 6.8572998046875000e-02 1380 | 5.0354003906250000e-02 1381 | 3.4942626953125000e-02 1382 | 2.8472900390625000e-02 1383 | 3.3233642578125000e-02 1384 | 4.5959472656250000e-02 1385 | 6.1828613281250000e-02 1386 | 6.8878173828125000e-02 1387 | 6.7108154296875000e-02 1388 | 5.4321289062500000e-02 1389 | 3.5980224609375000e-02 1390 | 1.7852783203125000e-02 1391 | 4.0893554687500000e-03 1392 | -3.7231445312500000e-03 1393 | -5.9509277343750000e-03 1394 | -2.0751953125000000e-03 1395 | 6.4086914062500000e-03 1396 | 1.7700195312500000e-02 1397 | 2.9418945312500000e-02 1398 | 3.8055419921875000e-02 1399 | 4.2449951171875000e-02 1400 | 3.8543701171875000e-02 1401 | 2.4658203125000000e-02 1402 | 3.6621093750000000e-03 1403 | -2.0568847656250000e-02 1404 | -4.0954589843750000e-02 1405 | -5.4534912109375000e-02 1406 | -6.1523437500000000e-02 1407 | -6.2774658203125000e-02 1408 | -6.0516357421875000e-02 1409 | -5.5267333984375000e-02 1410 | -4.9224853515625000e-02 1411 | -4.4891357421875000e-02 1412 | -4.6051025390625000e-02 1413 | -5.1025390625000000e-02 1414 | -5.9783935546875000e-02 1415 | -6.8664550781250000e-02 1416 | -8.1390380859375000e-02 1417 | -9.2407226562500000e-02 1418 | -1.0339355468750000e-01 1419 | -1.1114501953125000e-01 1420 | -1.1480712890625000e-01 1421 | -1.1651611328125000e-01 1422 | -1.1749267578125000e-01 1423 | -1.1914062500000000e-01 1424 | -1.2478637695312500e-01 1425 | -1.2670898437500000e-01 1426 | -1.2680053710937500e-01 1427 | -1.2255859375000000e-01 1428 | -1.2042236328125000e-01 1429 | -1.2048339843750000e-01 1430 | -1.2133789062500000e-01 1431 | -1.2213134765625000e-01 1432 | -1.1798095703125000e-01 1433 | -1.1904907226562500e-01 1434 | -1.1859130859375000e-01 1435 | -1.2191772460937500e-01 1436 | -1.2350463867187500e-01 1437 | -1.2429809570312500e-01 1438 | -1.2722778320312500e-01 1439 | -1.3204956054687500e-01 1440 | -1.2728881835937500e-01 1441 | -1.1077880859375000e-01 1442 | -8.3923339843750000e-02 1443 | -4.9194335937500000e-02 1444 | 2.4169921875000000e-02 1445 | 1.1315917968750000e-01 1446 | 1.9802856445312500e-01 1447 | 2.3962402343750000e-01 1448 | 2.2491455078125000e-01 1449 | 2.0260620117187500e-01 1450 | 1.7153930664062500e-01 1451 | 1.3269042968750000e-01 1452 | 8.8775634765625000e-02 1453 | 4.2144775390625000e-02 1454 | 1.9409179687500000e-02 1455 | 1.2420654296875000e-02 1456 | 5.4931640625000000e-04 1457 | -4.9743652343750000e-03 1458 | -3.6621093750000000e-04 1459 | 3.0181884765625000e-02 1460 | 6.0211181640625000e-02 1461 | 7.5042724609375000e-02 1462 | 5.9234619140625000e-02 1463 | 2.6245117187500000e-02 1464 | -3.4179687500000000e-03 1465 | -3.1982421875000000e-02 1466 | -4.6569824218750000e-02 1467 | -4.1931152343750000e-02 1468 | -2.6458740234375000e-02 1469 | 1.2908935546875000e-02 1470 | 5.4138183593750000e-02 1471 | 8.9904785156250000e-02 1472 | 1.1614990234375000e-01 1473 | 1.2503051757812500e-01 1474 | 1.3131713867187500e-01 1475 | 1.3400268554687500e-01 1476 | 1.2387084960937500e-01 1477 | 9.6496582031250000e-02 1478 | 5.2276611328125000e-02 1479 | 1.5106201171875000e-02 1480 | -3.3874511718750000e-03 1481 | -5.0048828125000000e-03 1482 | 1.1596679687500000e-03 1483 | 8.2397460937500000e-03 1484 | 2.7191162109375000e-02 1485 | 4.3609619140625000e-02 1486 | 4.6905517578125000e-02 1487 | 3.3386230468750000e-02 1488 | 8.7890625000000000e-03 1489 | -7.1105957031250000e-03 1490 | -2.1118164062500000e-02 1491 | -3.8940429687500000e-02 1492 | -5.8532714843750000e-02 1493 | -7.5927734375000000e-02 1494 | -7.7575683593750000e-02 1495 | -6.6558837890625000e-02 1496 | -4.6325683593750000e-02 1497 | -1.9226074218750000e-02 1498 | 8.3923339843750000e-03 1499 | 3.5675048828125000e-02 1500 | 5.5023193359375000e-02 1501 | 6.3507080078125000e-02 1502 | 6.0791015625000000e-02 1503 | 4.7088623046875000e-02 1504 | 3.2501220703125000e-02 1505 | 2.0812988281250000e-02 1506 | 1.5197753906250000e-02 1507 | 1.1047363281250000e-02 1508 | 5.2490234375000000e-03 1509 | 7.1411132812500000e-03 1510 | 1.8402099609375000e-02 1511 | 3.5217285156250000e-02 1512 | 4.7668457031250000e-02 1513 | 5.2795410156250000e-02 1514 | 5.6640625000000000e-02 1515 | 5.5877685546875000e-02 1516 | 4.9041748046875000e-02 1517 | 3.3264160156250000e-02 1518 | 1.5350341796875000e-02 1519 | 3.7841796875000000e-03 1520 | 2.6550292968750000e-03 1521 | 8.0566406250000000e-03 1522 | 1.5930175781250000e-02 1523 | 2.6794433593750000e-02 1524 | 3.9276123046875000e-02 1525 | 5.3161621093750000e-02 1526 | 6.4758300781250000e-02 1527 | 6.9274902343750000e-02 1528 | 6.9213867187500000e-02 1529 | 6.4392089843750000e-02 1530 | 5.6854248046875000e-02 1531 | 4.8767089843750000e-02 1532 | 4.0924072265625000e-02 1533 | 3.6163330078125000e-02 1534 | 3.5095214843750000e-02 1535 | 4.0100097656250000e-02 1536 | 4.6875000000000000e-02 1537 | 5.4077148437500000e-02 1538 | 5.6304931640625000e-02 1539 | 5.3497314453125000e-02 1540 | 5.0628662109375000e-02 1541 | 4.6264648437500000e-02 1542 | 3.9245605468750000e-02 1543 | 3.0883789062500000e-02 1544 | 2.0812988281250000e-02 1545 | 1.3610839843750000e-02 1546 | 8.9416503906250000e-03 1547 | 4.6081542968750000e-03 1548 | 2.5634765625000000e-03 1549 | 1.5258789062500000e-03 1550 | 2.7465820312500000e-04 1551 | -2.3803710937500000e-03 1552 | -9.2163085937500000e-03 1553 | -1.9622802734375000e-02 1554 | -3.3508300781250000e-02 1555 | -4.5989990234375000e-02 1556 | -5.6335449218750000e-02 1557 | -6.2988281250000000e-02 1558 | -6.7047119140625000e-02 1559 | -7.0709228515625000e-02 1560 | -7.0953369140625000e-02 1561 | -7.1441650390625000e-02 1562 | -7.1258544921875000e-02 1563 | -7.0343017578125000e-02 1564 | -7.2387695312500000e-02 1565 | -7.3059082031250000e-02 1566 | -7.5927734375000000e-02 1567 | -7.9162597656250000e-02 1568 | -8.1726074218750000e-02 1569 | -8.7524414062500000e-02 1570 | -9.0301513671875000e-02 1571 | -9.5977783203125000e-02 1572 | -9.8449707031250000e-02 1573 | -9.8724365234375000e-02 1574 | -1.0101318359375000e-01 1575 | -1.0003662109375000e-01 1576 | -9.9182128906250000e-02 1577 | -9.6862792968750000e-02 1578 | -9.3200683593750000e-02 1579 | -9.6435546875000000e-02 1580 | -1.0104370117187500e-01 1581 | -1.0827636718750000e-01 1582 | -1.1459350585937500e-01 1583 | -1.1633300781250000e-01 1584 | -1.1938476562500000e-01 1585 | -1.2069702148437500e-01 1586 | -1.2332153320312500e-01 1587 | -1.2493896484375000e-01 1588 | -1.2722778320312500e-01 1589 | -1.2832641601562500e-01 1590 | -1.2280273437500000e-01 1591 | -1.1187744140625000e-01 1592 | -9.4329833984375000e-02 1593 | -5.8074951171875000e-02 1594 | -1.3702392578125000e-02 1595 | 3.6865234375000000e-02 1596 | 7.5225830078125000e-02 1597 | 8.9263916015625000e-02 1598 | 9.9670410156250000e-02 1599 | 1.0333251953125000e-01 1600 | 1.0256958007812500e-01 1601 | 1.0116577148437500e-01 1602 | 9.2254638671875000e-02 1603 | 9.0972900390625000e-02 1604 | 9.3383789062500000e-02 1605 | 9.0576171875000000e-02 1606 | 8.4075927734375000e-02 1607 | 7.8796386718750000e-02 1608 | 8.4564208984375000e-02 1609 | 9.6649169921875000e-02 1610 | 1.1138916015625000e-01 1611 | 1.1495971679687500e-01 1612 | 1.0836791992187500e-01 1613 | 9.7381591796875000e-02 1614 | 7.3852539062500000e-02 1615 | 5.1452636718750000e-02 1616 | 3.5705566406250000e-02 1617 | 2.0446777343750000e-02 1618 | 1.6601562500000000e-02 1619 | 1.3122558593750000e-02 1620 | 1.1169433593750000e-02 1621 | 1.2207031250000000e-02 1622 | 6.7749023437500000e-03 1623 | 1.2817382812500000e-03 1624 | 2.4414062500000000e-03 1625 | 1.0925292968750000e-02 1626 | 2.2674560546875000e-02 1627 | 2.6489257812500000e-02 1628 | 2.3345947265625000e-02 1629 | 1.6479492187500000e-02 1630 | 1.4251708984375000e-02 1631 | 1.0833740234375000e-02 1632 | 3.6010742187500000e-03 1633 | 2.0141601562500000e-03 1634 | 2.1057128906250000e-03 1635 | 5.1269531250000000e-03 1636 | 5.7678222656250000e-03 1637 | 8.2397460937500000e-04 1638 | 1.1901855468750000e-03 1639 | 4.5471191406250000e-03 1640 | 1.1535644531250000e-02 1641 | 2.1423339843750000e-02 1642 | 2.9235839843750000e-02 1643 | 3.6804199218750000e-02 1644 | 3.8879394531250000e-02 1645 | 3.6865234375000000e-02 1646 | 3.2623291015625000e-02 1647 | 2.7465820312500000e-02 1648 | 2.3803710937500000e-02 1649 | 1.8310546875000000e-02 1650 | 1.6510009765625000e-02 1651 | 1.6693115234375000e-02 1652 | 1.5472412109375000e-02 1653 | 1.2390136718750000e-02 1654 | 6.2561035156250000e-03 1655 | 5.4321289062500000e-03 1656 | 8.8806152343750000e-03 1657 | 1.1352539062500000e-02 1658 | 1.4007568359375000e-02 1659 | 1.2664794921875000e-02 1660 | 1.0742187500000000e-02 1661 | 5.9509277343750000e-03 1662 | -2.9602050781250000e-03 1663 | -9.7351074218750000e-03 1664 | -1.2786865234375000e-02 1665 | -1.1718750000000000e-02 1666 | -6.5002441406250000e-03 1667 | 5.4931640625000000e-04 1668 | 1.1688232421875000e-02 1669 | 2.1087646484375000e-02 1670 | 2.7801513671875000e-02 1671 | 3.5705566406250000e-02 1672 | 4.3487548828125000e-02 1673 | 5.3039550781250000e-02 1674 | 5.8746337890625000e-02 1675 | 5.8807373046875000e-02 1676 | 5.5358886718750000e-02 1677 | 5.1269531250000000e-02 1678 | 4.8980712890625000e-02 1679 | 4.5745849609375000e-02 1680 | 4.5532226562500000e-02 1681 | 4.8675537109375000e-02 1682 | 5.3710937500000000e-02 1683 | 5.9082031250000000e-02 1684 | 5.7647705078125000e-02 1685 | 5.4504394531250000e-02 1686 | 4.9682617187500000e-02 1687 | 4.3304443359375000e-02 1688 | 3.8787841796875000e-02 1689 | 3.3874511718750000e-02 1690 | 2.9510498046875000e-02 1691 | 2.7801513671875000e-02 1692 | 2.6641845703125000e-02 1693 | 2.8747558593750000e-02 1694 | 3.1372070312500000e-02 1695 | 3.5003662109375000e-02 1696 | 3.8757324218750000e-02 1697 | 4.0802001953125000e-02 1698 | 4.1870117187500000e-02 1699 | 3.8299560546875000e-02 1700 | 2.9785156250000000e-02 1701 | 1.8280029296875000e-02 1702 | 5.7373046875000000e-03 1703 | -4.9743652343750000e-03 1704 | -1.4526367187500000e-02 1705 | -2.1240234375000000e-02 1706 | -2.6092529296875000e-02 1707 | -3.0090332031250000e-02 1708 | -3.1433105468750000e-02 1709 | -3.4088134765625000e-02 1710 | -3.7200927734375000e-02 1711 | -4.1107177734375000e-02 1712 | -4.6813964843750000e-02 1713 | -5.1605224609375000e-02 1714 | -5.7952880859375000e-02 1715 | -6.4086914062500000e-02 1716 | -7.1014404296875000e-02 1717 | -7.6477050781250000e-02 1718 | -7.8063964843750000e-02 1719 | -7.8460693359375000e-02 1720 | -7.7880859375000000e-02 1721 | -7.8460693359375000e-02 1722 | -7.8948974609375000e-02 1723 | -8.1878662109375000e-02 1724 | -8.6151123046875000e-02 1725 | -9.1705322265625000e-02 1726 | -9.7076416015625000e-02 1727 | -1.0015869140625000e-01 1728 | -1.0360717773437500e-01 1729 | -1.0739135742187500e-01 1730 | -1.1199951171875000e-01 1731 | -1.1691284179687500e-01 1732 | -1.1978149414062500e-01 1733 | -1.2176513671875000e-01 1734 | -1.2289428710937500e-01 1735 | -1.2356567382812500e-01 1736 | -1.2374877929687500e-01 1737 | -1.2619018554687500e-01 1738 | -1.2866210937500000e-01 1739 | -1.3085937500000000e-01 1740 | -1.3040161132812500e-01 1741 | -1.2744140625000000e-01 1742 | -1.1831665039062500e-01 1743 | -9.8602294921875000e-02 1744 | -7.6385498046875000e-02 1745 | -5.3466796875000000e-02 1746 | -4.2419433593750000e-02 1747 | -3.5491943359375000e-02 1748 | -2.8228759765625000e-02 1749 | -2.3590087890625000e-02 1750 | -1.5777587890625000e-02 1751 | -8.5754394531250000e-03 1752 | 3.7841796875000000e-03 1753 | 2.2827148437500000e-02 1754 | 3.5400390625000000e-02 1755 | 4.0283203125000000e-02 1756 | 4.4189453125000000e-02 1757 | 5.3619384765625000e-02 1758 | 6.9488525390625000e-02 1759 | 8.9447021484375000e-02 1760 | 1.0693359375000000e-01 1761 | 1.1941528320312500e-01 1762 | 1.2860107421875000e-01 1763 | 1.2811279296875000e-01 1764 | 1.2063598632812500e-01 1765 | 1.1892700195312500e-01 1766 | 1.1779785156250000e-01 1767 | 1.2133789062500000e-01 1768 | 1.2606811523437500e-01 1769 | 1.2628173828125000e-01 1770 | 1.2841796875000000e-01 1771 | 1.2478637695312500e-01 1772 | 1.1471557617187500e-01 1773 | 1.0833740234375000e-01 1774 | 1.0638427734375000e-01 1775 | 1.0806274414062500e-01 1776 | 1.0632324218750000e-01 1777 | 9.8236083984375000e-02 1778 | 8.7005615234375000e-02 1779 | 7.4584960937500000e-02 1780 | 6.1706542968750000e-02 1781 | 4.5318603515625000e-02 1782 | 3.3325195312500000e-02 1783 | 2.5268554687500000e-02 1784 | 1.8127441406250000e-02 1785 | 1.0650634765625000e-02 1786 | -2.4414062500000000e-03 1787 | -1.2664794921875000e-02 1788 | -2.0080566406250000e-02 1789 | -2.7130126953125000e-02 1790 | -2.7862548828125000e-02 1791 | -2.6123046875000000e-02 1792 | -2.0965576171875000e-02 1793 | -1.6326904296875000e-02 1794 | -1.6845703125000000e-02 1795 | -1.6571044921875000e-02 1796 | -1.7395019531250000e-02 1797 | -1.8585205078125000e-02 1798 | -2.2125244140625000e-02 1799 | -2.5146484375000000e-02 1800 | -2.5421142578125000e-02 1801 | -2.7038574218750000e-02 1802 | -3.0303955078125000e-02 1803 | -3.6590576171875000e-02 1804 | -4.0008544921875000e-02 1805 | -3.7200927734375000e-02 1806 | -3.2562255859375000e-02 1807 | -2.3315429687500000e-02 1808 | -1.2481689453125000e-02 1809 | -1.2817382812500000e-03 1810 | 7.7514648437500000e-03 1811 | 9.4299316406250000e-03 1812 | 9.4299316406250000e-03 1813 | 9.8571777343750000e-03 1814 | 9.9182128906250000e-03 1815 | 1.2115478515625000e-02 1816 | 1.4923095703125000e-02 1817 | 2.1759033203125000e-02 1818 | 2.8930664062500000e-02 1819 | 3.3508300781250000e-02 1820 | 3.7780761718750000e-02 1821 | 4.3029785156250000e-02 1822 | 5.4718017578125000e-02 1823 | 6.4422607421875000e-02 1824 | 6.9915771484375000e-02 1825 | 7.2387695312500000e-02 1826 | 7.0434570312500000e-02 1827 | 6.7016601562500000e-02 1828 | 6.0638427734375000e-02 1829 | 5.5725097656250000e-02 1830 | 5.5969238281250000e-02 1831 | 5.9600830078125000e-02 1832 | 6.5551757812500000e-02 1833 | 6.8328857421875000e-02 1834 | 6.8450927734375000e-02 1835 | 6.5124511718750000e-02 1836 | 5.9722900390625000e-02 1837 | 5.7006835937500000e-02 1838 | 5.6091308593750000e-02 1839 | 5.6121826171875000e-02 1840 | 5.3466796875000000e-02 1841 | 4.7485351562500000e-02 1842 | 4.2205810546875000e-02 1843 | 3.7139892578125000e-02 1844 | 3.3843994140625000e-02 1845 | 3.1951904296875000e-02 1846 | 3.1341552734375000e-02 1847 | 3.3142089843750000e-02 1848 | 3.1738281250000000e-02 1849 | 2.5970458984375000e-02 1850 | 1.6021728515625000e-02 1851 | 4.7302246093750000e-03 1852 | -3.8757324218750000e-03 1853 | -1.1871337890625000e-02 1854 | -1.8371582031250000e-02 1855 | -2.5146484375000000e-02 1856 | -3.0700683593750000e-02 1857 | -3.5369873046875000e-02 1858 | -3.9978027343750000e-02 1859 | -4.3060302734375000e-02 1860 | -4.5715332031250000e-02 1861 | -4.7393798828125000e-02 1862 | -5.0445556640625000e-02 1863 | -5.4901123046875000e-02 1864 | -6.0119628906250000e-02 1865 | -6.6711425781250000e-02 1866 | -7.3150634765625000e-02 1867 | -7.9467773437500000e-02 1868 | -8.4106445312500000e-02 1869 | -8.6273193359375000e-02 1870 | -8.8439941406250000e-02 1871 | -9.0637207031250000e-02 1872 | -9.4268798828125000e-02 1873 | -9.8907470703125000e-02 1874 | -1.0226440429687500e-01 1875 | -1.0693359375000000e-01 1876 | -1.0983276367187500e-01 1877 | -1.1288452148437500e-01 1878 | -1.1682128906250000e-01 1879 | -1.1907958984375000e-01 1880 | -1.2338256835937500e-01 1881 | -1.2948608398437500e-01 1882 | -1.3568115234375000e-01 1883 | -1.4028930664062500e-01 1884 | -1.4315795898437500e-01 1885 | -1.4248657226562500e-01 1886 | -1.4202880859375000e-01 1887 | -1.4398193359375000e-01 1888 | -1.4312744140625000e-01 1889 | -1.3818359375000000e-01 1890 | -1.2100219726562500e-01 1891 | -1.0128784179687500e-01 1892 | -8.0963134765625000e-02 1893 | -6.9824218750000000e-02 1894 | -6.1981201171875000e-02 1895 | -5.4901123046875000e-02 1896 | -5.2062988281250000e-02 1897 | -4.5654296875000000e-02 1898 | -3.6529541015625000e-02 1899 | -2.2552490234375000e-02 1900 | -1.0375976562500000e-03 1901 | 1.3580322265625000e-02 1902 | 2.0690917968750000e-02 1903 | 2.7893066406250000e-02 1904 | 3.8757324218750000e-02 1905 | 5.7800292968750000e-02 1906 | 8.2977294921875000e-02 1907 | 1.0635375976562500e-01 1908 | 1.2426757812500000e-01 1909 | 1.3684082031250000e-01 1910 | 1.4074707031250000e-01 1911 | 1.3732910156250000e-01 1912 | 1.3870239257812500e-01 1913 | 1.3940429687500000e-01 1914 | 1.4401245117187500e-01 1915 | 1.5106201171875000e-01 1916 | 1.5057373046875000e-01 1917 | 1.4929199218750000e-01 1918 | 1.4453125000000000e-01 1919 | 1.3534545898437500e-01 1920 | 1.3232421875000000e-01 1921 | 1.3259887695312500e-01 1922 | 1.3641357421875000e-01 1923 | 1.3659667968750000e-01 1924 | 1.2973022460937500e-01 1925 | 1.1837768554687500e-01 1926 | 1.0305786132812500e-01 1927 | 8.9050292968750000e-02 1928 | 7.2082519531250000e-02 1929 | 5.6274414062500000e-02 1930 | 4.3151855468750000e-02 1931 | 2.8228759765625000e-02 1932 | 1.5960693359375000e-02 1933 | 5.1879882812500000e-04 1934 | -1.4495849609375000e-02 1935 | -2.4505615234375000e-02 1936 | -3.1280517578125000e-02 1937 | -3.1860351562500000e-02 1938 | -3.0456542968750000e-02 1939 | -2.8503417968750000e-02 1940 | -2.8137207031250000e-02 1941 | -3.1005859375000000e-02 1942 | -3.2897949218750000e-02 1943 | -3.5003662109375000e-02 1944 | -3.5797119140625000e-02 1945 | -3.6682128906250000e-02 1946 | -3.9154052734375000e-02 1947 | -3.9306640625000000e-02 1948 | -4.0649414062500000e-02 1949 | -4.4647216796875000e-02 1950 | -5.0170898437500000e-02 1951 | -5.5847167968750000e-02 1952 | -5.4443359375000000e-02 1953 | -4.9652099609375000e-02 1954 | -4.1961669921875000e-02 1955 | -3.4088134765625000e-02 1956 | -2.7069091796875000e-02 1957 | -1.9042968750000000e-02 1958 | -1.3275146484375000e-02 1959 | -9.1857910156250000e-03 1960 | -3.1433105468750000e-03 1961 | 2.8076171875000000e-03 1962 | 1.2359619140625000e-02 1963 | 2.1301269531250000e-02 1964 | 2.7526855468750000e-02 1965 | 3.2379150390625000e-02 1966 | 3.4484863281250000e-02 1967 | 3.9154052734375000e-02 1968 | 4.7973632812500000e-02 1969 | 5.8715820312500000e-02 1970 | 6.9885253906250000e-02 1971 | 7.6690673828125000e-02 1972 | 8.0322265625000000e-02 1973 | 8.0474853515625000e-02 1974 | 7.8002929687500000e-02 1975 | 7.3730468750000000e-02 1976 | 7.1411132812500000e-02 1977 | 7.2814941406250000e-02 1978 | 7.4859619140625000e-02 1979 | 7.6782226562500000e-02 1980 | 7.5408935546875000e-02 1981 | 7.0983886718750000e-02 1982 | 6.9000244140625000e-02 1983 | 6.8664550781250000e-02 1984 | 6.8634033203125000e-02 1985 | 6.9213867187500000e-02 1986 | 6.5521240234375000e-02 1987 | 6.1340332031250000e-02 1988 | 5.5633544921875000e-02 1989 | 4.8278808593750000e-02 1990 | 4.2022705078125000e-02 1991 | 3.7445068359375000e-02 1992 | 3.6102294921875000e-02 1993 | 3.4759521484375000e-02 1994 | 3.3508300781250000e-02 1995 | 2.8594970703125000e-02 1996 | 2.0751953125000000e-02 1997 | 1.2847900390625000e-02 1998 | 4.4555664062500000e-03 1999 | -2.6855468750000000e-03 2000 | -8.7890625000000000e-03 2001 | -1.6326904296875000e-02 2002 | -2.3559570312500000e-02 2003 | -3.2318115234375000e-02 2004 | -4.0832519531250000e-02 2005 | -4.8278808593750000e-02 2006 | -5.3924560546875000e-02 2007 | -5.7891845703125000e-02 2008 | -5.9814453125000000e-02 2009 | -6.1950683593750000e-02 2010 | -6.5460205078125000e-02 2011 | -7.1533203125000000e-02 2012 | -7.7911376953125000e-02 2013 | -8.5540771484375000e-02 2014 | -9.1094970703125000e-02 2015 | -9.5062255859375000e-02 2016 | -9.8999023437500000e-02 2017 | -1.0308837890625000e-01 2018 | -1.0757446289062500e-01 2019 | -1.1114501953125000e-01 2020 | -1.1358642578125000e-01 2021 | -1.1718750000000000e-01 2022 | -1.2048339843750000e-01 2023 | -1.2332153320312500e-01 2024 | -1.2597656250000000e-01 2025 | -1.2905883789062500e-01 2026 | -1.3302612304687500e-01 2027 | -1.3861083984375000e-01 2028 | -1.4315795898437500e-01 2029 | -1.4785766601562500e-01 2030 | -1.4968872070312500e-01 2031 | -1.5396118164062500e-01 2032 | -1.5390014648437500e-01 2033 | -1.5075683593750000e-01 2034 | -1.3485717773437500e-01 2035 | -1.1352539062500000e-01 2036 | -9.2071533203125000e-02 2037 | -7.7178955078125000e-02 2038 | -7.1258544921875000e-02 2039 | -6.3018798828125000e-02 2040 | -5.6671142578125000e-02 2041 | -4.9804687500000000e-02 2042 | -3.7536621093750000e-02 2043 | -2.4627685546875000e-02 2044 | -5.0659179687500000e-03 2045 | 1.0528564453125000e-02 2046 | 1.4404296875000000e-02 2047 | 1.6540527343750000e-02 2048 | 2.4139404296875000e-02 2049 | --------------------------------------------------------------------------------