summaryrefslogtreecommitdiff
path: root/tests/nbody-java/native_java_lang_Float.c
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-05-08 16:06:26 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-05-08 16:06:26 -0700
commit693682fc225e60c9c335ee910fb3c8bb5cf85470 (patch)
treeb2c1285adf65b68a7b20aa231c4c5665966b2c18 /tests/nbody-java/native_java_lang_Float.c
parentb41b535aeac53740dec416f617378ec4e4e382ce (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.c52
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
+}
+