Currently, one writes a DSL kernel as
@dsl_kernel
def myfun(x, y, z):
return x + y * z
and a udf as
def myfun(inputs, output, offset):
x, y, z = inputs
output[:] = x + y * z
but then uses the same interface to wrap them as lazyudf:
blosc2.lazyudf(myfun, (x,y,z), dtype=np.float32)
This seems strange and might be confusing for users.