Mercurial > octave-nkf
diff liboctave/oct-cmplx.h @ 3775:13905c3a24af
[project @ 2001-02-06 01:56:59 by jwe]
author | jwe |
---|---|
date | Tue, 06 Feb 2001 01:57:06 +0000 |
parents | 5eef8a2294bd |
children | d0b8964b9d4b |
line wrap: on
line diff
--- a/liboctave/oct-cmplx.h Mon Feb 05 16:54:04 2001 +0000 +++ b/liboctave/oct-cmplx.h Tue Feb 06 01:57:06 2001 +0000 @@ -23,10 +23,142 @@ #if !defined (octave_oct_cmplx_h) #define octave_oct_cmplx_h 1 +// By using this file instead of <complex>, we can easily avoid buggy +// implementations of the standard complex data type (if needed). + #include <complex> typedef std::complex<double> Complex; +#if defined (CXX_ISO_COMPLIANT_LIBRARY) + +// If namespaces don't work, we will end up with some infinite looping. + +inline double +real (const Complex& z) +{ + return std::real (z); +} + +inline double +imag (const Complex& z) +{ + return std::imag (z); +} + +inline double +abs (const Complex& z) +{ + return std::abs (z); +} + +inline double +arg (const Complex& z) +{ + return std::arg (z); +} + +inline double +norm (const Complex& z) +{ + return std::norm (z); +} + +inline Complex +conj (const Complex& z) +{ + return std::conj (z); +} + +inline Complex +polar (const double& x, const double& y); + +inline Complex +cos (const Complex& z) +{ + return std::cos (z); +} + +inline Complex +cosh (const Complex& z) +{ + return std::cosh (z); +} + +inline Complex +exp (const Complex& z) +{ + return std::exp (z); +} + +inline Complex +log (const Complex& z) +{ + return std::log (z); +} + +inline Complex +log10 (const Complex& z) +{ + return std::log10 (z); +} + +inline Complex +pow (const Complex& z, int n) +{ + return std::pow (z, n); +} + +inline Complex +pow (const Complex& z, const double& x) +{ + return std::pow (z, x); +} + +inline Complex +pow (const Complex& z1, const Complex& z2) +{ + return std::pow (z1, z2); +} + +inline Complex +pow (const double& x, const Complex& z) +{ + return std::pow (x, z); +} + +inline Complex +sin (const Complex& z) +{ + return std::sin (z); +} + +inline Complex +sinh (const Complex& z) +{ + return std::sinh (z); +} + +inline Complex +sqrt (const Complex& z) +{ + return std::sqrt (z); +} + +inline Complex +tan (const Complex& z) +{ + return std::tan (z); +} + +inline Complex +tanh (const Complex& z) +{ + return std::tanh (z); +} + +#endif + #endif /*