Fri Mar 1 10:20:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>

* flonum-konst.c: Add two more constants for 1e+-2048 and
	1e+-4096, and correct the other constants.
This commit is contained in:
Ian Lance Taylor 1996-03-01 15:34:47 +00:00
parent 16385918b7
commit d197a7abbc
2 changed files with 58 additions and 31 deletions

View File

@ -1,5 +1,8 @@
Fri Mar 1 10:20:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> Fri Mar 1 10:20:52 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* flonum-konst.c: Add two more constants for 1e+-2048 and
1e+-4096, and correct the other constants.
* symbols.c (resolve_symbol_value): Handle O_logical_not. * symbols.c (resolve_symbol_value): Handle O_logical_not.
Thu Feb 29 13:58:35 1996 Michael Meissner <meissner@tiktok.cygnus.com> Thu Feb 29 13:58:35 1996 Michael Meissner <meissner@tiktok.cygnus.com>

View File

@ -15,15 +15,16 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GAS; see the file COPYING. If not, write to along with GAS; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <ansidecl.h>
#include "flonum.h" #include "flonum.h"
/* JF: I added the last entry to this table, and I'm not /* JF: I added the last entry to this table, and I'm not
sure if its right or not. Could go either way. I wish sure if its right or not. Could go either way. I wish
I really understood this stuff. */ I really understood this stuff. */
const int table_size_of_flonum_powers_of_ten = 11; const int table_size_of_flonum_powers_of_ten = 13;
static const LITTLENUM_TYPE zero[] = static const LITTLENUM_TYPE zero[] =
{1}; {1};
@ -43,7 +44,7 @@ static const LITTLENUM_TYPE zero[] =
/* JF: If this equals 6553/(2^16)+39321/(2^32)+... it approaches .1 */ /* JF: If this equals 6553/(2^16)+39321/(2^32)+... it approaches .1 */
static const LITTLENUM_TYPE minus_1[] = static const LITTLENUM_TYPE minus_1[] =
{ {
39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 39322, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321,
39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 6553}; 39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 39321, 6553};
static const LITTLENUM_TYPE plus_1[] = static const LITTLENUM_TYPE plus_1[] =
{10}; {10};
@ -51,7 +52,7 @@ static const LITTLENUM_TYPE plus_1[] =
/* JF: If this equals 655/(2^16) + 23592/(2^32) + ... it approaches .01 */ /* JF: If this equals 655/(2^16) + 23592/(2^32) + ... it approaches .01 */
static const LITTLENUM_TYPE minus_2[] = static const LITTLENUM_TYPE minus_2[] =
{ {
10485, 36700, 62914, 23592, 49807, 10485, 36700, 62914, 23592, 49807, 10486, 36700, 62914, 23592, 49807, 10485, 36700, 62914, 23592, 49807,
10485, 36700, 62914, 23592, 49807, 10485, 36700, 62914, 23592, 655}; 10485, 36700, 62914, 23592, 49807, 10485, 36700, 62914, 23592, 655};
static const LITTLENUM_TYPE plus_2[] = static const LITTLENUM_TYPE plus_2[] =
{100}; {100};
@ -59,7 +60,7 @@ static const LITTLENUM_TYPE plus_2[] =
/* This approaches .0001 */ /* This approaches .0001 */
static const LITTLENUM_TYPE minus_3[] = static const LITTLENUM_TYPE minus_3[] =
{ {
52533, 20027, 37329, 65116, 64067, 60397, 14784, 18979, 33659, 19503, 52534, 20027, 37329, 65116, 64067, 60397, 14784, 18979, 33659, 19503,
2726, 9542, 629, 2202, 40475, 10590, 4299, 47815, 36280, 6}; 2726, 9542, 629, 2202, 40475, 10590, 4299, 47815, 36280, 6};
static const LITTLENUM_TYPE plus_3[] = static const LITTLENUM_TYPE plus_3[] =
{10000}; {10000};
@ -67,7 +68,7 @@ static const LITTLENUM_TYPE plus_3[] =
/* JF: this approaches 1e-8 */ /* JF: this approaches 1e-8 */
static const LITTLENUM_TYPE minus_4[] = static const LITTLENUM_TYPE minus_4[] =
{ {
22516, 49501, 54293, 19424, 60699, 6716, 24348, 22618, 23904, 21327, 22517, 49501, 54293, 19424, 60699, 6716, 24348, 22618, 23904, 21327,
3919, 44703, 19149, 28803, 48959, 6259, 50273, 62237, 42}; 3919, 44703, 19149, 28803, 48959, 6259, 50273, 62237, 42};
/* This equals 1525 * 2^16 + 57600 */ /* This equals 1525 * 2^16 + 57600 */
static const LITTLENUM_TYPE plus_4[] = static const LITTLENUM_TYPE plus_4[] =
@ -97,45 +98,67 @@ static const LITTLENUM_TYPE plus_7[] =
static const LITTLENUM_TYPE minus_8[] = static const LITTLENUM_TYPE minus_8[] =
{ {
45849, 19069, 18068, 36324, 37948, 48745, 10873, 64360, 15961, 20566, 27579, 64807, 12543, 794, 13907, 61297, 12013, 64360, 15961, 20566,
24178, 15922, 59427, 110}; 24178, 15922, 59427, 110};
static const LITTLENUM_TYPE plus_8[] = static const LITTLENUM_TYPE plus_8[] =
{ {
15873, 11925, 39177, 991, 14589, 19735, 25347, 65086, 53853, 938, 15873, 11925, 39177, 991, 14589, 3861, 58415, 9076, 62956, 54223,
37209, 47086, 33626, 23253, 32586, 42547, 9731, 59679, 590}; 56328, 50180, 45274, 48333, 32537, 42547, 9731, 59679, 590};
static const LITTLENUM_TYPE minus_9[] = static const LITTLENUM_TYPE minus_9[] =
{ {
63601, 55221, 43562, 33661, 29067, 28203, 65417, 64352, 22462, 41110, 11042, 8464, 58971, 63429, 6022, 63485, 5500, 53464, 47545, 50068,
12570, 28635, 23199, 50572, 28471, 27074, 46375, 64028, 13106, 63700, 56988, 22819, 49708, 54493, 9920, 47667, 40409, 35764, 10383, 54466,
32698, 17493, 32420, 34382, 22750, 20681, 12300}; 32702, 17493, 32420, 34382, 22750, 20681, 12300};
static const LITTLENUM_TYPE plus_9[] = static const LITTLENUM_TYPE plus_9[] =
{ {
63564, 61556, 29377, 54467, 18621, 28141, 36415, 61241, 47119, 30026, 20678, 27614, 28272, 53066, 55311, 54677, 29038, 9906, 26288, 44486,
19740, 46002, 13541, 61413, 30480, 38664, 32205, 50593, 51112, 48904, 13860, 7445, 54106, 15426, 21518, 25599, 29632, 52309, 61207, 26105,
48263, 43814, 286, 30826, 52813, 62575, 61390, 24540, 21495, 5}; 10482, 21948, 51191, 32988, 60892, 62574, 61390, 24540, 21495, 5};
static const LITTLENUM_TYPE minus_10[] = static const LITTLENUM_TYPE minus_10[] =
{ {
50313, 34681, 1464, 25889, 19575, 41125, 17635, 4598, 49708, 13427, 6214, 48771, 23471, 30163, 31763, 38013, 57001, 11770, 18263, 36366,
17287, 56115, 53783, 38255, 32415, 17778, 31596, 7557, 20951, 18477, 20742, 45086, 56969, 53231, 37856, 55814, 38057, 15692, 46761, 8713,
40353, 1178, 44405, 11837, 11571, 50963, 15649, 11698, 40675, 2308,}; 6102, 20083, 8269, 11839, 11571, 50963, 15649, 11698, 40675, 2308};
static const LITTLENUM_TYPE plus_10[] = static const LITTLENUM_TYPE plus_10[] =
{ {
18520, 53764, 54535, 61910, 61962, 59843, 46270, 58053, 12473, 63785, 63839, 36576, 45712, 44516, 37803, 29482, 4966, 30556, 37961, 23310,
2449, 43230, 50044, 47595, 10403, 35766, 32607, 1124, 24966, 35044, 27070, 44972, 29507, 48257, 45209, 7494, 17831, 38728, 41577, 29443,
25524, 23631, 18826, 14518, 58448, 14562, 49618, 5588, 25396, 28}; 36016, 7955, 35339, 35479, 36011, 14553, 49618, 5588, 25396, 28};
static const LITTLENUM_TYPE minus_11[] = static const LITTLENUM_TYPE minus_11[] =
{ {
6223, 59909, 62437, 59960, 14652, 45336, 48800, 7647, 51962, 37982, 16663, 56882, 61983, 7804, 36555, 32060, 34502, 1000, 14356, 21681,
60436, 58176, 26767, 8440, 9831, 48556, 20994, 14148, 6757, 17221, 6605, 34767, 51411, 59048, 53614, 39850, 30079, 6496, 6846, 26841,
60624, 46129, 53210, 44085, 54016, 24259, 11232, 21229, 21313, 81,}; 40778, 19578, 59899, 44085, 54016, 24259, 11232, 21229, 21313, 81};
static const LITTLENUM_TYPE plus_11[] = static const LITTLENUM_TYPE plus_11[] =
{ {
36159, 2055, 33615, 61362, 23581, 62454, 9748, 15275, 39284, 58636, 92, 9054, 62707, 17993, 7821, 56838, 13992, 21321, 29637, 48426,
16269, 42793, 47240, 45774, 50861, 48400, 9413, 40281, 4030, 9572, 42982, 38668, 49574, 28820, 18200, 18927, 53979, 16219, 37484, 2516,
7984, 33038, 59522, 19450, 40593, 24486, 54320, 6661, 55766, 805,}; 44642, 14665, 11587, 41926, 13556, 23956, 54320, 6661, 55766, 805};
static const LITTLENUM_TYPE minus_12[] =
{
33202, 45969, 58804, 56734, 16482, 26007, 44984, 49334, 31007, 32944,
44517, 63329, 47131, 15291, 59465, 2264, 23218, 11829, 59771, 38798,
31051, 28748, 23129, 40541, 41562, 35108, 50620, 59014, 51817, 6613};
static const LITTLENUM_TYPE plus_12[] =
{
10098, 37922, 58070, 7432, 10470, 63465, 23718, 62190, 47420, 7009,
38443, 4587, 45596, 38472, 52129, 52779, 29012, 13559, 48688, 31678,
41753, 58662, 10668, 36067, 29906, 56906, 21461, 46556, 59571, 9};
static const LITTLENUM_TYPE minus_13[] =
{
45309, 27592, 37144, 34637, 34328, 41671, 34620, 24135, 53401, 22112,
21576, 45147, 39310, 44051, 48572, 3676, 46544, 59768, 33350, 2323,
49524, 61568, 3903, 36487, 36356, 30903, 14975, 9035, 29715, 667};
static const LITTLENUM_TYPE plus_13[] =
{
18788, 16960, 6318, 45685, 55400, 46230, 35794, 25588, 7253, 55541,
49716, 59760, 63592, 8191, 63765, 58530, 44667, 13294, 10001, 55586,
47887, 18738, 9509, 40896, 42506, 52580, 4171, 325, 12329, 98};
/* Shut up complaints about differing pointer types. They only differ /* Shut up complaints about differing pointer types. They only differ
in the const attribute, but there isn't any easy way to do this in the const attribute, but there isn't any easy way to do this
@ -156,6 +179,8 @@ const FLONUM_TYPE flonum_negative_powers_of_ten[] =
{X minus_9, X minus_9 + 26, X minus_9 + 26, -80, '+'}, {X minus_9, X minus_9 + 26, X minus_9 + 26, -80, '+'},
{X minus_10, X minus_10 + 29, X minus_10 + 29, -136, '+'}, {X minus_10, X minus_10 + 29, X minus_10 + 29, -136, '+'},
{X minus_11, X minus_11 + 29, X minus_11 + 29, -242, '+'}, {X minus_11, X minus_11 + 29, X minus_11 + 29, -242, '+'},
{X minus_12, X minus_12 + 29, X minus_12 + 29, -455, '+'},
{X minus_13, X minus_13 + 29, X minus_13 + 29, -880, '+'},
}; };
const FLONUM_TYPE flonum_positive_powers_of_ten[] = const FLONUM_TYPE flonum_positive_powers_of_ten[] =
@ -172,12 +197,11 @@ const FLONUM_TYPE flonum_positive_powers_of_ten[] =
{X plus_9, X plus_9 + 29, X plus_9 + 29, 24, '+'}, {X plus_9, X plus_9 + 29, X plus_9 + 29, 24, '+'},
{X plus_10, X plus_10 + 29, X plus_10 + 29, 77, '+'}, {X plus_10, X plus_10 + 29, X plus_10 + 29, 77, '+'},
{X plus_11, X plus_11 + 29, X plus_11 + 29, 183, '+'}, {X plus_11, X plus_11 + 29, X plus_11 + 29, 183, '+'},
{X plus_12, X plus_12 + 29, X plus_12 + 29, 396, '+'},
{X plus_13, X plus_13 + 29, X plus_13 + 29, 821, '+'},
}; };
#ifdef VMS #ifdef VMS
dummy1 () void dummy1 () { }
{
}
#endif #endif
/* end of flonum_const.c */ /* end of flonum_const.c */