gcc/libjava/java/lang/natFloat.cc

52 lines
829 B
C++
Raw Normal View History

1999-04-07 16:42:40 +02:00
// natFloat.cc - Implementation of java.lang.Float native methods.
/* Copyright (C) 1998, 1999, 2001 Free Software Foundation
1999-04-07 16:42:40 +02:00
This file is part of libgcj.
This software is copyrighted work licensed under the terms of the
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
#include <config.h>
#include <java/lang/Float.h>
#include <jvm.h>
union u
{
jint l;
jfloat d;
};
jint
java::lang::Float::floatToIntBits(jfloat value)
{
union u u;
u.d = value;
jint e = u.l & 0x7f800000;
jint f = u.l & 0x007fffff;
if (e == 0x7f800000 && f != 0)
u.l = 0x7fc00000;
1999-04-07 16:42:40 +02:00
return u.l;
}
jint
java::lang::Float::floatToRawIntBits(jfloat value)
{
union u u;
u.d = value;
return u.l;
}
1999-04-07 16:42:40 +02:00
jfloat
java::lang::Float::intBitsToFloat(jint bits)
{
union u u;
u.l = bits;
return u.d;
}