sig
  type kind = GOLDENSECTION | BRENT
  type t
  val make :
    Gsl_min.kind ->
    Gsl_fun.gsl_fun -> min:float -> lo:float -> up:float -> Gsl_min.t
  external name : Gsl_min.t -> string = "ml_gsl_min_fminimizer_name"
  external iterate : Gsl_min.t -> unit = "ml_gsl_min_fminimizer_iterate"
  external minimum : Gsl_min.t -> float = "ml_gsl_min_fminimizer_x_minimum"
  external interval : Gsl_min.t -> float * float
    = "ml_gsl_min_fminimizer_x_interv"
  external test_interval :
    x_lo:float -> x_up:float -> epsabs:float -> epsrel:float -> bool
    = "ml_gsl_min_test_interval"
end