sig
  type 'd quadsensrhsfn_args = {
    t : float;
    y : 'd;
    y' : 'd;
    s : 'd array;
    s' : 'd array;
    q : 'd;
    tmp : 'Ida.triple;
  }
  type 'd quadsensrhsfn =
      'Idas.Sensitivity.Quadrature.quadsensrhsfn_args -> 'd array -> unit
  val init :
    ('d, 'k) Ida.session ->
    ?fqs:'Idas.Sensitivity.Quadrature.quadsensrhsfn ->
    ('d, 'k) Nvector.t array -> unit
  val reinit : ('d, 'k) Ida.session -> ('d, 'k) Nvector.t array -> unit
  type ('d, 'k) tolerance =
      NoStepSizeControl
    | SStolerances of float * Sundials.RealArray.t
    | SVtolerances of float * ('d, 'k) Nvector.t array
    | EEtolerances
  val set_tolerances :
    ('d, 'k) Ida.session ->
    ('d, 'k) Idas.Sensitivity.Quadrature.tolerance -> unit
  val get : ('d, 'k) Ida.session -> ('d, 'k) Nvector.t array -> float
  val get1 : ('d, 'k) Ida.session -> ('d, 'k) Nvector.t -> int -> float
  val get_dky :
    ('d, 'k) Ida.session -> ('d, 'k) Nvector.t array -> float -> int -> unit
  val get_dky1 :
    ('d, 'k) Ida.session -> ('d, 'k) Nvector.t -> float -> int -> int -> unit
  val get_num_rhs_evals : ('d, 'k) Ida.session -> int
  val get_num_err_test_fails : ('d, 'k) Ida.session -> int
  val get_err_weights :
    ('d, 'k) Ida.session -> ('d, 'k) Nvector.t array -> unit
  val get_stats : ('d, 'k) Ida.session -> int * int
  exception QuadSensNotInitialized
  exception QuadSensRhsFuncFailure
  exception FirstQuadSensRhsFuncFailure
  exception RepeatedQuadSensRhsFuncFailure
end