xaionaro-go / wavelib

Go bindings for C library "wavelib"
Creative Commons Zero v1.0 Universal
1 stars 0 forks source link
bindings bior cgo cwt dwt go golang haar swt transform wavelet wavelib

GoDoc

Example

    rand.Seed(0)
    obj := WaveInit("bior3.5")
    defer obj.Free()

    input := make([]float64, 256)
    for idx := range input {
        input[idx] = rand.Float64()
    }

    wt := WTInit(obj, "swt", 256, 1)
    defer wt.Free()

    SetWTConv(wt, "direct")
    SWT(wt, input)
    for _, value := range wt.Output() {
        fmt.Printf("%g\n", value)
    }

    output := make([]float64, 256)
    ISWT(wt, output)

    diff := make([]float64, 256)
    for i := 0; i < wt.SigLength(); i++ {
        diff[i] = output[i] - input[i]
    }

    fmt.Printf("\n MAX %g \n", absMax(diff))
    WTSummary(wt)