summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/c/matrixOperations/toeplitz/ctoeplitza.c6
-rw-r--r--src/c/matrixOperations/toeplitz/ztoeplitza.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/src/c/matrixOperations/toeplitz/ctoeplitza.c b/src/c/matrixOperations/toeplitz/ctoeplitza.c
index 048a367..56c3ef8 100644
--- a/src/c/matrixOperations/toeplitz/ctoeplitza.c
+++ b/src/c/matrixOperations/toeplitz/ctoeplitza.c
@@ -9,14 +9,14 @@
void ctoeplitza(floatComplex* inp1,int size1,floatComplex* inp2,int size2,floatComplex* oup)
{
- if (inp1[0]!=inp2[0])
+ if ((creals(inp1[0])!=creals(inp2[0]))&&(cimags(inp1[0])!=cimags(inp2[0])))
{
printf("Error!The first elements of the Vectors are not equal."); // First element of both input vectors must be equal for Toeplitz.
return;
}
int i, j;
- for(i=0;i<size1*size2;i++) oup[i] = 0; // Initializing the output matrix with zeros.
+ for(i=0;i<size1*size2;i++) oup[i] = FloatComplex(0,0); // Initializing the output matrix with zeros.
for (i = 0; i<size1; i++)
{
@@ -28,7 +28,7 @@ void ctoeplitza(floatComplex* inp1,int size1,floatComplex* inp2,int size2,floatC
}
for (i = size2+1; i<size1*size2; i++) // Loop to build the rest of the Toeplitz matrix.
{
- if (oup[i] == 0)
+ if (creals(oup[i]) == 0 && cimags(oup[i]) == 0)
oup[i] = oup[i-size2-1];
}
}
diff --git a/src/c/matrixOperations/toeplitz/ztoeplitza.c b/src/c/matrixOperations/toeplitz/ztoeplitza.c
index d47c5e1..117f818 100644
--- a/src/c/matrixOperations/toeplitz/ztoeplitza.c
+++ b/src/c/matrixOperations/toeplitz/ztoeplitza.c
@@ -11,14 +11,14 @@
void ztoeplitza(doubleComplex* inp1,int size1,doubleComplex* inp2,int size2,doubleComplex* oup)
{
- if (inp1[0]!=inp2[0])
+ if ((zreals(inp1[0])!=zreals(inp2[0]))&&(zimags(inp1[0])!=zimags(inp2[0])))
{
printf("Error!The first elements of the Vectors are not equal."); // First element of both input vectors must be equal for Toeplitz.
return;
}
int i, j;
- for(i=0;i<size1*size2;i++) oup[i] = DoubleComplex(0,0); // Initializing the output matrix with zeros.
+ for(i=0;i<size1*size2;i++) oup[i] = 0; // Initializing the output matrix with zeros.
for (i = 0; i<size1; i++)
{
@@ -30,7 +30,7 @@ void ztoeplitza(doubleComplex* inp1,int size1,doubleComplex* inp2,int size2,doub
}
for (i = size2+1; i<size1*size2; i++) // Loop to build the rest of the Toeplitz matrix.
{
- if (oup[i] == DoubleComplex(0,0))
+ if (zreals(oup[i]) == 0 && zimags(oup[i]) == 0)
oup[i] = oup[i-size2-1];
}
}