[gnu.gcc.bug] inline math.h

grunwald@guitar.cs.uiuc.edu (03/24/89)

Recently, Matthew Self posted an inline math.h and math-68881.h.

The function modf was defined in math.h as :

extern double
  frexp (double x, int *exp), modf (double x, int *ip);

and in math-68881.h as:

__inline static double modf (double x, int *ip)

according to man pages, these should really be:
extern double
  frexp (double x, int *exp), modf (double x, double *ip);

and

__inline static double modf (double x, double *ip)

Do others agree? This is needed to include math-68881.h in G++.
--
Dirk Grunwald
Univ. of Illinois
grunwald@flute.cs.uiuc.edu

brooks@vette.llnl.gov (Eugene Brooks) (03/25/89)

In article <GRUNWALD.89Mar24084502@guitar.cs.uiuc.edu> grunwald@guitar.cs.uiuc.edu writes:
>according to man pages, these should really be:
>extern double
>  frexp (double x, int *exp), modf (double x, double *ip);
>
>and
>
>__inline static double modf (double x, double *ip)
>
>Do others agree? This is needed to include math-68881.h in G++.
According to the Aug. 1987 DRAFT of the "proposed" ANSI C standard
the second argument should indeed be (double *).  There is a rationale
for this, a double can have an integer part much bigger than a 32 bit
int.  Anyone got a copy of what was actually recently voted on to
make sure it was not changed with regard to this?



brooks@maddog.llnl.gov, brooks@maddog.uucp, .../uunet!maddog.llnl.gov!brooks