sig   type ('data, 'kind) t   type ('data, 'kind) nvector = ('data, 'kind) Nvector.t   val unwrap : ('data, 'kind) Nvector.t -> 'data   exception IncompatibleNvector   val check : ('data, 'kind) Nvector.t -> ('data, 'kind) Nvector.t -> unit   module type NVECTOR_OPS =     sig       type t       val n_vclone : Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t       val n_vlinearsum :         float ->         Nvector.NVECTOR_OPS.t ->         float -> Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> unit       val n_vconst : float -> Nvector.NVECTOR_OPS.t -> unit       val n_vprod :         Nvector.NVECTOR_OPS.t ->         Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> unit       val n_vdiv :         Nvector.NVECTOR_OPS.t ->         Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> unit       val n_vscale :         float -> Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> unit       val n_vabs : Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> unit       val n_vinv : Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> unit       val n_vaddconst :         Nvector.NVECTOR_OPS.t -> float -> Nvector.NVECTOR_OPS.t -> unit       val n_vdotprod :         Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> float       val n_vmaxnorm : Nvector.NVECTOR_OPS.t -> float       val n_vwrmsnorm :         Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> float       val n_vmin : Nvector.NVECTOR_OPS.t -> float       val n_vcompare :         float -> Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> unit       val n_vinvtest : Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> bool       val n_vwl2norm :         Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> float       val n_vl1norm : Nvector.NVECTOR_OPS.t -> float       val n_vwrmsnormmask :         Nvector.NVECTOR_OPS.t ->         Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> float       val n_vconstrmask :         Nvector.NVECTOR_OPS.t ->         Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> bool       val n_vminquotient :         Nvector.NVECTOR_OPS.t -> Nvector.NVECTOR_OPS.t -> float     end   module type NVECTOR =     sig       type kind       type data       type t = (Nvector.NVECTOR.data, Nvector.NVECTOR.kind) Nvector.nvector       val wrap : Nvector.NVECTOR.data -> Nvector.NVECTOR.t       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 end