c_ufunc wrapper generator