sig
  val make :
    ?context:Sundials.Context.t ->
    ?with_fused_ops:bool ->
    ?with_linear_combination:bool ->
    ?with_scale_add_multi:bool ->
    ?with_dot_prod_multi:bool ->
    ?with_linear_sum_vector_array:bool ->
    ?with_scale_vector_array:bool ->
    ?with_const_vector_array:bool ->
    ?with_wrms_norm_vector_array:bool ->
    ?with_wrms_norm_mask_vector_array:bool ->
    ?with_scale_add_multi_vector_array:bool ->
    ?with_linear_combination_vector_array:bool ->
    ?with_dot_prod_multi_local:bool ->
    int -> int -> Mpi.communicator -> float -> Nvector.any
  val wrap :
    ?context:Sundials.Context.t ->
    ?with_fused_ops:bool ->
    ?with_linear_combination:bool ->
    ?with_scale_add_multi:bool ->
    ?with_dot_prod_multi:bool ->
    ?with_linear_sum_vector_array:bool ->
    ?with_scale_vector_array:bool ->
    ?with_const_vector_array:bool ->
    ?with_wrms_norm_vector_array:bool ->
    ?with_wrms_norm_mask_vector_array:bool ->
    ?with_scale_add_multi_vector_array:bool ->
    ?with_linear_combination_vector_array:bool ->
    ?with_dot_prod_multi_local:bool -> Nvector_parallel.data -> Nvector.any
  val unwrap : Nvector.any -> Nvector_parallel.data
  val enable :
    ?with_fused_ops:bool ->
    ?with_linear_combination:bool ->
    ?with_scale_add_multi:bool ->
    ?with_dot_prod_multi:bool ->
    ?with_linear_sum_vector_array:bool ->
    ?with_scale_vector_array:bool ->
    ?with_const_vector_array:bool ->
    ?with_wrms_norm_vector_array:bool ->
    ?with_wrms_norm_mask_vector_array:bool ->
    ?with_scale_add_multi_vector_array:bool ->
    ?with_linear_combination_vector_array:bool ->
    ?with_dot_prod_multi_local:bool -> Nvector.any -> unit
end