sig
  type t = Lacaml__Z.vec
  val random :
    ?rnd_state:Stdlib.Random.State.t ->
    ?re_from:float ->
    ?re_range:float ->
    ?im_from:float -> ?im_range:float -> int -> Lacaml__Z.vec
  type unop =
      ?n:int ->
      ?ofsy:int ->
      ?incy:int ->
      ?y:Lacaml__Z.vec ->
      ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> Lacaml__Z.vec
  type binop =
      ?n:int ->
      ?ofsz:int ->
      ?incz:int ->
      ?z:Lacaml__Z.vec ->
      ?ofsx:int ->
      ?incx:int ->
      Lacaml__Z.vec ->
      ?ofsy:int -> ?incy:int -> Lacaml__Z.vec -> Lacaml__Z.vec
  val create : int -> Lacaml__Z.vec
  val make : int -> Stdlib.Complex.t -> Lacaml__Z.vec
  val make0 : int -> Lacaml__Z.vec
  val init : int -> (int -> Stdlib.Complex.t) -> Lacaml__Z.vec
  val of_array : Stdlib.Complex.t array -> Lacaml__Z.vec
  val to_array : Lacaml__Z.vec -> Stdlib.Complex.t array
  val of_list : Stdlib.Complex.t list -> Lacaml__Z.vec
  val to_list : Lacaml__Z.vec -> Stdlib.Complex.t list
  val append : Lacaml__Z.vec -> Lacaml__Z.vec -> Lacaml__Z.vec
  val concat : Lacaml__Z.vec list -> Lacaml__Z.vec
  val empty : Lacaml__Z.vec
  val linspace :
    ?y:Lacaml__Z.vec ->
    Stdlib.Complex.t -> Stdlib.Complex.t -> int -> Lacaml__Z.vec
  val logspace :
    ?y:Lacaml__Z.vec ->
    Stdlib.Complex.t ->
    Stdlib.Complex.t -> ?base:float -> int -> Lacaml__Z.vec
  val dim : Lacaml__Z.vec -> int
  val has_zero_dim : Lacaml__Z.vec -> bool
  val map :
    (Stdlib.Complex.t -> Stdlib.Complex.t) ->
    ?n:int ->
    ?ofsy:int ->
    ?incy:int ->
    ?y:Lacaml__Z.vec ->
    ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> Lacaml__Z.vec
  val iter :
    (Stdlib.Complex.t -> unit) ->
    ?n:int -> ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> unit
  val iteri :
    (int -> Stdlib.Complex.t -> unit) ->
    ?n:int -> ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> unit
  val fold :
    ('-> Stdlib.Complex.t -> 'a) ->
    '-> ?n:int -> ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> 'a
  val rev : Lacaml__Z.vec -> Lacaml__Z.vec
  val max :
    ?n:int -> ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> Stdlib.Complex.t
  val min :
    ?n:int -> ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> Stdlib.Complex.t
  val sort :
    ?cmp:(Stdlib.Complex.t -> Stdlib.Complex.t -> int) ->
    ?decr:bool ->
    ?n:int ->
    ?ofsp:int ->
    ?incp:int ->
    ?p:Lacaml__common.int_vec ->
    ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> unit
  val fill :
    ?n:int ->
    ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> Stdlib.Complex.t -> unit
  val sum :
    ?n:int -> ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> Stdlib.Complex.t
  val prod :
    ?n:int -> ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> Stdlib.Complex.t
  val add_const : Stdlib.Complex.t -> Lacaml__Z.Vec.unop
  val sqr_nrm2 :
    ?stable:bool ->
    ?n:int -> ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> float
  val ssqr :
    ?n:int ->
    ?c:Stdlib.Complex.t ->
    ?ofsx:int -> ?incx:int -> Lacaml__Z.vec -> Stdlib.Complex.t
  val neg : Lacaml__Z.Vec.unop
  val reci : Lacaml__Z.Vec.unop
  val add : Lacaml__Z.Vec.binop
  val sub : Lacaml__Z.Vec.binop
  val mul : Lacaml__Z.Vec.binop
  val div : Lacaml__Z.Vec.binop
  val zpxy :
    ?n:int ->
    ?ofsz:int ->
    ?incz:int ->
    Lacaml__Z.vec ->
    ?ofsx:int ->
    ?incx:int ->
    Lacaml__Z.vec -> ?ofsy:int -> ?incy:int -> Lacaml__Z.vec -> unit
  val zmxy :
    ?n:int ->
    ?ofsz:int ->
    ?incz:int ->
    Lacaml__Z.vec ->
    ?ofsx:int ->
    ?incx:int ->
    Lacaml__Z.vec -> ?ofsy:int -> ?incy:int -> Lacaml__Z.vec -> unit
  val ssqr_diff :
    ?n:int ->
    ?ofsx:int ->
    ?incx:int ->
    Lacaml__Z.vec ->
    ?ofsy:int -> ?incy:int -> Lacaml__Z.vec -> Stdlib.Complex.t
end