This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On Tue, Aug 17, 2004 at 01:46:44AM +0200, Dimitry Andric wrote:
> > (You're also Dutch?)
>
> Ja. :)
Such coincidence :)
> > I think it's applied correctly? I'm trying this with hardfloat, if
> > I use fpa or vfp softfloat it does print the right number.
>
> Hm, it sure still looks like glibc has swapped it around...
I'm not sure if it's glibc that's doing the swapping... see below.
> > volatile float x;
> > x = 1.0;
> > printf("%f\n", x);
>
> Right, maybe something goes wrong here when the float is promoted to
> double. Can you try declaring x as double?
I just tried this:
<source>
#include <stdio.h>
#include <stdlib.h>
static void dumpdouble(volatile double *x)
{
printf("%.8x %.8x %lf\n", ((unsigned int *)x)[0], ((unsigned int *)x)[1], *x);
}
int main()
{
volatile double x, y, z;
x = 1.0; dumpdouble(&x);
y = 1.0; dumpdouble(&y);
z = 2.0; dumpdouble(&z);
z = x + y; dumpdouble(&z);
return 0;
}
</source>
And it gives me this:
<output>
3ff00000 00000000 1.000000
3ff00000 00000000 1.000000
40000000 00000000 2.000000
7fe00000 00000000 89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608.000000
</output>
cheers,
Lennert
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |