summaryrefslogtreecommitdiff
path: root/tests/nbody-java/native_org_apache_harmony_luni_util_FloatingPointParser.c
blob: 081c6180f3dacb09754e3707dd14c705612e4bd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "xmlvm.h"
#include "org_apache_harmony_luni_util_FloatingPointParser.h"


//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
#include <math.h>
//XMLVM_END_NATIVE_IMPLEMENTATION

JAVA_DOUBLE org_apache_harmony_luni_util_FloatingPointParser_parseDblImpl___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
{
    //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_util_FloatingPointParser_parseDblImpl___java_lang_String_int]
    const char* doubleNumStr = xmlvm_java_string_to_const_char(n1);
    JAVA_DOUBLE doubleNum = atof(doubleNumStr);
    if (n2 == 0) {
        return doubleNum;
    }
    return doubleNum * pow(10, n2);
    //XMLVM_END_NATIVE
}

JAVA_FLOAT org_apache_harmony_luni_util_FloatingPointParser_parseFltImpl___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
{
    //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_util_FloatingPointParser_parseFltImpl___java_lang_String_int]
    const char* floatNumStr = xmlvm_java_string_to_const_char(n1);
    JAVA_FLOAT floatNum = atof(floatNumStr);
    if (n2 == 0) {
        return floatNum;
    }
    return floatNum * pow(10, n2);
    //XMLVM_END_NATIVE
}