diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/matrixOperations/includes/matrixTrace.h | 8 | ||||
-rw-r--r-- | src/matrixOperations/trace/ctracea.c | 5 | ||||
-rw-r--r-- | src/matrixOperations/trace/dtracea.c | 8 | ||||
-rw-r--r-- | src/matrixOperations/trace/stracea.c | 8 | ||||
-rw-r--r-- | src/matrixOperations/trace/testMatrixTrace.c | 8 | ||||
-rw-r--r-- | src/matrixOperations/trace/ztracea.c | 4 |
6 files changed, 21 insertions, 20 deletions
diff --git a/src/matrixOperations/includes/matrixTrace.h b/src/matrixOperations/includes/matrixTrace.h index b63ae180..cdab74d1 100644 --- a/src/matrixOperations/includes/matrixTrace.h +++ b/src/matrixOperations/includes/matrixTrace.h @@ -31,7 +31,7 @@ ** \param out : float scalar containing the trace. */ -void stracea ( float* in ,int lines, float* out ) ; +float stracea ( float* in ,int lines ) ; /* @@ -40,7 +40,7 @@ void stracea ( float* in ,int lines, float* out ) ; ** \param lines : number of lines ** \param out : double scalar containing the trace. */ -void dtracea ( double* in ,int lines, double* out ) ; +double dtracea ( double* in ,int lines ) ; /* ** \brief Compute the trace of a float complex matrix. @@ -48,7 +48,7 @@ void dtracea ( double* in ,int lines, double* out ) ; ** \param lines : number of lines ** \param out : float complex containing the trace. */ -void ctracea ( floatComplex* in ,int lines, floatComplex* out ) ; +floatComplex ctracea ( floatComplex* in ,int lines ) ; /* @@ -57,6 +57,6 @@ void ctracea ( floatComplex* in ,int lines, floatComplex* out ) ; ** \param lines : number of lines ** \param out : double complex containing the trace. */ -void ztracea ( doubleComplex* in ,int lines, doubleComplex* out ) ; +doubleComplex ztracea ( doubleComplex* in ,int lines ) ; #endif /* !__MATRICXTRACE_H__ */ diff --git a/src/matrixOperations/trace/ctracea.c b/src/matrixOperations/trace/ctracea.c index 28829cb5..75b0921e 100644 --- a/src/matrixOperations/trace/ctracea.c +++ b/src/matrixOperations/trace/ctracea.c @@ -12,7 +12,7 @@ #include "matrixTrace.h" -void ctracea ( floatComplex* in ,int lines, floatComplex* out ){ +floatComplex ctracea ( floatComplex* in ,int lines ){ int i = 0 ; @@ -25,7 +25,8 @@ void ctracea ( floatComplex* in ,int lines, floatComplex* out ){ iout += cimags (in[i*lines + i] ) ; } - *out = FloatComplex ( rout , iout ) ; + return FloatComplex ( rout , iout ) ; + } diff --git a/src/matrixOperations/trace/dtracea.c b/src/matrixOperations/trace/dtracea.c index 330064b1..4938776b 100644 --- a/src/matrixOperations/trace/dtracea.c +++ b/src/matrixOperations/trace/dtracea.c @@ -12,16 +12,16 @@ #include "matrixTrace.h" -void dtracea ( double* in ,int lines, double* out ){ +double dtracea ( double* in ,int lines){ int i = 0 ; - *out = 0 ; + double out = 0 ; for ( i = 0 ; i < lines ; ++i) - *out += in[i*lines + i] ; - + out += in[i*lines + i] ; + return out; } diff --git a/src/matrixOperations/trace/stracea.c b/src/matrixOperations/trace/stracea.c index b35a82c9..06c4a8be 100644 --- a/src/matrixOperations/trace/stracea.c +++ b/src/matrixOperations/trace/stracea.c @@ -12,16 +12,16 @@ #include "matrixTrace.h" -void stracea ( float* in ,int lines, float* out ){ +float stracea ( float* in ,int lines ){ int i = 0 ; - *out = 0 ; + float out = 0 ; for ( i = 0 ; i < lines ; ++i) - *out += in[i*lines + i] ; - + out += in[i*lines + i] ; + return out; } diff --git a/src/matrixOperations/trace/testMatrixTrace.c b/src/matrixOperations/trace/testMatrixTrace.c index 1cc25c7d..0cbea97b 100644 --- a/src/matrixOperations/trace/testMatrixTrace.c +++ b/src/matrixOperations/trace/testMatrixTrace.c @@ -56,7 +56,7 @@ static void straceaTest ( void ) { float out = 0.0f ; - stracea ( in , LINES , &out ) ; + out = stracea ( in , LINES ) ; assert(fabsf(out - Result) / fabsf( out )< 1e-07); @@ -101,7 +101,7 @@ static void dtraceaTest ( void ) { double out = 0 ; - dtracea ( in , LINES , &out ) ; + out = dtracea ( in , LINES ) ; assert(fabs(out - Result) / fabs( out )< 1e-16); } @@ -152,7 +152,7 @@ static void ctraceaTest ( void ) { for ( i = 0 ; i < LINES*LINES ; i++ ) in[i] = FloatComplex ( tin[i] , tin[i] ) ; - ctracea ( in , LINES , &out ) ; + out = ctracea ( in , LINES ) ; assert ( fabs( creals(out) - creals (Result) )/ fabs (creals (out)) < 1e-07 ); assert ( fabs( cimags(out) - cimags (Result) )/ fabs (cimags (out)) < 1e-07 ); @@ -210,7 +210,7 @@ static void ztraceaTest ( void ) { for ( i = 0 ; i < LINES*LINES ; i++ ) in[i] = DoubleComplex ( tin[i] , tin[i] ) ; - ztracea ( in , LINES , &out ) ; + out = ztracea ( in , LINES ) ; assert ( fabs( zreals(out) - zreals (Result) )/ fabs (zreals (out)) < 1e-16 ); assert ( fabs( zimags(out) - zimags (Result) )/ fabs (zimags (out)) < 1e-16 ); diff --git a/src/matrixOperations/trace/ztracea.c b/src/matrixOperations/trace/ztracea.c index 57f136ca..12154f40 100644 --- a/src/matrixOperations/trace/ztracea.c +++ b/src/matrixOperations/trace/ztracea.c @@ -12,7 +12,7 @@ #include "matrixTrace.h" -void ztracea ( doubleComplex* in ,int lines, doubleComplex* out ){ +doubleComplex ztracea ( doubleComplex* in ,int lines ){ int i = 0 ; @@ -25,7 +25,7 @@ void ztracea ( doubleComplex* in ,int lines, doubleComplex* out ){ iout += zimags (in[i*lines + i] ) ; } - *out = DoubleComplex ( rout , iout ) ; + return DoubleComplex ( rout , iout ) ; } |