diff options
author | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2016-05-11 19:10:10 +0100 |
---|---|---|
committer | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2016-05-11 19:13:03 +0100 |
commit | 96d616052b3d39678e477fa10610ca688f46fff9 (patch) | |
tree | 8bd31d06318bc786ea8f1d84f92090c9c860bc11 /libavutil/pca.c | |
parent | 27506aceda8115f82f89691a4441d62a8cf24a6e (diff) | |
parent | d12b5b2f135aade4099f4b26b0fe678656158c13 (diff) | |
download | ffmpeg-96d616052b3d39678e477fa10610ca688f46fff9.tar.gz |
Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13'
* commit 'd12b5b2f135aade4099f4b26b0fe678656158c13':
build: Split test programs off into separate files
Some conversions done by: James Almer <jamrial@gmail.com>
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Diffstat (limited to 'libavutil/pca.c')
-rw-r--r-- | libavutil/pca.c | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/libavutil/pca.c b/libavutil/pca.c index 1d88ff300a..4e52c7b362 100644 --- a/libavutil/pca.c +++ b/libavutil/pca.c @@ -171,86 +171,3 @@ int ff_pca(PCA *pca, double *eigenvector, double *eigenvalue){ return -1; } - -#ifdef TEST - -#undef printf -#include <stdio.h> -#include <stdlib.h> -#include "lfg.h" - -int main(void){ - PCA *pca; - int i, j, k; -#define LEN 8 - double eigenvector[LEN*LEN]; - double eigenvalue[LEN]; - AVLFG prng; - - av_lfg_init(&prng, 1); - - pca= ff_pca_init(LEN); - - for(i=0; i<9000000; i++){ - double v[2*LEN+100]; - double sum=0; - int pos = av_lfg_get(&prng) % LEN; - int v2 = av_lfg_get(&prng) % 101 - 50; - v[0] = av_lfg_get(&prng) % 101 - 50; - for(j=1; j<8; j++){ - if(j<=pos) v[j]= v[0]; - else v[j]= v2; - sum += v[j]; - } -/* for(j=0; j<LEN; j++){ - v[j] -= v[pos]; - }*/ -// sum += av_lfg_get(&prng) % 10; -/* for(j=0; j<LEN; j++){ - v[j] -= sum/LEN; - }*/ -// lbt1(v+100,v+100,LEN); - ff_pca_add(pca, v); - } - - - ff_pca(pca, eigenvector, eigenvalue); - for(i=0; i<LEN; i++){ - pca->count= 1; - pca->mean[i]= 0; - -// (0.5^|x|)^2 = 0.5^2|x| = 0.25^|x| - - -// pca.covariance[i + i*LEN]= pow(0.5, fabs - for(j=i; j<LEN; j++){ - printf("%f ", pca->covariance[i + j*LEN]); - } - printf("\n"); - } - - for(i=0; i<LEN; i++){ - double v[LEN]; - double error=0; - memset(v, 0, sizeof(v)); - for(j=0; j<LEN; j++){ - for(k=0; k<LEN; k++){ - v[j] += pca->covariance[FFMIN(k,j) + FFMAX(k,j)*LEN] * eigenvector[i + k*LEN]; - } - v[j] /= eigenvalue[i]; - error += fabs(v[j] - eigenvector[i + j*LEN]); - } - printf("%f ", error); - } - printf("\n"); - - for(i=0; i<LEN; i++){ - for(j=0; j<LEN; j++){ - printf("%9.6f ", eigenvector[i + j*LEN]); - } - printf(" %9.1f %f\n", eigenvalue[i], eigenvalue[i]/eigenvalue[0]); - } - - return 0; -} -#endif |