https://github.com/cran/aster
Raw File
Tip revision: e8f9868283e0c287fd20188c825d2960dead0eba authored by Charles J. Geyer on 01 August 2006, 00:00:00 UTC
version 0.6-2
Tip revision: e8f9868
asttrans7.c

#include "aster.h"

void aster_ctau2tau(int *nindin, int *nnodein, int *pred, int *fam,
    double *root, double *ctau, double *tau)
{
    int nind = nindin[0];
    int nnode = nnodein[0];

    int i, j, k, jfam, jbase, kbase;

    aster_check_model_root(nindin, nnodein, pred, fam, root);

    /* j and k are 1-origin indexing */
    for (j = 1; j <= nnode; ++j) {
        k = pred[j - 1];
        jfam = fam[j - 1];
        jbase = nind * (j - 1);
        kbase = nind * (k - 1);
        for (i = 0; i < nind; ++i) {
            double foo = ctau[jbase + i];
            if (k > 0)
                foo *= tau[kbase + i];
            else
                foo *= root[jbase + i];
            tau[jbase + i] = foo;
        }
    }
}

back to top