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
 
 /*