Ejemplo n.º 1
0
END_TEST

START_TEST (test_cumulative_frequency_of_int_partitions_by_k_n3) {
    double e, ep;
    e = 0.000001;
    int n, tp, i;
    d_array * probs;
    probs = init_d_array(1);
    n = 3;
    tp = cumulative_frequency_of_int_partitions_by_k(n, probs);
    ep = 1.0;
    ck_assert_msg((almost_equal(tp, ep, e) != 0),
            "total probability is %lf, not %lf", tp, ep);
    ck_assert_int_eq(probs->length, n);
    i = 0; ep = 0.333333333;
    ck_assert_msg((almost_equal(get_d_array(probs, i), ep, e) != 0),
            "cat %d has probability is %lf, not %lf",
            i+1, get_d_array(probs, i), ep);
    i = 1; ep = 0.666666666;
    ck_assert_msg((almost_equal(get_d_array(probs, i), ep, e) != 0),
            "cat %d has probability is %lf, not %lf",
            i+1, get_d_array(probs, i), ep);
    i = 2; ep = 1.0;
    ck_assert_msg((almost_equal(get_d_array(probs, i), ep, e) != 0),
            "cat %d has probability is %lf, not %lf",
            i+1, get_d_array(probs, i), ep);
    free_d_array(probs);
}
Ejemplo n.º 2
0
END_TEST

START_TEST (test_frequency_of_int_partitions_by_k_n0) {
    int n, tp;
    d_array * probs;
    probs = init_d_array(1);
    n = 0;
    tp = frequency_of_int_partitions_by_k(n, probs); // SIGABRT
    free_d_array(probs);
}
Ejemplo n.º 3
0
END_TEST

START_TEST (test_summarize_stat_samples_p1_n4_missing_cell) {
    int i;
    s_array * paths;
    s_array * paths_used;
    c_array * line_buffer;
    i_array * stat_indices;
    sample_sum_array * ss_array;
    d_array * means;
    d_array * std_devs;
    d_array * exp_means;
    d_array * exp_std_devs;
    int num_to_sample;
    int expected_num_cols;
    expected_num_cols = 6;
    num_to_sample = 4;
    paths = init_s_array(1);
    paths_used = init_s_array(1);
    line_buffer = init_c_array(1023);
    stat_indices = init_i_array(4);
    ss_array = init_sample_sum_array(4);
    means = init_d_array(1);
    std_devs = init_d_array(1);
    exp_means = init_d_array(1);
    exp_std_devs = init_d_array(1);
    append_s_array(paths, "data/test_parameter_stat_samples.missing_cell.txt");
    for (i = 2; i < expected_num_cols; i++) {
        append_i_array(stat_indices, i);
    }
    summarize_stat_samples(paths, line_buffer, stat_indices, ss_array, means,
            std_devs, num_to_sample, expected_num_cols, paths_used); // exit(1)
    free_s_array(paths);
    free_s_array(paths_used);
    free_c_array(line_buffer);
    free_i_array(stat_indices);
    free_sample_sum_array(ss_array);
    free_d_array(means);
    free_d_array(std_devs);
    free_d_array(exp_means);
    free_d_array(exp_std_devs);
}
Ejemplo n.º 4
0
END_TEST

START_TEST (test_d_arrays_equal) {
    int size, ret;
    d_array * v1;
    d_array * v2;
    double s = 1.0;
    double e = 0.0000001;
    size = 3;
    v1 = init_d_array(size);
    v2 = init_d_array(size);
    ret = d_arrays_equal(v1, v2, e);
    ck_assert_msg((ret != 0), "`d_array`s not equal, but should be");
    append_d_array(v1, s);
    ret = d_arrays_equal(v1, v2, e);
    ck_assert_msg((ret == 0), "`d_array`s equal, but should not be");
    append_d_array(v2, s);
    ret = d_arrays_equal(v1, v2, e);
    ck_assert_msg((ret != 0), "`d_array`s not equal, but should be");
    s = 2.0;
    append_d_array(v1, s);
    ret = d_arrays_equal(v1, v2, e);
    ck_assert_msg((ret == 0), "`d_array`s equal, but should not be");
    append_d_array(v2, s);
    ret = d_arrays_equal(v1, v2, e);
    ck_assert_msg((ret != 0), "`d_array`s not equal, but should be");
    append_d_array(v1, s);
    ret = d_arrays_equal(v1, v2, e);
    ck_assert_msg((ret == 0), "`d_array`s equal, but should not be");
    s = 3.0;
    append_d_array(v2, s);
    ret = d_arrays_equal(v1, v2, e);
    ck_assert_msg((ret == 0), "`d_array`s equal, but should not be");
    free_d_array(v1);
    free_d_array(v2);
}
Ejemplo n.º 5
0
END_TEST

