mirror of
https://github.com/LCPQ/quantum_package
synced 2024-11-18 03:53:56 +01:00
33 lines
690 B
OCaml
33 lines
690 B
OCaml
open Core.Std;;
|
|
|
|
type t =
|
|
| Guess
|
|
| Canonical
|
|
| Natural
|
|
| Localized
|
|
| Orthonormalized
|
|
| None
|
|
with sexp
|
|
;;
|
|
|
|
let to_string = function
|
|
| Guess -> "Guess"
|
|
| Canonical -> "Canonical"
|
|
| Orthonormalized -> "Orthonormalized"
|
|
| Natural -> "Natural"
|
|
| Localized -> "Localized"
|
|
| None -> "None"
|
|
;;
|
|
|
|
let of_string s =
|
|
match String.lowercase (String.strip s) with
|
|
| "guess" -> Guess
|
|
| "canonical" -> Canonical
|
|
| "natural" -> Natural
|
|
| "localized" -> Localized
|
|
| "orthonormalized" -> Orthonormalized
|
|
| "none" -> None
|
|
| _ -> (print_endline s ; failwith "MO_label should be one of:
|
|
Guess | Orthonormalized | Canonical | Natural | Localized | None.")
|
|
;;
|