#include <stdio.h>
#include <stdlib.h>
#include "libfixmatrix-master\fixmatrix.h"
int main ()
{
int i, j, c, d, k;
fix16_t sum;
fix16_t minAbsCos;
fix16_t mixedmean[DIM];
fix16_t mixedsigTrans[NUMOFSAMPLES][DIM];
fix16_t eigenvalues[DIM];
fix16_t whitesig[DIM][NUMOFSAMPLES];
fix16_t whitesigTrans[NUMOFSAMPLES][DIM];
mf16 covarianceMatrix = {DIM, DIM, 0, {{0,0,0},
{0,0,0},
{0,0,0}}};
mf16 *ptr_covarianceMatrix;
ptr_covarianceMatrix = &covarianceMatrix;
mf16 identity = {DIM, DIM, 0, {{fix16_from_int(1),0,0},
{0,fix16_from_int(1),0},
{0,0,fix16_from_int(1)}}};
mf16 *ptr_identity;
ptr_identity = &identity;
mf16 sqrtD = {DIM, DIM, 0, {{0,0,0},
{0,0,0},
{0,0,0}}};
mf16 *ptr_sqrtD;
ptr_sqrtD = &sqrtD;
mf16 inv_eigenvectors = {DIM, DIM, 0, {{0,0,0},
{0,0,0},
{0,0,0}}};
mf16 *ptr_inv_eigenvectors;
ptr_inv_eigenvectors = &inv_eigenvectors;
mf16 eigenvectors = {DIM, DIM, 0, {{0,0,0},
{0,0,0},
{0,0,0}}};
mf16 *ptr_eigenvectors;
ptr_eigenvectors = &eigenvectors;
mf16 whiteningMatrix = {DIM, DIM, 0, {{0,0,0},
{0,0,0},
{0,0,0}}};
mf16 *ptr_whiteningMatrix;
ptr_whiteningMatrix = &whiteningMatrix;
mf16 Bold = {DIM, DIM, 0, {{0,0,0},
{0,0,0},
{0,0,0}}};
mf16 *ptr_Bold;
ptr_Bold = &Bold;
mf16 tempMatrixOne = {DIM, DIM, 0, {{fix16_from_int(1),0,0},
{0,fix16_from_int(1),0},
{0,0,fix16_from_int(1)}}};
mf16 *ptr_tempMatrixOne;
ptr_tempMatrixOne = &tempMatrixOne;
mf16 tempMatrixTwo = {DIM, DIM, 0, {{0,0,0},
{0,0,0},
{0,0,0}}};
mf16 *ptr_tempMatrixTwo;
ptr_tempMatrixTwo = &tempMatrixTwo;
mf16 Btranspose = {DIM, DIM, 0, {{0,0,0},
{0,0,0},
{0,0,0}}};
mf16 *ptr_Btranspose;
ptr_Btranspose = &Btranspose;
mf16 Bnew = {DIM, DIM, 0, {{0,0,0},
{0,0,0},
{0,0,0}}};
mf16 *ptr_Bnew;
ptr_Bnew = &Bnew;
mf16 inv_Bnew = {DIM, DIM, 0, {{0,0,0},
{0,0,0},
{0,0,0}}};
mf16 *ptr_inv_Bnew;
ptr_inv_Bnew = &inv_Bnew;
mf16 B = {DIM, DIM, 0,{{fix16_from_int(rand()%16384),fix16_from_int(rand()%16384),fix16_from_int(rand()%16384)},
{fix16_from_int(rand()%16384),fix16_from_int(rand()%16384),fix16_from_int(rand()%16384)},
{fix16_from_int(rand()%16384),fix16_from_int(rand()%16384),fix16_from_int(rand()%16384)}}};
mf16 *ptr_B;
ptr_B = &B;
mf16 q;
mf16 *ptr_q;
ptr_q = &q;
mf16 r;
mf16 *ptr_r;
ptr_r = &r;