sig
  type t = t
  val clone : t -> t
  val linearsum : float -> t -> float -> t -> t -> unit
  val const : float -> t -> unit
  val prod : t -> t -> t -> unit
  val div : t -> t -> t -> unit
  val scale : float -> t -> t -> unit
  val abs : t -> t -> unit
  val inv : t -> t -> unit
  val addconst : t -> float -> t -> unit
  val dotprod : t -> t -> float
  val maxnorm : t -> float
  val wrmsnorm : t -> t -> float
  val min : t -> float
  val compare : float -> t -> t -> unit
  val invtest : t -> t -> bool
  val wl2norm : t -> t -> float
  val l1norm : t -> float
  val wrmsnormmask : t -> t -> t -> float
  val constrmask : t -> t -> t -> bool
  val minquotient : t -> t -> float
  val space : t -> int * int
  val getlength : t -> int
  val print : ?logfile:Sundials.Logfile.t -> t -> unit
  val linearcombination : Sundials.RealArray.t -> t array -> t -> unit
  val scaleaddmulti : Sundials.RealArray.t -> t -> t array -> t array -> unit
  val dotprodmulti : t -> t array -> Sundials.RealArray.t -> unit
  val linearsumvectorarray :
    float -> t array -> float -> t array -> t array -> unit
  val scalevectorarray : Sundials.RealArray.t -> t array -> t array -> unit
  val constvectorarray : float -> t array -> unit
  val wrmsnormvectorarray :
    t array -> t array -> Sundials.RealArray.t -> unit
  val wrmsnormmaskvectorarray :
    t array -> t array -> t -> Sundials.RealArray.t -> unit
  val scaleaddmultivectorarray :
    Sundials.RealArray.t -> t array -> t array array -> t array array -> unit
  val linearcombinationvectorarray :
    Sundials.RealArray.t -> t array array -> t array -> unit
  module Local :
    sig
      val dotprod : t -> t -> float
      val maxnorm : t -> float
      val min : t -> float
      val l1norm : t -> float
      val invtest : t -> t -> bool
      val constrmask : t -> t -> t -> bool
      val minquotient : t -> t -> float
      val wsqrsum : t -> t -> float
      val wsqrsummask : t -> t -> t -> float
      val dotprodmulti : t -> t array -> Sundials.RealArray.t -> unit
      val dotprodmulti_allreduce : t -> Sundials.RealArray.t -> unit
    end
end