File Coverage

blib/lib/Math/DWT/Wavelet/DiscreteMeyer.pm
Criterion Covered Total %
statement 6 49 12.2
branch 0 12 0.0
condition 0 3 0.0
subroutine 2 9 22.2
pod 7 7 100.0
total 15 80 18.7


line stmt bran cond sub pod time code
1             package Math::DWT::Wavelet::DiscreteMeyer;
2 1     1   727 use strict;
  1         1  
  1         23  
3 1     1   3 use warnings;
  1         1  
  1         726  
4              
5              
6             =head1 NAME
7              
8             Math::DWT::Wavelet::DiscreteMeyer - FIR lo- & hi-pass filter coefficients for the DiscreteMeyer wavelet.
9              
10             =head1 VERSION
11              
12             Version 0.021
13              
14             =cut
15              
16             our $VERSION = '0.021';
17              
18             =head1 SYNOPSIS
19              
20             This module provides the lo- and hi-pass decomposition and reconstruction filter coefficients for the DiscreteMeyer wavelet. It is meant to be used with other Math::DWT modules:
21              
22             use Math::DWT;
23             use Math::DWT::UDWT;
24              
25             my $dwt = Math::DWT->new('DiscreteMeyer');
26             my $udwt = Math::DWT::UDWT->new('DiscreteMeyer');
27              
28              
29             =cut
30              
31             =head1 SUBROUTINES/METHODS
32              
33             =head2 new(VAR)
34              
35             Takes a single argument, var, which determines the particular filter set which the object will provide. You can get a list of available filter sets with the vars() method.
36              
37             my $discretemeyer62 = Math::DWT::Wavelet::DiscreteMeyer->new(62);
38              
39             This method returns a Math::DWT::Wavelet::DiscreteMeyer object;
40              
41             =head2 vars()
42              
43             This method returns a list of possible choices for VAR when creating a new object, e.g.:
44              
45             my @v = Math::DWT::Wavelet::DiscreteMeyer->vars();
46             print scalar(@v); # 2
47              
48              
49             =head2 filters()
50              
51             Depending on the context in which it is called, returns an array or an arrayref containing (lo_d, hi_d, lo_r, hi_r) - the set of filters which are defined with the instantiated object.
52              
53              
54             =head2 lo_d()
55              
56             =head2 hi_d()
57              
58             =head2 lo_r()
59              
60             =head2 hi_r()
61              
62             Returns the requested set of filter coefficients as either an array or arrayref, depending on calling context.
63              
64             =head1 SEE ALSO
65              
66             Math::DWT(3pm), Math::DWT::UDWT(3pm), Math::DWT::Wavelet::Haar(3pm), Math::DWT::Wavelet::Coiflet(3pm), Math::DWT::Wavelet::Symlet(3pm), Math::DWT::Wavelet::Biorthogonal(3pm), Math::DWT::Wavelet::ReverseBiorthogonal(3pm), Math::DWT::Wavelet::Daubechies(3pm), perl(1)
67              
68              
69             =head1 AUTHOR
70              
71              
72             Mike Kroh, C<< >>
73              
74             =head1 BUGS
75              
76              
77             Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
78              
79              
80              
81             =head1 ACKNOWLEDGEMENTS
82              
83             These wavelet filter coefficients were scraped from this site: L.
84              
85             =head1 LICENSE AND COPYRIGHT
86              
87              
88             Copyright 2016 Mike Kroh.
89              
90             This program is free software; you can redistribute it and/or modify it
91             under the terms of the the Artistic License (2.0). You may obtain a
92             copy of the full license at:
93              
94             L
95              
96             Any use, modification, and distribution of the Standard or Modified
97             Versions is governed by this Artistic License. By using, modifying or
98             distributing the Package, you accept this license. Do not use, modify,
99             or distribute the Package, if you do not accept this license.
100              
101             If your Modified Version has been derived from a Modified Version made
102             by someone other than you, you are nevertheless required to ensure that
103             your Modified Version complies with the requirements of this license.
104              
105             This license does not grant you the right to use any trademark, service
106             mark, tradename, or logo of the Copyright Holder.
107              
108             This license includes the non-exclusive, worldwide, free-of-charge
109             patent license to make, have made, use, offer to sell, sell, import and
110             otherwise transfer the Package with respect to any patent claims
111             licensable by the Copyright Holder that are necessarily infringed by the
112             Package. If you institute patent litigation (including a cross-claim or
113             counterclaim) against any party alleging that the Package constitutes
114             direct or contributory patent infringement, then this Artistic License
115             to you shall terminate on the date that such litigation is filed.
116              
117             Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER
118             AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
119             THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
120             PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY
121             YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR
122             CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR
123             CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE,
124             EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
125              
126              
127             =cut
128              
129              
130              
131              
132             my @vars=qw/62 102/;
133              
134             my %lo_d; my %hi_d; my %lo_r; my %hi_r;
135              
136              
137             $lo_d{62}=[qw/0.0 -1.009999956941423e-12 8.519459636796214e-09 -1.111944952595278e-08 -1.0798819539621958e-08 6.066975741351135e-08 -1.0866516536735883e-07 8.200680650386481e-08 1.1783004497663934e-07 -5.506340565252278e-07 1.1307947017916706e-06 -1.489549216497156e-06 7.367572885903746e-07 3.20544191334478e-06 -1.6312699734552807e-05 6.554305930575149e-05 -0.0006011502343516092 -0.002704672124643725 0.002202534100911002 0.006045814097323304 -0.006387718318497156 -0.011061496392513451 0.015270015130934803 0.017423434103729693 -0.03213079399021176 -0.024348745906078023 0.0637390243228016 0.030655091960824263 -0.13284520043622938 -0.035087555656258346 0.44459300275757724 0.7445855923188063 0.44459300275757724 -0.035087555656258346 -0.13284520043622938 0.030655091960824263 0.0637390243228016 -0.024348745906078023 -0.03213079399021176 0.017423434103729693 0.015270015130934803 -0.011061496392513451 -0.006387718318497156 0.006045814097323304 0.002202534100911002 -0.002704672124643725 -0.0006011502343516092 6.554305930575149e-05 -1.6312699734552807e-05 3.20544191334478e-06 7.367572885903746e-07 -1.489549216497156e-06 1.1307947017916706e-06 -5.506340565252278e-07 1.1783004497663934e-07 8.200680650386481e-08 -1.0866516536735883e-07 6.066975741351135e-08 -1.0798819539621958e-08 -1.111944952595278e-08 8.519459636796214e-09 -1.009999956941423e-12/];
138             $lo_r{62}=[qw/-1.009999956941423e-12 8.519459636796214e-09 -1.111944952595278e-08 -1.0798819539621958e-08 6.066975741351135e-08 -1.0866516536735883e-07 8.200680650386481e-08 1.1783004497663934e-07 -5.506340565252278e-07 1.1307947017916706e-06 -1.489549216497156e-06 7.367572885903746e-07 3.20544191334478e-06 -1.6312699734552807e-05 6.554305930575149e-05 -0.0006011502343516092 -0.002704672124643725 0.002202534100911002 0.006045814097323304 -0.006387718318497156 -0.011061496392513451 0.015270015130934803 0.017423434103729693 -0.03213079399021176 -0.024348745906078023 0.0637390243228016 0.030655091960824263 -0.13284520043622938 -0.035087555656258346 0.44459300275757724 0.7445855923188063 0.44459300275757724 -0.035087555656258346 -0.13284520043622938 0.030655091960824263 0.0637390243228016 -0.024348745906078023 -0.03213079399021176 0.017423434103729693 0.015270015130934803 -0.011061496392513451 -0.006387718318497156 0.006045814097323304 0.002202534100911002 -0.002704672124643725 -0.0006011502343516092 6.554305930575149e-05 -1.6312699734552807e-05 3.20544191334478e-06 7.367572885903746e-07 -1.489549216497156e-06 1.1307947017916706e-06 -5.506340565252278e-07 1.1783004497663934e-07 8.200680650386481e-08 -1.0866516536735883e-07 6.066975741351135e-08 -1.0798819539621958e-08 -1.111944952595278e-08 8.519459636796214e-09 -1.009999956941423e-12 0.0/];
139             $hi_d{62}=[qw/1.009999956941423e-12 8.519459636796214e-09 1.111944952595278e-08 -1.0798819539621958e-08 -6.066975741351135e-08 -1.0866516536735883e-07 -8.200680650386481e-08 1.1783004497663934e-07 5.506340565252278e-07 1.1307947017916706e-06 1.489549216497156e-06 7.367572885903746e-07 -3.20544191334478e-06 -1.6312699734552807e-05 -6.554305930575149e-05 -0.0006011502343516092 0.002704672124643725 0.002202534100911002 -0.006045814097323304 -0.006387718318497156 0.011061496392513451 0.015270015130934803 -0.017423434103729693 -0.03213079399021176 0.024348745906078023 0.0637390243228016 -0.030655091960824263 -0.13284520043622938 0.035087555656258346 0.44459300275757724 -0.7445855923188063 0.44459300275757724 0.035087555656258346 -0.13284520043622938 -0.030655091960824263 0.0637390243228016 0.024348745906078023 -0.03213079399021176 -0.017423434103729693 0.015270015130934803 0.011061496392513451 -0.006387718318497156 -0.006045814097323304 0.002202534100911002 0.002704672124643725 -0.0006011502343516092 -6.554305930575149e-05 -1.6312699734552807e-05 -3.20544191334478e-06 7.367572885903746e-07 1.489549216497156e-06 1.1307947017916706e-06 5.506340565252278e-07 1.1783004497663934e-07 -8.200680650386481e-08 -1.0866516536735883e-07 -6.066975741351135e-08 -1.0798819539621958e-08 1.111944952595278e-08 8.519459636796214e-09 1.009999956941423e-12 0.0/];
140             $hi_r{62}=[qw/0.0 1.009999956941423e-12 8.519459636796214e-09 1.111944952595278e-08 -1.0798819539621958e-08 -6.066975741351135e-08 -1.0866516536735883e-07 -8.200680650386481e-08 1.1783004497663934e-07 5.506340565252278e-07 1.1307947017916706e-06 1.489549216497156e-06 7.367572885903746e-07 -3.20544191334478e-06 -1.6312699734552807e-05 -6.554305930575149e-05 -0.0006011502343516092 0.002704672124643725 0.002202534100911002 -0.006045814097323304 -0.006387718318497156 0.011061496392513451 0.015270015130934803 -0.017423434103729693 -0.03213079399021176 0.024348745906078023 0.0637390243228016 -0.030655091960824263 -0.13284520043622938 0.035087555656258346 0.44459300275757724 -0.7445855923188063 0.44459300275757724 0.035087555656258346 -0.13284520043622938 -0.030655091960824263 0.0637390243228016 0.024348745906078023 -0.03213079399021176 -0.017423434103729693 0.015270015130934803 0.011061496392513451 -0.006387718318497156 -0.006045814097323304 0.002202534100911002 0.002704672124643725 -0.0006011502343516092 -6.554305930575149e-05 -1.6312699734552807e-05 -3.20544191334478e-06 7.367572885903746e-07 1.489549216497156e-06 1.1307947017916706e-06 5.506340565252278e-07 1.1783004497663934e-07 -8.200680650386481e-08 -1.0866516536735883e-07 -6.066975741351135e-08 -1.0798819539621958e-08 1.111944952595278e-08 8.519459636796214e-09 1.009999956941423e-12/];
141             ;
142              
143             $lo_d{102}=[qw/0
144             -0.000001509740857423615368067119392459
145             0.0000012787667568234988185092932191922
146             0.00000044958556044886894257115545966985
147             -0.0000020965688704949424373349693012658
148             0.0000017232235544806816379817060794211
149             0.00000069808227631073860176537599145363
150             -0.0000028794080326548469234463571014837
151             0.0000023831483945189297583150400683394
152             0.0000009825156022293385846413460785187
153             -0.000004217789186342479173499799699476
154             0.0000033535015380894437405246560901517
155             0.0000016747218588365072067676011732806
156             -0.0000060345013418603467021238823120299
157             0.0000048375558015595789058851776409664
158             0.0000024022880228828376897201417328187
159             -0.0000095563098456654446672233274573394
160             0.0000072165276947634148549219623713924
161             0.0000048490782997767487258228454038989
162             -0.000014206928580564191070038058961611
163             0.000010503914270783866119550291340357
164             0.0000061875802981115544029451329410829
165             -0.00002443800584565461033272927571236
166             0.000020106387690909483331345650181099
167             0.000014993523600015133676109473082061
168             -0.000046428764283651689564677567112483
169             0.000032341311913679686516464445444896
170             0.000037409665760249840606426613431879
171             -0.00010277900508488476988971926928684
172             0.000024461956844602301730561347281601
173             0.00014971351538925736215576711707342
174             -0.000075592870255167127495517231938749
175             -0.00013991314821741802128934883953093
176             -0.000093512893880113803378104075925137
177             0.00016118981972534630843149616730159
178             0.00085950021376237750302812257174878
179             -0.00057818579527344111674419524504742
180             -0.0027021687339390796679661210788481
181             0.0021947753364594444445978549396159
182             0.00604551059645607770376418699243
183             -0.0063867286185481262836272087213274
184             -0.011044641900538889126015540398384
185             0.015250913158585904447206438305784
186             0.017403888210177406031808899911084
187             -0.032094063354505306118191754194413
188             -0.024321783959518776530028816296181
189             0.063667300884468314148278977882001
190             0.030621243943424570482791935432942
191             -0.13269661535886173586717973194027
192             -0.035048287390595032897433469543103
193             0.44409503076652878661434442619793
194             0.74375100490378698303572946315398
195             0.44409503076652878661434442619793
196             -0.035048287390595032897433469543103
197             -0.13269661535886173586717973194027
198             0.030621243943424570482791935432942
199             0.063667300884468314148278977882001
200             -0.024321783959518776530028816296181
201             -0.032094063354505306118191754194413
202             0.017403888210177406031808899911084
203             0.015250913158585904447206438305784
204             -0.011044641900538889126015540398384
205             -0.0063867286185481262836272087213274
206             0.00604551059645607770376418699243
207             0.0021947753364594444445978549396159
208             -0.0027021687339390796679661210788481
209             -0.00057818579527344111674419524504742
210             0.00085950021376237750302812257174878
211             0.00016118981972534630843149616730159
212             -0.000093512893880113803378104075925137
213             -0.00013991314821741802128934883953093
214             -0.000075592870255167127495517231938749
215             0.00014971351538925736215576711707342
216             0.000024461956844602301730561347281601
217             -0.00010277900508488476988971926928684
218             0.000037409665760249840606426613431879
219             0.000032341311913679686516464445444896
220             -0.000046428764283651689564677567112483
221             0.000014993523600015133676109473082061
222             0.000020106387690909483331345650181099
223             -0.00002443800584565461033272927571236
224             0.0000061875802981115544029451329410829
225             0.000010503914270783866119550291340357
226             -0.000014206928580564191070038058961611
227             0.0000048490782997767487258228454038989
228             0.0000072165276947634148549219623713924
229             -0.0000095563098456654446672233274573394
230             0.0000024022880228828376897201417328187
231             0.0000048375558015595789058851776409664
232             -0.0000060345013418603467021238823120299
233             0.0000016747218588365072067676011732806
234             0.0000033535015380894437405246560901517
235             -0.000004217789186342479173499799699476
236             0.0000009825156022293385846413460785187
237             0.0000023831483945189297583150400683394
238             -0.0000028794080326548469234463571014837
239             0.00000069808227631073860176537599145363
240             0.0000017232235544806816379817060794211
241             -0.0000020965688704949424373349693012658
242             0.00000044958556044886894257115545966985
243             0.0000012787667568234988185092932191922
244             -0.000001509740857423615368067119392459/];
245              
246             $hi_d{102}=[qw/0.000001509740857423615368067119392459
247             0.0000012787667568234988185092932191922
248             -0.00000044958556044886894257115545966985
249             -0.0000020965688704949424373349693012658
250             -0.0000017232235544806816379817060794211
251             0.00000069808227631073860176537599145363
252             0.0000028794080326548469234463571014837
253             0.0000023831483945189297583150400683394
254             -0.0000009825156022293385846413460785187
255             -0.000004217789186342479173499799699476
256             -0.0000033535015380894437405246560901517
257             0.0000016747218588365072067676011732806
258             0.0000060345013418603467021238823120299
259             0.0000048375558015595789058851776409664
260             -0.0000024022880228828376897201417328187
261             -0.0000095563098456654446672233274573394
262             -0.0000072165276947634148549219623713924
263             0.0000048490782997767487258228454038989
264             0.000014206928580564191070038058961611
265             0.000010503914270783866119550291340357
266             -0.0000061875802981115544029451329410829
267             -0.00002443800584565461033272927571236
268             -0.000020106387690909483331345650181099
269             0.000014993523600015133676109473082061
270             0.000046428764283651689564677567112483
271             0.000032341311913679686516464445444896
272             -0.000037409665760249840606426613431879
273             -0.00010277900508488476988971926928684
274             -0.000024461956844602301730561347281601
275             0.00014971351538925736215576711707342
276             0.000075592870255167127495517231938749
277             -0.00013991314821741802128934883953093
278             0.000093512893880113803378104075925137
279             0.00016118981972534630843149616730159
280             -0.00085950021376237750302812257174878
281             -0.00057818579527344111674419524504742
282             0.0027021687339390796679661210788481
283             0.0021947753364594444445978549396159
284             -0.00604551059645607770376418699243
285             -0.0063867286185481262836272087213274
286             0.011044641900538889126015540398384
287             0.015250913158585904447206438305784
288             -0.017403888210177406031808899911084
289             -0.032094063354505306118191754194413
290             0.024321783959518776530028816296181
291             0.063667300884468314148278977882001
292             -0.030621243943424570482791935432942
293             -0.13269661535886173586717973194027
294             0.035048287390595032897433469543103
295             0.44409503076652878661434442619793
296             -0.74375100490378698303572946315398
297             0.44409503076652878661434442619793
298             0.035048287390595032897433469543103
299             -0.13269661535886173586717973194027
300             -0.030621243943424570482791935432942
301             0.063667300884468314148278977882001
302             0.024321783959518776530028816296181
303             -0.032094063354505306118191754194413
304             -0.017403888210177406031808899911084
305             0.015250913158585904447206438305784
306             0.011044641900538889126015540398384
307             -0.0063867286185481262836272087213274
308             -0.00604551059645607770376418699243
309             0.0021947753364594444445978549396159
310             0.0027021687339390796679661210788481
311             -0.00057818579527344111674419524504742
312             -0.00085950021376237750302812257174878
313             0.00016118981972534630843149616730159
314             0.000093512893880113803378104075925137
315             -0.00013991314821741802128934883953093
316             0.000075592870255167127495517231938749
317             0.00014971351538925736215576711707342
318             -0.000024461956844602301730561347281601
319             -0.00010277900508488476988971926928684
320             -0.000037409665760249840606426613431879
321             0.000032341311913679686516464445444896
322             0.000046428764283651689564677567112483
323             0.000014993523600015133676109473082061
324             -0.000020106387690909483331345650181099
325             -0.00002443800584565461033272927571236
326             -0.0000061875802981115544029451329410829
327             0.000010503914270783866119550291340357
328             0.000014206928580564191070038058961611
329             0.0000048490782997767487258228454038989
330             -0.0000072165276947634148549219623713924
331             -0.0000095563098456654446672233274573394
332             -0.0000024022880228828376897201417328187
333             0.0000048375558015595789058851776409664
334             0.0000060345013418603467021238823120299
335             0.0000016747218588365072067676011732806
336             -0.0000033535015380894437405246560901517
337             -0.000004217789186342479173499799699476
338             -0.0000009825156022293385846413460785187
339             0.0000023831483945189297583150400683394
340             0.0000028794080326548469234463571014837
341             0.00000069808227631073860176537599145363
342             -0.0000017232235544806816379817060794211
343             -0.0000020965688704949424373349693012658
344             -0.00000044958556044886894257115545966985
345             0.0000012787667568234988185092932191922
346             0.000001509740857423615368067119392459
347             0/];
348              
349             $lo_r{102}=[qw/-0.000001509740857423615368067119392459
350             0.0000012787667568234988185092932191922
351             0.00000044958556044886894257115545966985
352             -0.0000020965688704949424373349693012658
353             0.0000017232235544806816379817060794211
354             0.00000069808227631073860176537599145363
355             -0.0000028794080326548469234463571014837
356             0.0000023831483945189297583150400683394
357             0.0000009825156022293385846413460785187
358             -0.000004217789186342479173499799699476
359             0.0000033535015380894437405246560901517
360             0.0000016747218588365072067676011732806
361             -0.0000060345013418603467021238823120299
362             0.0000048375558015595789058851776409664
363             0.0000024022880228828376897201417328187
364             -0.0000095563098456654446672233274573394
365             0.0000072165276947634148549219623713924
366             0.0000048490782997767487258228454038989
367             -0.000014206928580564191070038058961611
368             0.000010503914270783866119550291340357
369             0.0000061875802981115544029451329410829
370             -0.00002443800584565461033272927571236
371             0.000020106387690909483331345650181099
372             0.000014993523600015133676109473082061
373             -0.000046428764283651689564677567112483
374             0.000032341311913679686516464445444896
375             0.000037409665760249840606426613431879
376             -0.00010277900508488476988971926928684
377             0.000024461956844602301730561347281601
378             0.00014971351538925736215576711707342
379             -0.000075592870255167127495517231938749
380             -0.00013991314821741802128934883953093
381             -0.000093512893880113803378104075925137
382             0.00016118981972534630843149616730159
383             0.00085950021376237750302812257174878
384             -0.00057818579527344111674419524504742
385             -0.0027021687339390796679661210788481
386             0.0021947753364594444445978549396159
387             0.00604551059645607770376418699243
388             -0.0063867286185481262836272087213274
389             -0.011044641900538889126015540398384
390             0.015250913158585904447206438305784
391             0.017403888210177406031808899911084
392             -0.032094063354505306118191754194413
393             -0.024321783959518776530028816296181
394             0.063667300884468314148278977882001
395             0.030621243943424570482791935432942
396             -0.13269661535886173586717973194027
397             -0.035048287390595032897433469543103
398             0.44409503076652878661434442619793
399             0.74375100490378698303572946315398
400             0.44409503076652878661434442619793
401             -0.035048287390595032897433469543103
402             -0.13269661535886173586717973194027
403             0.030621243943424570482791935432942
404             0.063667300884468314148278977882001
405             -0.024321783959518776530028816296181
406             -0.032094063354505306118191754194413
407             0.017403888210177406031808899911084
408             0.015250913158585904447206438305784
409             -0.011044641900538889126015540398384
410             -0.0063867286185481262836272087213274
411             0.00604551059645607770376418699243
412             0.0021947753364594444445978549396159
413             -0.0027021687339390796679661210788481
414             -0.00057818579527344111674419524504742
415             0.00085950021376237750302812257174878
416             0.00016118981972534630843149616730159
417             -0.000093512893880113803378104075925137
418             -0.00013991314821741802128934883953093
419             -0.000075592870255167127495517231938749
420             0.00014971351538925736215576711707342
421             0.000024461956844602301730561347281601
422             -0.00010277900508488476988971926928684
423             0.000037409665760249840606426613431879
424             0.000032341311913679686516464445444896
425             -0.000046428764283651689564677567112483
426             0.000014993523600015133676109473082061
427             0.000020106387690909483331345650181099
428             -0.00002443800584565461033272927571236
429             0.0000061875802981115544029451329410829
430             0.000010503914270783866119550291340357
431             -0.000014206928580564191070038058961611
432             0.0000048490782997767487258228454038989
433             0.0000072165276947634148549219623713924
434             -0.0000095563098456654446672233274573394
435             0.0000024022880228828376897201417328187
436             0.0000048375558015595789058851776409664
437             -0.0000060345013418603467021238823120299
438             0.0000016747218588365072067676011732806
439             0.0000033535015380894437405246560901517
440             -0.000004217789186342479173499799699476
441             0.0000009825156022293385846413460785187
442             0.0000023831483945189297583150400683394
443             -0.0000028794080326548469234463571014837
444             0.00000069808227631073860176537599145363
445             0.0000017232235544806816379817060794211
446             -0.0000020965688704949424373349693012658
447             0.00000044958556044886894257115545966985
448             0.0000012787667568234988185092932191922
449             -0.000001509740857423615368067119392459
450             0/];
451              
452             $hi_r{102}=[qw/0
453             0.000001509740857423615368067119392459
454             0.0000012787667568234988185092932191922
455             -0.00000044958556044886894257115545966985
456             -0.0000020965688704949424373349693012658
457             -0.0000017232235544806816379817060794211
458             0.00000069808227631073860176537599145363
459             0.0000028794080326548469234463571014837
460             0.0000023831483945189297583150400683394
461             -0.0000009825156022293385846413460785187
462             -0.000004217789186342479173499799699476
463             -0.0000033535015380894437405246560901517
464             0.0000016747218588365072067676011732806
465             0.0000060345013418603467021238823120299
466             0.0000048375558015595789058851776409664
467             -0.0000024022880228828376897201417328187
468             -0.0000095563098456654446672233274573394
469             -0.0000072165276947634148549219623713924
470             0.0000048490782997767487258228454038989
471             0.000014206928580564191070038058961611
472             0.000010503914270783866119550291340357
473             -0.0000061875802981115544029451329410829
474             -0.00002443800584565461033272927571236
475             -0.000020106387690909483331345650181099
476             0.000014993523600015133676109473082061
477             0.000046428764283651689564677567112483
478             0.000032341311913679686516464445444896
479             -0.000037409665760249840606426613431879
480             -0.00010277900508488476988971926928684
481             -0.000024461956844602301730561347281601
482             0.00014971351538925736215576711707342
483             0.000075592870255167127495517231938749
484             -0.00013991314821741802128934883953093
485             0.000093512893880113803378104075925137
486             0.00016118981972534630843149616730159
487             -0.00085950021376237750302812257174878
488             -0.00057818579527344111674419524504742
489             0.0027021687339390796679661210788481
490             0.0021947753364594444445978549396159
491             -0.00604551059645607770376418699243
492             -0.0063867286185481262836272087213274
493             0.011044641900538889126015540398384
494             0.015250913158585904447206438305784
495             -0.017403888210177406031808899911084
496             -0.032094063354505306118191754194413
497             0.024321783959518776530028816296181
498             0.063667300884468314148278977882001
499             -0.030621243943424570482791935432942
500             -0.13269661535886173586717973194027
501             0.035048287390595032897433469543103
502             0.44409503076652878661434442619793
503             -0.74375100490378698303572946315398
504             0.44409503076652878661434442619793
505             0.035048287390595032897433469543103
506             -0.13269661535886173586717973194027
507             -0.030621243943424570482791935432942
508             0.063667300884468314148278977882001
509             0.024321783959518776530028816296181
510             -0.032094063354505306118191754194413
511             -0.017403888210177406031808899911084
512             0.015250913158585904447206438305784
513             0.011044641900538889126015540398384
514             -0.0063867286185481262836272087213274
515             -0.00604551059645607770376418699243
516             0.0021947753364594444445978549396159
517             0.0027021687339390796679661210788481
518             -0.00057818579527344111674419524504742
519             -0.00085950021376237750302812257174878
520             0.00016118981972534630843149616730159
521             0.000093512893880113803378104075925137
522             -0.00013991314821741802128934883953093
523             0.000075592870255167127495517231938749
524             0.00014971351538925736215576711707342
525             -0.000024461956844602301730561347281601
526             -0.00010277900508488476988971926928684
527             -0.000037409665760249840606426613431879
528             0.000032341311913679686516464445444896
529             0.000046428764283651689564677567112483
530             0.000014993523600015133676109473082061
531             -0.000020106387690909483331345650181099
532             -0.00002443800584565461033272927571236
533             -0.0000061875802981115544029451329410829
534             0.000010503914270783866119550291340357
535             0.000014206928580564191070038058961611
536             0.0000048490782997767487258228454038989
537             -0.0000072165276947634148549219623713924
538             -0.0000095563098456654446672233274573394
539             -0.0000024022880228828376897201417328187
540             0.0000048375558015595789058851776409664
541             0.0000060345013418603467021238823120299
542             0.0000016747218588365072067676011732806
543             -0.0000033535015380894437405246560901517
544             -0.000004217789186342479173499799699476
545             -0.0000009825156022293385846413460785187
546             0.0000023831483945189297583150400683394
547             0.0000028794080326548469234463571014837
548             0.00000069808227631073860176537599145363
549             -0.0000017232235544806816379817060794211
550             -0.0000020965688704949424373349693012658
551             -0.00000044958556044886894257115545966985
552             0.0000012787667568234988185092932191922
553             0.000001509740857423615368067119392459/];
554              
555             sub new {
556 0     0 1   my $class=shift;
557 0           my $self={};
558 0   0       my $var=shift || $vars[0];
559              
560             $self={lo_d=>$lo_d{$var},
561             hi_d=>$hi_d{$var},
562             lo_r=>$lo_r{$var},
563 0           hi_r=>$hi_r{$var}
564             };
565            
566 0           bless $self,$class;
567 0           return $self;
568             };
569              
570             sub vars {
571 0     0 1   my $self=shift;
572 0 0         if (wantarray()) {
573 0           return (@vars);
574             };
575 0           return \@vars;
576             };
577              
578             sub filters {
579 0     0 1   my $self=shift;
580 0           my $lo_d=$self->lo_d;
581 0           my $hi_d=$self->hi_d;
582 0           my $lo_r=$self->lo_r;
583 0           my $hi_r=$self->hi_r;
584 0           my @a=( $lo_d,$hi_d,$lo_r,$hi_r);
585 0 0         if (wantarray()) {
586 0           return (@a);
587             };
588 0           return \@a;
589             };
590              
591             sub lo_d {
592 0     0 1   my $self=shift;
593 0           my $a=$self->{lo_d};
594 0 0         if (wantarray()) {
595 0           return (@{$a});
  0            
596             };
597 0           return $a;
598             };
599             sub hi_d {
600 0     0 1   my $self=shift;
601 0           my $a=$self->{hi_d};
602 0 0         if (wantarray()) {
603 0           return (@{$a});
  0            
604             };
605 0           return $a;
606             };
607             sub lo_r {
608 0     0 1   my $self=shift;
609 0           my $a=$self->{lo_r};
610 0 0         if (wantarray()) {
611 0           return (@{$a});
  0            
612             };
613 0           return $a;
614             };
615             sub hi_r {
616 0     0 1   my $self=shift;
617 0           my $a=$self->{hi_r};
618 0 0         if (wantarray()) {
619 0           return (@{$a});
  0            
620             };
621 0           return $a;
622             };
623              
624            
625             1;