public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc.
@ 2010-11-10 16:49 burnus at gcc dot gnu.org
  2010-12-27 23:54 ` [Bug fortran/46416] libquadmath: missing functions dfranke at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: burnus at gcc dot gnu.org @ 2010-11-10 16:49 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: libquadmath: Complex inverse hyperbolic/trigonometric
                    function missing: casinhq etc.
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: burnus@gcc.gnu.org


libquadmath misses the complex inverse hyperbolic and trigonometric functions
such as

casinq
cacosq
catanq
casinhq
cacoshq
catanhq


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/46416] libquadmath: missing functions
  2010-11-10 16:49 [Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc burnus at gcc dot gnu.org
  2010-12-27 23:54 ` [Bug fortran/46416] libquadmath: missing functions dfranke at gcc dot gnu.org
@ 2010-12-27 23:54 ` dfranke at gcc dot gnu.org
  2011-01-05 18:00 ` burnus at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: dfranke at gcc dot gnu.org @ 2010-12-27 23:54 UTC (permalink / raw)
  To: gcc-bugs

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

Daniel Franke <dfranke at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dfranke at gcc dot gnu.org
            Summary|libquadmath: Complex        |libquadmath: missing
                   |inverse                     |functions
                   |hyperbolic/trigonometric    |
                   |function missing: casinhq   |
                   |etc.                        |

--- Comment #1 from Daniel Franke <dfranke at gcc dot gnu.org> 2010-12-27 23:54:32 UTC ---
Merging in PR46402, fmalq missing in libquadmath.

Comment #0:
[2010-10-27 21:45:00] <jakub_> fx_: btw, you want to resync with glibc to get
quad mode fmal (well, fmaq in your case)

Cf. http://sourceware.org/git/?p=glibc.git&a=search&h=HEAD&st=commit&s=fmal


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/46416] libquadmath: missing functions
  2010-11-10 16:49 [Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc burnus at gcc dot gnu.org
@ 2010-12-27 23:54 ` dfranke at gcc dot gnu.org
  2010-12-27 23:54 ` dfranke at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: dfranke at gcc dot gnu.org @ 2010-12-27 23:54 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Daniel Franke <dfranke at gcc dot gnu.org> 2010-12-27 23:54:38 UTC ---
*** Bug 46402 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/46416] libquadmath: missing functions
  2010-11-10 16:49 [Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc burnus at gcc dot gnu.org
  2010-12-27 23:54 ` [Bug fortran/46416] libquadmath: missing functions dfranke at gcc dot gnu.org
  2010-12-27 23:54 ` dfranke at gcc dot gnu.org
@ 2011-01-05 18:00 ` burnus at gcc dot gnu.org
  2011-01-05 22:31 ` jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-01-05 18:00 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-01-05 18:00:00 UTC ---
I now compared the list of libquadmath functions at
http://gcc.gnu.org/onlinedocs/libquadmath/Math-Library-Routines.html  with the
C99 functions in math.h and complex.h (cf. http://en.wikipedia.org/wiki/Math.h
and http://en.wikipedia.org/wiki/Complex.h).

Missing (no guarantee for completeness or correctness)

a) fmaq, cf. Jakub's patch at PR 46402

b) math.h functions:

fdimq, fmaq [cf. above], fmaxq, fminq, ilogbq, llrintq, lrintq, log2q,
nearbyintq, nexttowardq, remquoq

c) complex.h functions

