10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-07-25 04:07:24 +02:00
QCaml/common/lib/charge.mli
2020-12-27 13:43:55 +01:00

50 lines
1.1 KiB
OCaml

(* Type
*
* This type should be used for all charges in the program (electrons, nuclei,...). *)
(* [[file:../charge.org::*Type][Type:1]] *)
type t
(* Type:1 ends here *)
(* ~of_float~ / ~to_float~ *)
(* [[file:../charge.org::*~of_float~ / ~to_float~][~of_float~ / ~to_float~:1]] *)
val of_float : float -> t
val to_float : t -> float
(* ~of_float~ / ~to_float~:1 ends here *)
(* ~of_int~ / ~to_int~ *)
(* [[file:../charge.org::*~of_int~ / ~to_int~][~of_int~ / ~to_int~:1]] *)
val of_int : int -> t
val to_int : t -> int
(* ~of_int~ / ~to_int~:1 ends here *)
(* ~of_string~ / ~to_string~ *)
(* [[file:../charge.org::*~of_string~ / ~to_string~][~of_string~ / ~to_string~:1]] *)
val of_string: string -> t
val to_string: t -> string
(* ~of_string~ / ~to_string~:1 ends here *)
(* Simple operations *)
(* [[file:../charge.org::*Simple operations][Simple operations:1]] *)
val ( + ) : t -> t -> t
val ( - ) : t -> t -> t
val ( * ) : t -> float -> t
val ( / ) : t -> float -> t
(* Simple operations:1 ends here *)
(* Printers *)
(* [[file:../charge.org::*Printers][Printers:1]] *)
val pp : Format.formatter -> t -> unit
(* Printers:1 ends here *)