sig
  type t = Float of float | Mpqf of Mpqf.t | Mpfrf of Mpfrf.t
  val of_mpq : Mpq.t -> Scalar.t
  val of_mpqf : Mpqf.t -> Scalar.t
  val of_int : int -> Scalar.t
  val of_frac : int -> int -> Scalar.t
  val of_mpfr : Mpfr.t -> Scalar.t
  val of_mpfrf : Mpfrf.t -> Scalar.t
  val of_float : float -> Scalar.t
  val of_infty : int -> Scalar.t
  val is_infty : Scalar.t -> int
  val sgn : Scalar.t -> int
  val cmp : Scalar.t -> Scalar.t -> int
  val cmp_int : Scalar.t -> int -> int
  val equal : Scalar.t -> Scalar.t -> bool
  val equal_int : Scalar.t -> int -> bool
  val neg : Scalar.t -> Scalar.t
  val to_string : Scalar.t -> string
  val print : Format.formatter -> Scalar.t -> unit
end