pub use crate::bior::*;
use ndwt_macros::implement_dwt_biorthogonal;
implement_dwt_biorthogonal! {
Bior1_3,
[
-8.838834764831844055010554526310612991060449221105925457354248e-2,
8.838834764831844055010554526310612991060449221105925457354248e-2,
7.071067811865475244008443621048490392848359376884740365883399e-1,
7.071067811865475244008443621048490392848359376884740365883399e-1,
8.838834764831844055010554526310612991060449221105925457354248e-2,
-8.838834764831844055010554526310612991060449221105925457354248e-2
],
[
0.0, 0.0,
-7.071067811865475244008443621048490392848359376884740365883399e-1,
7.071067811865475244008443621048490392848359376884740365883399e-1,
0.0, 0.0
]
}
implement_dwt_biorthogonal! {
Bior1_5,
[
1.657281518405970760314478973683239935823834228957361023253922e-2,
-1.657281518405970760314478973683239935823834228957361023253922e-2,
-1.215339780164378557563951247367709286270811767902064750386209e-1,
1.215339780164378557563951247367709286270811767902064750386209e-1,
7.071067811865475244008443621048490392848359376884740365883399e-1,
7.071067811865475244008443621048490392848359376884740365883399e-1,
1.215339780164378557563951247367709286270811767902064750386209e-1,
-1.215339780164378557563951247367709286270811767902064750386209e-1,
-1.657281518405970760314478973683239935823834228957361023253922e-2,
1.657281518405970760314478973683239935823834228957361023253922e-2
],
[
0.0, 0.0, 0.0, 0.0,
-7.071067811865475244008443621048490392848359376884740365883399e-1,
7.071067811865475244008443621048490392848359376884740365883399e-1,
0.0, 0.0, 0.0, 0.0
]
}
implement_dwt_biorthogonal! {
Bior2_2,
[
0.0,
-1.767766952966368811002110905262122598212089844221185091470850e-1,
3.535533905932737622004221810524245196424179688442370182941699e-1,
1.060660171779821286601266543157273558927253906532711054882510,
3.535533905932737622004221810524245196424179688442370182941699e-1,
-1.767766952966368811002110905262122598212089844221185091470850e-1,
],
[
0.0,
3.535533905932737622004221810524245196424179688442370182941699e-1,
-7.071067811865475244008443621048490392848359376884740365883399e-1,
3.535533905932737622004221810524245196424179688442370182941699e-1,
0.0, 0.0
]
}
implement_dwt_biorthogonal! {
Bior2_4,
[
0.0,
3.314563036811941520628957947366479871647668457914722046507843e-2,
-6.629126073623883041257915894732959743295336915829444093015686e-2,
-1.767766952966368811002110905262122598212089844221185091470850e-1,
4.198446513295125926130013399997541170753713380025314592243268e-1,
9.943689110435824561886873842099439614943005373744166139523529e-1,
4.198446513295125926130013399997541170753713380025314592243268e-1,
-1.767766952966368811002110905262122598212089844221185091470850e-1,
-6.629126073623883041257915894732959743295336915829444093015686e-2,
3.314563036811941520628957947366479871647668457914722046507843e-2
],
[
0.0, 0.0, 0.0,
3.535533905932737622004221810524245196424179688442370182941699e-1,
-7.071067811865475244008443621048490392848359376884740365883399e-1,
3.535533905932737622004221810524245196424179688442370182941699e-1,
0.0, 0.0, 0.0, 0.0
]
}
implement_dwt_biorthogonal! {
Bior2_6,
[
0.0,
-6.905339660024878167976995723680166399265975953989004263558007e-3,
1.381067932004975633595399144736033279853195190797800852711601e-2,
4.695630968816917154224357092102513151500863648712522899219444e-2,
-1.077232986963880994204411332894105958285492248822284665115049e-1,
-1.698713556366120029322340948025320934219430084681295048835270e-1,
4.474660099696121052849093228944747826724352418184874762785588e-1,
9.667475524034829435167794013152232958972366335584605968981209e-1,
4.474660099696121052849093228944747826724352418184874762785588e-1,
-1.698713556366120029322340948025320934219430084681295048835270e-1,
-1.077232986963880994204411332894105958285492248822284665115049e-1,
4.695630968816917154224357092102513151500863648712522899219444e-2,
1.381067932004975633595399144736033279853195190797800852711601e-2,
-6.905339660024878167976995723680166399265975953989004263558007e-3
],
[
0.0, 0.0, 0.0, 0.0, 0.0,
3.535533905932737622004221810524245196424179688442370182941699e-1,
-7.071067811865475244008443621048490392848359376884740365883399e-1,
3.535533905932737622004221810524245196424179688442370182941699e-1,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0
]
}
implement_dwt_biorthogonal! {
Bior2_8,
[
0.0,
1.510543050630442099244967814555036399839432239935094682653314e-3,
-3.021086101260884198489935629110072799678864479870189365306628e-3,
-1.294751186254664656495686698190031199862370491372938299417126e-2,
2.891610982635417732840366959291069679692627430732895535364915e-2,
5.299848189069093993922344217924527711436636544686560772280770e-2,
-1.349130736077360572068505539514012510256590052010601707992646e-1,
-1.638291834340902345352542235443119478225852795083891261529137e-1,
4.625714404759165262773590010400251466708295642178384231050920e-1,
9.516421218971785225243297231696729318988423111591096500715878e-1,
4.625714404759165262773590010400251466708295642178384231050920e-1,
-1.638291834340902345352542235443119478225852795083891261529137e-1,
-1.349130736077360572068505539514012510256590052010601707992646e-1,
5.299848189069093993922344217924527711436636544686560772280770e-2,
2.891610982635417732840366959291069679692627430732895535364915e-2,
-1.294751186254664656495686698190031199862370491372938299417126e-2,
-3.021086101260884198489935629110072799678864479870189365306628e-3,
1.510543050630442099244967814555036399839432239935094682653314e-3
],
[
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
3.535533905932737622004221810524245196424179688442370182941699e-1,
-7.071067811865475244008443621048490392848359376884740365883399e-1,
3.535533905932737622004221810524245196424179688442370182941699e-1,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
]
}
implement_dwt_biorthogonal! {
Bior3_1,
[
-3.535533905932737622004221810524245196424179688442370182941699e-1,
1.060660171779821286601266543157273558927253906532711054882510,
1.060660171779821286601266543157273558927253906532711054882510,
-3.535533905932737622004221810524245196424179688442370182941699e-1
],
[
-1.767766952966368811002110905262122598212089844221185091470850e-1,
5.303300858899106433006332715786367794636269532663555274412549e-1,
-5.303300858899106433006332715786367794636269532663555274412549e-1,
1.767766952966368811002110905262122598212089844221185091470850e-1,
]
}
implement_dwt_biorthogonal! {
Bior3_3,
[
6.629126073623883041257915894732959743295336915829444093015686e-2,
-1.988737822087164912377374768419887922988601074748833227904706e-1,
-1.546796083845572709626847042104357273435578613693536955036993e-1,
9.943689110435824561886873842099439614943005373744166139523529e-1,
9.943689110435824561886873842099439614943005373744166139523529e-1,
-1.546796083845572709626847042104357273435578613693536955036993e-1,
-1.988737822087164912377374768419887922988601074748833227904706e-1,
6.629126073623883041257915894732959743295336915829444093015686e-2
],
[
0.0, 0.0,
-1.767766952966368811002110905262122598212089844221185091470850e-1,
5.303300858899106433006332715786367794636269532663555274412549e-1,
-5.303300858899106433006332715786367794636269532663555274412549e-1,
1.767766952966368811002110905262122598212089844221185091470850e-1,
0.0, 0.0,
]
}
implement_dwt_biorthogonal! {
Bior3_5,
[
-1.381067932004975633595399144736033279853195190797800852711601e-2,
4.143203796014926900786197434208099839559585572393402558134804e-2,
5.248058141618907407662516749996926463442141725031643240304085e-2,
-2.679271788089652729175074340787904562915198670147733654260507e-1,
-7.181553246425873294696075552627373055236614992148564434100327e-2,
9.667475524034829435167794013152232958972366335584605968981209e-1,
9.667475524034829435167794013152232958972366335584605968981209e-1,
-7.181553246425873294696075552627373055236614992148564434100327e-2,
-2.679271788089652729175074340787904562915198670147733654260507e-1,
5.248058141618907407662516749996926463442141725031643240304085e-2,
4.143203796014926900786197434208099839559585572393402558134804e-2,
-1.381067932004975633595399144736033279853195190797800852711601e-2
],
[
0.0, 0.0, 0.0, 0.0,
-1.767766952966368811002110905262122598212089844221185091470850e-1,
5.303300858899106433006332715786367794636269532663555274412549e-1,
-5.303300858899106433006332715786367794636269532663555274412549e-1,
1.767766952966368811002110905262122598212089844221185091470850e-1,
0.0, 0.0, 0.0, 0.0,
]
}
implement_dwt_biorthogonal! {
Bior3_7,
[
3.021086101260884198489935629110072799678864479870189365306628e-3,
-9.063258303782652595469806887330218399036593439610568095919884e-3,
-1.683176542131064053444392707647040559821081638784819789242264e-2,
7.466398507401899519125126626229179919206336500250610859972095e-2,
3.133297870736288468719561809619875503666936589122510684589445e-2,
-3.011591259228349991008967259990012570879873762933454484444236e-1,
-2.649924094534546996961172108962263855718318272343280386140385e-2,
9.516421218971785225243297231696729318988423111591096500715878e-1,
9.516421218971785225243297231696729318988423111591096500715878e-1,
-2.649924094534546996961172108962263855718318272343280386140385e-2,
-3.011591259228349991008967259990012570879873762933454484444236e-1,
3.133297870736288468719561809619875503666936589122510684589445e-2,
7.466398507401899519125126626229179919206336500250610859972095e-2,
-1.683176542131064053444392707647040559821081638784819789242264e-2,
-9.063258303782652595469806887330218399036593439610568095919884e-3,
3.021086101260884198489935629110072799678864479870189365306628e-3
],
[
0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
-1.767766952966368811002110905262122598212089844221185091470850e-1,
5.303300858899106433006332715786367794636269532663555274412549e-1,
-5.303300858899106433006332715786367794636269532663555274412549e-1,
1.767766952966368811002110905262122598212089844221185091470850e-1,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
]
}
implement_dwt_biorthogonal! {
Bior3_9,
[
-6.797443727836989446602355165497663799277445079707926071939913e-4,
2.039233118351096833980706549649299139783233523912377821581974e-3,
5.060319219611981032470642178759371939462098003782567186888602e-3,
-2.061891264110553465469381066867624685780825007511404241821774e-2,
-1.411278793017584475580298501027134007849983835596502746364668e-2,
9.913478249423215719901974485808338886946216728945464245870463e-2,
1.230013626941931423670902363280529639869251966804291384446270e-2,
-3.201919683607785695513833204623947157259642225165276414458553e-1,
2.050022711569885706118170605467549399782086611340485640743783e-3,
9.421257006782067372990864259379762025798538880475185535708719e-1,
9.421257006782067372990864259379762025798538880475185535708719e-1,
2.050022711569885706118170605467549399782086611340485640743783e-3,
-3.201919683607785695513833204623947157259642225165276414458553e-1,
1.230013626941931423670902363280529639869251966804291384446270e-2,
9.913478249423215719901974485808338886946216728945464245870463e-2,
-1.411278793017584475580298501027134007849983835596502746364668e-2,
-2.061891264110553465469381066867624685780825007511404241821774e-2,
5.060319219611981032470642178759371939462098003782567186888602e-3,
2.039233118351096833980706549649299139783233523912377821581974e-3,
-6.797443727836989446602355165497663799277445079707926071939913e-4
],
[
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
-1.767766952966368811002110905262122598212089844221185091470850e-1,
5.303300858899106433006332715786367794636269532663555274412549e-1,
-5.303300858899106433006332715786367794636269532663555274412549e-1,
1.767766952966368811002110905262122598212089844221185091470850e-1,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
]
}
implement_dwt_biorthogonal! {
Bior4_2,
[
0.0,
1.325825214724776608251583178946591948659067383165888818603137e-1,
-5.303300858899106433006332715786367794636269532663555274412549e-1,
2.209708691207961013752638631577653247765112305276481364338562e-1,
1.767766952966368811002110905262122598212089844221185091470850,
2.209708691207961013752638631577653247765112305276481364338562e-1,
-5.303300858899106433006332715786367794636269532663555274412549e-1,
1.325825214724776608251583178946591948659067383165888818603137e-1
],
[
0.0,
8.838834764831844055010554526310612991060449221105925457354248e-2,
-3.535533905932737622004221810524245196424179688442370182941699e-1,
5.303300858899106433006332715786367794636269532663555274412549e-1,
-3.535533905932737622004221810524245196424179688442370182941699e-1,
8.838834764831844055010554526310612991060449221105925457354248e-2,
0.0, 0.0,
]
}
implement_dwt_biorthogonal! {
Bior4_4,
[
0.0,
-2.762135864009951267190798289472066559706390381595601705423203e-2,
1.104854345603980506876319315788826623882556152638240682169281e-1,
-5.524271728019902534381596578944133119412780763191203410846405e-3,
-5.303300858899106433006332715786367794636269532663555274412549e-1,
3.866990209613931774067117605260893183588946534233842387592484e-1,
1.546796083845572709626847042104357273435578613693536955036993,
3.866990209613931774067117605260893183588946534233842387592484e-1,
-5.303300858899106433006332715786367794636269532663555274412549e-1,
-5.524271728019902534381596578944133119412780763191203410846405e-3,
1.104854345603980506876319315788826623882556152638240682169281e-1,
-2.762135864009951267190798289472066559706390381595601705423203e-2
],
[
0.0, 0.0, 0.0,
8.838834764831844055010554526310612991060449221105925457354248e-2,
-3.535533905932737622004221810524245196424179688442370182941699e-1,
5.303300858899106433006332715786367794636269532663555274412549e-1,
-3.535533905932737622004221810524245196424179688442370182941699e-1,
8.838834764831844055010554526310612991060449221105925457354248e-2,
0.0, 0.0, 0.0, 0.0
]
}
implement_dwt_biorthogonal! {
Bior4_6,
[
0.0,
6.042172202521768396979871258220145599357728959740378730613256e-3,
-2.416868881008707358791948503288058239743091583896151492245302e-2,
-9.494842032534207480968369120060228798990716936734880862392259e-3,
1.588228121805721978634709016446438271831174469417470980618342e-1,
-9.615685476584642848907966545224631710977871515929688437004524e-2,
-5.061613970798235697127137865457561970661960374273940125188019e-1,
4.531629151891326297734903443665109199518296719805284047959942e-1,
1.450121328605224415275169101972834943845854950337690895347181,
4.531629151891326297734903443665109199518296719805284047959942e-1,
-5.061613970798235697127137865457561970661960374273940125188019e-1
,-9.615685476584642848907966545224631710977871515929688437004524e-2,
1.588228121805721978634709016446438271831174469417470980618342e-1,
-9.494842032534207480968369120060228798990716936734880862392259e-3,
-2.416868881008707358791948503288058239743091583896151492245302e-2,
6.042172202521768396979871258220145599357728959740378730613256e-3
],
[
0.0, 0.0, 0.0, 0.0, 0.0,
8.838834764831844055010554526310612991060449221105925457354248e-2,
-3.535533905932737622004221810524245196424179688442370182941699e-1,
5.303300858899106433006332715786367794636269532663555274412549e-1,
-3.535533905932737622004221810524245196424179688442370182941699e-1,
8.838834764831844055010554526310612991060449221105925457354248e-2,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
]
}
implement_dwt_biorthogonal! {
Bior5_5,
[
1.208434440504353679395974251644029119871545791948075746122651e-2,
-6.042172202521768396979871258220145599357728959740378730613256e-2,
4.143203796014926900786197434208099839559585572393402558134804e-2,
2.762135864009951267190798289472066559706390381595601705423203e-1,
-4.685272959326879836972391598516992901901964684781539392824107e-1,
-5.437954982269591557281884132398131039421956063766340857551930e-1,
1.450121328605224415275169101972834943845854950337690895347181,
1.450121328605224415275169101972834943845854950337690895347181,
-5.437954982269591557281884132398131039421956063766340857551930e-1,
-4.685272959326879836972391598516992901901964684781539392824107e-1,
2.762135864009951267190798289472066559706390381595601705423203e-1,
4.143203796014926900786197434208099839559585572393402558134804e-2,
-6.042172202521768396979871258220145599357728959740378730613256e-2,
1.208434440504353679395974251644029119871545791948075746122651e-2
],
[
0.0, 0.0, 0.0, 0.0,
-4.419417382415922027505277263155306495530224610552962728677124e-2,
2.209708691207961013752638631577653247765112305276481364338562e-1,
-4.419417382415922027505277263155306495530224610552962728677124e-1,
4.419417382415922027505277263155306495530224610552962728677124e-1,
-2.209708691207961013752638631577653247765112305276481364338562e-1,
4.419417382415922027505277263155306495530224610552962728677124e-2,
0.0, 0.0, 0.0, 0.0,
]
}
implement_dwt_biorthogonal! {
Bior6_8,
[
0.0,
1.246198016770114731877098447007905029867531597946453113188984e-3,
-7.477188100620688391262590682047430179205189587678718679133904e-3,
7.024025185431555761489100337680919259253359915698190274337910e-3,
4.508971006131869666246228926446783653520705236206257627720142e-2,
-1.046428698324238764251951453533001465988766684215036841408083e-1,
-8.428830222517866913786920405217103111104031898837828329205492e-2,
4.499260372234959681322511276210358419521737457520960590474514e-1,
-5.338690724656733933617214818870228647432507659427748921263284e-2,
-1.134040195260804406008159586777193577179453754131272333001975,
4.536160781043217624032638347108774308717815016525089332007902e-1,
2.268080390521608812016319173554387154358907508262544666003951,
4.536160781043217624032638347108774308717815016525089332007902e-1,
-1.134040195260804406008159586777193577179453754131272333001975,
-5.338690724656733933617214818870228647432507659427748921263284e-2,
4.499260372234959681322511276210358419521737457520960590474514e-1,
-8.428830222517866913786920405217103111104031898837828329205492e-2,
-1.046428698324238764251951453533001465988766684215036841408083e-1,
4.508971006131869666246228926446783653520705236206257627720142e-2,
7.024025185431555761489100337680919259253359915698190274337910e-3,
-7.477188100620688391262590682047430179205189587678718679133904e-3,
1.246198016770114731877098447007905029867531597946453113188984e-3
],
[
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
2.209708691207961013752638631577653247765112305276481364338562e-2,
-1.325825214724776608251583178946591948659067383165888818603137e-1,
3.314563036811941520628957947366479871647668457914722046507843e-1,
-4.419417382415922027505277263155306495530224610552962728677124e-1,
3.314563036811941520628957947366479871647668457914722046507843e-1,
-1.325825214724776608251583178946591948659067383165888818603137e-1,
2.209708691207961013752638631577653247765112305276481364338562e-2,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
]
}
implement_dwt_biorthogonal! {
CDF5_3,
[
0.0, 0.0,
3.535533905932737622004221810524245196424179688442370182941699e-1,
7.071067811865475244008443621048490392848359376884740365883399e-1,
3.535533905932737622004221810524245196424179688442370182941699e-1,
0.0
],
[
1.767766952966368811002110905262122598212089844221185091470850e-1,
3.535533905932737622004221810524245196424179688442370182941699e-1,
-1.060660171779821286601266543157273558927253906532711054882510,
3.535533905932737622004221810524245196424179688442370182941699e-1,
1.767766952966368811002110905262122598212089844221185091470850e-1,
0.0,
]
}
implement_dwt_biorthogonal! {
CDF9_7,
[
0.0,
3.782845550699546139308004578411387991006879696152805398076573e-2,
-2.384946501938000191317159107415538252885608860572550436192528e-2,
-1.106244044184234088485578200216601547873828728465039700733710e-1,
3.774028556126537641135937721265799021712740574499625226560952e-1,
8.526986790094034193117999105799415890394640894584258687735504e-1,
3.774028556126537641135937721265799021712740574499625226560952e-1,
-1.106244044184234088485578200216601547873828728465039700733710e-1,
-2.384946501938000191317159107415538252885608860572550436192528e-2,
3.782845550699546139308004578411387991006879696152805398076573e-2,
],
[
0.0,
-6.453888262893843863693395418895074738174840360533375021161720e-2,
4.068941760955843672376236311479536485289231499960824584969192e-2,
4.180922732222122008373561352413752670241663724495707685057871e-1,
-7.884856164056643978483690883344397689906205676876905282877237e-1,
4.180922732222122008373561352413752670241663724495707685057871e-1,
4.068941760955843672376236311479536485289231499960824584969192e-2,
-6.453888262893843863693395418895074738174840360533375021161720e-2,
0.0, 0.0,
]
}
#[cfg(test)]
mod test {
use crate::boundarys::BoundaryCondition;
use crate::tests::{test_approx_adjoint, test_approx_equal};
use super::*;
use crate::dwt::{DiscreteTransform, get_outlen};
use rstest::rstest;
const RTOL: f64 = 1E-13;
const ATOL: f64 = 0.0;
macro_rules! test_wavelet {
($test_name:ident, $per_test_name:ident, $adj_test_name:ident, $wvlt:ident) => {
#[rstest]
fn $test_name(
#[values(
BoundaryCondition::Zero,
BoundaryCondition::Periodic,
BoundaryCondition::Constant,
BoundaryCondition::Reflect,
BoundaryCondition::Symmetric,
BoundaryCondition::Antisymmetric,
BoundaryCondition::Smooth,
BoundaryCondition::Antireflect
)]
bc: BoundaryCondition,
#[values(64, 65)] n: usize,
) {
let x: Vec<f64> = (0..n).map(|i| (i + 1) as f64).collect();
let mut x2 = vec![0.0; n];
let nsd = get_outlen($wvlt::WIDTH, n);
let mut s = vec![0.0; nsd];
let mut d = vec![0.0; nsd];
$wvlt::forward(&x, &mut s, &mut d, &bc);
$wvlt::inverse(&s, &d, &mut x2);
test_approx_equal(&x2, &x, RTOL, ATOL);
}
#[rstest]
fn $per_test_name(#[values(64, 65)] n: usize) {
let x: Vec<f64> = (0..n).map(|i| (i + 1) as f64).collect();
let mut x2 = vec![0.0; n];
let nd = n / 2;
let ns = (n + 1) / 2;
let mut s = vec![0.0; ns];
let mut d = vec![0.0; nd];
$wvlt::forward_per(&x, &mut s, &mut d);
$wvlt::inverse_per(&s, &d, &mut x2);
test_approx_equal(&x2, &x, RTOL, ATOL);
}
#[rstest]
fn $adj_test_name(#[values(64, 65)] n: usize) {
let x: Vec<f64> = (0..n).map(|i| (i + 1) as f64).collect();
let mut x2 = vec![0.0; n];
let nd = n / 2;
let ns = (n + 1) / 2;
let mut s = vec![0.0; ns];
let mut d = vec![0.0; nd];
$wvlt::adjoint_inverse_per(&x, &mut s, &mut d);
$wvlt::adjoint_forward_per(&s, &d, &mut x2);
test_approx_equal(&x2, &x, RTOL, ATOL);
let u = (0..n as isize).map(|i| (i + 1) as f64).collect::<Vec<_>>();
let v = (0..n as isize).map(|i| (5 - i) as f64).collect::<Vec<_>>();
test_approx_adjoint(
|u, out| {
let (s, d) = out.split_at_mut(ns);
$wvlt::adjoint_inverse_per(u, s, d);
},
|v, out| {
let (s, d) = v.split_at(ns);
$wvlt::inverse_per(s, d, out);
},
&u,
&v,
RTOL,
ATOL,
);
test_approx_adjoint(
|u, out| {
let (s, d) = out.split_at_mut(ns);
$wvlt::forward_per(u, s, d);
},
|v, out| {
let (s, d) = v.split_at(ns);
$wvlt::adjoint_forward_per(s, d, out);
},
&u,
&v,
RTOL,
ATOL,
);
}
};
}
test_wavelet!(test_bior1_3, test_bior_1_3_per, test_bior_1_3_adj, Bior1_3);
test_wavelet!(test_bior1_5, test_bior_1_5_per, test_bior_1_5_adj, Bior1_5);
test_wavelet!(test_bior2_2, test_bior_2_2_per, test_bior_2_2_adj, Bior2_2);
test_wavelet!(test_bior2_4, test_bior_2_4_per, test_bior_2_4_adj, Bior2_4);
test_wavelet!(test_bior2_6, test_bior_2_6_per, test_bior_2_6_adj, Bior2_6);
test_wavelet!(test_bior2_8, test_bior_2_8_per, test_bior_2_8_adj, Bior2_8);
test_wavelet!(test_bior3_1, test_bior_3_1_per, test_bior_3_1_adj, Bior3_1);
test_wavelet!(test_bior3_3, test_bior_3_3_per, test_bior_3_3_adj, Bior3_3);
test_wavelet!(test_bior3_5, test_bior_3_5_per, test_bior_3_5_adj, Bior3_5);
test_wavelet!(test_bior3_7, test_bior_3_7_per, test_bior_3_7_adj, Bior3_7);
test_wavelet!(test_bior3_9, test_bior_3_9_per, test_bior_3_9_adj, Bior3_9);
test_wavelet!(test_bior4_2, test_bior_4_2_per, test_bior_4_2_adj, Bior4_2);
test_wavelet!(test_bior4_4, test_bior_4_4_per, test_bior_4_4_adj, Bior4_4);
test_wavelet!(test_bior4_6, test_bior_4_6_per, test_bior_4_6_adj, Bior4_4);
test_wavelet!(test_bior5_5, test_bior_5_5_per, test_bior_5_5_adj, Bior5_5);
test_wavelet!(test_bior6_8, test_bior_6_8_per, test_bior_6_8_adj, Bior6_8);
test_wavelet!(test_cdf_5_3, test_cdf_5_3_per, test_cdf_5_3_adj, CDF5_3);
test_wavelet!(test_cdf_9_7, test_cdf_9_7_per, test_cdf_9_7_adj, CDF9_7);
}