START_TEST (test_expand_d_array) {
    int i, size;
    d_array * v;
    size = 1;
    v = init_d_array(size);
    ck_assert_int_eq(v->capacity, size);
    ck_assert_int_eq(v->length, 0);
    for (i = 0; i < 5; i++) {
        expand_d_array(v);
        size *= 2;
        ck_assert_int_eq(v->capacity, size);
        ck_assert_int_eq(v->length, 0);
    }
    free_d_array(v);
}
Ejemplo n.º 6
0
END_TEST

START_TEST (test_frequency_of_int_partitions_by_k_n7) {
    double e, ep;
    e = 0.000001;
    int n, tp, i, ip;
    d_array * probs;
    probs = init_d_array(1);
    n = 7;
    tp = frequency_of_int_partitions_by_k(n, probs);
    ep = 1.0;
    ip = 15;
    ck_assert_msg((almost_equal(tp, ep, e) != 0),
            "total probability is %lf, not %lf", tp, ep);
    ck_assert_int_eq(probs->length, n);
    i = 0; ep = 1/(double)ip;
    ck_assert_msg((almost_equal(get_d_array(probs, i), ep, e) != 0),
            "cat %d has probability is %lf, not %lf",
            i+1, get_d_array(probs, i), ep);
    i = 1; ep = 3/(double)ip;
    ck_assert_msg((almost_equal(get_d_array(probs, i), ep, e) != 0),
            "cat %d has probability is %lf, not %lf",
            i+1, get_d_array(probs, i), ep);
    i = 2; ep = 4/(double)ip;
    ck_assert_msg((almost_equal(get_d_array(probs, i), ep, e) != 0),
            "cat %d has probability is %lf, not %lf",
            i+1, get_d_array(probs, i), ep);
    i = 3; ep = 3/(double)ip;
    ck_assert_msg((almost_equal(get_d_array(probs, i), ep, e) != 0),
            "cat %d has probability is %lf, not %lf",
            i+1, get_d_array(probs, i), ep);
    i = 4; ep = 2/(double)ip;
    ck_assert_msg((almost_equal(get_d_array(probs, i), ep, e) != 0),
            "cat %d has probability is %lf, not %lf",
            i+1, get_d_array(probs, i), ep);
    i = 5; ep = 1/(double)ip;
    ck_assert_msg((almost_equal(get_d_array(probs, i), ep, e) != 0),
            "cat %d has probability is %lf, not %lf",
            i+1, get_d_array(probs, i), ep);
    i = 6; ep = 1/(double)ip;
    ck_assert_msg((almost_equal(get_d_array(probs, i), ep, e) != 0),
            "cat %d has probability is %lf, not %lf",
            i+1, get_d_array(probs, i), ep);
    free_d_array(probs);
}
Ejemplo n.º 7
0
void free_vcs_memory( void )
{
  if(tmole){free_d_array(tmole, 0); tmole = NULL;};
  if(tinert){free_d_array(tinert, 0); tinert = NULL;}
  if(delta_mole){free_d_array(delta_mole, 0); delta_mole = NULL;}
  if(tmole1){free_d_array(tmole1, 0); tmole1 = NULL;}
  if(w){free_d_array(w, 0); w = NULL;}
  if(wt){free_d_array(wt, 0); wt = NULL;}
  if(fel){free_d_array(fel, 0); fel = NULL;}
  if(fe){free_d_array(fe, 0); fe = NULL;}
  if(initial_chem_pot){free_d_array(initial_chem_pot, 0); initial_chem_pot = NULL;}
  if(ff){free_d_array(ff, 0); ff = NULL;}
  if(ds){free_d_array(ds, 0); ds = NULL;}
  if(dg){free_d_array(dg, 0); dg = NULL;}
  if(da){free_d_array(da, 0); da = NULL;}
  if(aw){free_d_array(aw, 0); aw = NULL;}
  if(ga){free_d_array(ga, 0); ga = NULL;}
  if(gai){free_d_array(gai, 0); gai = NULL;}
  if(sa){free_d_array(sa, 0); sa = NULL;}
  if(ss){free_d_array(ss, 0); ss = NULL;}
  if(sc){free_d_matrix(sc, MAXELEMENT+2, MAXSPECIE+MAXELEMENT, 0, 0 ); sc = NULL;}
  if(bm){free_d_matrix(bm, MAXSPECIE, MAXELEMENT, 0, 0 ); bm = NULL;}
  if(d_mole){free_d_matrix(d_mole, MAXPHASE, MAXSPECIE, 0, 0 ); d_mole = NULL;}
  if(sm){free_d_matrix( sm, MAXELEMENT, MAXSPECIE, 0, 0 ); sm = NULL;}
}
Ejemplo n.º 8
0
END_TEST

