diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-05-08 16:06:26 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-05-08 16:06:26 -0700 |
commit | 693682fc225e60c9c335ee910fb3c8bb5cf85470 (patch) | |
tree | b2c1285adf65b68a7b20aa231c4c5665966b2c18 /tests/nbody-java/native_java_lang_Float.c | |
parent | b41b535aeac53740dec416f617378ec4e4e382ce (diff) |
add nbody-java code
Diffstat (limited to 'tests/nbody-java/native_java_lang_Float.c')
-rw-r--r-- | tests/nbody-java/native_java_lang_Float.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/nbody-java/native_java_lang_Float.c b/tests/nbody-java/native_java_lang_Float.c new file mode 100644 index 00000000..09c2d68e --- /dev/null +++ b/tests/nbody-java/native_java_lang_Float.c @@ -0,0 +1,52 @@ + +#include "xmlvm.h" +#include "java_lang_Float.h" + + +//XMLVM_BEGIN_NATIVE_IMPLEMENTATION +#include <math.h> +//XMLVM_END_NATIVE_IMPLEMENTATION + +JAVA_INT java_lang_Float_floatToIntBits___float(JAVA_FLOAT n1) +{ + //XMLVM_BEGIN_NATIVE[java_lang_Float_floatToIntBits___float] + union { + JAVA_FLOAT f; + JAVA_INT i; + } u; + + if (isnan(n1)) { + return 0x7fc00000; + } else { + u.f = n1; + return u.i; + } + //XMLVM_END_NATIVE +} + +JAVA_INT java_lang_Float_floatToRawIntBits___float(JAVA_FLOAT n1) +{ + //XMLVM_BEGIN_NATIVE[java_lang_Float_floatToRawIntBits___float] + union { + JAVA_FLOAT f; + JAVA_INT i; + } u; + + u.f = n1; + return u.i; + //XMLVM_END_NATIVE +} + +JAVA_FLOAT java_lang_Float_intBitsToFloat___int(JAVA_INT n1) +{ + //XMLVM_BEGIN_NATIVE[java_lang_Float_intBitsToFloat___int] + union { + JAVA_FLOAT f; + JAVA_INT i; + } u; + + u.i = n1; + return u.f; + //XMLVM_END_NATIVE +} + |