diff --git a/lasp/c/lasp_eq.c b/lasp/c/lasp_eq.c index 7c90344..1cf462f 100644 --- a/lasp/c/lasp_eq.c +++ b/lasp/c/lasp_eq.c @@ -23,8 +23,8 @@ vd Eq_equalize(Eq* eq,const vd* input_data) { assertvalidptr(eq); assert_vx(input_data); vd result = vd_alloc(input_data->n_rows); + dmat_set(&result, 0); dmat filtered = Sosfilterbank_filter(eq->fb, input_data); - dmat_set(&filtered, 0); for(us filter=0;filternfilters;filter++) { d ampl = *getvdval(&(eq->ampl_values), filter); diff --git a/lasp/wrappers.pyx b/lasp/wrappers.pyx index 0d34719..5fb4920 100644 --- a/lasp/wrappers.pyx +++ b/lasp/wrappers.pyx @@ -708,22 +708,22 @@ cdef class Equalizer: Eq_setLevels(self.ceq, &dmat_new_levels) dmat_free(&dmat_new_levels) - def equalize(self, d[::1, :] input_data): - assert input_data.shape[1] == 1 + def equalize(self, d[::1] input_data): cdef: vd res - cdef dmat input_dmat = dmat_foreign_data(input_data.shape[0], + cdef dmat input_dmat = dmat_foreign_data(input_data.size, 1, - &input_data[0,0], + &input_data[0], False) with nogil: res = Eq_equalize(self.ceq, &input_dmat) # Steal the pointer from output - py_res = dmat_to_ndarray(&res,True) + py_res = dmat_to_ndarray(&res,True)[:,0] dmat_free(&res) vd_free(&input_dmat) + return py_res def __dealloc__(self):