Revision 128cc5eed366a5a3f6c33b70a81379c1b1ca8688 authored by Matthias Templ on 16 August 2010, 18:42:55 UTC, committed by cran-robot on 16 August 2010, 18:42:55 UTC
1 parent 4c9961a
robCompositions.c
#include <R.h>
#include <math.h>
void da(double *matOrig, double *matImp, int *dims, double *rowDists, double *distance) {
int rows = dims[0];
int cols = dims[1];
/* double result; */
/* int N = rows * cols; */
int i, j, k;
/* float erg; */
/*Fuer alle Zeilen */
for (i=0; i < rows; i++) {
rowDists[i] = 0.0;
/* ueber die entsprechenden Spalten */
for (j=(i*cols); j < (i*cols)+cols-1; j++) {
for (k=j+1; k < (i*cols)+cols; k++){
rowDists[i] = rowDists[i] + pow((log(matOrig[j]/matOrig[k]) - log(matImp[j]/matImp[k])),2);
}
}
/* Gesamtdistanz aufsummieren */
distance[0] = distance[0] + sqrt(rowDists[i]/cols);
}
/*result = distance[rows];
return result; */
/* return distance[rows]; das funkt leider nicht, brauche nur einen Wert zurueckgeben! */
}

Computing file changes ...