diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/type/doubleComplex.c | 42 | ||||
-rw-r--r-- | src/type/doubleComplex.h | 4 |
2 files changed, 46 insertions, 0 deletions
diff --git a/src/type/doubleComplex.c b/src/type/doubleComplex.c index 710a13f9..a17311b2 100644 --- a/src/type/doubleComplex.c +++ b/src/type/doubleComplex.c @@ -133,4 +133,46 @@ bool zisimags(doubleComplex z) { return false; } +/* +** Operators +** { +*/ + +/* +** \function zadds +** \brief add 2 Complex numbers. +*/ +doubleComplex zadds(doubleComplex z1, doubleComplex z2) { +#ifndef STDC99 + return DoubleComplex(z1.real + z2.real, z1.imag + z2.imag); +#else + return z1 + z2; +#endif +} + +/* +** \function zdiffs +** \brief diff 2 Complex numbers. +*/ +doubleComplex zdiffs(doubleComplex z1, doubleComplex z2) { +#ifndef STDC99 + return DoubleComplex(z1.real - z2.real, z1.imag - z2.imag); +#else + return z1 - z2; +#endif +} + +/* +** \function ztimess +** \brief Multiply 2 Complex numbers. +*/ +doubleComplex ztimess(doubleComplex z1, doubleComplex z2) { +#ifndef STDC99 + return DoubleComplex(z1.real*z2.real - z1.imag*z2.imag, + z1.real*z2.imag + z2.real*z1.imag); +#else + return z1 * z2; +#endif +} + diff --git a/src/type/doubleComplex.h b/src/type/doubleComplex.h index 51cede5d..2d252bc7 100644 --- a/src/type/doubleComplex.h +++ b/src/type/doubleComplex.h @@ -63,5 +63,9 @@ doubleComplex DoubleComplex(double, double); doubleComplex* DoubleComplexMatrix(double*, double*, int); bool zisreals(doubleComplex); bool zisimags(doubleComplex); +doubleComplex zadds(doubleComplex, doubleComplex); +doubleComplex zdiffs(doubleComplex, doubleComplex); +doubleComplex ztimess(doubleComplex, doubleComplex); +doubleComplex zdevides(doubleComplex, doubleComplex); #endif /* !__DOUBLECOMPLEX_H__ */ |