- casinq, cacosq, catanq, casinhq, cacoshq, catanhq
- cimagq, conjq, cprojq, crealq


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/46416] libquadmath: missing functions
  2010-11-10 16:49 [Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc burnus at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2011-01-05 18:00 ` burnus at gcc dot gnu.org
@ 2011-01-05 22:31 ` jakub at gcc dot gnu.org
  2011-01-06 11:40 ` burnus at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-01-05 22:31 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011.01.05 21:14:44
         AssignedTo|unassigned at gcc dot       |jakub at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-05 21:14:44 UTC ---
Created attachment 22910
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22910
gcc46-pr46416.patch

Very lightly tested patch to add ca{sin,cos,tan}{,h}q and fix broken atan2q.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/46416] libquadmath: missing functions
  2010-11-10 16:49 [Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc burnus at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2011-01-05 22:31 ` jakub at gcc dot gnu.org
@ 2011-01-06 11:40 ` burnus at gcc dot gnu.org
  2011-01-06 13:18 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: burnus at gcc dot gnu.org @ 2011-01-06 11:40 UTC (permalink / raw)
  To: gcc-bugs

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;
}


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/46416] libquadmath: missing functions
  2010-11-10 16:49 [Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc burnus at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2011-01-06 11:40 ` burnus at gcc dot gnu.org
@ 2011-01-06 13:18 ` jakub at gcc dot gnu.org
  2011-01-16 16:55 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-01-06 13:18 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-06 11:40:38 UTC ---
There is no __real128, just __float128.  Also, I think either it should use
some extern inlinish quadmath.h specific macro (and it needs to care about g++
vs. gcc difference and which gcc versions support gnu_inline attribute).
And also even if you have those extern inlines in the header, you still have to
provide an out of line definition for them, i.e. in libquadmath sources, not
headers.

I'll take care of it.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/46416] libquadmath: missing functions
  2010-11-10 16:49 [Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc burnus at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2011-01-06 13:18 ` jakub at gcc dot gnu.org
@ 2011-01-16 16:55 ` jakub at gcc dot gnu.org
  2011-01-16 17:15 ` jakub at gcc dot gnu.org
  2011-01-17  9:15 ` jakub at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-01-16 16:55 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-16 16:42:41 UTC ---
Author: jakub
Date: Sun Jan 16 16:42:37 2011
New Revision: 168853

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168853
Log:
    PR fortran/46416
    * quadmath.h (cacosq, cacoshq, casinq, casinhq, catanq, catanhq):
    New prototypes.
    (M_Eq, M_LOG2Eq, M_LOG10Eq, M_LN2q, M_LN10q, M_PIq, M_PI_2q, M_PI_4q,
    M_1_PIq, M_2_PIq, M_2_SQRTPIq, M_SQRT2q, M_SQRT1_2q): Define.
    * quadmath_weak.h (cacosq, cacoshq, casinq, casinhq, catanq,
    catanhq): Add.
    * quadmath-imp.h (fpclassifyq, QUADFP_NAN, QUADFP_INFINITE,
    QUADFP_ZERO, QUADFP_SUBNORMAL, QUADFP_NORMAL): Define.
    * quadmath.map (QUADMATH_1.0): Add cacosq, cacoshq, casinq, casinhq,
    catanq and catanhq.
    * Makefile.am (libquadmath_la_SOURCES): Add math/cacosq.c,
    math/cacoshq.c, math/casinq.c, math/casinhq.c, math/catanq.c
    and math/catanhq.c.
    * Makefile.in: Regenerated.
    * libquadmath.texi (cacosq, cacoshq, casinq, casinhq,
    catanq, catanhq): Add.
    * math/cacoshq.c: New file.
    * math/cacosq.c: New file.
    * math/catanq.c: New file.
    * math/catanhq.c: New file.
    * math/casinq.c: New file.
    * math/casinhq.c: New file.

    * math/hypotq.c (hypotq): Use Q suffix instead of L.
    * math/atan2q.c (tiny, pi_o_4, pi_o_2, pi, pi_lo, atan2q): Likewise.
    * math/cosq.c (cosq): Likewise.

Added:
    trunk/libquadmath/math/cacoshq.c
    trunk/libquadmath/math/cacosq.c
    trunk/libquadmath/math/casinhq.c
    trunk/libquadmath/math/casinq.c
    trunk/libquadmath/math/catanhq.c
    trunk/libquadmath/math/catanq.c
Modified:
    trunk/libquadmath/ChangeLog
    trunk/libquadmath/Makefile.am
    trunk/libquadmath/Makefile.in
    trunk/libquadmath/libquadmath.texi
    trunk/libquadmath/math/atan2q.c
    trunk/libquadmath/math/cosq.c
    trunk/libquadmath/math/hypotq.c
    trunk/libquadmath/quadmath-imp.h
    trunk/libquadmath/quadmath.h
    trunk/libquadmath/quadmath.map
    trunk/libquadmath/quadmath_weak.h


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/46416] libquadmath: missing functions
  2010-11-10 16:49 [Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc burnus at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2011-01-16 16:55 ` jakub at gcc dot gnu.org
@ 2011-01-16 17:15 ` jakub at gcc dot gnu.org
  2011-01-17  9:15 ` jakub at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-01-16 17:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-16 16:44:39 UTC ---
Author: jakub
Date: Sun Jan 16 16:44:35 2011
New Revision: 168854

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168854
Log:
    PR fortran/46416
    * quadmath.h (cbrtq, finiteq, isnanq, signbitq, sqrtq): Remove
    const from prototype argument.
    (cimagq, conjq, cprojq, crealq, fdimq, fmaxq, fminq, ilogbq,
    llrintq, log2q, lrintq, nearbyintq, remquoq): New prototypes.
    (__quadmath_extern_inline): Define.
    (cimagq, conjq, crealq): New inlines.
    * Makefile.am (libquadmath_la_SOURCES): Add math/cimagq.c,
    math/conjq.c, math/cprojq.c, math/crealq.c, math/fdimq.c,
    math/fmaxq.c, math/fminq.c, math/ilogbq.c, math/llrintq.c,
    math/log2q.c, math/lrintq.c, math/nearbyintq.c and math/remquoq.c.
    * Makefile.in: Regenerated.
    * quadmath_weak.h (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
    fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
    * quadmath-imp.h (__LITTLE_ENDIAN__): Don't define.
    (ieee854_float128): Use __BYTE_ORDER == __ORDER_BIG_ENDIAN__
    tests instead of __BIG_ENDIAN__.
    * quadmath.map (QUADMATH_1.0): Add cimagq, conjq, cprojq, crealq,
    fdimq, fmaxq, fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq
    and remquoq.
    * libquadmath.texi (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
    fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
    * math/cprojq.c: New file.
    * math/ilogbq.c: New file.
    * math/fminq.c: New file.
    * math/llrintq.c: New file.
    * math/log2q.c: New file.
    * math/lrintq.c: New file.
    * math/crealq.c: New file.
    * math/nearbyintq.c: New file.
    * math/fmaxq.c: New file.
    * math/conjq.c: New file.
    * math/remquoq.c: New file.
    * math/cimagq.c: New file.
    * math/fdimq.c: New file.

    * math/ldexpq.c: Include errno.h.  Set errno to ERANGE if needed.

Added:
    trunk/libquadmath/math/cimagq.c
    trunk/libquadmath/math/conjq.c
    trunk/libquadmath/math/cprojq.c
    trunk/libquadmath/math/crealq.c
    trunk/libquadmath/math/fdimq.c
    trunk/libquadmath/math/fmaxq.c
    trunk/libquadmath/math/fminq.c
    trunk/libquadmath/math/ilogbq.c
    trunk/libquadmath/math/llrintq.c
    trunk/libquadmath/math/log2q.c
    trunk/libquadmath/math/lrintq.c
    trunk/libquadmath/math/nearbyintq.c
    trunk/libquadmath/math/remquoq.c
Modified:
    trunk/libquadmath/ChangeLog
    trunk/libquadmath/Makefile.am
    trunk/libquadmath/Makefile.in
    trunk/libquadmath/libquadmath.texi
    trunk/libquadmath/math/ldexpq.c
    trunk/libquadmath/quadmath-imp.h
    trunk/libquadmath/quadmath.h
    trunk/libquadmath/quadmath.map
    trunk/libquadmath/quadmath_weak.h


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug fortran/46416] libquadmath: missing functions
  2010-11-10 16:49 [Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc burnus at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2011-01-16 17:15 ` jakub at gcc dot gnu.org
@ 2011-01-17  9:15 ` jakub at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-01-17  9:15 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-17 08:27:28 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-01-17  8:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-10 16:49 [Bug fortran/46416] New: libquadmath: Complex inverse hyperbolic/trigonometric function missing: casinhq etc burnus at gcc dot gnu.org
2010-12-27 23:54 ` [Bug fortran/46416] libquadmath: missing functions dfranke at gcc dot gnu.org
2010-12-27 23:54 ` dfranke at gcc dot gnu.org
2011-01-05 18:00 ` burnus at gcc dot gnu.org
2011-01-05 22:31 ` jakub at gcc dot gnu.org
2011-01-06 11:40 ` burnus at gcc dot gnu.org
2011-01-06 13:18 ` jakub at gcc dot gnu.org
2011-01-16 16:55 ` jakub at gcc dot gnu.org
2011-01-16 17:15 ` jakub at gcc dot gnu.org
2011-01-17  9:15 ` jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).