<commit_before>#include <phypp.hpp>

int main(int argc, char* argv[]) {
    // Initialization
    // --------------
    double ra0 = 53.558750;
    double dec0 = -27.176001;
    double area = 0.08;
    double mmin = 7.0;
    double mmax = 12.0;
    double maglim = dnan;
    double zmin = 0.01;
    double zmax = 8.0;
    double min_dz = 0.05;
    double bin_dz = 0.1;
    double bin_dm = 0.05;

    double ms_disp = 0.3;

    bool no_pos = false;
    bool no_clust = false;
    bool no_opt_flux = false;
    bool no_opt_sed = false;
    bool no_ir_flux = false;

    std::string mass_func_file = "mass_func.fits";
    std::string ir_lib_file = "ir_lib_ce01.fits";
    std::string opt_lib_file = "opt_lib_fast.fits";
    std::string out_file = "";
    std::string filter_db_file = data_dir+"fits/filter-db/db.dat";

    uint_t tseed = 42;
    std::string tcosmo = "std";
    bool verbose = false;

    std::string selection_band = "f160w";
    vec1s bands = {"vimos_u", "f435w", "f606w", "f775w", "f814w", "f850lp",
        "f105w", "f125w", "f140w", "f160w", "hawki_Ks", "i1", "i2", "i3", "i4",
        "irs1", "m1", "p1", "p2", "p3", "s1", "s2", "s3"};

    // Read command line arguments
    // ---------------------------
    read_args(argc, argv, arg_list(
        ra0, dec0, area, mmin, maglim, zmin, zmax, name(bin_dz, "dz"), min_dz,
        ms_disp, no_pos, no_clust, no_opt_sed, no_opt_flux, no_ir_flux,
        name(mass_func_file, "mass_func"),
        name(ir_lib_file, "ir_lib"), name(opt_lib_file, "opt_lib"),
        name(out_file, "out"), name(filter_db_file, "filter_db"),
        verbose, name(tseed, "seed"), name(tcosmo, "cosmo"),
        selection_band, bands
    ));

    if (no_opt_sed) no_opt_flux = true;

    // Initialize random seed and cosmology
    // ------------------------------------
    auto seed = make_seed(tseed);
    auto cosmo = get_cosmo(tcosmo);
<commit_msg>Added 'dm' option to gencat<commit_after>#include <phypp.hpp>

int main(int argc, char* argv[]) {
    // Initialization
    // --------------
    double ra0 = 53.558750;
    double dec0 = -27.176001;
    double area = 0.08;
    double mmin = 7.0;
    double mmax = 12.0;
    double maglim = dnan;
    double zmin = 0.01;
    double zmax = 8.0;
    double min_dz = 0.05;
    double bin_dz = 0.1;
    double bin_dm = 0.05;

    double ms_disp = 0.3;

    bool no_pos = false;
    bool no_clust = false;
    bool no_opt_flux = false;
    bool no_opt_sed = false;
    bool no_ir_flux = false;

    std::string mass_func_file = "mass_func.fits";
    std::string ir_lib_file = "ir_lib_ce01.fits";
    std::string opt_lib_file = "opt_lib_fast.fits";
    std::string out_file = "";
    std::string filter_db_file = data_dir+"fits/filter-db/db.dat";

    uint_t tseed = 42;
    std::string tcosmo = "std";
    bool verbose = false;

    std::string selection_band = "f160w";
    vec1s bands = {"vimos_u", "f435w", "f606w", "f775w", "f814w", "f850lp",
        "f105w", "f125w", "f140w", "f160w", "hawki_Ks", "i1", "i2", "i3", "i4",
        "irs1", "m1", "p1", "p2", "p3", "s1", "s2", "s3"};

    // Read command line arguments
    // ---------------------------
    read_args(argc, argv, arg_list(
        ra0, dec0, area, mmin, maglim, zmin, zmax, name(bin_dz, "dz"), min_dz,
        name(bin_dm, "dm"), ms_disp,
        no_pos, no_clust, no_opt_sed, no_opt_flux, no_ir_flux,
        name(mass_func_file, "mass_func"),
        name(ir_lib_file, "ir_lib"), name(opt_lib_file, "opt_lib"),
        name(out_file, "out"), name(filter_db_file, "filter_db"),
        verbose, name(tseed, "seed"), name(tcosmo, "cosmo"),
        selection_band, bands
    ));

    if (no_opt_sed) no_opt_flux = true;

    // Initialize random seed and cosmology
    // ------------------------------------
    auto seed = make_seed(tseed);
    auto cosmo = get_cosmo(tcosmo);

{'fraction_non_alphanumeric': 0.18834547346514047, 'fraction_numerical': 0.046826222684703434, 'mean_word_length': 2.454627133872417, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5640546', 'n_tokens_mistral': 1598, 'n_tokens_neox': 1458, 'n_words': 336}