sig
  type ws
  val make : int -> Gsl_sum.ws
  external accel : float array -> Gsl_sum.ws -> Gsl_fun.result
    = "ml_gsl_sum_levin_u_accel"
  type ws_info = { size : int; terms_used : int; sum_plain : float; }
  external get_info : Gsl_sum.ws -> Gsl_sum.ws_info
    = "ml_gsl_sum_levin_u_getinfo"
  module Trunc :
    sig
      type ws
      val make : int -> Gsl_sum.Trunc.ws
      external accel : float array -> Gsl_sum.Trunc.ws -> Gsl_fun.result
        = "ml_gsl_sum_levin_utrunc_accel"
      type ws_info = { size : int; terms_used : int; sum_plain : float; }
      external get_info : Gsl_sum.Trunc.ws -> Gsl_sum.Trunc.ws_info
        = "ml_gsl_sum_levin_utrunc_getinfo"
    end
end