sig   type data = Sundials.RealArray.t * int * Mpi.communicator   type kind   type t = (Nvector_parallel.data, Nvector_parallel.kind) Nvector.t   exception IncorrectGlobalSize   val make : int -> int -> Mpi.communicator -> float -> Nvector_parallel.t   val clone : Nvector_parallel.t -> Nvector_parallel.t   val unwrap : Nvector_parallel.t -> Nvector_parallel.data   val pp : Format.formatter -> Nvector_parallel.t -> unit   val local_array : Nvector_parallel.t -> Sundials.RealArray.t   val local_length : Nvector_parallel.t -> int   val global_length : Nvector_parallel.t -> int   val communicator : Nvector_parallel.t -> Mpi.communicator   module MakeOps :     functor       (A : sig              type local_data              val get : Nvector_parallel.MakeOps.local_data -> int -> float              val set :                Nvector_parallel.MakeOps.local_data -> int -> float -> unit              val fill : Nvector_parallel.MakeOps.local_data -> float -> unit              val make : int -> float -> Nvector_parallel.MakeOps.local_data              val clone :                Nvector_parallel.MakeOps.local_data ->                Nvector_parallel.MakeOps.local_data              val length : Nvector_parallel.MakeOps.local_data -> int            end->       sig         type t = A.local_data * int * Mpi.communicator         val n_vclone : t -> t         val n_vlinearsum : float -> t -> float -> t -> t -> unit         val n_vconst : float -> t -> unit         val n_vprod : t -> t -> t -> unit         val n_vdiv : t -> t -> t -> unit         val n_vscale : float -> t -> t -> unit         val n_vabs : t -> t -> unit         val n_vinv : t -> t -> unit         val n_vaddconst : t -> float -> t -> unit         val n_vdotprod : t -> t -> float         val n_vmaxnorm : t -> float         val n_vwrmsnorm : t -> t -> float         val n_vmin : t -> float         val n_vcompare : float -> t -> t -> unit         val n_vinvtest : t -> t -> bool         val n_vwl2norm : t -> t -> float         val n_vl1norm : t -> float         val n_vwrmsnormmask : t -> t -> t -> float         val n_vconstrmask : t -> t -> t -> bool         val n_vminquotient : t -> t -> float       end   module Ops :     sig       type t = t       val n_vclone : t -> t       val n_vlinearsum : float -> t -> float -> t -> t -> unit       val n_vconst : float -> t -> unit       val n_vprod : t -> t -> t -> unit       val n_vdiv : t -> t -> t -> unit       val n_vscale : float -> t -> t -> unit       val n_vabs : t -> t -> unit       val n_vinv : t -> t -> unit       val n_vaddconst : t -> float -> t -> unit       val n_vdotprod : t -> t -> float       val n_vmaxnorm : t -> float       val n_vwrmsnorm : t -> t -> float       val n_vmin : t -> float       val n_vcompare : float -> t -> t -> unit       val n_vinvtest : t -> t -> bool       val n_vwl2norm : t -> t -> float       val n_vl1norm : t -> float       val n_vwrmsnormmask : t -> t -> t -> float       val n_vconstrmask : t -> t -> t -> bool       val n_vminquotient : t -> t -> float     end   module DataOps :     sig       type t = data       val n_vclone : t -> t       val n_vlinearsum : float -> t -> float -> t -> t -> unit       val n_vconst : float -> t -> unit       val n_vprod : t -> t -> t -> unit       val n_vdiv : t -> t -> t -> unit       val n_vscale : float -> t -> t -> unit       val n_vabs : t -> t -> unit       val n_vinv : t -> t -> unit       val n_vaddconst : t -> float -> t -> unit       val n_vdotprod : t -> t -> float       val n_vmaxnorm : t -> float       val n_vwrmsnorm : t -> t -> float       val n_vmin : t -> float       val n_vcompare : float -> t -> t -> unit       val n_vinvtest : t -> t -> bool       val n_vwl2norm : t -> t -> float       val n_vl1norm : t -> float       val n_vwrmsnormmask : t -> t -> t -> float       val n_vconstrmask : t -> t -> t -> bool       val n_vminquotient : t -> t -> float     end end