open Qptypes;; open Qputils;; open Core.Std;; module Electrons : sig type t = { elec_alpha_num : Elec_alpha_number.t; elec_beta_num : Elec_beta_number.t; elec_num : Elec_number.t; } ;; val read : unit -> t val to_string : t -> string end = struct type t = { elec_alpha_num : Elec_alpha_number.t; elec_beta_num : Elec_beta_number.t; elec_num : Elec_number.t; } ;; let get_default = Qpackage.get_ezfio_default "electrons";; let read_elec_alpha_num() = Ezfio.get_electrons_elec_alpha_num () |> Elec_alpha_number.of_int ;; let read_elec_beta_num() = Ezfio.get_electrons_elec_beta_num () |> Elec_beta_number.of_int ;; let read_elec_num () = let na = Ezfio.get_electrons_elec_alpha_num () and nb = Ezfio.get_electrons_elec_beta_num () in assert (na >= nb); Elec_number.of_int (na + nb) ;; let read () = { elec_alpha_num = read_elec_alpha_num (); elec_beta_num = read_elec_beta_num (); elec_num = read_elec_num (); } ;; let to_string b = Printf.sprintf " elec_alpha_num = %s elec_beta_num = %s elec_num = %s " (Elec_alpha_number.to_string b.elec_alpha_num) (Elec_beta_number.to_string b.elec_beta_num) (Elec_number.to_string b.elec_num) end