Johns release
This commit is contained in:
parent
bd5635a1e2
commit
dd3b648e8b
246 changed files with 59132 additions and 0 deletions
66
gdb/ieee-float.h
Normal file
66
gdb/ieee-float.h
Normal file
|
@ -0,0 +1,66 @@
|
|||
/* IEEE floating point support declarations, for GDB, the GNU Debugger.
|
||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
GDB is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 1, or (at your option)
|
||||
any later version.
|
||||
|
||||
GDB is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GDB; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* Parameters for extended float format: */
|
||||
|
||||
struct ext_format {
|
||||
unsigned totalsize; /* Total size of extended number */
|
||||
unsigned signbyte; /* Byte number of sign bit */
|
||||
unsigned char signmask; /* Mask for sign bit */
|
||||
unsigned expbyte_h; /* High byte of exponent */
|
||||
unsigned expbyte_l; /* Low byte of exponent */
|
||||
unsigned manbyte_h; /* High byte of mantissa */
|
||||
unsigned manbyte_l; /* Low byte of mantissa */
|
||||
};
|
||||
|
||||
#define TOTALSIZE ext_format->totalsize
|
||||
#define SIGNBYTE ext_format->signbyte
|
||||
#define SIGNMASK ext_format->signmask
|
||||
#define EXPBYTE_H ext_format->expbyte_h
|
||||
#define EXPBYTE_L ext_format->expbyte_l
|
||||
#define MANBYTE_H ext_format->manbyte_h
|
||||
#define MANBYTE_L ext_format->manbyte_l
|
||||
|
||||
/* Actual ext_format structs for various machines are in the *-tdep.c file
|
||||
for each machine. */
|
||||
|
||||
#define EXT_EXP_NAN 0x7FFF /* Exponent value that indicates NaN */
|
||||
#define EXT_EXP_BIAS 0x3FFF /* Amount added to "true" exponent for ext */
|
||||
#define DBL_EXP_BIAS 0x3FF /* Ditto, for doubles */
|
||||
|
||||
/* Convert an IEEE extended float to a double.
|
||||
FROM is the address of the extended float.
|
||||
Store the double in *TO. */
|
||||
|
||||
extern void
|
||||
ieee_extended_to_double (
|
||||
#ifdef __STDC__
|
||||
struct ext_format *ext_format, char *from, double *to
|
||||
#endif
|
||||
);
|
||||
|
||||
/* The converse: convert the double *FROM to an extended float
|
||||
and store where TO points. */
|
||||
|
||||
void
|
||||
double_to_ieee_extended (
|
||||
#ifdef __STDC__
|
||||
struct ext_format *ext_format, double *from, char *to
|
||||
#endif
|
||||
);
|
Loading…
Add table
Add a link
Reference in a new issue