START_TEST (test_reject_p2_n3_c4) {
    int i;
    s_array * paths;
    c_array * line_buffer;
    i_array * stat_indices;
    d_array * obs_stats;
    d_array * means;
    d_array * std_devs;
    s_array * header;
    sample_array * samples;
    int num_to_retain;
    num_to_retain = 3;
    paths = init_s_array(1);
    line_buffer = init_c_array(1023);
    stat_indices = init_i_array(4);
    means = init_d_array(1);
    std_devs = init_d_array(1);
    obs_stats = init_d_array(1);
    header = init_s_array(1);
    append_s_array(paths, "data/test_parameter_stat_samples4.txt");
    append_s_array(paths, "data/test_parameter_stat_samples.txt");
    parse_header(get_s_array(paths, 0), line_buffer, header);
    for (i = 2; i < header->length; i++) {
        append_i_array(stat_indices, i);
    }
    append_d_array(obs_stats, 0.1);
    append_d_array(obs_stats, 0.21);
    append_d_array(obs_stats, 1.0);
    append_d_array(obs_stats, 2.0);
    append_d_array(means, 0.25);
    append_d_array(means, 0.2225);
    append_d_array(means, 2.5);
    append_d_array(means, 3.0);
    append_d_array(std_devs, 0.1290994);
    append_d_array(std_devs, 0.009574271);
    append_d_array(std_devs, 1.290994);
    append_d_array(std_devs, 1.154701);
    standardize_vector(obs_stats, means, std_devs);
    samples = reject(paths, line_buffer, stat_indices, obs_stats, means,
            std_devs, num_to_retain, header);
    ck_assert_int_eq(samples->length, num_to_retain);
    ck_assert_int_eq(samples->capacity, num_to_retain);
    ck_assert_msg((almost_equal(samples->a[0]->distance, 0.0, 0.000001)),
            "euclidean distance was %lf, expected %lf",
            samples->a[0]->distance, 0.0);
    ck_assert_msg((almost_equal(samples->a[1]->distance, 0.130035, 0.000001)),
            "euclidean distance was %lf, expected %lf",
            samples->a[1]->distance, 0.130035);
    ck_assert_msg((almost_equal(samples->a[2]->distance, 0.1433004, 0.000001)),
            "euclidean distance was %lf, expected %lf",
            samples->a[2]->distance, 0.1433004);
    free_s_array(paths);
    free_c_array(line_buffer);
    free_i_array(stat_indices);
    free_d_array(obs_stats);
    free_sample_array(samples);
    free_d_array(means);
    free_d_array(std_devs);
    free_s_array(header);
}
Ejemplo n.º 9
0
END_TEST

START_TEST (test_summarize_stat_samples_p2_n4) {
    int i;
    s_array * paths;
    s_array * paths_used;
    c_array * line_buffer;
    i_array * stat_indices;
    sample_sum_array * ss_array;
    d_array * means;
    d_array * std_devs;
    d_array * exp_means;
    d_array * exp_std_devs;
    int num_to_sample;
    int expected_num_cols;
    expected_num_cols = 6;
    num_to_sample = 4;
    paths = init_s_array(1);
    paths_used = init_s_array(1);
    line_buffer = init_c_array(1023);
    stat_indices = init_i_array(4);
    ss_array = init_sample_sum_array(4);
    means = init_d_array(1);
    std_devs = init_d_array(1);
    exp_means = init_d_array(1);
    exp_std_devs = init_d_array(1);
    append_s_array(paths, "data/test_parameter_stat_samples.txt");
    append_s_array(paths, "data/test_parameter_stat_samples2.txt");
    for (i = 2; i < expected_num_cols; i++) {
        append_i_array(stat_indices, i);
    }
    summarize_stat_samples(paths, line_buffer, stat_indices, ss_array, means,
            std_devs, num_to_sample, expected_num_cols, paths_used);
    ck_assert_int_eq(means->length, stat_indices->length);
    ck_assert_int_eq(std_devs->length, stat_indices->length);
    ck_assert_int_eq(ss_array->a[0]->n, num_to_sample);
    ck_assert_int_eq(paths_used->length, 1);
    ck_assert_msg((*get_s_array(paths, 0) == *get_s_array(paths_used, 0)),
            "paths used do not match input paths");
    append_d_array(exp_means, 0.25);
    append_d_array(exp_means, 0.2225);
    append_d_array(exp_means, 2.5);
    append_d_array(exp_means, 3.0);
    append_d_array(exp_std_devs, 0.1290994);
    append_d_array(exp_std_devs, 0.009574271);
    append_d_array(exp_std_devs, 1.290994);
    append_d_array(exp_std_devs, 1.154701);
    ck_assert_msg((d_arrays_equal(means, exp_means, 0.000001) != 0),
            "unexpected means");
    ck_assert_msg((d_arrays_equal(std_devs, exp_std_devs, 0.000001) != 0),
            "unexpected std deviations");
    free_s_array(paths);
    free_s_array(paths_used);
    free_c_array(line_buffer);
    free_i_array(stat_indices);
    free_sample_sum_array(ss_array);
    free_d_array(means);
    free_d_array(std_devs);
    free_d_array(exp_means);
    free_d_array(exp_std_devs);
}