summaryrefslogtreecommitdiff
path: root/libavutil/pca.c
diff options
context:
space:
mode:
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>2016-05-11 19:10:10 +0100
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>2016-05-11 19:13:03 +0100
commit96d616052b3d39678e477fa10610ca688f46fff9 (patch)
tree8bd31d06318bc786ea8f1d84f92090c9c860bc11 /libavutil/pca.c
parent27506aceda8115f82f89691a4441d62a8cf24a6e (diff)
parentd12b5b2f135aade4099f4b26b0fe678656158c13 (diff)
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.c83
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