2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / libjava / java / lang / natFloat.cc
blobf035dd58cf87fee2db0d04f7f1072bcfba98eca5
1 // natFloat.cc - Implementation of java.lang.Float native methods.
3 /* Copyright (C) 1998, 1999, 2001 Free Software Foundation
5 This file is part of libgcj.
7 This software is copyrighted work licensed under the terms of the
8 Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
9 details. */
11 #include <config.h>
13 #include <java/lang/Float.h>
14 #include <jvm.h>
16 union u
18 jint l;
19 jfloat d;
22 jint
23 java::lang::Float::floatToIntBits(jfloat value)
25 union u u;
26 u.d = value;
27 jint e = u.l & 0x7f800000;
28 jint f = u.l & 0x007fffff;
30 if (e == 0x7f800000 && f != 0)
31 u.l = 0x7fc00000;
33 return u.l;
36 jint
37 java::lang::Float::floatToRawIntBits(jfloat value)
39 union u u;
40 u.d = value;
41 return u.l;
44 jfloat
45 java::lang::Float::intBitsToFloat(jint bits)
47 union u u;
48 u.l = bits;
49 return u.d;