2020-12-26 01:47:55 +01:00
|
|
|
(* Type
|
|
|
|
*
|
|
|
|
* #+NAME: types *)
|
2018-02-24 23:57:38 +01:00
|
|
|
|
2020-12-28 01:55:03 +01:00
|
|
|
(* [[file:~/QCaml/common/angular_momentum.org::types][types]] *)
|
2018-03-15 15:25:49 +01:00
|
|
|
type t =
|
2020-12-26 01:47:55 +01:00
|
|
|
| S | P | D | F | G | H | I | J | K | L | M | N | O
|
|
|
|
| Int of int
|
2018-02-24 23:57:38 +01:00
|
|
|
|
2020-09-26 12:02:53 +02:00
|
|
|
exception Angular_momentum_error of string
|
2018-02-24 23:57:38 +01:00
|
|
|
|
2020-12-26 01:47:55 +01:00
|
|
|
type kind =
|
|
|
|
Singlet of t
|
|
|
|
| Doublet of (t * t)
|
|
|
|
| Triplet of (t * t * t)
|
|
|
|
| Quartet of (t * t * t * t)
|
|
|
|
(* types ends here *)
|
|
|
|
|
2020-12-27 23:08:12 +01:00
|
|
|
(* Conversions *)
|
2018-03-16 00:23:47 +01:00
|
|
|
|
2020-12-26 01:47:55 +01:00
|
|
|
|
2020-12-28 01:55:03 +01:00
|
|
|
(* [[file:~/QCaml/common/angular_momentum.org::*Conversions][Conversions:1]] *)
|
2018-02-24 23:57:38 +01:00
|
|
|
val of_char : char -> t
|
|
|
|
val to_char : t -> char
|
|
|
|
|
|
|
|
val to_int : t -> int
|
|
|
|
val of_int : int -> t
|
|
|
|
|
2020-12-27 23:08:12 +01:00
|
|
|
val to_string : t -> string
|
|
|
|
(* Conversions:1 ends here *)
|
2018-02-24 23:57:38 +01:00
|
|
|
|
2020-12-27 23:08:12 +01:00
|
|
|
(* Shell functions *)
|
2020-12-26 01:47:55 +01:00
|
|
|
|
|
|
|
|
2020-12-28 01:55:03 +01:00
|
|
|
(* [[file:~/QCaml/common/angular_momentum.org::*Shell functions][Shell functions:1]] *)
|
2020-12-27 23:08:12 +01:00
|
|
|
val n_functions : t -> int
|
|
|
|
val zkey_array : kind -> Zkey.t array
|
|
|
|
(* Shell functions:1 ends here *)
|
2018-02-24 23:57:38 +01:00
|
|
|
|
2020-12-26 01:47:55 +01:00
|
|
|
(* Arithmetic *)
|
2018-02-24 23:57:38 +01:00
|
|
|
|
2018-03-14 21:58:55 +01:00
|
|
|
|
2020-12-28 01:55:03 +01:00
|
|
|
(* [[file:~/QCaml/common/angular_momentum.org::*Arithmetic][Arithmetic:1]] *)
|
2018-03-14 21:58:55 +01:00
|
|
|
val ( + ) : t -> t -> t
|
|
|
|
val ( - ) : t -> t -> t
|
2020-12-26 01:47:55 +01:00
|
|
|
(* Arithmetic:1 ends here *)
|
2018-03-14 21:58:55 +01:00
|
|
|
|
2020-12-26 01:47:55 +01:00
|
|
|
(* Printers
|
|
|
|
*
|
2020-12-27 23:08:12 +01:00
|
|
|
* Printers can print as a string (default) or as an integer. *)
|
2018-03-15 15:25:49 +01:00
|
|
|
|
|
|
|
|
2020-12-28 01:55:03 +01:00
|
|
|
(* [[file:~/QCaml/common/angular_momentum.org::*Printers][Printers:1]] *)
|
2020-12-27 23:08:12 +01:00
|
|
|
val pp : Format.formatter -> t -> unit
|
2020-12-26 01:47:55 +01:00
|
|
|
val pp_string : Format.formatter -> t -> unit
|
2020-12-27 23:08:12 +01:00
|
|
|
val pp_int : Format.formatter -> t -> unit
|
2020-12-26 01:47:55 +01:00
|
|
|
(* Printers:1 ends here *)
|