1591 |
|
FPU registers[reg] = 1.0e256; |
1592 |
|
fpu_debug(("FP const: 1.0e256\n")); |
1593 |
|
break; |
1594 |
< |
#if USE_LONG_DOUBLE |
1594 |
> |
#if USE_LONG_DOUBLE || USE_QUAD_DOUBLE |
1595 |
|
case 0x3c: |
1596 |
|
FPU registers[reg] = 1.0e512; |
1597 |
|
fpu_debug(("FP const: 1.0e512\n")); |
1967 |
|
// an overflow or underflow always results. |
1968 |
|
// Here (int) cast is okay. |
1969 |
|
int scale_factor = (int)fp_round_to_zero(src); |
1970 |
< |
#ifndef USE_LONG_DOUBLE |
1970 |
> |
#if USE_LONG_DOUBLE || USE_QUAD_DOUBLE |
1971 |
> |
fp_declare_init_shape(sxp, FPU registers[reg], extended); |
1972 |
> |
sxp->ieee.exponent += scale_factor; |
1973 |
> |
#else |
1974 |
|
fp_declare_init_shape(sxp, FPU registers[reg], double); |
1975 |
|
uae_u32 exp = sxp->ieee.exponent + scale_factor; |
1976 |
|
if (exp < FP_EXTENDED_EXP_BIAS - FP_DOUBLE_EXP_BIAS) |
1980 |
|
else |
1981 |
|
exp += FP_DOUBLE_EXP_BIAS - FP_EXTENDED_EXP_BIAS; |
1982 |
|
sxp->ieee.exponent = exp; |
1980 |
– |
#else |
1981 |
– |
fp_declare_init_shape(sxp, FPU registers[reg], extended); |
1982 |
– |
sxp->ieee.exponent += scale_factor; |
1983 |
|
#endif |
1984 |
|
} |
1985 |
|
else if (fl_source.infinity) { |