Make most functions static and add prototypes for all static functions.

(GET_REAL, PUT_REAL): Cast parameter to proper pointer type in some
cases; use unsigned array.

From-SVN: r7120
This commit is contained in:
Richard Kenner 1994-04-21 15:33:15 -04:00
parent 30d889161d
commit a035305579
1 changed files with 225 additions and 125 deletions

View File

@ -264,13 +264,13 @@ unknown arithmetic type
but host stores it in host endian-ness. */
#if HOST_FLOAT_WORDS_BIG_ENDIAN == FLOAT_WORDS_BIG_ENDIAN
#define GET_REAL(r,e) e53toe ((r), (e))
#define PUT_REAL(e,r) etoe53 ((e), (r))
#define GET_REAL(r,e) e53toe ((unsigned EMUSHORT*) (r), (e))
#define PUT_REAL(e,r) etoe53 ((e), (unsigned EMUSHORT *) (r))
#else /* endian-ness differs */
/* emulator uses target endian-ness internally */
#define GET_REAL(r,e) \
do { EMUSHORT w[4]; \
do { unsigned EMUSHORT w[4]; \
w[3] = ((EMUSHORT *) r)[0]; \
w[2] = ((EMUSHORT *) r)[1]; \
w[1] = ((EMUSHORT *) r)[2]; \
@ -278,7 +278,7 @@ do { EMUSHORT w[4]; \
e53toe (w, (e)); } while (0)
#define PUT_REAL(e,r) \
do { EMUSHORT w[4]; \
do { unsigned EMUSHORT w[4]; \
etoe53 ((e), w); \
*((EMUSHORT *) r) = w[3]; \
*((EMUSHORT *) r + 1) = w[2]; \
@ -290,8 +290,8 @@ do { EMUSHORT w[4]; \
#else /* not REAL_ARITHMETIC */
/* emulator uses host format */
#define GET_REAL(r,e) e53toe ((r), (e))
#define PUT_REAL(e,r) etoe53 ((e), (r))
#define GET_REAL(r,e) e53toe ((unsigned EMUSHORT *) (r), (e))
#define PUT_REAL(e,r) etoe53 ((e), (unsigned EMUSHORT *) (r))
#endif /* not REAL_ARITHMETIC */
#endif /* not TFmode */
@ -318,29 +318,117 @@ do { EMUSHORT w[4]; \
/* The exponent of 1.0 */
#define EXONE (0x3fff)
void warning ();
extern int extra_warnings;
int ecmp (), enormlz (), eshift ();
int eisneg (), eisinf (), eisnan (), eiisinf (), eiisnan (), eiisneg ();
void eadd (), esub (), emul (), ediv ();
void eshup1 (), eshup8 (), eshup6 (), eshdn1 (), eshdn8 (), eshdn6 ();
void eabs (), eneg (), emov (), eclear (), einfin (), efloor ();
void eldexp (), efrexp (), eifrac (), euifrac (), ltoe (), ultoe ();
void ereal_to_decimal (), eiinfin (), einan ();
void esqrt (), elog (), eexp (), etanh (), epow ();
void asctoe (), asctoe24 (), asctoe53 (), asctoe64 (), asctoe113 ();
void etoasc (), e24toasc (), e53toasc (), e64toasc (), e113toasc ();
void etoe64 (), etoe53 (), etoe24 (), e64toe (), e53toe (), e24toe ();
void etoe113 (), e113toe ();
void mtherr (), make_nan ();
void enan ();
extern unsigned EMUSHORT ezero[], ehalf[], eone[], etwo[];
extern unsigned EMUSHORT elog2[], esqrt2[];
static void endian PROTO((unsigned EMUSHORT *, long *,
enum machine_mode));
static void eclear PROTO((unsigned EMUSHORT *));
static void emov PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void eabs PROTO((unsigned EMUSHORT *));
static void eneg PROTO((unsigned EMUSHORT *));
static int eisneg PROTO((unsigned EMUSHORT *));
static int eisinf PROTO((unsigned EMUSHORT *));
static int eisnan PROTO((unsigned EMUSHORT *));
static void einfin PROTO((unsigned EMUSHORT *));
static void enan PROTO((unsigned EMUSHORT *, int));
static void emovi PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void emovo PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void ecleaz PROTO((unsigned EMUSHORT *));
static void ecleazs PROTO((unsigned EMUSHORT *));
static void emovz PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void einan PROTO((unsigned EMUSHORT *));
static int eiisnan PROTO((unsigned EMUSHORT *));
static int eiisneg PROTO((unsigned EMUSHORT *));
static void eiinfin PROTO((unsigned EMUSHORT *));
static int eiisinf PROTO((unsigned EMUSHORT *));
static int ecmpm PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void eshdn1 PROTO((unsigned EMUSHORT *));
static void eshup1 PROTO((unsigned EMUSHORT *));
static void eshdn8 PROTO((unsigned EMUSHORT *));
static void eshup8 PROTO((unsigned EMUSHORT *));
static void eshup6 PROTO((unsigned EMUSHORT *));
static void eshdn6 PROTO((unsigned EMUSHORT *));
static void eaddm PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void esubm PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void m16m PROTO((unsigned short, unsigned short *,
unsigned short *));
static int edivm PROTO((unsigned short *, unsigned short *));
static int emulm PROTO((unsigned short *, unsigned short *));
static void emdnorm PROTO((unsigned EMUSHORT *, int, int, EMULONG, int));
static void esub PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *,
unsigned EMUSHORT *));
static void eadd PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *,
unsigned EMUSHORT *));
static void eadd1 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *,
unsigned EMUSHORT *));
static void ediv PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *,
unsigned EMUSHORT *));
static void emul PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *,
unsigned EMUSHORT *));
static void e53toe PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void e64toe PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void e113toe PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void e24toe PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void etoe113 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void toe113 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void etoe64 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void toe64 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void etoe53 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void toe53 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void etoe24 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void toe24 PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static int ecmp PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void eround PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void ltoe PROTO((HOST_WIDE_INT *, unsigned EMUSHORT *));
static void ultoe PROTO((unsigned HOST_WIDE_INT *, unsigned EMUSHORT *));
static void eifrac PROTO((unsigned EMUSHORT *, HOST_WIDE_INT *,
unsigned EMUSHORT *));
static void euifrac PROTO((unsigned EMUSHORT *, unsigned HOST_WIDE_INT *,
unsigned EMUSHORT *));
static int eshift PROTO((unsigned EMUSHORT *, int));
static int enormlz PROTO((unsigned EMUSHORT *));
static void e24toasc PROTO((unsigned EMUSHORT *, char *, int));
static void e53toasc PROTO((unsigned EMUSHORT *, char *, int));
static void e64toasc PROTO((unsigned EMUSHORT *, char *, int));
static void e113toasc PROTO((unsigned EMUSHORT *, char *, int));
static void etoasc PROTO((unsigned EMUSHORT *, char *, int));
static void asctoe24 PROTO((char *, unsigned EMUSHORT *));
static void asctoe53 PROTO((char *, unsigned EMUSHORT *));
static void asctoe64 PROTO((char *, unsigned EMUSHORT *));
static void asctoe113 PROTO((char *, unsigned EMUSHORT *));
static void asctoe PROTO((char *, unsigned EMUSHORT *));
static void asctoeg PROTO((char *, unsigned EMUSHORT *, int));
static void efloor PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void efrexp PROTO((unsigned EMUSHORT *, int *,
unsigned EMUSHORT *));
static void eldexp PROTO((unsigned EMUSHORT *, int, unsigned EMUSHORT *));
static void eremain PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *,
unsigned EMUSHORT *));
static void eiremain PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void mtherr PROTO((char *, int));
static void dectoe PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void etodec PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void todec PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void ibmtoe PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *,
enum machine_mode));
static void etoibm PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *,
enum machine_mode));
static void toibm PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *,
enum machine_mode));
static void make_nan PROTO((unsigned EMUSHORT *, int, enum machine_mode));
static void uditoe PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void ditoe PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void etoudi PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void etodi PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void esqrt PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
/* Copy 32-bit numbers obtained from array containing 16-bit numbers,
swapping ends if required, into output array of longs. The
result is normally passed to fprintf by the ASM_OUTPUT_ macros. */
void
static void
endian (e, x, mode)
unsigned EMUSHORT e[];
long x[];
@ -444,6 +532,7 @@ endian (e, x, mode)
/* This is the implementation of the REAL_ARITHMETIC macro.
*/
void
earith (value, icode, r1, r2)
REAL_VALUE_TYPE *value;
@ -703,6 +792,7 @@ ereal_from_int (d, i, j)
/* REAL_VALUE_FROM_UNSIGNED_INT macro.
*/
void
ereal_from_uint (d, i, j)
REAL_VALUE_TYPE *d;
@ -1260,24 +1350,9 @@ unsigned EMUSHORT epi[NE] =
int rndprc = NBITS;
extern int rndprc;
void eaddm (), esubm (), emdnorm (), asctoeg ();
static void toe24 (), toe53 (), toe64 (), toe113 ();
void eremain (), einit (), eiremain ();
int ecmpm (), edivm (), emulm ();
void emovi (), emovo (), emovz (), ecleaz (), ecleazs (), eadd1 ();
#ifdef DEC
void etodec (), todec (), dectoe ();
#endif
#ifdef IBM
void etoibm (), toibm (), ibmtoe ();
#endif
void
einit ()
{
}
/*
; Clear out entire external format number.
;
@ -1285,7 +1360,7 @@ einit ()
; eclear (x);
*/
void
static void
eclear (x)
register unsigned EMUSHORT *x;
{
@ -1302,7 +1377,7 @@ eclear (x)
* emov (a, b);
*/
void
static void
emov (a, b)
register unsigned EMUSHORT *a, *b;
{
@ -1320,12 +1395,12 @@ emov (a, b)
; eabs (x);
*/
void
static void
eabs (x)
unsigned EMUSHORT x[]; /* x is the memory address of a short */
unsigned EMUSHORT x[];
{
x[NE - 1] &= 0x7fff; /* sign is top bit of last word of external format */
/* sign is top bit of last word of external format */
x[NE - 1] &= 0x7fff;
}
@ -1338,7 +1413,7 @@ eabs (x)
; eneg (x);
*/
void
static void
eneg (x)
unsigned EMUSHORT x[];
{
@ -1351,7 +1426,7 @@ eneg (x)
/* Return 1 if sign bit of external format number is nonzero,
* else return zero.
*/
int
static int
eisneg (x)
unsigned EMUSHORT x[];
{
@ -1366,7 +1441,8 @@ eisneg (x)
/* Return 1 if external format number is infinity.
* else return zero.
*/
int
static int
eisinf (x)
unsigned EMUSHORT x[];
{
@ -1386,7 +1462,7 @@ eisinf (x)
The bit pattern is one that we defined, so we know for sure how to
detect it. */
int
static int
eisnan (x)
unsigned EMUSHORT x[];
{
@ -1409,7 +1485,7 @@ eisnan (x)
/* Fill external format number with infinity pattern (IEEE)
or largest possible number (non-IEEE). */
void
static void
einfin (x)
register unsigned EMUSHORT *x;
{
@ -1453,7 +1529,7 @@ einfin (x)
This generates Intel's quiet NaN pattern for extended real.
The exponent is 7fff, the leading mantissa word is c000. */
void
static void
enan (x, sign)
register unsigned EMUSHORT *x;
int sign;
@ -1470,7 +1546,7 @@ enan (x, sign)
/* Move in external format number,
* converting it to internal format.
*/
void
static void
emovi (a, b)
unsigned EMUSHORT *a, *b;
{
@ -1517,7 +1593,7 @@ emovi (a, b)
/* Move internal format number out,
* converting it to external format.
*/
void
static void
emovo (a, b)
unsigned EMUSHORT *a, *b;
{
@ -1560,7 +1636,7 @@ emovo (a, b)
/* Clear out internal format number.
*/
void
static void
ecleaz (xi)
register unsigned EMUSHORT *xi;
{
@ -1573,7 +1649,7 @@ ecleaz (xi)
/* same, but don't touch the sign. */
void
static void
ecleazs (xi)
register unsigned EMUSHORT *xi;
{
@ -1588,7 +1664,8 @@ ecleazs (xi)
/* Move internal format number from a to b.
*/
void
static void
emovz (a, b)
register unsigned EMUSHORT *a, *b;
{
@ -1604,7 +1681,7 @@ emovz (a, b)
The explicit pattern for this is maximum exponent and
top two significand bits set. */
void
static void
einan (x)
unsigned EMUSHORT x[];
{
@ -1616,7 +1693,7 @@ einan (x)
/* Return nonzero if internal format number is a NaN. */
int
static int
eiisnan (x)
unsigned EMUSHORT x[];
{
@ -1635,7 +1712,7 @@ eiisnan (x)
/* Return nonzero if sign of internal format number is nonzero. */
int
static int
eiisneg (x)
unsigned EMUSHORT x[];
{
@ -1646,7 +1723,7 @@ eiisneg (x)
/* Fill internal format number with infinity pattern.
This has maximum exponent and significand all zeros. */
void
static void
eiinfin (x)
unsigned EMUSHORT x[];
{
@ -1657,7 +1734,7 @@ eiinfin (x)
/* Return nonzero if internal format number is infinite. */
int
static int
eiisinf (x)
unsigned EMUSHORT x[];
{
@ -1684,7 +1761,8 @@ eiisinf (x)
; 0 if a == b
; -1 if a < b
*/
int
static int
ecmpm (a, b)
register unsigned EMUSHORT *a, *b;
{
@ -1711,7 +1789,7 @@ ecmpm (a, b)
; Shift significand down by 1 bit
*/
void
static void
eshdn1 (x)
register unsigned EMUSHORT *x;
{
@ -1739,7 +1817,7 @@ eshdn1 (x)
; Shift significand up by 1 bit
*/
void
static void
eshup1 (x)
register unsigned EMUSHORT *x;
{
@ -1767,7 +1845,7 @@ eshup1 (x)
; Shift significand down by 8 bits
*/
void
static void
eshdn8 (x)
register unsigned EMUSHORT *x;
{
@ -1790,7 +1868,7 @@ eshdn8 (x)
; Shift significand up by 8 bits
*/
void
static void
eshup8 (x)
register unsigned EMUSHORT *x;
{
@ -1814,7 +1892,7 @@ eshup8 (x)
; Shift significand up by 16 bits
*/
void
static void
eshup6 (x)
register unsigned EMUSHORT *x;
{
@ -1834,7 +1912,7 @@ eshup6 (x)
; Shift significand down by 16 bits
*/
void
static void
eshdn6 (x)
register unsigned EMUSHORT *x;
{
@ -1855,7 +1933,7 @@ eshdn6 (x)
; x + y replaces y
*/
void
static void
eaddm (x, y)
unsigned EMUSHORT *x, *y;
{
@ -1884,7 +1962,7 @@ eaddm (x, y)
; y - x replaces y
*/
void
static void
esubm (x, y)
unsigned EMUSHORT *x, *y;
{
@ -2066,9 +2144,9 @@ emulm (a, b)
/* Multiply significand of e-type number b
by 16-bit quantity a, e-type result to c. */
by 16-bit quantity a, e-type result to c. */
void
static void
m16m (a, b, c)
unsigned short a;
unsigned short b[], c[];
@ -2112,7 +2190,7 @@ m16m (a, b, c)
/* Divide significands. Neither the numerator nor the denominator
is permitted to have its high guard word nonzero. */
int
static int
edivm (den, num)
unsigned short den[], num[];
{
@ -2178,7 +2256,7 @@ edivm (den, num)
/* Multiply significands */
int
static int
emulm (a, b)
unsigned short a[], b[];
{
@ -2256,7 +2334,7 @@ static unsigned EMUSHORT rebit = 0;
static int re = 0;
static unsigned EMUSHORT rbit[NI];
void
static void
emdnorm (s, lost, subflg, exp, rcntrl)
unsigned EMUSHORT s[];
int lost;
@ -2459,7 +2537,7 @@ emdnorm (s, lost, subflg, exp, rcntrl)
static int subflg = 0;
void
static void
esub (a, b, c)
unsigned EMUSHORT *a, *b, *c;
{
@ -2496,7 +2574,8 @@ esub (a, b, c)
; unsigned EMUSHORT a[NE], b[NE], c[NE];
; eadd (a, b, c); c = b + a
*/
void
static void
eadd (a, b, c)
unsigned EMUSHORT *a, *b, *c;
{
@ -2527,7 +2606,7 @@ eadd (a, b, c)
eadd1 (a, b, c);
}
void
static void
eadd1 (a, b, c)
unsigned EMUSHORT *a, *b, *c;
{
@ -2637,7 +2716,8 @@ eadd1 (a, b, c)
; unsigned EMUSHORT a[NE], b[NE], c[NE];
; ediv (a, b, c); c = b / a
*/
void
static void
ediv (a, b, c)
unsigned EMUSHORT *a, *b, *c;
{
@ -2745,7 +2825,8 @@ ediv (a, b, c)
; unsigned EMUSHORT a[NE], b[NE], c[NE];
; emul (a, b, c); c = b * a
*/
void
static void
emul (a, b, c)
unsigned EMUSHORT *a, *b, *c;
{
@ -2842,7 +2923,8 @@ emul (a, b, c)
; unsigned EMUSHORT x[N+2];
; e53toe (&d, x);
*/
void
static void
e53toe (pe, y)
unsigned EMUSHORT *pe, *y;
{
@ -2935,7 +3017,7 @@ e53toe (pe, y)
#endif /* not DEC */
}
void
static void
e64toe (pe, y)
unsigned EMUSHORT *pe, *y;
{
@ -3008,7 +3090,7 @@ e64toe (pe, y)
}
void
static void
e113toe (pe, y)
unsigned EMUSHORT *pe, *y;
{
@ -3090,7 +3172,8 @@ e113toe (pe, y)
; unsigned EMUSHORT x[N+2];
; dtox (&d, x);
*/
void
static void
e24toe (pe, y)
unsigned EMUSHORT *pe, *y;
{
@ -3178,7 +3261,7 @@ e24toe (pe, y)
}
void
static void
etoe113 (x, e)
unsigned EMUSHORT *x, *e;
{
@ -3209,6 +3292,7 @@ etoe113 (x, e)
}
/* move out internal format to ieee long double */
static void
toe113 (a, b)
unsigned EMUSHORT *a, *b;
@ -3260,7 +3344,7 @@ toe113 (a, b)
#endif
}
void
static void
etoe64 (x, e)
unsigned EMUSHORT *x, *e;
{
@ -3291,6 +3375,7 @@ etoe64 (x, e)
toe64 (xi, e);
}
/* move out internal format to ieee long double */
static void
toe64 (a, b)
@ -3353,7 +3438,7 @@ toe64 (a, b)
#ifdef DEC
void
static void
etoe53 (x, e)
unsigned EMUSHORT *x, *e;
{
@ -3649,7 +3734,8 @@ toe24 (x, y)
* -1 if a < b
* -2 if either a or b is a NaN.
*/
int
static int
ecmp (a, b)
unsigned EMUSHORT *a, *b;
{
@ -3719,7 +3805,8 @@ ecmp (a, b)
* unsigned EMUSHORT x[NE], y[NE]
* eround (x, y);
*/
void
static void
eround (x, y)
unsigned EMUSHORT *x, *y;
{
@ -3738,7 +3825,8 @@ eround (x, y)
; ltoe (&l, x);
; note &l is the memory address of l
*/
void
static void
ltoe (lp, y)
HOST_WIDE_INT *lp;
unsigned EMUSHORT *y;
@ -3786,7 +3874,8 @@ ltoe (lp, y)
; ltox (&l, x);
; note &l is the memory address of l
*/
void
static void
ultoe (lp, y)
unsigned HOST_WIDE_INT *lp;
unsigned EMUSHORT *y;
@ -3826,7 +3915,7 @@ ultoe (lp, y)
The output e-type fraction FRAC is the positive fractional
part of abs (X). */
void
static void
eifrac (x, i, frac)
unsigned EMUSHORT *x;
HOST_WIDE_INT *i;
@ -3909,7 +3998,7 @@ eifrac (x, i, frac)
A negative e type input yields integer output = 0
but correct fraction. */
void
static void
euifrac (x, i, frac)
unsigned EMUSHORT *x;
unsigned HOST_WIDE_INT *i;
@ -3984,7 +4073,8 @@ euifrac (x, i, frac)
; Shifts significand area up or down by the number of bits
; given by the variable sc.
*/
int
static int
eshift (x, sc)
unsigned EMUSHORT *x;
int sc;
@ -4055,7 +4145,8 @@ eshift (x, sc)
; Shift normalizes the significand area pointed to by argument
; shift count (up = positive) is returned.
*/
int
static int
enormlz (x)
unsigned EMUSHORT x[];
{
@ -4228,7 +4319,7 @@ static unsigned EMUSHORT emtens[NTEN + 1][NE] =
};
#endif
void
static void
e24toasc (x, string, ndigs)
unsigned EMUSHORT x[];
char *string;
@ -4241,7 +4332,7 @@ e24toasc (x, string, ndigs)
}
void
static void
e53toasc (x, string, ndigs)
unsigned EMUSHORT x[];
char *string;
@ -4254,7 +4345,7 @@ e53toasc (x, string, ndigs)
}
void
static void
e64toasc (x, string, ndigs)
unsigned EMUSHORT x[];
char *string;
@ -4266,7 +4357,7 @@ e64toasc (x, string, ndigs)
etoasc (w, string, ndigs);
}
void
static void
e113toasc (x, string, ndigs)
unsigned EMUSHORT x[];
char *string;
@ -4281,7 +4372,7 @@ e113toasc (x, string, ndigs)
static char wstring[80]; /* working storage for ASCII output */
void
static void
etoasc (x, string, ndigs)
unsigned EMUSHORT x[];
char *string;
@ -4610,7 +4701,8 @@ etoasc (x, string, ndigs)
*/
/* ASCII to single */
void
static void
asctoe24 (s, y)
char *s;
unsigned EMUSHORT *y;
@ -4620,7 +4712,8 @@ asctoe24 (s, y)
/* ASCII to double */
void
static void
asctoe53 (s, y)
char *s;
unsigned EMUSHORT *y;
@ -4634,7 +4727,8 @@ asctoe53 (s, y)
/* ASCII to long double */
void
static void
asctoe64 (s, y)
char *s;
unsigned EMUSHORT *y;
@ -4643,7 +4737,8 @@ asctoe64 (s, y)
}
/* ASCII to 128-bit long double */
void
static void
asctoe113 (s, y)
char *s;
unsigned EMUSHORT *y;
@ -4652,7 +4747,7 @@ asctoe113 (s, y)
}
/* ASCII to super double */
void
static void
asctoe (s, y)
char *s;
unsigned EMUSHORT *y;
@ -4662,7 +4757,7 @@ asctoe (s, y)
/* ASCII to e type, with specified rounding precision = oprec. */
void
static void
asctoeg (ss, y, oprec)
char *ss;
unsigned EMUSHORT *y;
@ -5001,7 +5096,7 @@ static unsigned EMUSHORT bmask[] =
0x0000,
};
void
static void
efloor (x, y)
unsigned EMUSHORT x[], y[];
{
@ -5057,7 +5152,8 @@ efloor (x, y)
* For example, 1.1 = 0.55 * 2**1
* Handles denormalized numbers properly using long integer exp.
*/
void
static void
efrexp (x, exp, s)
unsigned EMUSHORT x[];
int *exp;
@ -5087,7 +5183,8 @@ efrexp (x, exp, s)
*
* Returns y = x * 2**pwr2.
*/
void
static void
eldexp (x, pwr2, y)
unsigned EMUSHORT x[];
int pwr2;
@ -5109,7 +5206,8 @@ eldexp (x, pwr2, y)
/* c = remainder after dividing b by a
* Least significant integer quotient bits left in equot[].
*/
void
static void
eremain (a, b, c)
unsigned EMUSHORT a[], b[], c[];
{
@ -5142,7 +5240,7 @@ eremain (a, b, c)
emovo (num, c);
}
void
static void
eiremain (den, num)
unsigned EMUSHORT den[], num[];
{
@ -5252,7 +5350,7 @@ static char *ermsg[NMSGS] =
int merror = 0;
extern int merror;
void
static void
mtherr (name, code)
char *name;
int code;
@ -5291,7 +5389,8 @@ mtherr (name, code)
; EMUSHORT e[NE];
; dectoe (&d, e);
*/
void
static void
dectoe (d, e)
unsigned EMUSHORT *d;
unsigned EMUSHORT *e;
@ -5338,7 +5437,7 @@ dectoe (d, e)
; etodec (e, &d);
*/
void
static void
etodec (x, d)
unsigned EMUSHORT *x, *d;
{
@ -5356,7 +5455,7 @@ etodec (x, d)
todec (xi, d);
}
void
static void
todec (x, y)
unsigned EMUSHORT *x, *y;
{
@ -5411,7 +5510,8 @@ todec (x, y)
; enum machine_mode mode; SFmode/DFmode
; ibmtoe (&d, e, mode);
*/
void
static void
ibmtoe (d, e, mode)
unsigned EMUSHORT *d;
unsigned EMUSHORT *e;
@ -5461,7 +5561,7 @@ ibmtoe (d, e, mode)
; etoibm (e, &d, mode);
*/
void
static void
etoibm (x, d, mode)
unsigned EMUSHORT *x, *d;
enum machine_mode mode;
@ -5480,7 +5580,7 @@ etoibm (x, d, mode)
toibm (xi, d, mode);
}
void
static void
toibm (x, y, mode)
unsigned EMUSHORT *x, *y;
enum machine_mode mode;
@ -5585,11 +5685,11 @@ unsigned EMUSHORT SFnan[2] = {0, 0xffc0};
#endif
void
static void
make_nan (nan, sign, mode)
unsigned EMUSHORT *nan;
int sign;
enum machine_mode mode;
unsigned EMUSHORT *nan;
int sign;
enum machine_mode mode;
{
int n;
unsigned EMUSHORT *p;
@ -5700,7 +5800,7 @@ ereal_from_double (d)
The endian-ness of DImode follows the convention for integers,
so we use WORDS_BIG_ENDIAN here, not FLOAT_WORDS_BIG_ENDIAN. */
void
static void
uditoe (di, e)
unsigned EMUSHORT *di; /* Address of the 64-bit int. */
unsigned EMUSHORT *e;
@ -5726,7 +5826,7 @@ uditoe (di, e)
/* Convert target computer signed 64-bit integer to e-type. */
void
static void
ditoe (di, e)
unsigned EMUSHORT *di; /* Address of the 64-bit int. */
unsigned EMUSHORT *e;
@ -5773,7 +5873,7 @@ ditoe (di, e)
/* Convert e-type to unsigned 64-bit int. */
void
etoudi (x, i)
static etoudi (x, i)
unsigned EMUSHORT *x;
unsigned EMUSHORT *i;
{
@ -5852,7 +5952,7 @@ noshift:
/* Convert e-type to signed 64-bit int. */
void
static void
etodi (x, i)
unsigned EMUSHORT *x;
unsigned EMUSHORT *i;
@ -5953,7 +6053,7 @@ etodi (x, i)
static int esqinited = 0;
static unsigned short sqrndbit[NI];
void
static void
esqrt (x, y)
unsigned EMUSHORT *x, *y;
{