ndwt 0.1.0

High-performance discrete and lifting wavelet transforms for 1-D and N-D signals, with SIMD acceleration, adjoint operations, and 8 boundary conditions.
Documentation
pub use crate::coiflet::*;
use ndwt_macros::implement_lifting_scheme;

implement_lifting_scheme! {
    Coiflet1,
    UpdateS(
        0,
        [4.645751311064590590501615753639260425710259183082450180368334]
    ),
    UpdateD(
        -1,
        [-0.117156741652000,-0.205718913884000]
    ),
    UpdateS(
        1,
        [7.468626966435207,-0.607625218499234]
    ),
    UpdateD(
        -2,
        [0.072875655533209]
    ),
    Scale(0.581860956111254)
}

implement_lifting_scheme! {
    Coiflet2,
    UpdateD(0, [-0.395209488620082496004159132666490894552288363415453900216654]),
    UpdateS(-1, [
        -0.486553126281547010786746824168711620285801508771742550569989,
        0.341820379066459914568789621386323683754649346991058907358568
    ]),
    UpdateD( 0, [
        0.102356384806853842915274696854501590560191849184372502656528,
        0.494061820549506459101851255974592709923999977431307490745365
    ]),
    UpdateS(-1, [
        1.47972869896987641707870887739437188202562216985992819545233,
        -0.130921963832076549320780392055482739738805961634075071050064
    ]),
    UpdateD(0, [
        -0.0525113427816146243003828425183171152296789709847788385651133,
        -0.428715989638527098291905096234179418584820093349915622255789
    ]),
    UpdateS(0, [
        0.48314673498579849761338161048475872554691512393785941435459,
        -0.131670388034750104759408878071458050022809357724715522617130
        ]),
    UpdateD(-1, [
        0.014654934661776989040780649404570317279952910755114196564726
    ]),
    Scale(0.577316851481330848594709432505139906969764643855150600925444)
}

implement_lifting_scheme! {
    Coiflet3,
    UpdateS(
        0,
        [0.487435382344508708148481615423261580043249253724144121712082]),
    UpdateD(
        0,
        [-0.393857498472960538058223754725611118041069760886393899892545,
        -0.722045211962627393161764933071704304427318900055855982640200]),
    UpdateS(
        -2,
        [0.176895180417438691319466964497403743851477067155469605065098,
        0.614901419751021552364401779795922248885211185930303742259262]),
    UpdateD(
        1,
        [-0.175894289844152074795253976858917586589498125832393775838256,
        -0.350427076084109752529086316194163840850785234335336088341348]),
    UpdateS(
        -2,
        [-0.318293768639612837553988348884180031465155453356753276017832,
        0.0931087791943463981011379504924907102584083637682321798362212]),
    UpdateD(
        1,
        [0.523656011729245329840796161335259913605333495389884875981612,
        0.511737199795411510336620033738730537388717206809666528220883]),
    UpdateS(
        -1,
        [-0.323226117080883992578893018291042698804097533102781401623564,
        0.0858805317470458541499641440302254197897327898712691980966340]),
    UpdateD(
        -1,
        [0.0915571093529647465037308891176833398483289950985347178947069,
        -0.165107469913914818165969138904063342821128408434795338706313]),
    UpdateS(
        1,
        [-0.0480956280541597147485082656988086823533172821316601350299984,
        0.00659599223911741763912920939610109756140739827566339330121709]),
    UpdateD(
        -2,
        [-0.01261093011089751538390292007716781560223897824851528556619]),
    Scale(1.17586567789200059336384091899546177866797267169377747320359),
}