This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/46416] libquadmath: missing functions


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46416

--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-01-06 11:11:27 UTC ---
(In reply to comment #4)
> Very lightly tested patch to add ca{sin,cos,tan}{,h}q and fix broken atan2q.

Now posted to: http://gcc.gnu.org/ml/gcc-patches/2011-01/msg00279.html

 * * *

(In reply to comment #3)
> c) complex.h functions
> - casinq, cacosq, catanq, casinhq, cacoshq, catanhq
> - cimagq, conjq, cprojq, crealq

Regarding the latter (except for the projection to the Riemann sphere, cprojq),
it should suffice if one adds the following to the .h file. (GLIBC defines 
__extern_inline in sys/cdefs.h, which is included in features.h.)

#ifndef __extern_inline
#  define extern __inline __attribute__ ((__gnu_inline__))
#endif

__extern_inline __real128
cimagq (__complex128 __z) __THROW
{
  return __imag__ __z;
}

__extern_inline __real128
crealq (__complex128 __z) __THROW
{
  return __real__ __z;
}

__extern_inline __complex128
conjq (__complex128 __z) __THROW
{
  return __extension__ ~__z;
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]