Revision 1cc05f63437c1a519a5bdc24b3cc669980d81d48 authored by Charles J. Geyer on 13 May 2019, 18:20:03 UTC, committed by cran-robot on 13 May 2019, 18:20:03 UTC
1 parent 7016e6b
asttrans.c
#include "aster.h"
void aster_theta2phi(int *nindin, int *nnodein, int *pred, int *fam,
double *theta, double *phi)
{
int nind = nindin[0];
int nnode = nnodein[0];
int i, j, k, jfam, jbase, kbase;
aster_check_model(nindin, nnodein, pred, fam);
for (i = 0; i < nind * nnode; ++i)
phi[i] = theta[i];
/* j and k are 1-origin indexing */
for (j = nnode; j > 0; --j) {
k = pred[j - 1];
jfam = fam[j - 1];
if (k > 0) {
jbase = nind * (j - 1);
kbase = nind * (k - 1);
for (i = 0; i < nind; ++i) {
int zero = 0;
double foo;
aster_family(&jfam, &zero, &theta[jbase + i], &foo);
phi[kbase + i] -= foo;
}
}
}
}
Computing file changes ...