@@ -21,7 +21,7 @@ namespace ql
2121{
2222 // Logarithms
2323 inline double Log (double const & x) { return std::log (x); }
24- #if defined(__x86_64__) || defined(__i386__) || defined(__ppc64__)
24+ #if defined(__x86_64__) || defined(__i386__) || defined(__PPC64__) || defined( __ppc64__) || defined(_ARCH_PPC64 )
2525 inline qdouble Log (qdouble const & x) { return logq (x); }
2626 inline qcomplex Log (qcomplex const & x) { return clogq (x); }
2727#endif
@@ -33,7 +33,7 @@ namespace ql
3333
3434 // Power
3535 inline double Pow (double const & x, int const & a) { return std::pow (x, a); }
36- #if defined(__x86_64__) || defined(__i386__) || defined(__ppc64__)
36+ #if defined(__x86_64__) || defined(__i386__) || defined(__PPC64__) || defined( __ppc64__) || defined(_ARCH_PPC64 )
3737 inline qdouble Pow (qdouble const & x, int const & a) { return powq (x,a); }
3838 inline qcomplex Pow (qcomplex const & x, int const & a){ return cpowq (x,a); }
3939#endif
@@ -45,7 +45,7 @@ namespace ql
4545
4646 // Root
4747 inline double Sqrt (double const & x) { return std::sqrt (x); }
48- #if defined(__x86_64__) || defined(__i386__) || defined(__ppc64__)
48+ #if defined(__x86_64__) || defined(__i386__) || defined(__PPC64__) || defined( __ppc64__) || defined(_ARCH_PPC64 )
4949 inline qdouble Sqrt (qdouble const & x) { return sqrtq (x); }
5050 inline qcomplex Sqrt (qcomplex const & x){ return csqrtq (x); }
5151#endif
@@ -57,7 +57,7 @@ namespace ql
5757
5858 // Absolute value
5959 inline double Abs (double const & x) { return std::abs (x); }
60- #if defined(__x86_64__) || defined(__i386__) || defined(__ppc64__)
60+ #if defined(__x86_64__) || defined(__i386__) || defined(__PPC64__) || defined( __ppc64__) || defined(_ARCH_PPC64 )
6161 inline qdouble Abs (qdouble const & x) { return fabsq (x);}
6262 inline qdouble Abs (qcomplex const & x) { return cabsq (x); }
6363#endif
@@ -71,7 +71,7 @@ namespace ql
7171 inline double Imag (double const & x) { UNUSED (x); return 0 ; }
7272 inline qdouble Imag (qdouble const & x) { UNUSED (x); return qdouble (0 ); }
7373 inline double Imag (complex const & x) { return x.imag (); }
74- #if defined(__x86_64__) || defined(__i386__) || defined(__ppc64__)
74+ #if defined(__x86_64__) || defined(__i386__) || defined(__PPC64__) || defined( __ppc64__) || defined(_ARCH_PPC64 )
7575 inline qdouble Imag (qcomplex const & x){ return cimagq (x);}
7676#endif
7777#if defined(__aarch64__)
@@ -81,15 +81,15 @@ namespace ql
8181 inline double Real (double const & x) { return x; }
8282 inline qdouble Real (qdouble const & x) { return x; }
8383 inline double Real (complex const & x) { return x.real (); }
84- #if defined(__x86_64__) || defined(__i386__) || defined(__ppc64__)
84+ #if defined(__x86_64__) || defined(__i386__) || defined(__PPC64__) || defined( __ppc64__) || defined(_ARCH_PPC64 )
8585 inline qdouble Real (qcomplex const & x) { return crealq (x); }
8686#endif
8787#if defined(__aarch64__)
8888 inline qdouble Real (qcomplex const & x) { return creall (x); }
8989#endif
9090
9191 inline complex Conjg (complex const & x) { return std::conj (x); }
92- #if defined(__x86_64__) || defined(__i386__) || defined(__ppc64__)
92+ #if defined(__x86_64__) || defined(__i386__) || defined(__PPC64__) || defined( __ppc64__) || defined(_ARCH_PPC64 )
9393 inline qcomplex Conjg (qcomplex const & x){ return conjq (x); }
9494#endif
9595#if defined(__aarch64__)
0 commit comments