summaryrefslogtreecommitdiff
path: root/src/c/linearAlgebra/sqroot/dsqroota.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/linearAlgebra/sqroot/dsqroota.c')
-rw-r--r--src/c/linearAlgebra/sqroot/dsqroota.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/c/linearAlgebra/sqroot/dsqroota.c b/src/c/linearAlgebra/sqroot/dsqroota.c
index 1ba97268..d31d7cf2 100644
--- a/src/c/linearAlgebra/sqroot/dsqroota.c
+++ b/src/c/linearAlgebra/sqroot/dsqroota.c
@@ -19,6 +19,7 @@
#include "matrixTranspose.h"
#include "svd.h"
#include "matrixMultiplication.h"
+#include "min.h"
#define eps 2.22044604925e-16
@@ -33,14 +34,11 @@ void dsqroota(double *inp,int row,int col, double *out){
}
int i,j;
double *U,*S,*V;
- double *A,*B;
int rk;
U = (double *)malloc((double)row*row*sizeof(double));
- S = (double *)malloc((double)Min(row,col)*Min(row,col)*sizeof(double));
+ S = (double *)malloc((double)min(row,col)*min(row,col)*sizeof(double));
V = (double *)malloc((double)col*col*sizeof(double));
- A = (double *)malloc(rk*rk*sizeof(double));
- B = (double *)malloc(rk*row*sizeof(double));
double *Q1;
Q1 = (double *)malloc(row*col*sizeof(double));
@@ -88,6 +86,10 @@ void dsqroota(double *inp,int row,int col, double *out){
}
else{
rk = dsvda(0,inp,row,col,0,4,U,S,V);
+
+ double *A,*B;
+ A = (double *)malloc(rk*rk*sizeof(double));
+ B = (double *)malloc(rk*row*sizeof(double));
/*Will be used in complex numbers*/
//C = (double *)malloc(rk*row*sizeof(double));