hist: add apply_func