sig
  type complex = Complex.t = { re : float; im : float; } 
  val complex : re:float -> im:float -> Gsl_complex.complex
  type complex_array = float array
  val set : Gsl_complex.complex_array -> int -> Gsl_complex.complex -> unit
  val get : Gsl_complex.complex_array -> int -> Gsl_complex.complex
  val unpack : Gsl_complex.complex_array -> Gsl_complex.complex array
  val pack : Gsl_complex.complex array -> Gsl_complex.complex_array
  val mult : Gsl_complex.complex_array -> Gsl_complex.complex_array -> unit
end