Exemple #1
0
/*!
 * \param[in]     top   Topology data structure.
 * \param[in,out] out   Pointer to output data structure.
 * \param[in,out] data  Should point to \c t_methoddata_merge.
 */
static void
init_output_plus(t_topology *top, gmx_ana_selvalue_t *out, void *data)
{
    t_methoddata_merge *d = (t_methoddata_merge *)data;
    int                 i;

    init_output_common(top, out, data);
    for (i = 0; i < d->p1.count(); ++i)
    {
        gmx_ana_pos_append_init(out->u.p, &d->p1, i);
    }
    for (i = 0; i < d->p2.count(); ++i)
    {
        gmx_ana_pos_append_init(out->u.p, &d->p2, i);
    }
}
Exemple #2
0
/*!
 * \param[in]     top   Topology data structure.
 * \param[in,out] out   Pointer to output data structure.
 * \param[in,out] data  Should point to \c t_methoddata_merge.
 */
static void
init_output_merge(t_topology *top, gmx_ana_selvalue_t *out, void *data)
{
    t_methoddata_merge *d = (t_methoddata_merge *)data;
    int                 i, j;

    init_output_common(top, out, data);
    for (i = 0; i < d->p2.count(); ++i)
    {
        for (j = 0; j < d->stride; ++j)
        {
            gmx_ana_pos_append_init(out->u.p, &d->p1, d->stride * i + j);
        }
        gmx_ana_pos_append_init(out->u.p, &d->p2, i);
    }
}
Exemple #3
0
static void
init_output_permute(t_topology * /* top */, gmx_ana_selvalue_t *out, void *data)
{
    t_methoddata_permute *d = (t_methoddata_permute *)data;
    int                   i, j, b;

    out->u.p->m.type = d->p.m.type;
    gmx_ana_pos_reserve_for_append(out->u.p, d->p.count(), d->p.m.b.nra,
                                   d->p.v != NULL, d->p.f != NULL);
    gmx_ana_pos_empty_init(out->u.p);
    for (i = 0; i < d->p.count(); i += d->n)
    {
        for (j = 0; j < d->n; ++j)
        {
            b = i + d->rperm[j];
            gmx_ana_pos_append_init(out->u.p, &d->p, b);
        }
    }
}
Exemple #4
0
/*!
 * \param[in]     top   Topology data structure.
 * \param[in,out] out   Pointer to output data structure.
 * \param[in,out] data  Should point to \c t_methoddata_permute.
 */
static void
init_output_permute(t_topology *top, gmx_ana_selvalue_t *out, void *data)
{
    t_methoddata_permute *d = (t_methoddata_permute *)data;
    int                   i, j, b;

    gmx_ana_pos_copy(out->u.p, &d->p, true);
    gmx_ana_pos_set_evalgrp(out->u.p, &d->g);
    d->g.isize = 0;
    gmx_ana_pos_empty_init(out->u.p);
    for (i = 0; i < d->p.nr; i += d->n)
    {
        for (j = 0; j < d->n; ++j)
        {
            b = i + d->rperm[j];
            gmx_ana_pos_append_init(out->u.p, &d->g, &d->p, b);
        }
    }
}