~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to tests/nbody-java/java_lang_Math.c

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-06-11 15:45:24 UTC
  • mfrom: (1.2.1) (2.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20130611154524-rppb3w6tixlegv4n
Tags: 1.4.7~20130611~a1eb425-1
* New snapshot release
* Upload to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "xmlvm.h"
 
2
#include "java_lang_Double.h"
 
3
#include "java_lang_Float.h"
 
4
#include "java_lang_Integer.h"
 
5
#include "java_lang_Long.h"
 
6
 
 
7
#include "java_lang_Math.h"
 
8
 
 
9
#define XMLVM_CURRENT_CLASS_NAME Math
 
10
#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Math
 
11
 
 
12
__TIB_DEFINITION_java_lang_Math __TIB_java_lang_Math = {
 
13
    0, // classInitializationBegan
 
14
    0, // classInitialized
 
15
    -1, // initializerThreadId
 
16
    __INIT_java_lang_Math, // classInitializer
 
17
    "java.lang.Math", // className
 
18
    "java.lang", // package
 
19
    JAVA_NULL, // enclosingClassName
 
20
    JAVA_NULL, // enclosingMethodName
 
21
    JAVA_NULL, // signature
 
22
    (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
 
23
    sizeof(java_lang_Math), // sizeInstance
 
24
    XMLVM_TYPE_CLASS};
 
25
 
 
26
JAVA_OBJECT __CLASS_java_lang_Math;
 
27
JAVA_OBJECT __CLASS_java_lang_Math_1ARRAY;
 
28
JAVA_OBJECT __CLASS_java_lang_Math_2ARRAY;
 
29
JAVA_OBJECT __CLASS_java_lang_Math_3ARRAY;
 
30
//XMLVM_BEGIN_IMPLEMENTATION
 
31
//XMLVM_END_IMPLEMENTATION
 
32
 
 
33
static JAVA_INT _STATIC_java_lang_Math_FLOAT_EXPONENT_BIAS;
 
34
static JAVA_INT _STATIC_java_lang_Math_FLOAT_EXPONENT_MASK;
 
35
static JAVA_INT _STATIC_java_lang_Math_DOUBLE_NON_MANTISSA_BITS;
 
36
static JAVA_INT _STATIC_java_lang_Math_DOUBLE_MANTISSA_BITS;
 
37
static JAVA_INT _STATIC_java_lang_Math_FLOAT_NON_MANTISSA_BITS;
 
38
static JAVA_INT _STATIC_java_lang_Math_FLOAT_MANTISSA_BITS;
 
39
static JAVA_INT _STATIC_java_lang_Math_DOUBLE_EXPONENT_BIAS;
 
40
static JAVA_LONG _STATIC_java_lang_Math_DOUBLE_EXPONENT_MASK;
 
41
static JAVA_INT _STATIC_java_lang_Math_FLOAT_MANTISSA_MASK;
 
42
static JAVA_INT _STATIC_java_lang_Math_FLOAT_SIGN_MASK;
 
43
static JAVA_LONG _STATIC_java_lang_Math_DOUBLE_MANTISSA_MASK;
 
44
static JAVA_LONG _STATIC_java_lang_Math_DOUBLE_SIGN_MASK;
 
45
static JAVA_DOUBLE _STATIC_java_lang_Math_E;
 
46
static JAVA_DOUBLE _STATIC_java_lang_Math_PI;
 
47
static JAVA_OBJECT _STATIC_java_lang_Math_random;
 
48
 
 
49
#include "xmlvm-reflection.h"
 
50
 
 
51
static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
 
52
};
 
53
 
 
54
static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
 
55
};
 
56
 
 
57
static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
 
58
{
 
59
    XMLVM_NOT_IMPLEMENTED();
 
60
}
 
61
 
 
62
static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
 
63
};
 
64
 
 
65
static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
 
66
{
 
67
    XMLVM_NOT_IMPLEMENTED();
 
68
}
 
69
 
 
70
void __INIT_java_lang_Math()
 
71
{
 
72
    staticInitializerLock(&__TIB_java_lang_Math);
 
73
 
 
74
    // While the static initializer mutex is locked, locally store the value of
 
75
    // whether class initialization began or not
 
76
    int initBegan = __TIB_java_lang_Math.classInitializationBegan;
 
77
 
 
78
    // Whether or not class initialization had already began, it has begun now
 
79
    __TIB_java_lang_Math.classInitializationBegan = 1;
 
80
 
 
81
    staticInitializerUnlock(&__TIB_java_lang_Math);
 
82
 
 
83
    JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
 
84
    if (initBegan) {
 
85
        if (__TIB_java_lang_Math.initializerThreadId != curThreadId) {
 
86
            // Busy wait until the other thread finishes initializing this class
 
87
            while (!__TIB_java_lang_Math.classInitialized) {
 
88
                // do nothing
 
89
            }
 
90
        }
 
91
    } else {
 
92
        __TIB_java_lang_Math.initializerThreadId = curThreadId;
 
93
        XMLVM_CLASS_USED("java.lang.Math")
 
94
        __INIT_IMPL_java_lang_Math();
 
95
    }
 
96
}
 
97
 
 
98
void __INIT_IMPL_java_lang_Math()
 
99
{
 
100
    // Initialize base class if necessary
 
101
    XMLVM_CLASS_INIT(java_lang_Object)
 
102
    __TIB_java_lang_Math.newInstanceFunc = __NEW_INSTANCE_java_lang_Math;
 
103
    // Copy vtable from base class
 
104
    XMLVM_MEMCPY(__TIB_java_lang_Math.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
 
105
    // Initialize vtable for this class
 
106
    // Initialize interface information
 
107
    __TIB_java_lang_Math.numImplementedInterfaces = 0;
 
108
    __TIB_java_lang_Math.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
 
109
 
 
110
    // Initialize interfaces if necessary and assign tib to implementedInterfaces
 
111
    _STATIC_java_lang_Math_FLOAT_EXPONENT_BIAS = 127;
 
112
    _STATIC_java_lang_Math_FLOAT_EXPONENT_MASK = 2139095040;
 
113
    _STATIC_java_lang_Math_DOUBLE_NON_MANTISSA_BITS = 12;
 
114
    _STATIC_java_lang_Math_DOUBLE_MANTISSA_BITS = 52;
 
115
    _STATIC_java_lang_Math_FLOAT_NON_MANTISSA_BITS = 9;
 
116
    _STATIC_java_lang_Math_FLOAT_MANTISSA_BITS = 23;
 
117
    _STATIC_java_lang_Math_DOUBLE_EXPONENT_BIAS = 1023;
 
118
    _STATIC_java_lang_Math_DOUBLE_EXPONENT_MASK = 9218868437227405312;
 
119
    _STATIC_java_lang_Math_FLOAT_MANTISSA_MASK = 8388607;
 
120
    _STATIC_java_lang_Math_FLOAT_SIGN_MASK = -2147483648;
 
121
    _STATIC_java_lang_Math_DOUBLE_MANTISSA_MASK = 4503599627370495;
 
122
    _STATIC_java_lang_Math_DOUBLE_SIGN_MASK = -9223372036854775808;
 
123
    _STATIC_java_lang_Math_E = 2.718281828459045;
 
124
    _STATIC_java_lang_Math_PI = 3.141592653589793;
 
125
    _STATIC_java_lang_Math_random = (java_lang_Object*) JAVA_NULL;
 
126
 
 
127
    __TIB_java_lang_Math.declaredFields = &__field_reflection_data[0];
 
128
    __TIB_java_lang_Math.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
 
129
    __TIB_java_lang_Math.constructorDispatcherFunc = constructor_dispatcher;
 
130
    __TIB_java_lang_Math.declaredConstructors = &__constructor_reflection_data[0];
 
131
    __TIB_java_lang_Math.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
 
132
    __TIB_java_lang_Math.methodDispatcherFunc = method_dispatcher;
 
133
    __TIB_java_lang_Math.declaredMethods = &__method_reflection_data[0];
 
134
    __TIB_java_lang_Math.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
 
135
    __CLASS_java_lang_Math = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Math);
 
136
    __TIB_java_lang_Math.clazz = __CLASS_java_lang_Math;
 
137
    __TIB_java_lang_Math.baseType = JAVA_NULL;
 
138
    __CLASS_java_lang_Math_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Math);
 
139
    __CLASS_java_lang_Math_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Math_1ARRAY);
 
140
    __CLASS_java_lang_Math_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Math_2ARRAY);
 
141
    //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Math]
 
142
    //XMLVM_END_WRAPPER
 
143
 
 
144
    __TIB_java_lang_Math.classInitialized = 1;
 
145
}
 
146
 
 
147
void __DELETE_java_lang_Math(void* me, void* client_data)
 
148
{
 
149
    //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Math]
 
150
    //XMLVM_END_WRAPPER
 
151
}
 
152
 
 
153
void __INIT_INSTANCE_MEMBERS_java_lang_Math(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
 
154
{
 
155
    __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
 
156
    //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Math]
 
157
    //XMLVM_END_WRAPPER
 
158
}
 
159
 
 
160
JAVA_OBJECT __NEW_java_lang_Math()
 
161
{    XMLVM_CLASS_INIT(java_lang_Math)
 
162
java_lang_Math* me = (java_lang_Math*) XMLVM_MALLOC(sizeof(java_lang_Math));
 
163
    me->tib = &__TIB_java_lang_Math;
 
164
    __INIT_INSTANCE_MEMBERS_java_lang_Math(me, 0);
 
165
    //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Math]
 
166
    //XMLVM_END_WRAPPER
 
167
    return me;
 
168
}
 
169
 
 
170
JAVA_OBJECT __NEW_INSTANCE_java_lang_Math()
 
171
{
 
172
    JAVA_OBJECT me = JAVA_NULL;
 
173
    return me;
 
174
}
 
175
 
 
176
JAVA_INT java_lang_Math_GET_FLOAT_EXPONENT_BIAS()
 
177
{
 
178
    XMLVM_CLASS_INIT(java_lang_Math)
 
179
    return _STATIC_java_lang_Math_FLOAT_EXPONENT_BIAS;
 
180
}
 
181
 
 
182
void java_lang_Math_PUT_FLOAT_EXPONENT_BIAS(JAVA_INT v)
 
183
{
 
184
    XMLVM_CLASS_INIT(java_lang_Math)
 
185
_STATIC_java_lang_Math_FLOAT_EXPONENT_BIAS = v;
 
186
}
 
187
 
 
188
JAVA_INT java_lang_Math_GET_FLOAT_EXPONENT_MASK()
 
189
{
 
190
    XMLVM_CLASS_INIT(java_lang_Math)
 
191
    return _STATIC_java_lang_Math_FLOAT_EXPONENT_MASK;
 
192
}
 
193
 
 
194
void java_lang_Math_PUT_FLOAT_EXPONENT_MASK(JAVA_INT v)
 
195
{
 
196
    XMLVM_CLASS_INIT(java_lang_Math)
 
197
_STATIC_java_lang_Math_FLOAT_EXPONENT_MASK = v;
 
198
}
 
199
 
 
200
JAVA_INT java_lang_Math_GET_DOUBLE_NON_MANTISSA_BITS()
 
201
{
 
202
    XMLVM_CLASS_INIT(java_lang_Math)
 
203
    return _STATIC_java_lang_Math_DOUBLE_NON_MANTISSA_BITS;
 
204
}
 
205
 
 
206
void java_lang_Math_PUT_DOUBLE_NON_MANTISSA_BITS(JAVA_INT v)
 
207
{
 
208
    XMLVM_CLASS_INIT(java_lang_Math)
 
209
_STATIC_java_lang_Math_DOUBLE_NON_MANTISSA_BITS = v;
 
210
}
 
211
 
 
212
JAVA_INT java_lang_Math_GET_DOUBLE_MANTISSA_BITS()
 
213
{
 
214
    XMLVM_CLASS_INIT(java_lang_Math)
 
215
    return _STATIC_java_lang_Math_DOUBLE_MANTISSA_BITS;
 
216
}
 
217
 
 
218
void java_lang_Math_PUT_DOUBLE_MANTISSA_BITS(JAVA_INT v)
 
219
{
 
220
    XMLVM_CLASS_INIT(java_lang_Math)
 
221
_STATIC_java_lang_Math_DOUBLE_MANTISSA_BITS = v;
 
222
}
 
223
 
 
224
JAVA_INT java_lang_Math_GET_FLOAT_NON_MANTISSA_BITS()
 
225
{
 
226
    XMLVM_CLASS_INIT(java_lang_Math)
 
227
    return _STATIC_java_lang_Math_FLOAT_NON_MANTISSA_BITS;
 
228
}
 
229
 
 
230
void java_lang_Math_PUT_FLOAT_NON_MANTISSA_BITS(JAVA_INT v)
 
231
{
 
232
    XMLVM_CLASS_INIT(java_lang_Math)
 
233
_STATIC_java_lang_Math_FLOAT_NON_MANTISSA_BITS = v;
 
234
}
 
235
 
 
236
JAVA_INT java_lang_Math_GET_FLOAT_MANTISSA_BITS()
 
237
{
 
238
    XMLVM_CLASS_INIT(java_lang_Math)
 
239
    return _STATIC_java_lang_Math_FLOAT_MANTISSA_BITS;
 
240
}
 
241
 
 
242
void java_lang_Math_PUT_FLOAT_MANTISSA_BITS(JAVA_INT v)
 
243
{
 
244
    XMLVM_CLASS_INIT(java_lang_Math)
 
245
_STATIC_java_lang_Math_FLOAT_MANTISSA_BITS = v;
 
246
}
 
247
 
 
248
JAVA_INT java_lang_Math_GET_DOUBLE_EXPONENT_BIAS()
 
249
{
 
250
    XMLVM_CLASS_INIT(java_lang_Math)
 
251
    return _STATIC_java_lang_Math_DOUBLE_EXPONENT_BIAS;
 
252
}
 
253
 
 
254
void java_lang_Math_PUT_DOUBLE_EXPONENT_BIAS(JAVA_INT v)
 
255
{
 
256
    XMLVM_CLASS_INIT(java_lang_Math)
 
257
_STATIC_java_lang_Math_DOUBLE_EXPONENT_BIAS = v;
 
258
}
 
259
 
 
260
JAVA_LONG java_lang_Math_GET_DOUBLE_EXPONENT_MASK()
 
261
{
 
262
    XMLVM_CLASS_INIT(java_lang_Math)
 
263
    return _STATIC_java_lang_Math_DOUBLE_EXPONENT_MASK;
 
264
}
 
265
 
 
266
void java_lang_Math_PUT_DOUBLE_EXPONENT_MASK(JAVA_LONG v)
 
267
{
 
268
    XMLVM_CLASS_INIT(java_lang_Math)
 
269
_STATIC_java_lang_Math_DOUBLE_EXPONENT_MASK = v;
 
270
}
 
271
 
 
272
JAVA_INT java_lang_Math_GET_FLOAT_MANTISSA_MASK()
 
273
{
 
274
    XMLVM_CLASS_INIT(java_lang_Math)
 
275
    return _STATIC_java_lang_Math_FLOAT_MANTISSA_MASK;
 
276
}
 
277
 
 
278
void java_lang_Math_PUT_FLOAT_MANTISSA_MASK(JAVA_INT v)
 
279
{
 
280
    XMLVM_CLASS_INIT(java_lang_Math)
 
281
_STATIC_java_lang_Math_FLOAT_MANTISSA_MASK = v;
 
282
}
 
283
 
 
284
JAVA_INT java_lang_Math_GET_FLOAT_SIGN_MASK()
 
285
{
 
286
    XMLVM_CLASS_INIT(java_lang_Math)
 
287
    return _STATIC_java_lang_Math_FLOAT_SIGN_MASK;
 
288
}
 
289
 
 
290
void java_lang_Math_PUT_FLOAT_SIGN_MASK(JAVA_INT v)
 
291
{
 
292
    XMLVM_CLASS_INIT(java_lang_Math)
 
293
_STATIC_java_lang_Math_FLOAT_SIGN_MASK = v;
 
294
}
 
295
 
 
296
JAVA_LONG java_lang_Math_GET_DOUBLE_MANTISSA_MASK()
 
297
{
 
298
    XMLVM_CLASS_INIT(java_lang_Math)
 
299
    return _STATIC_java_lang_Math_DOUBLE_MANTISSA_MASK;
 
300
}
 
301
 
 
302
void java_lang_Math_PUT_DOUBLE_MANTISSA_MASK(JAVA_LONG v)
 
303
{
 
304
    XMLVM_CLASS_INIT(java_lang_Math)
 
305
_STATIC_java_lang_Math_DOUBLE_MANTISSA_MASK = v;
 
306
}
 
307
 
 
308
JAVA_LONG java_lang_Math_GET_DOUBLE_SIGN_MASK()
 
309
{
 
310
    XMLVM_CLASS_INIT(java_lang_Math)
 
311
    return _STATIC_java_lang_Math_DOUBLE_SIGN_MASK;
 
312
}
 
313
 
 
314
void java_lang_Math_PUT_DOUBLE_SIGN_MASK(JAVA_LONG v)
 
315
{
 
316
    XMLVM_CLASS_INIT(java_lang_Math)
 
317
_STATIC_java_lang_Math_DOUBLE_SIGN_MASK = v;
 
318
}
 
319
 
 
320
JAVA_DOUBLE java_lang_Math_GET_E()
 
321
{
 
322
    XMLVM_CLASS_INIT(java_lang_Math)
 
323
    return _STATIC_java_lang_Math_E;
 
324
}
 
325
 
 
326
void java_lang_Math_PUT_E(JAVA_DOUBLE v)
 
327
{
 
328
    XMLVM_CLASS_INIT(java_lang_Math)
 
329
_STATIC_java_lang_Math_E = v;
 
330
}
 
331
 
 
332
JAVA_DOUBLE java_lang_Math_GET_PI()
 
333
{
 
334
    XMLVM_CLASS_INIT(java_lang_Math)
 
335
    return _STATIC_java_lang_Math_PI;
 
336
}
 
337
 
 
338
void java_lang_Math_PUT_PI(JAVA_DOUBLE v)
 
339
{
 
340
    XMLVM_CLASS_INIT(java_lang_Math)
 
341
_STATIC_java_lang_Math_PI = v;
 
342
}
 
343
 
 
344
JAVA_OBJECT java_lang_Math_GET_random()
 
345
{
 
346
    XMLVM_CLASS_INIT(java_lang_Math)
 
347
    return _STATIC_java_lang_Math_random;
 
348
}
 
349
 
 
350
void java_lang_Math_PUT_random(JAVA_OBJECT v)
 
351
{
 
352
    XMLVM_CLASS_INIT(java_lang_Math)
 
353
_STATIC_java_lang_Math_random = v;
 
354
}
 
355
 
 
356
void java_lang_Math___INIT___(JAVA_OBJECT me)
 
357
{
 
358
    //XMLVM_BEGIN_WRAPPER[java_lang_Math___INIT___]
 
359
    XMLVM_ENTER_METHOD("java.lang.Math", "<init>", "?")
 
360
    XMLVMElem _r0;
 
361
    _r0.o = me;
 
362
    XMLVM_SOURCE_POSITION("Math.java", 66)
 
363
    XMLVM_CHECK_NPE(0)
 
364
    java_lang_Object___INIT___(_r0.o);
 
365
    XMLVM_SOURCE_POSITION("Math.java", 67)
 
366
    XMLVM_EXIT_METHOD()
 
367
    return;
 
368
    //XMLVM_END_WRAPPER
 
369
}
 
370
 
 
371
JAVA_DOUBLE java_lang_Math_abs___double(JAVA_DOUBLE n1)
 
372
{
 
373
    XMLVM_CLASS_INIT(java_lang_Math)
 
374
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_abs___double]
 
375
    XMLVM_ENTER_METHOD("java.lang.Math", "abs", "?")
 
376
    XMLVMElem _r0;
 
377
    XMLVMElem _r1;
 
378
    XMLVMElem _r2;
 
379
    XMLVMElem _r3;
 
380
    XMLVMElem _r4;
 
381
    XMLVMElem _r5;
 
382
    _r4.d = n1;
 
383
    XMLVM_SOURCE_POSITION("Math.java", 85)
 
384
    _r0.l = java_lang_Double_doubleToLongBits___double(_r4.d);
 
385
    XMLVM_SOURCE_POSITION("Math.java", 86)
 
386
    _r2.l = 9223372036854775807;
 
387
    _r0.l = _r0.l & _r2.l;
 
388
    XMLVM_SOURCE_POSITION("Math.java", 87)
 
389
    _r0.d = java_lang_Double_longBitsToDouble___long(_r0.l);
 
390
    XMLVM_EXIT_METHOD()
 
391
    return _r0.d;
 
392
    //XMLVM_END_WRAPPER
 
393
}
 
394
 
 
395
JAVA_FLOAT java_lang_Math_abs___float(JAVA_FLOAT n1)
 
396
{
 
397
    XMLVM_CLASS_INIT(java_lang_Math)
 
398
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_abs___float]
 
399
    XMLVM_ENTER_METHOD("java.lang.Math", "abs", "?")
 
400
    XMLVMElem _r0;
 
401
    XMLVMElem _r1;
 
402
    XMLVMElem _r2;
 
403
    _r2.f = n1;
 
404
    XMLVM_SOURCE_POSITION("Math.java", 107)
 
405
    _r0.i = java_lang_Float_floatToIntBits___float(_r2.f);
 
406
    XMLVM_SOURCE_POSITION("Math.java", 108)
 
407
    _r1.i = 2147483647;
 
408
    _r0.i = _r0.i & _r1.i;
 
409
    XMLVM_SOURCE_POSITION("Math.java", 109)
 
410
    _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
 
411
    XMLVM_EXIT_METHOD()
 
412
    return _r0.f;
 
413
    //XMLVM_END_WRAPPER
 
414
}
 
415
 
 
416
JAVA_INT java_lang_Math_abs___int(JAVA_INT n1)
 
417
{
 
418
    XMLVM_CLASS_INIT(java_lang_Math)
 
419
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_abs___int]
 
420
    XMLVM_ENTER_METHOD("java.lang.Math", "abs", "?")
 
421
    XMLVMElem _r0;
 
422
    XMLVMElem _r1;
 
423
    _r1.i = n1;
 
424
    XMLVM_SOURCE_POSITION("Math.java", 124)
 
425
    if (_r1.i < 0) goto label4;
 
426
    _r0 = _r1;
 
427
    label3:;
 
428
    XMLVM_EXIT_METHOD()
 
429
    return _r0.i;
 
430
    label4:;
 
431
    _r0.i = -_r1.i;
 
432
    goto label3;
 
433
    //XMLVM_END_WRAPPER
 
434
}
 
435
 
 
436
JAVA_LONG java_lang_Math_abs___long(JAVA_LONG n1)
 
437
{
 
438
    XMLVM_CLASS_INIT(java_lang_Math)
 
439
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_abs___long]
 
440
    XMLVM_ENTER_METHOD("java.lang.Math", "abs", "?")
 
441
    XMLVMElem _r0;
 
442
    XMLVMElem _r1;
 
443
    XMLVMElem _r2;
 
444
    XMLVMElem _r3;
 
445
    _r2.l = n1;
 
446
    XMLVM_SOURCE_POSITION("Math.java", 137)
 
447
    _r0.l = 0;
 
448
    _r0.i = _r2.l > _r0.l ? 1 : (_r2.l == _r0.l ? 0 : -1);
 
449
    if (_r0.i < 0) goto label8;
 
450
    _r0 = _r2;
 
451
    label7:;
 
452
    XMLVM_EXIT_METHOD()
 
453
    return _r0.l;
 
454
    label8:;
 
455
    _r0.l = -_r2.l;
 
456
    goto label7;
 
457
    //XMLVM_END_WRAPPER
 
458
}
 
459
 
 
460
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_acos___double(JAVA_DOUBLE n1)]
 
461
 
 
462
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_asin___double(JAVA_DOUBLE n1)]
 
463
 
 
464
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_atan___double(JAVA_DOUBLE n1)]
 
465
 
 
466
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_atan2___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)]
 
467
 
 
468
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_cbrt___double(JAVA_DOUBLE n1)]
 
469
 
 
470
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_ceil___double(JAVA_DOUBLE n1)]
 
471
 
 
472
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_cos___double(JAVA_DOUBLE n1)]
 
473
 
 
474
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_cosh___double(JAVA_DOUBLE n1)]
 
475
 
 
476
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_exp___double(JAVA_DOUBLE n1)]
 
477
 
 
478
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_expm1___double(JAVA_DOUBLE n1)]
 
479
 
 
480
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_floor___double(JAVA_DOUBLE n1)]
 
481
 
 
482
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_hypot___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)]
 
483
 
 
484
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_IEEEremainder___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)]
 
485
 
 
486
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_log___double(JAVA_DOUBLE n1)]
 
487
 
 
488
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_log10___double(JAVA_DOUBLE n1)]
 
489
 
 
490
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_log1p___double(JAVA_DOUBLE n1)]
 
491
 
 
492
JAVA_DOUBLE java_lang_Math_max___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
 
493
{
 
494
    XMLVM_CLASS_INIT(java_lang_Math)
 
495
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_max___double_double]
 
496
    XMLVM_ENTER_METHOD("java.lang.Math", "max", "?")
 
497
    XMLVMElem _r0;
 
498
    XMLVMElem _r1;
 
499
    XMLVMElem _r2;
 
500
    XMLVMElem _r3;
 
501
    XMLVMElem _r4;
 
502
    XMLVMElem _r5;
 
503
    XMLVMElem _r6;
 
504
    XMLVMElem _r7;
 
505
    _r4.d = n1;
 
506
    _r6.d = n2;
 
507
    XMLVM_SOURCE_POSITION("Math.java", 513)
 
508
    _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
 
509
    if (_r0.i <= 0) goto label6;
 
510
    _r0 = _r4;
 
511
    label5:;
 
512
    XMLVM_SOURCE_POSITION("Math.java", 514)
 
513
    XMLVM_SOURCE_POSITION("Math.java", 528)
 
514
    XMLVM_EXIT_METHOD()
 
515
    return _r0.d;
 
516
    label6:;
 
517
    XMLVM_SOURCE_POSITION("Math.java", 516)
 
518
    _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
 
519
    if (_r0.i >= 0) goto label12;
 
520
    _r0 = _r6;
 
521
    XMLVM_SOURCE_POSITION("Math.java", 517)
 
522
    goto label5;
 
523
    label12:;
 
524
    XMLVM_SOURCE_POSITION("Math.java", 520)
 
525
    _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
 
526
    if (_r0.i == 0) goto label19;
 
527
    XMLVM_SOURCE_POSITION("Math.java", 521)
 
528
    _r0.d = NaN;
 
529
    goto label5;
 
530
    label19:;
 
531
    XMLVM_SOURCE_POSITION("Math.java", 525)
 
532
    _r0.l = java_lang_Double_doubleToRawLongBits___double(_r4.d);
 
533
    _r2.l = 0;
 
534
    _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
 
535
    if (_r0.i == 0) goto label31;
 
536
    _r0 = _r6;
 
537
    XMLVM_SOURCE_POSITION("Math.java", 526)
 
538
    goto label5;
 
539
    label31:;
 
540
    _r0.d = 0.0;
 
541
    goto label5;
 
542
    //XMLVM_END_WRAPPER
 
543
}
 
544
 
 
545
JAVA_FLOAT java_lang_Math_max___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2)
 
546
{
 
547
    XMLVM_CLASS_INIT(java_lang_Math)
 
548
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_max___float_float]
 
549
    XMLVM_ENTER_METHOD("java.lang.Math", "max", "?")
 
550
    XMLVMElem _r0;
 
551
    XMLVMElem _r1;
 
552
    XMLVMElem _r2;
 
553
    _r1.f = n1;
 
554
    _r2.f = n2;
 
555
    XMLVM_SOURCE_POSITION("Math.java", 550)
 
556
    _r0.i = _r1.f > _r2.f ? 1 : (_r1.f == _r2.f ? 0 : -1);
 
557
    if (_r0.i <= 0) goto label6;
 
558
    _r0 = _r1;
 
559
    label5:;
 
560
    XMLVM_SOURCE_POSITION("Math.java", 551)
 
561
    XMLVM_SOURCE_POSITION("Math.java", 565)
 
562
    XMLVM_EXIT_METHOD()
 
563
    return _r0.f;
 
564
    label6:;
 
565
    XMLVM_SOURCE_POSITION("Math.java", 553)
 
566
    _r0.i = _r1.f > _r2.f ? 1 : (_r1.f == _r2.f ? 0 : -1);
 
567
    if (_r0.i >= 0) goto label12;
 
568
    _r0 = _r2;
 
569
    XMLVM_SOURCE_POSITION("Math.java", 554)
 
570
    goto label5;
 
571
    label12:;
 
572
    XMLVM_SOURCE_POSITION("Math.java", 557)
 
573
    _r0.i = _r1.f > _r2.f ? 1 : (_r1.f == _r2.f ? 0 : -1);
 
574
    if (_r0.i == 0) goto label19;
 
575
    XMLVM_SOURCE_POSITION("Math.java", 558)
 
576
    _r0.f = NaN;
 
577
    goto label5;
 
578
    label19:;
 
579
    XMLVM_SOURCE_POSITION("Math.java", 562)
 
580
    _r0.i = java_lang_Float_floatToRawIntBits___float(_r1.f);
 
581
    if (_r0.i == 0) goto label27;
 
582
    _r0 = _r2;
 
583
    XMLVM_SOURCE_POSITION("Math.java", 563)
 
584
    goto label5;
 
585
    label27:;
 
586
    _r0.f = 0.0;
 
587
    goto label5;
 
588
    //XMLVM_END_WRAPPER
 
589
}
 
590
 
 
591
JAVA_INT java_lang_Math_max___int_int(JAVA_INT n1, JAVA_INT n2)
 
592
{
 
593
    XMLVM_CLASS_INIT(java_lang_Math)
 
594
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_max___int_int]
 
595
    XMLVM_ENTER_METHOD("java.lang.Math", "max", "?")
 
596
    XMLVMElem _r0;
 
597
    XMLVMElem _r1;
 
598
    XMLVMElem _r2;
 
599
    _r1.i = n1;
 
600
    _r2.i = n2;
 
601
    XMLVM_SOURCE_POSITION("Math.java", 579)
 
602
    if (_r1.i <= _r2.i) goto label4;
 
603
    _r0 = _r1;
 
604
    label3:;
 
605
    XMLVM_EXIT_METHOD()
 
606
    return _r0.i;
 
607
    label4:;
 
608
    _r0 = _r2;
 
609
    goto label3;
 
610
    //XMLVM_END_WRAPPER
 
611
}
 
612
 
 
613
JAVA_LONG java_lang_Math_max___long_long(JAVA_LONG n1, JAVA_LONG n2)
 
614
{
 
615
    XMLVM_CLASS_INIT(java_lang_Math)
 
616
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_max___long_long]
 
617
    XMLVM_ENTER_METHOD("java.lang.Math", "max", "?")
 
618
    XMLVMElem _r0;
 
619
    XMLVMElem _r1;
 
620
    XMLVMElem _r2;
 
621
    XMLVMElem _r3;
 
622
    XMLVMElem _r4;
 
623
    XMLVMElem _r5;
 
624
    _r2.l = n1;
 
625
    _r4.l = n2;
 
626
    XMLVM_SOURCE_POSITION("Math.java", 593)
 
627
    _r0.i = _r2.l > _r4.l ? 1 : (_r2.l == _r4.l ? 0 : -1);
 
628
    if (_r0.i <= 0) goto label6;
 
629
    _r0 = _r2;
 
630
    label5:;
 
631
    XMLVM_EXIT_METHOD()
 
632
    return _r0.l;
 
633
    label6:;
 
634
    _r0 = _r4;
 
635
    goto label5;
 
636
    //XMLVM_END_WRAPPER
 
637
}
 
638
 
 
639
JAVA_DOUBLE java_lang_Math_min___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
 
640
{
 
641
    XMLVM_CLASS_INIT(java_lang_Math)
 
642
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_min___double_double]
 
643
    XMLVM_ENTER_METHOD("java.lang.Math", "min", "?")
 
644
    XMLVMElem _r0;
 
645
    XMLVMElem _r1;
 
646
    XMLVMElem _r2;
 
647
    XMLVMElem _r3;
 
648
    XMLVMElem _r4;
 
649
    XMLVMElem _r5;
 
650
    XMLVMElem _r6;
 
651
    XMLVMElem _r7;
 
652
    _r4.d = n1;
 
653
    _r6.d = n2;
 
654
    XMLVM_SOURCE_POSITION("Math.java", 615)
 
655
    _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
 
656
    if (_r0.i <= 0) goto label6;
 
657
    _r0 = _r6;
 
658
    label5:;
 
659
    XMLVM_SOURCE_POSITION("Math.java", 616)
 
660
    XMLVM_SOURCE_POSITION("Math.java", 630)
 
661
    XMLVM_EXIT_METHOD()
 
662
    return _r0.d;
 
663
    label6:;
 
664
    XMLVM_SOURCE_POSITION("Math.java", 618)
 
665
    _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
 
666
    if (_r0.i >= 0) goto label12;
 
667
    _r0 = _r4;
 
668
    XMLVM_SOURCE_POSITION("Math.java", 619)
 
669
    goto label5;
 
670
    label12:;
 
671
    XMLVM_SOURCE_POSITION("Math.java", 622)
 
672
    _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
 
673
    if (_r0.i == 0) goto label19;
 
674
    XMLVM_SOURCE_POSITION("Math.java", 623)
 
675
    _r0.d = NaN;
 
676
    goto label5;
 
677
    label19:;
 
678
    XMLVM_SOURCE_POSITION("Math.java", 627)
 
679
    _r0.l = java_lang_Double_doubleToRawLongBits___double(_r4.d);
 
680
    _r2.l = -9223372036854775808;
 
681
    _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
 
682
    if (_r0.i != 0) goto label32;
 
683
    XMLVM_SOURCE_POSITION("Math.java", 628)
 
684
    _r0.d = -0.0;
 
685
    goto label5;
 
686
    label32:;
 
687
    _r0 = _r6;
 
688
    goto label5;
 
689
    //XMLVM_END_WRAPPER
 
690
}
 
691
 
 
692
JAVA_FLOAT java_lang_Math_min___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2)
 
693
{
 
694
    XMLVM_CLASS_INIT(java_lang_Math)
 
695
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_min___float_float]
 
696
    XMLVM_ENTER_METHOD("java.lang.Math", "min", "?")
 
697
    XMLVMElem _r0;
 
698
    XMLVMElem _r1;
 
699
    XMLVMElem _r2;
 
700
    XMLVMElem _r3;
 
701
    _r2.f = n1;
 
702
    _r3.f = n2;
 
703
    XMLVM_SOURCE_POSITION("Math.java", 652)
 
704
    _r0.i = _r2.f > _r3.f ? 1 : (_r2.f == _r3.f ? 0 : -1);
 
705
    if (_r0.i <= 0) goto label6;
 
706
    _r0 = _r3;
 
707
    label5:;
 
708
    XMLVM_SOURCE_POSITION("Math.java", 653)
 
709
    XMLVM_SOURCE_POSITION("Math.java", 667)
 
710
    XMLVM_EXIT_METHOD()
 
711
    return _r0.f;
 
712
    label6:;
 
713
    XMLVM_SOURCE_POSITION("Math.java", 655)
 
714
    _r0.i = _r2.f > _r3.f ? 1 : (_r2.f == _r3.f ? 0 : -1);
 
715
    if (_r0.i >= 0) goto label12;
 
716
    _r0 = _r2;
 
717
    XMLVM_SOURCE_POSITION("Math.java", 656)
 
718
    goto label5;
 
719
    label12:;
 
720
    XMLVM_SOURCE_POSITION("Math.java", 659)
 
721
    _r0.i = _r2.f > _r3.f ? 1 : (_r2.f == _r3.f ? 0 : -1);
 
722
    if (_r0.i == 0) goto label19;
 
723
    XMLVM_SOURCE_POSITION("Math.java", 660)
 
724
    _r0.f = NaN;
 
725
    goto label5;
 
726
    label19:;
 
727
    XMLVM_SOURCE_POSITION("Math.java", 664)
 
728
    _r0.i = java_lang_Float_floatToRawIntBits___float(_r2.f);
 
729
    _r1.i = -2147483648;
 
730
    if (_r0.i != _r1.i) goto label30;
 
731
    XMLVM_SOURCE_POSITION("Math.java", 665)
 
732
    _r0.f = -0.0;
 
733
    goto label5;
 
734
    label30:;
 
735
    _r0 = _r3;
 
736
    goto label5;
 
737
    //XMLVM_END_WRAPPER
 
738
}
 
739
 
 
740
JAVA_INT java_lang_Math_min___int_int(JAVA_INT n1, JAVA_INT n2)
 
741
{
 
742
    XMLVM_CLASS_INIT(java_lang_Math)
 
743
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_min___int_int]
 
744
    XMLVM_ENTER_METHOD("java.lang.Math", "min", "?")
 
745
    XMLVMElem _r0;
 
746
    XMLVMElem _r1;
 
747
    XMLVMElem _r2;
 
748
    _r1.i = n1;
 
749
    _r2.i = n2;
 
750
    XMLVM_SOURCE_POSITION("Math.java", 681)
 
751
    if (_r1.i >= _r2.i) goto label4;
 
752
    _r0 = _r1;
 
753
    label3:;
 
754
    XMLVM_EXIT_METHOD()
 
755
    return _r0.i;
 
756
    label4:;
 
757
    _r0 = _r2;
 
758
    goto label3;
 
759
    //XMLVM_END_WRAPPER
 
760
}
 
761
 
 
762
JAVA_LONG java_lang_Math_min___long_long(JAVA_LONG n1, JAVA_LONG n2)
 
763
{
 
764
    XMLVM_CLASS_INIT(java_lang_Math)
 
765
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_min___long_long]
 
766
    XMLVM_ENTER_METHOD("java.lang.Math", "min", "?")
 
767
    XMLVMElem _r0;
 
768
    XMLVMElem _r1;
 
769
    XMLVMElem _r2;
 
770
    XMLVMElem _r3;
 
771
    XMLVMElem _r4;
 
772
    XMLVMElem _r5;
 
773
    _r2.l = n1;
 
774
    _r4.l = n2;
 
775
    XMLVM_SOURCE_POSITION("Math.java", 695)
 
776
    _r0.i = _r2.l > _r4.l ? 1 : (_r2.l == _r4.l ? 0 : -1);
 
777
    if (_r0.i >= 0) goto label6;
 
778
    _r0 = _r2;
 
779
    label5:;
 
780
    XMLVM_EXIT_METHOD()
 
781
    return _r0.l;
 
782
    label6:;
 
783
    _r0 = _r4;
 
784
    goto label5;
 
785
    //XMLVM_END_WRAPPER
 
786
}
 
787
 
 
788
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_pow___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)]
 
789
 
 
790
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_rint___double(JAVA_DOUBLE n1)]
 
791
 
 
792
JAVA_LONG java_lang_Math_round___double(JAVA_DOUBLE n1)
 
793
{
 
794
    XMLVM_CLASS_INIT(java_lang_Math)
 
795
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_round___double]
 
796
    XMLVM_ENTER_METHOD("java.lang.Math", "round", "?")
 
797
    XMLVMElem _r0;
 
798
    XMLVMElem _r1;
 
799
    XMLVMElem _r2;
 
800
    XMLVMElem _r3;
 
801
    _r2.d = n1;
 
802
    XMLVM_SOURCE_POSITION("Math.java", 777)
 
803
    _r0.i = _r2.d > _r2.d ? 1 : (_r2.d == _r2.d ? 0 : -1);
 
804
    if (_r0.i == 0) goto label7;
 
805
    XMLVM_SOURCE_POSITION("Math.java", 778)
 
806
    _r0.l = 0;
 
807
    label6:;
 
808
    XMLVM_SOURCE_POSITION("Math.java", 780)
 
809
    XMLVM_EXIT_METHOD()
 
810
    return _r0.l;
 
811
    label7:;
 
812
    _r0.d = 0.5;
 
813
    _r0.d = _r0.d + _r2.d;
 
814
    _r0.d = java_lang_Math_floor___double(_r0.d);
 
815
    _r0.l = (JAVA_LONG) _r0.d;
 
816
    goto label6;
 
817
    //XMLVM_END_WRAPPER
 
818
}
 
819
 
 
820
JAVA_INT java_lang_Math_round___float(JAVA_FLOAT n1)
 
821
{
 
822
    XMLVM_CLASS_INIT(java_lang_Math)
 
823
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_round___float]
 
824
    XMLVM_ENTER_METHOD("java.lang.Math", "round", "?")
 
825
    XMLVMElem _r0;
 
826
    XMLVMElem _r1;
 
827
    XMLVMElem _r2;
 
828
    _r2.f = n1;
 
829
    XMLVM_SOURCE_POSITION("Math.java", 804)
 
830
    _r0.i = _r2.f > _r2.f ? 1 : (_r2.f == _r2.f ? 0 : -1);
 
831
    if (_r0.i == 0) goto label6;
 
832
    XMLVM_SOURCE_POSITION("Math.java", 805)
 
833
    _r0.i = 0;
 
834
    label5:;
 
835
    XMLVM_SOURCE_POSITION("Math.java", 807)
 
836
    XMLVM_EXIT_METHOD()
 
837
    return _r0.i;
 
838
    label6:;
 
839
    _r0.f = 0.5;
 
840
    _r0.f = _r0.f + _r2.f;
 
841
    _r0.d = (JAVA_DOUBLE) _r0.f;
 
842
    _r0.d = java_lang_Math_floor___double(_r0.d);
 
843
    _r0.i = (JAVA_INT) _r0.d;
 
844
    goto label5;
 
845
    //XMLVM_END_WRAPPER
 
846
}
 
847
 
 
848
JAVA_DOUBLE java_lang_Math_signum___double(JAVA_DOUBLE n1)
 
849
{
 
850
    XMLVM_CLASS_INIT(java_lang_Math)
 
851
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_signum___double]
 
852
    XMLVM_ENTER_METHOD("java.lang.Math", "signum", "?")
 
853
    XMLVMElem _r0;
 
854
    XMLVMElem _r1;
 
855
    XMLVMElem _r2;
 
856
    XMLVMElem _r3;
 
857
    _r2.d = n1;
 
858
    XMLVM_SOURCE_POSITION("Math.java", 830)
 
859
 
 
860
    
 
861
    // Red class access removed: java.lang.StrictMath::signum
 
862
    XMLVM_RED_CLASS_DEPENDENCY();
 
863
    XMLVM_EXIT_METHOD()
 
864
    return _r0.d;
 
865
    //XMLVM_END_WRAPPER
 
866
}
 
867
 
 
868
JAVA_FLOAT java_lang_Math_signum___float(JAVA_FLOAT n1)
 
869
{
 
870
    XMLVM_CLASS_INIT(java_lang_Math)
 
871
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_signum___float]
 
872
    XMLVM_ENTER_METHOD("java.lang.Math", "signum", "?")
 
873
    XMLVMElem _r0;
 
874
    XMLVMElem _r1;
 
875
    _r1.f = n1;
 
876
    XMLVM_SOURCE_POSITION("Math.java", 853)
 
877
 
 
878
    
 
879
    // Red class access removed: java.lang.StrictMath::signum
 
880
    XMLVM_RED_CLASS_DEPENDENCY();
 
881
    XMLVM_EXIT_METHOD()
 
882
    return _r0.f;
 
883
    //XMLVM_END_WRAPPER
 
884
}
 
885
 
 
886
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_sin___double(JAVA_DOUBLE n1)]
 
887
 
 
888
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_sinh___double(JAVA_DOUBLE n1)]
 
889
 
 
890
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_sqrt___double(JAVA_DOUBLE n1)]
 
891
 
 
892
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_tan___double(JAVA_DOUBLE n1)]
 
893
 
 
894
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_tanh___double(JAVA_DOUBLE n1)]
 
895
 
 
896
JAVA_DOUBLE java_lang_Math_random__()
 
897
{
 
898
    XMLVM_CLASS_INIT(java_lang_Math)
 
899
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_random__]
 
900
    XMLVM_ENTER_METHOD("java.lang.Math", "random", "?")
 
901
    XMLVMElem _r0;
 
902
    XMLVMElem _r1;
 
903
    XMLVM_SOURCE_POSITION("Math.java", 964)
 
904
    _r0.o = java_lang_Math_GET_random();
 
905
    if (_r0.o != JAVA_NULL) goto label11;
 
906
    XMLVM_SOURCE_POSITION("Math.java", 965)
 
907
 
 
908
    
 
909
    // Red class access removed: java.util.Random::new-instance
 
910
    XMLVM_RED_CLASS_DEPENDENCY();
 
911
 
 
912
    
 
913
    // Red class access removed: java.util.Random::<init>
 
914
    XMLVM_RED_CLASS_DEPENDENCY();
 
915
    java_lang_Math_PUT_random( _r0.o);
 
916
    label11:;
 
917
    XMLVM_SOURCE_POSITION("Math.java", 967)
 
918
    _r0.o = java_lang_Math_GET_random();
 
919
 
 
920
    
 
921
    // Red class access removed: java.util.Random::nextDouble
 
922
    XMLVM_RED_CLASS_DEPENDENCY();
 
923
    XMLVM_EXIT_METHOD()
 
924
    return _r0.d;
 
925
    //XMLVM_END_WRAPPER
 
926
}
 
927
 
 
928
JAVA_DOUBLE java_lang_Math_toRadians___double(JAVA_DOUBLE n1)
 
929
{
 
930
    XMLVM_CLASS_INIT(java_lang_Math)
 
931
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_toRadians___double]
 
932
    XMLVM_ENTER_METHOD("java.lang.Math", "toRadians", "?")
 
933
    XMLVMElem _r0;
 
934
    XMLVMElem _r1;
 
935
    XMLVMElem _r2;
 
936
    XMLVMElem _r3;
 
937
    XMLVMElem _r4;
 
938
    XMLVMElem _r5;
 
939
    _r4.d = n1;
 
940
    XMLVM_SOURCE_POSITION("Math.java", 988)
 
941
    _r0.d = 180.0;
 
942
    _r0.d = _r4.d / _r0.d;
 
943
    _r2.d = 3.141592653589793;
 
944
    _r0.d = _r0.d * _r2.d;
 
945
    XMLVM_EXIT_METHOD()
 
946
    return _r0.d;
 
947
    //XMLVM_END_WRAPPER
 
948
}
 
949
 
 
950
JAVA_DOUBLE java_lang_Math_toDegrees___double(JAVA_DOUBLE n1)
 
951
{
 
952
    XMLVM_CLASS_INIT(java_lang_Math)
 
953
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_toDegrees___double]
 
954
    XMLVM_ENTER_METHOD("java.lang.Math", "toDegrees", "?")
 
955
    XMLVMElem _r0;
 
956
    XMLVMElem _r1;
 
957
    XMLVMElem _r2;
 
958
    XMLVMElem _r3;
 
959
    XMLVMElem _r4;
 
960
    XMLVMElem _r5;
 
961
    _r4.d = n1;
 
962
    XMLVM_SOURCE_POSITION("Math.java", 1009)
 
963
    _r0.d = 180.0;
 
964
    _r0.d = _r0.d * _r4.d;
 
965
    _r2.d = 3.141592653589793;
 
966
    _r0.d = _r0.d / _r2.d;
 
967
    XMLVM_EXIT_METHOD()
 
968
    return _r0.d;
 
969
    //XMLVM_END_WRAPPER
 
970
}
 
971
 
 
972
JAVA_DOUBLE java_lang_Math_ulp___double(JAVA_DOUBLE n1)
 
973
{
 
974
    XMLVM_CLASS_INIT(java_lang_Math)
 
975
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_ulp___double]
 
976
    XMLVM_ENTER_METHOD("java.lang.Math", "ulp", "?")
 
977
    XMLVMElem _r0;
 
978
    XMLVMElem _r1;
 
979
    XMLVMElem _r2;
 
980
    XMLVMElem _r3;
 
981
    XMLVMElem _r4;
 
982
    XMLVMElem _r5;
 
983
    _r4.d = n1;
 
984
    _r2.d = 1.7976931348623157E308;
 
985
    XMLVM_SOURCE_POSITION("Math.java", 1033)
 
986
    _r0.i = java_lang_Double_isInfinite___double(_r4.d);
 
987
    if (_r0.i == 0) goto label14;
 
988
    XMLVM_SOURCE_POSITION("Math.java", 1034)
 
989
    _r0.d = Infinity;
 
990
    label13:;
 
991
    XMLVM_SOURCE_POSITION("Math.java", 1039)
 
992
    XMLVM_EXIT_METHOD()
 
993
    return _r0.d;
 
994
    label14:;
 
995
    XMLVM_SOURCE_POSITION("Math.java", 1035)
 
996
    _r0.i = _r4.d > _r2.d ? 1 : (_r4.d == _r2.d ? 0 : -1);
 
997
    if (_r0.i == 0) goto label27;
 
998
    _r0.d = -1.7976931348623157E308;
 
999
    _r0.i = _r4.d > _r0.d ? 1 : (_r4.d == _r0.d ? 0 : -1);
 
1000
    if (_r0.i != 0) goto label39;
 
1001
    label27:;
 
1002
    XMLVM_SOURCE_POSITION("Math.java", 1036)
 
1003
    _r0.d = 2.0;
 
1004
    _r2.d = 971.0;
 
1005
    _r0.d = java_lang_Math_pow___double_double(_r0.d, _r2.d);
 
1006
    goto label13;
 
1007
    label39:;
 
1008
    XMLVM_SOURCE_POSITION("Math.java", 1038)
 
1009
    _r0.d = java_lang_Math_abs___double(_r4.d);
 
1010
    _r2.d = java_lang_Math_nextafter___double_double(_r0.d, _r2.d);
 
1011
    _r0.d = _r2.d - _r0.d;
 
1012
    goto label13;
 
1013
    //XMLVM_END_WRAPPER
 
1014
}
 
1015
 
 
1016
JAVA_FLOAT java_lang_Math_ulp___float(JAVA_FLOAT n1)
 
1017
{
 
1018
    XMLVM_CLASS_INIT(java_lang_Math)
 
1019
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_ulp___float]
 
1020
    XMLVM_ENTER_METHOD("java.lang.Math", "ulp", "?")
 
1021
    XMLVMElem _r0;
 
1022
    XMLVMElem _r1;
 
1023
    XMLVMElem _r2;
 
1024
    XMLVMElem _r3;
 
1025
    XMLVMElem _r4;
 
1026
    _r4.f = n1;
 
1027
    _r1.f = 3.4028235E38;
 
1028
    XMLVM_SOURCE_POSITION("Math.java", 1063)
 
1029
    _r0.i = java_lang_Float_isNaN___float(_r4.f);
 
1030
    if (_r0.i == 0) goto label12;
 
1031
    XMLVM_SOURCE_POSITION("Math.java", 1064)
 
1032
    _r0.f = NaN;
 
1033
    label11:;
 
1034
    XMLVM_SOURCE_POSITION("Math.java", 1071)
 
1035
    XMLVM_EXIT_METHOD()
 
1036
    return _r0.f;
 
1037
    label12:;
 
1038
    XMLVM_SOURCE_POSITION("Math.java", 1065)
 
1039
    _r0.i = java_lang_Float_isInfinite___float(_r4.f);
 
1040
    if (_r0.i == 0) goto label21;
 
1041
    XMLVM_SOURCE_POSITION("Math.java", 1066)
 
1042
    _r0.f = Infinity;
 
1043
    goto label11;
 
1044
    label21:;
 
1045
    XMLVM_SOURCE_POSITION("Math.java", 1067)
 
1046
    _r0.i = _r4.f > _r1.f ? 1 : (_r4.f == _r1.f ? 0 : -1);
 
1047
    if (_r0.i == 0) goto label32;
 
1048
    _r0.f = -3.4028235E38;
 
1049
    _r0.i = _r4.f > _r0.f ? 1 : (_r4.f == _r0.f ? 0 : -1);
 
1050
    if (_r0.i != 0) goto label42;
 
1051
    label32:;
 
1052
    XMLVM_SOURCE_POSITION("Math.java", 1068)
 
1053
    _r0.d = 2.0;
 
1054
    _r2.d = 104.0;
 
1055
    _r0.d = java_lang_Math_pow___double_double(_r0.d, _r2.d);
 
1056
    _r0.f = (JAVA_FLOAT) _r0.d;
 
1057
    goto label11;
 
1058
    label42:;
 
1059
    XMLVM_SOURCE_POSITION("Math.java", 1070)
 
1060
    _r0.f = java_lang_Math_abs___float(_r4.f);
 
1061
    _r1.f = java_lang_Math_nextafterf___float_float(_r0.f, _r1.f);
 
1062
    _r0.f = _r1.f - _r0.f;
 
1063
    goto label11;
 
1064
    //XMLVM_END_WRAPPER
 
1065
}
 
1066
 
 
1067
//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_nextafter___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)]
 
1068
 
 
1069
//XMLVM_NATIVE[JAVA_FLOAT java_lang_Math_nextafterf___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2)]
 
1070
 
 
1071
JAVA_DOUBLE java_lang_Math_copySign___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
 
1072
{
 
1073
    XMLVM_CLASS_INIT(java_lang_Math)
 
1074
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_copySign___double_double]
 
1075
    XMLVM_ENTER_METHOD("java.lang.Math", "copySign", "?")
 
1076
    XMLVMElem _r0;
 
1077
    XMLVMElem _r1;
 
1078
    XMLVMElem _r2;
 
1079
    XMLVMElem _r3;
 
1080
    XMLVMElem _r4;
 
1081
    XMLVMElem _r5;
 
1082
    XMLVMElem _r6;
 
1083
    XMLVMElem _r7;
 
1084
    XMLVMElem _r8;
 
1085
    XMLVMElem _r9;
 
1086
    _r6.d = n1;
 
1087
    _r8.d = n2;
 
1088
    XMLVM_SOURCE_POSITION("Math.java", 1092)
 
1089
    _r0.l = java_lang_Double_doubleToRawLongBits___double(_r6.d);
 
1090
    XMLVM_SOURCE_POSITION("Math.java", 1093)
 
1091
    _r2.l = java_lang_Double_doubleToRawLongBits___double(_r8.d);
 
1092
    XMLVM_SOURCE_POSITION("Math.java", 1094)
 
1093
    _r4.l = 9223372036854775807;
 
1094
    _r0.l = _r0.l & _r4.l;
 
1095
    _r4.l = -9223372036854775808;
 
1096
    _r2.l = _r2.l & _r4.l;
 
1097
    _r0.l = _r0.l | _r2.l;
 
1098
    _r0.d = java_lang_Double_longBitsToDouble___long(_r0.l);
 
1099
    XMLVM_EXIT_METHOD()
 
1100
    return _r0.d;
 
1101
    //XMLVM_END_WRAPPER
 
1102
}
 
1103
 
 
1104
JAVA_FLOAT java_lang_Math_copySign___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2)
 
1105
{
 
1106
    XMLVM_CLASS_INIT(java_lang_Math)
 
1107
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_copySign___float_float]
 
1108
    XMLVM_ENTER_METHOD("java.lang.Math", "copySign", "?")
 
1109
    XMLVMElem _r0;
 
1110
    XMLVMElem _r1;
 
1111
    XMLVMElem _r2;
 
1112
    XMLVMElem _r3;
 
1113
    XMLVMElem _r4;
 
1114
    _r3.f = n1;
 
1115
    _r4.f = n2;
 
1116
    XMLVM_SOURCE_POSITION("Math.java", 1112)
 
1117
    _r0.i = java_lang_Float_floatToRawIntBits___float(_r3.f);
 
1118
    XMLVM_SOURCE_POSITION("Math.java", 1113)
 
1119
    _r1.i = java_lang_Float_floatToRawIntBits___float(_r4.f);
 
1120
    XMLVM_SOURCE_POSITION("Math.java", 1114)
 
1121
    _r2.i = 2147483647;
 
1122
    _r0.i = _r0.i & _r2.i;
 
1123
    _r2.i = -2147483648;
 
1124
    _r1.i = _r1.i & _r2.i;
 
1125
    _r0.i = _r0.i | _r1.i;
 
1126
    _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
 
1127
    XMLVM_EXIT_METHOD()
 
1128
    return _r0.f;
 
1129
    //XMLVM_END_WRAPPER
 
1130
}
 
1131
 
 
1132
JAVA_INT java_lang_Math_getExponent___float(JAVA_FLOAT n1)
 
1133
{
 
1134
    XMLVM_CLASS_INIT(java_lang_Math)
 
1135
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_getExponent___float]
 
1136
    XMLVM_ENTER_METHOD("java.lang.Math", "getExponent", "?")
 
1137
    XMLVMElem _r0;
 
1138
    XMLVMElem _r1;
 
1139
    XMLVMElem _r2;
 
1140
    _r2.f = n1;
 
1141
    XMLVM_SOURCE_POSITION("Math.java", 1128)
 
1142
    _r0.i = java_lang_Float_floatToRawIntBits___float(_r2.f);
 
1143
    XMLVM_SOURCE_POSITION("Math.java", 1129)
 
1144
    _r1.i = 2139095040;
 
1145
    _r0.i = _r0.i & _r1.i;
 
1146
    _r0.i = _r0.i >> 23;
 
1147
    _r1.i = 127;
 
1148
    _r0.i = _r0.i - _r1.i;
 
1149
    XMLVM_SOURCE_POSITION("Math.java", 1130)
 
1150
    XMLVM_EXIT_METHOD()
 
1151
    return _r0.i;
 
1152
    //XMLVM_END_WRAPPER
 
1153
}
 
1154
 
 
1155
JAVA_INT java_lang_Math_getExponent___double(JAVA_DOUBLE n1)
 
1156
{
 
1157
    XMLVM_CLASS_INIT(java_lang_Math)
 
1158
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_getExponent___double]
 
1159
    XMLVM_ENTER_METHOD("java.lang.Math", "getExponent", "?")
 
1160
    XMLVMElem _r0;
 
1161
    XMLVMElem _r1;
 
1162
    XMLVMElem _r2;
 
1163
    XMLVMElem _r3;
 
1164
    XMLVMElem _r4;
 
1165
    XMLVMElem _r5;
 
1166
    _r4.d = n1;
 
1167
    XMLVM_SOURCE_POSITION("Math.java", 1143)
 
1168
    _r0.l = java_lang_Double_doubleToRawLongBits___double(_r4.d);
 
1169
    XMLVM_SOURCE_POSITION("Math.java", 1144)
 
1170
    _r2.l = 9218868437227405312;
 
1171
    _r0.l = _r0.l & _r2.l;
 
1172
    _r2.i = 52;
 
1173
    _r0.l = _r0.l >> (0x3f & _r2.l);
 
1174
    _r0.i = (JAVA_INT) _r0.l;
 
1175
    _r1.i = 1023;
 
1176
    _r0.i = _r0.i - _r1.i;
 
1177
    XMLVM_SOURCE_POSITION("Math.java", 1145)
 
1178
    XMLVM_EXIT_METHOD()
 
1179
    return _r0.i;
 
1180
    //XMLVM_END_WRAPPER
 
1181
}
 
1182
 
 
1183
JAVA_DOUBLE java_lang_Math_nextAfter___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
 
1184
{
 
1185
    XMLVM_CLASS_INIT(java_lang_Math)
 
1186
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_nextAfter___double_double]
 
1187
    XMLVM_ENTER_METHOD("java.lang.Math", "nextAfter", "?")
 
1188
    XMLVMElem _r0;
 
1189
    XMLVMElem _r1;
 
1190
    XMLVMElem _r2;
 
1191
    XMLVMElem _r3;
 
1192
    XMLVMElem _r4;
 
1193
    XMLVMElem _r5;
 
1194
    XMLVMElem _r6;
 
1195
    _r3.d = n1;
 
1196
    _r5.d = n2;
 
1197
    _r1.d = 0.0;
 
1198
    XMLVM_SOURCE_POSITION("Math.java", 1162)
 
1199
    _r0.i = _r1.d > _r3.d ? 1 : (_r1.d == _r3.d ? 0 : -1);
 
1200
    if (_r0.i != 0) goto label12;
 
1201
    _r0.i = _r1.d > _r5.d ? 1 : (_r1.d == _r5.d ? 0 : -1);
 
1202
    if (_r0.i != 0) goto label12;
 
1203
    _r0 = _r5;
 
1204
    label11:;
 
1205
    XMLVM_SOURCE_POSITION("Math.java", 1163)
 
1206
    XMLVM_SOURCE_POSITION("Math.java", 1165)
 
1207
    XMLVM_EXIT_METHOD()
 
1208
    return _r0.d;
 
1209
    label12:;
 
1210
    _r0.d = java_lang_Math_nextafter___double_double(_r3.d, _r5.d);
 
1211
    goto label11;
 
1212
    //XMLVM_END_WRAPPER
 
1213
}
 
1214
 
 
1215
JAVA_FLOAT java_lang_Math_nextAfter___float_double(JAVA_FLOAT n1, JAVA_DOUBLE n2)
 
1216
{
 
1217
    XMLVM_CLASS_INIT(java_lang_Math)
 
1218
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_nextAfter___float_double]
 
1219
    XMLVM_ENTER_METHOD("java.lang.Math", "nextAfter", "?")
 
1220
    XMLVMElem _r0;
 
1221
    XMLVMElem _r1;
 
1222
    XMLVMElem _r2;
 
1223
    XMLVMElem _r3;
 
1224
    XMLVMElem _r4;
 
1225
    XMLVMElem _r5;
 
1226
    XMLVMElem _r6;
 
1227
    XMLVMElem _r7;
 
1228
    XMLVMElem _r8;
 
1229
    XMLVMElem _r9;
 
1230
    _r7.f = n1;
 
1231
    _r8.d = n2;
 
1232
    _r6.f = 3.4028235E38;
 
1233
    _r5.f = 1.4E-45;
 
1234
    _r4.f = -3.4028235E38;
 
1235
    _r3.f = -1.4E-45;
 
1236
    _r2.f = 0.0;
 
1237
    XMLVM_SOURCE_POSITION("Math.java", 1183)
 
1238
    _r0.i = java_lang_Float_isNaN___float(_r7.f);
 
1239
    if (_r0.i != 0) goto label23;
 
1240
    _r0.i = java_lang_Double_isNaN___double(_r8.d);
 
1241
    if (_r0.i == 0) goto label26;
 
1242
    label23:;
 
1243
    XMLVM_SOURCE_POSITION("Math.java", 1184)
 
1244
    _r0.f = NaN;
 
1245
    label25:;
 
1246
    XMLVM_SOURCE_POSITION("Math.java", 1219)
 
1247
    XMLVM_EXIT_METHOD()
 
1248
    return _r0.f;
 
1249
    label26:;
 
1250
    XMLVM_SOURCE_POSITION("Math.java", 1186)
 
1251
    _r0.i = _r2.f > _r7.f ? 1 : (_r2.f == _r7.f ? 0 : -1);
 
1252
    if (_r0.i != 0) goto label46;
 
1253
    _r0.d = 0.0;
 
1254
    _r0.i = _r0.d > _r8.d ? 1 : (_r0.d == _r8.d ? 0 : -1);
 
1255
    if (_r0.i != 0) goto label46;
 
1256
    XMLVM_SOURCE_POSITION("Math.java", 1187)
 
1257
    _r0.o = __NEW_java_lang_Float();
 
1258
    XMLVM_CHECK_NPE(0)
 
1259
    java_lang_Float___INIT____double(_r0.o, _r8.d);
 
1260
    //java_lang_Float_floatValue__[8]
 
1261
    XMLVM_CHECK_NPE(0)
 
1262
    _r0.f = (*(JAVA_FLOAT (*)(JAVA_OBJECT)) ((java_lang_Float*) _r0.o)->tib->vtable[8])(_r0.o);
 
1263
    goto label25;
 
1264
    label46:;
 
1265
    XMLVM_SOURCE_POSITION("Math.java", 1189)
 
1266
    _r0.i = _r7.f > _r5.f ? 1 : (_r7.f == _r5.f ? 0 : -1);
 
1267
    if (_r0.i != 0) goto label55;
 
1268
    _r0.d = (JAVA_DOUBLE) _r7.f;
 
1269
    _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
 
1270
    if (_r0.i < 0) goto label64;
 
1271
    label55:;
 
1272
    XMLVM_SOURCE_POSITION("Math.java", 1190)
 
1273
    _r0.i = _r7.f > _r3.f ? 1 : (_r7.f == _r3.f ? 0 : -1);
 
1274
    if (_r0.i != 0) goto label73;
 
1275
    _r0.d = (JAVA_DOUBLE) _r7.f;
 
1276
    _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
 
1277
    if (_r0.i <= 0) goto label73;
 
1278
    label64:;
 
1279
    XMLVM_SOURCE_POSITION("Math.java", 1191)
 
1280
    _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
 
1281
    if (_r0.i <= 0) goto label70;
 
1282
    _r0 = _r2;
 
1283
    goto label25;
 
1284
    label70:;
 
1285
    _r0.f = -0.0;
 
1286
    goto label25;
 
1287
    label73:;
 
1288
    XMLVM_SOURCE_POSITION("Math.java", 1193)
 
1289
    _r0.i = java_lang_Float_isInfinite___float(_r7.f);
 
1290
    if (_r0.i == 0) goto label92;
 
1291
    _r0.d = (JAVA_DOUBLE) _r7.f;
 
1292
    _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
 
1293
    if (_r0.i == 0) goto label92;
 
1294
    XMLVM_SOURCE_POSITION("Math.java", 1194)
 
1295
    _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
 
1296
    if (_r0.i <= 0) goto label90;
 
1297
    _r0 = _r6;
 
1298
    goto label25;
 
1299
    label90:;
 
1300
    _r0 = _r4;
 
1301
    goto label25;
 
1302
    label92:;
 
1303
    XMLVM_SOURCE_POSITION("Math.java", 1196)
 
1304
    _r0.i = _r7.f > _r6.f ? 1 : (_r7.f == _r6.f ? 0 : -1);
 
1305
    if (_r0.i != 0) goto label101;
 
1306
    _r0.d = (JAVA_DOUBLE) _r7.f;
 
1307
    _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
 
1308
    if (_r0.i > 0) goto label110;
 
1309
    label101:;
 
1310
    XMLVM_SOURCE_POSITION("Math.java", 1197)
 
1311
    _r0.i = _r7.f > _r4.f ? 1 : (_r7.f == _r4.f ? 0 : -1);
 
1312
    if (_r0.i != 0) goto label120;
 
1313
    _r0.d = (JAVA_DOUBLE) _r7.f;
 
1314
    _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
 
1315
    if (_r0.i >= 0) goto label120;
 
1316
    label110:;
 
1317
    XMLVM_SOURCE_POSITION("Math.java", 1198)
 
1318
    _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
 
1319
    if (_r0.i <= 0) goto label117;
 
1320
    _r0.f = Infinity;
 
1321
    goto label25;
 
1322
    label117:;
 
1323
    XMLVM_SOURCE_POSITION("Math.java", 1199)
 
1324
    _r0.f = -Infinity;
 
1325
    goto label25;
 
1326
    label120:;
 
1327
    XMLVM_SOURCE_POSITION("Math.java", 1201)
 
1328
    _r0.d = (JAVA_DOUBLE) _r7.f;
 
1329
    _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
 
1330
    if (_r0.i <= 0) goto label159;
 
1331
    XMLVM_SOURCE_POSITION("Math.java", 1202)
 
1332
    _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
 
1333
    if (_r0.i <= 0) goto label140;
 
1334
    XMLVM_SOURCE_POSITION("Math.java", 1203)
 
1335
    _r0.i = java_lang_Float_floatToIntBits___float(_r7.f);
 
1336
    _r0.i = _r0.i + 1;
 
1337
    _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
 
1338
    goto label25;
 
1339
    label140:;
 
1340
    XMLVM_SOURCE_POSITION("Math.java", 1205)
 
1341
    _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
 
1342
    if (_r0.i >= 0) goto label156;
 
1343
    XMLVM_SOURCE_POSITION("Math.java", 1206)
 
1344
    _r0.i = java_lang_Float_floatToIntBits___float(_r7.f);
 
1345
    _r1.i = 1;
 
1346
    _r0.i = _r0.i - _r1.i;
 
1347
    _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
 
1348
    goto label25;
 
1349
    label156:;
 
1350
    _r0 = _r5;
 
1351
    XMLVM_SOURCE_POSITION("Math.java", 1208)
 
1352
    goto label25;
 
1353
    label159:;
 
1354
    XMLVM_SOURCE_POSITION("Math.java", 1210)
 
1355
    _r0.d = (JAVA_DOUBLE) _r7.f;
 
1356
    _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
 
1357
    if (_r0.i >= 0) goto label199;
 
1358
    XMLVM_SOURCE_POSITION("Math.java", 1211)
 
1359
    _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
 
1360
    if (_r0.i <= 0) goto label180;
 
1361
    XMLVM_SOURCE_POSITION("Math.java", 1212)
 
1362
    _r0.i = java_lang_Float_floatToIntBits___float(_r7.f);
 
1363
    _r1.i = 1;
 
1364
    _r0.i = _r0.i - _r1.i;
 
1365
    _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
 
1366
    goto label25;
 
1367
    label180:;
 
1368
    XMLVM_SOURCE_POSITION("Math.java", 1214)
 
1369
    _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
 
1370
    if (_r0.i >= 0) goto label196;
 
1371
    XMLVM_SOURCE_POSITION("Math.java", 1215)
 
1372
    _r0.i = java_lang_Float_floatToIntBits___float(_r7.f);
 
1373
    _r0.i = _r0.i + 1;
 
1374
    _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
 
1375
    goto label25;
 
1376
    label196:;
 
1377
    _r0 = _r3;
 
1378
    XMLVM_SOURCE_POSITION("Math.java", 1217)
 
1379
    goto label25;
 
1380
    label199:;
 
1381
    _r0.o = __NEW_java_lang_Float();
 
1382
    XMLVM_CHECK_NPE(0)
 
1383
    java_lang_Float___INIT____double(_r0.o, _r8.d);
 
1384
    //java_lang_Float_floatValue__[8]
 
1385
    XMLVM_CHECK_NPE(0)
 
1386
    _r0.f = (*(JAVA_FLOAT (*)(JAVA_OBJECT)) ((java_lang_Float*) _r0.o)->tib->vtable[8])(_r0.o);
 
1387
    goto label25;
 
1388
    //XMLVM_END_WRAPPER
 
1389
}
 
1390
 
 
1391
JAVA_DOUBLE java_lang_Math_nextUp___double(JAVA_DOUBLE n1)
 
1392
{
 
1393
    XMLVM_CLASS_INIT(java_lang_Math)
 
1394
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_nextUp___double]
 
1395
    XMLVM_ENTER_METHOD("java.lang.Math", "nextUp", "?")
 
1396
    XMLVMElem _r0;
 
1397
    XMLVMElem _r1;
 
1398
    XMLVMElem _r2;
 
1399
    XMLVMElem _r3;
 
1400
    XMLVMElem _r4;
 
1401
    XMLVMElem _r5;
 
1402
    XMLVMElem _r6;
 
1403
    XMLVMElem _r7;
 
1404
    XMLVMElem _r8;
 
1405
    _r7.d = n1;
 
1406
    _r5.l = 1;
 
1407
    _r3.d = Infinity;
 
1408
    _r1.d = 0.0;
 
1409
    XMLVM_SOURCE_POSITION("Math.java", 1232)
 
1410
    _r0.i = java_lang_Double_isNaN___double(_r7.d);
 
1411
    if (_r0.i == 0) goto label15;
 
1412
    XMLVM_SOURCE_POSITION("Math.java", 1233)
 
1413
    _r0.d = NaN;
 
1414
    label14:;
 
1415
    XMLVM_SOURCE_POSITION("Math.java", 1243)
 
1416
    XMLVM_EXIT_METHOD()
 
1417
    return _r0.d;
 
1418
    label15:;
 
1419
    XMLVM_SOURCE_POSITION("Math.java", 1235)
 
1420
    _r0.i = _r7.d > _r3.d ? 1 : (_r7.d == _r3.d ? 0 : -1);
 
1421
    if (_r0.i != 0) goto label21;
 
1422
    _r0 = _r3;
 
1423
    XMLVM_SOURCE_POSITION("Math.java", 1236)
 
1424
    goto label14;
 
1425
    label21:;
 
1426
    XMLVM_SOURCE_POSITION("Math.java", 1238)
 
1427
    _r0.i = _r1.d > _r7.d ? 1 : (_r1.d == _r7.d ? 0 : -1);
 
1428
    if (_r0.i != 0) goto label28;
 
1429
    XMLVM_SOURCE_POSITION("Math.java", 1239)
 
1430
    _r0.d = 4.9E-324;
 
1431
    goto label14;
 
1432
    label28:;
 
1433
    XMLVM_SOURCE_POSITION("Math.java", 1240)
 
1434
    _r0.i = _r1.d > _r7.d ? 1 : (_r1.d == _r7.d ? 0 : -1);
 
1435
    if (_r0.i >= 0) goto label42;
 
1436
    XMLVM_SOURCE_POSITION("Math.java", 1241)
 
1437
    _r0.l = java_lang_Double_doubleToLongBits___double(_r7.d);
 
1438
    _r0.l = _r0.l + _r5.l;
 
1439
    _r0.d = java_lang_Double_longBitsToDouble___long(_r0.l);
 
1440
    goto label14;
 
1441
    label42:;
 
1442
    _r0.l = java_lang_Double_doubleToLongBits___double(_r7.d);
 
1443
    _r0.l = _r0.l - _r5.l;
 
1444
    _r0.d = java_lang_Double_longBitsToDouble___long(_r0.l);
 
1445
    goto label14;
 
1446
    //XMLVM_END_WRAPPER
 
1447
}
 
1448
 
 
1449
JAVA_FLOAT java_lang_Math_nextUp___float(JAVA_FLOAT n1)
 
1450
{
 
1451
    XMLVM_CLASS_INIT(java_lang_Math)
 
1452
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_nextUp___float]
 
1453
    XMLVM_ENTER_METHOD("java.lang.Math", "nextUp", "?")
 
1454
    XMLVMElem _r0;
 
1455
    XMLVMElem _r1;
 
1456
    XMLVMElem _r2;
 
1457
    XMLVMElem _r3;
 
1458
    _r3.f = n1;
 
1459
    _r2.f = Infinity;
 
1460
    _r1.f = 0.0;
 
1461
    XMLVM_SOURCE_POSITION("Math.java", 1257)
 
1462
    _r0.i = java_lang_Float_isNaN___float(_r3.f);
 
1463
    if (_r0.i == 0) goto label12;
 
1464
    XMLVM_SOURCE_POSITION("Math.java", 1258)
 
1465
    _r0.f = NaN;
 
1466
    label11:;
 
1467
    XMLVM_SOURCE_POSITION("Math.java", 1268)
 
1468
    XMLVM_EXIT_METHOD()
 
1469
    return _r0.f;
 
1470
    label12:;
 
1471
    XMLVM_SOURCE_POSITION("Math.java", 1260)
 
1472
    _r0.i = _r3.f > _r2.f ? 1 : (_r3.f == _r2.f ? 0 : -1);
 
1473
    if (_r0.i != 0) goto label18;
 
1474
    _r0 = _r2;
 
1475
    XMLVM_SOURCE_POSITION("Math.java", 1261)
 
1476
    goto label11;
 
1477
    label18:;
 
1478
    XMLVM_SOURCE_POSITION("Math.java", 1263)
 
1479
    _r0.i = _r1.f > _r3.f ? 1 : (_r1.f == _r3.f ? 0 : -1);
 
1480
    if (_r0.i != 0) goto label24;
 
1481
    XMLVM_SOURCE_POSITION("Math.java", 1264)
 
1482
    _r0.f = 1.4E-45;
 
1483
    goto label11;
 
1484
    label24:;
 
1485
    XMLVM_SOURCE_POSITION("Math.java", 1265)
 
1486
    _r0.i = _r1.f > _r3.f ? 1 : (_r1.f == _r3.f ? 0 : -1);
 
1487
    if (_r0.i >= 0) goto label39;
 
1488
    XMLVM_SOURCE_POSITION("Math.java", 1266)
 
1489
    _r0.i = java_lang_Float_floatToIntBits___float(_r3.f);
 
1490
    _r0.i = _r0.i + 1;
 
1491
    _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
 
1492
    goto label11;
 
1493
    label39:;
 
1494
    _r0.i = java_lang_Float_floatToIntBits___float(_r3.f);
 
1495
    _r1.i = 1;
 
1496
    _r0.i = _r0.i - _r1.i;
 
1497
    _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
 
1498
    goto label11;
 
1499
    //XMLVM_END_WRAPPER
 
1500
}
 
1501
 
 
1502
JAVA_DOUBLE java_lang_Math_scalb___double_int(JAVA_DOUBLE n1, JAVA_INT n2)
 
1503
{
 
1504
    XMLVM_CLASS_INIT(java_lang_Math)
 
1505
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_scalb___double_int]
 
1506
    XMLVM_ENTER_METHOD("java.lang.Math", "scalb", "?")
 
1507
    XMLVMElem _r0;
 
1508
    XMLVMElem _r1;
 
1509
    XMLVMElem _r2;
 
1510
    XMLVMElem _r3;
 
1511
    XMLVMElem _r4;
 
1512
    XMLVMElem _r5;
 
1513
    XMLVMElem _r6;
 
1514
    XMLVMElem _r7;
 
1515
    XMLVMElem _r8;
 
1516
    XMLVMElem _r9;
 
1517
    XMLVMElem _r10;
 
1518
    _r8.d = n1;
 
1519
    _r10.i = n2;
 
1520
    XMLVM_SOURCE_POSITION("Math.java", 1285)
 
1521
    _r0.i = java_lang_Double_isNaN___double(_r8.d);
 
1522
    if (_r0.i != 0) goto label18;
 
1523
    _r0.i = java_lang_Double_isInfinite___double(_r8.d);
 
1524
    if (_r0.i != 0) goto label18;
 
1525
    _r0.d = 0.0;
 
1526
    _r0.i = _r0.d > _r8.d ? 1 : (_r0.d == _r8.d ? 0 : -1);
 
1527
    if (_r0.i != 0) goto label19;
 
1528
    label18:;
 
1529
    XMLVM_SOURCE_POSITION("Math.java", 1334)
 
1530
    XMLVM_EXIT_METHOD()
 
1531
    return _r8.d;
 
1532
    label19:;
 
1533
    XMLVM_SOURCE_POSITION("Math.java", 1289)
 
1534
    _r0.l = java_lang_Double_doubleToLongBits___double(_r8.d);
 
1535
    XMLVM_SOURCE_POSITION("Math.java", 1291)
 
1536
    _r2.l = -9223372036854775808;
 
1537
    _r2.l = _r2.l & _r0.l;
 
1538
    _r4.l = 9218868437227405312;
 
1539
    _r4.l = _r4.l & _r0.l;
 
1540
    _r6.i = 52;
 
1541
    _r4.l = _r4.l >> (0x3f & _r6.l);
 
1542
    _r6.l = 1023;
 
1543
    _r4.l = _r4.l - _r6.l;
 
1544
    _r6.l = (JAVA_LONG) _r10.i;
 
1545
    _r4.l = _r4.l + _r6.l;
 
1546
    _r6.l = 9223372036854775807;
 
1547
    _r6.l = _r6.l & _r0.l;
 
1548
    XMLVM_SOURCE_POSITION("Math.java", 1297)
 
1549
    _r10.i = java_lang_Long_numberOfLeadingZeros___long(_r6.l);
 
1550
    XMLVM_SOURCE_POSITION("Math.java", 1299)
 
1551
    _r6.i = 12;
 
1552
    _r10.i = _r10.i - _r6.i;
 
1553
    if (_r10.i >= 0) goto label68;
 
1554
    XMLVM_SOURCE_POSITION("Math.java", 1300)
 
1555
    XMLVM_SOURCE_POSITION("Math.java", 1302)
 
1556
    _r10.i = 0;
 
1557
    label53:;
 
1558
    XMLVM_SOURCE_POSITION("Math.java", 1306)
 
1559
    _r6.l = 1023;
 
1560
    _r6.i = _r4.l > _r6.l ? 1 : (_r4.l == _r6.l ? 0 : -1);
 
1561
    if (_r6.i <= 0) goto label74;
 
1562
    XMLVM_SOURCE_POSITION("Math.java", 1307)
 
1563
    _r0.d = 0.0;
 
1564
    _r8.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
 
1565
    if (_r8.i <= 0) goto label71;
 
1566
    _r8.d = Infinity;
 
1567
    goto label18;
 
1568
    label68:;
 
1569
    XMLVM_SOURCE_POSITION("Math.java", 1304)
 
1570
    _r6.l = (JAVA_LONG) _r10.i;
 
1571
    _r4.l = _r4.l - _r6.l;
 
1572
    goto label53;
 
1573
    label71:;
 
1574
    _r8.d = -Infinity;
 
1575
    goto label18;
 
1576
    label74:;
 
1577
    XMLVM_SOURCE_POSITION("Math.java", 1312)
 
1578
    _r6.l = -1023;
 
1579
    _r6.i = _r4.l > _r6.l ? 1 : (_r4.l == _r6.l ? 0 : -1);
 
1580
    if (_r6.i > 0) goto label129;
 
1581
    XMLVM_SOURCE_POSITION("Math.java", 1314)
 
1582
    _r6.l = 1023;
 
1583
    _r4.l = _r4.l + _r6.l;
 
1584
    _r6.l = (JAVA_LONG) _r10.i;
 
1585
    _r4.l = _r4.l + _r6.l;
 
1586
    XMLVM_SOURCE_POSITION("Math.java", 1315)
 
1587
    _r8.d = java_lang_Math_abs___double(_r8.d);
 
1588
    _r6.d = 2.2250738585072014E-308;
 
1589
    _r8.i = _r8.d > _r6.d ? 1 : (_r8.d == _r6.d ? 0 : -1);
 
1590
    if (_r8.i >= 0) goto label111;
 
1591
    XMLVM_SOURCE_POSITION("Math.java", 1317)
 
1592
    _r8.l = 4503599627370495;
 
1593
    _r8.l = _r8.l & _r0.l;
 
1594
    _r8.l = java_lang_Math_shiftLongBits___long_long(_r8.l, _r4.l);
 
1595
    label105:;
 
1596
    _r8.l = _r8.l | _r2.l;
 
1597
    _r8.d = java_lang_Double_longBitsToDouble___long(_r8.l);
 
1598
    goto label18;
 
1599
    label111:;
 
1600
    XMLVM_SOURCE_POSITION("Math.java", 1320)
 
1601
    _r8.l = 4503599627370495;
 
1602
    _r8.l = _r8.l & _r0.l;
 
1603
    _r0.l = 4503599627370496;
 
1604
    _r8.l = _r8.l | _r0.l;
 
1605
    _r0.l = 1;
 
1606
    _r0.l = _r4.l - _r0.l;
 
1607
    _r8.l = java_lang_Math_shiftLongBits___long_long(_r8.l, _r0.l);
 
1608
    goto label105;
 
1609
    label129:;
 
1610
    XMLVM_SOURCE_POSITION("Math.java", 1324)
 
1611
    _r8.d = java_lang_Math_abs___double(_r8.d);
 
1612
    _r6.d = 2.2250738585072014E-308;
 
1613
    _r8.i = _r8.d > _r6.d ? 1 : (_r8.d == _r6.d ? 0 : -1);
 
1614
    if (_r8.i < 0) goto label153;
 
1615
    XMLVM_SOURCE_POSITION("Math.java", 1326)
 
1616
    _r8.l = 1023;
 
1617
    _r8.l = _r8.l + _r4.l;
 
1618
    _r10.i = 52;
 
1619
    _r8.l = _r8.l << (0x3f & _r10.l);
 
1620
    _r4.l = 4503599627370495;
 
1621
    _r0.l = _r0.l & _r4.l;
 
1622
    _r8.l = _r8.l | _r0.l;
 
1623
    goto label105;
 
1624
    label153:;
 
1625
    XMLVM_SOURCE_POSITION("Math.java", 1330)
 
1626
    _r8.l = 1023;
 
1627
    _r8.l = _r8.l + _r4.l;
 
1628
    _r4.i = 52;
 
1629
    _r8.l = _r8.l << (0x3f & _r4.l);
 
1630
    _r10.i = _r10.i + 1;
 
1631
    _r0.l = _r0.l << (0x3f & _r10.l);
 
1632
    _r4.l = 4503599627370495;
 
1633
    _r0.l = _r0.l & _r4.l;
 
1634
    _r8.l = _r8.l | _r0.l;
 
1635
    goto label105;
 
1636
    //XMLVM_END_WRAPPER
 
1637
}
 
1638
 
 
1639
JAVA_FLOAT java_lang_Math_scalb___float_int(JAVA_FLOAT n1, JAVA_INT n2)
 
1640
{
 
1641
    XMLVM_CLASS_INIT(java_lang_Math)
 
1642
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_scalb___float_int]
 
1643
    XMLVM_ENTER_METHOD("java.lang.Math", "scalb", "?")
 
1644
    XMLVMElem _r0;
 
1645
    XMLVMElem _r1;
 
1646
    XMLVMElem _r2;
 
1647
    XMLVMElem _r3;
 
1648
    XMLVMElem _r4;
 
1649
    XMLVMElem _r5;
 
1650
    XMLVMElem _r6;
 
1651
    XMLVMElem _r7;
 
1652
    XMLVMElem _r8;
 
1653
    XMLVMElem _r9;
 
1654
    XMLVMElem _r10;
 
1655
    XMLVMElem _r11;
 
1656
    _r10.f = n1;
 
1657
    _r11.i = n2;
 
1658
    _r8.i = 127;
 
1659
    _r7.f = 1.17549435E-38;
 
1660
    _r6.f = 0.0;
 
1661
    _r5.i = 8388607;
 
1662
    XMLVM_SOURCE_POSITION("Math.java", 1349)
 
1663
    _r0.i = java_lang_Float_isNaN___float(_r10.f);
 
1664
    if (_r0.i != 0) goto label24;
 
1665
    _r0.i = java_lang_Float_isInfinite___float(_r10.f);
 
1666
    if (_r0.i != 0) goto label24;
 
1667
    _r0.i = _r6.f > _r10.f ? 1 : (_r6.f == _r10.f ? 0 : -1);
 
1668
    if (_r0.i != 0) goto label26;
 
1669
    label24:;
 
1670
    _r0 = _r10;
 
1671
    label25:;
 
1672
    XMLVM_SOURCE_POSITION("Math.java", 1350)
 
1673
    XMLVM_SOURCE_POSITION("Math.java", 1394)
 
1674
    XMLVM_EXIT_METHOD()
 
1675
    return _r0.f;
 
1676
    label26:;
 
1677
    XMLVM_SOURCE_POSITION("Math.java", 1352)
 
1678
    _r0.i = java_lang_Float_floatToIntBits___float(_r10.f);
 
1679
    XMLVM_SOURCE_POSITION("Math.java", 1353)
 
1680
    _r1.i = -2147483648;
 
1681
    _r1.i = _r1.i & _r0.i;
 
1682
    _r2.i = 2139095040;
 
1683
    _r2.i = _r2.i & _r0.i;
 
1684
    _r2.i = _r2.i >> 23;
 
1685
    _r2.i = _r2.i - _r8.i;
 
1686
    _r2.i = _r2.i + _r11.i;
 
1687
    _r3.i = 2147483647;
 
1688
    _r3.i = _r3.i & _r0.i;
 
1689
    XMLVM_SOURCE_POSITION("Math.java", 1357)
 
1690
    _r3.i = java_lang_Integer_numberOfLeadingZeros___int(_r3.i);
 
1691
    XMLVM_SOURCE_POSITION("Math.java", 1359)
 
1692
    _r4.i = 9;
 
1693
    _r3.i = _r3.i - _r4.i;
 
1694
    if (_r3.i >= 0) goto label66;
 
1695
    XMLVM_SOURCE_POSITION("Math.java", 1360)
 
1696
    XMLVM_SOURCE_POSITION("Math.java", 1362)
 
1697
    _r3.i = 0;
 
1698
    _r9 = _r3;
 
1699
    _r3 = _r2;
 
1700
    _r2 = _r9;
 
1701
    label57:;
 
1702
    XMLVM_SOURCE_POSITION("Math.java", 1366)
 
1703
    if (_r3.i <= _r8.i) goto label74;
 
1704
    XMLVM_SOURCE_POSITION("Math.java", 1367)
 
1705
    _r0.i = _r10.f > _r6.f ? 1 : (_r10.f == _r6.f ? 0 : -1);
 
1706
    if (_r0.i <= 0) goto label71;
 
1707
    _r0.f = Infinity;
 
1708
    goto label25;
 
1709
    label66:;
 
1710
    XMLVM_SOURCE_POSITION("Math.java", 1364)
 
1711
    _r2.i = _r2.i - _r3.i;
 
1712
    _r9 = _r3;
 
1713
    _r3 = _r2;
 
1714
    _r2 = _r9;
 
1715
    goto label57;
 
1716
    label71:;
 
1717
    _r0.f = -Infinity;
 
1718
    goto label25;
 
1719
    label74:;
 
1720
    XMLVM_SOURCE_POSITION("Math.java", 1372)
 
1721
    _r4.i = -127;
 
1722
    if (_r3.i > _r4.i) goto label111;
 
1723
    XMLVM_SOURCE_POSITION("Math.java", 1374)
 
1724
    _r3.i = _r3.i + 127;
 
1725
    _r2.i = _r2.i + _r3.i;
 
1726
    XMLVM_SOURCE_POSITION("Math.java", 1375)
 
1727
    _r3.f = java_lang_Math_abs___float(_r10.f);
 
1728
    _r3.i = _r3.f > _r7.f ? 1 : (_r3.f == _r7.f ? 0 : -1);
 
1729
    if (_r3.i >= 0) goto label100;
 
1730
    XMLVM_SOURCE_POSITION("Math.java", 1377)
 
1731
    _r0.i = _r0.i & _r5.i;
 
1732
    _r0.i = java_lang_Math_shiftIntBits___int_int(_r0.i, _r2.i);
 
1733
    label94:;
 
1734
    _r0.i = _r0.i | _r1.i;
 
1735
    _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
 
1736
    goto label25;
 
1737
    label100:;
 
1738
    XMLVM_SOURCE_POSITION("Math.java", 1380)
 
1739
    _r0.i = _r0.i & _r5.i;
 
1740
    _r3.i = 8388608;
 
1741
    _r0.i = _r0.i | _r3.i;
 
1742
    _r3.i = 1;
 
1743
    _r2.i = _r2.i - _r3.i;
 
1744
    _r0.i = java_lang_Math_shiftIntBits___int_int(_r0.i, _r2.i);
 
1745
    goto label94;
 
1746
    label111:;
 
1747
    XMLVM_SOURCE_POSITION("Math.java", 1384)
 
1748
    _r4.f = java_lang_Math_abs___float(_r10.f);
 
1749
    _r4.i = _r4.f > _r7.f ? 1 : (_r4.f == _r7.f ? 0 : -1);
 
1750
    if (_r4.i < 0) goto label126;
 
1751
    XMLVM_SOURCE_POSITION("Math.java", 1386)
 
1752
    _r2.i = _r3.i + 127;
 
1753
    _r2.i = _r2.i << 23;
 
1754
    _r0.i = _r0.i & _r5.i;
 
1755
    _r0.i = _r0.i | _r2.i;
 
1756
    goto label94;
 
1757
    label126:;
 
1758
    XMLVM_SOURCE_POSITION("Math.java", 1390)
 
1759
    _r3.i = _r3.i + 127;
 
1760
    _r3.i = _r3.i << 23;
 
1761
    _r2.i = _r2.i + 1;
 
1762
    _r0.i = _r0.i << _r2.i;
 
1763
    _r0.i = _r0.i & _r5.i;
 
1764
    _r0.i = _r0.i | _r3.i;
 
1765
    goto label94;
 
1766
    //XMLVM_END_WRAPPER
 
1767
}
 
1768
 
 
1769
JAVA_INT java_lang_Math_shiftIntBits___int_int(JAVA_INT n1, JAVA_INT n2)
 
1770
{
 
1771
    XMLVM_CLASS_INIT(java_lang_Math)
 
1772
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_shiftIntBits___int_int]
 
1773
    XMLVM_ENTER_METHOD("java.lang.Math", "shiftIntBits", "?")
 
1774
    XMLVMElem _r0;
 
1775
    XMLVMElem _r1;
 
1776
    XMLVMElem _r2;
 
1777
    XMLVMElem _r3;
 
1778
    XMLVMElem _r4;
 
1779
    XMLVMElem _r5;
 
1780
    XMLVMElem _r6;
 
1781
    _r5.i = n1;
 
1782
    _r6.i = n2;
 
1783
    _r3.i = 0;
 
1784
    _r4.i = 1;
 
1785
    XMLVM_SOURCE_POSITION("Math.java", 1400)
 
1786
    if (_r6.i <= 0) goto label7;
 
1787
    XMLVM_SOURCE_POSITION("Math.java", 1401)
 
1788
    _r0.i = _r5.i << _r6.i;
 
1789
    label6:;
 
1790
    XMLVM_SOURCE_POSITION("Math.java", 1420)
 
1791
    XMLVM_EXIT_METHOD()
 
1792
    return _r0.i;
 
1793
    label7:;
 
1794
    XMLVM_SOURCE_POSITION("Math.java", 1404)
 
1795
    _r0.i = -_r6.i;
 
1796
    _r1.i = 2147483647;
 
1797
    _r1.i = _r1.i & _r5.i;
 
1798
    XMLVM_SOURCE_POSITION("Math.java", 1405)
 
1799
    _r1.i = java_lang_Integer_numberOfLeadingZeros___int(_r1.i);
 
1800
    _r2.i = 32;
 
1801
    _r2.i = _r2.i - _r0.i;
 
1802
    if (_r1.i <= _r2.i) goto label23;
 
1803
    _r0 = _r3;
 
1804
    XMLVM_SOURCE_POSITION("Math.java", 1406)
 
1805
    goto label6;
 
1806
    label23:;
 
1807
    XMLVM_SOURCE_POSITION("Math.java", 1408)
 
1808
    _r1.i = _r5.i >> (0x1f & _r0.i);
 
1809
    _r2.i = _r0.i - _r4.i;
 
1810
    _r2.i = _r5.i >> (0x1f & _r2.i);
 
1811
    _r2.i = _r2.i & 1;
 
1812
    if (_r2.i != _r4.i) goto label60;
 
1813
    XMLVM_SOURCE_POSITION("Math.java", 1409)
 
1814
    _r2 = _r4;
 
1815
    label34:;
 
1816
    XMLVM_SOURCE_POSITION("Math.java", 1410)
 
1817
    if (_r2.i == 0) goto label62;
 
1818
    XMLVM_SOURCE_POSITION("Math.java", 1411)
 
1819
    _r2.i = java_lang_Integer_numberOfTrailingZeros___int(_r5.i);
 
1820
    _r3.i = _r0.i - _r4.i;
 
1821
    if (_r2.i >= _r3.i) goto label46;
 
1822
    XMLVM_SOURCE_POSITION("Math.java", 1412)
 
1823
    _r1.i = _r1.i + 1;
 
1824
    label46:;
 
1825
    XMLVM_SOURCE_POSITION("Math.java", 1414)
 
1826
    _r2.i = java_lang_Integer_numberOfTrailingZeros___int(_r5.i);
 
1827
    _r0.i = _r0.i - _r4.i;
 
1828
    if (_r2.i != _r0.i) goto label62;
 
1829
    XMLVM_SOURCE_POSITION("Math.java", 1415)
 
1830
    _r0.i = _r1.i & 1;
 
1831
    if (_r0.i != _r4.i) goto label62;
 
1832
    XMLVM_SOURCE_POSITION("Math.java", 1416)
 
1833
    _r0.i = _r1.i + 1;
 
1834
    goto label6;
 
1835
    label60:;
 
1836
    _r2 = _r3;
 
1837
    goto label34;
 
1838
    label62:;
 
1839
    _r0 = _r1;
 
1840
    goto label6;
 
1841
    //XMLVM_END_WRAPPER
 
1842
}
 
1843
 
 
1844
JAVA_LONG java_lang_Math_shiftLongBits___long_long(JAVA_LONG n1, JAVA_LONG n2)
 
1845
{
 
1846
    XMLVM_CLASS_INIT(java_lang_Math)
 
1847
    //XMLVM_BEGIN_WRAPPER[java_lang_Math_shiftLongBits___long_long]
 
1848
    XMLVM_ENTER_METHOD("java.lang.Math", "shiftLongBits", "?")
 
1849
    XMLVMElem _r0;
 
1850
    XMLVMElem _r1;
 
1851
    XMLVMElem _r2;
 
1852
    XMLVMElem _r3;
 
1853
    XMLVMElem _r4;
 
1854
    XMLVMElem _r5;
 
1855
    XMLVMElem _r6;
 
1856
    XMLVMElem _r7;
 
1857
    XMLVMElem _r8;
 
1858
    XMLVMElem _r9;
 
1859
    XMLVMElem _r10;
 
1860
    XMLVMElem _r11;
 
1861
    XMLVMElem _r12;
 
1862
    XMLVMElem _r13;
 
1863
    _r10.l = n1;
 
1864
    _r12.l = n2;
 
1865
    _r6.l = 0;
 
1866
    _r8.l = 1;
 
1867
    XMLVM_SOURCE_POSITION("Math.java", 1426)
 
1868
    _r0.i = _r12.l > _r6.l ? 1 : (_r12.l == _r6.l ? 0 : -1);
 
1869
    if (_r0.i <= 0) goto label12;
 
1870
    XMLVM_SOURCE_POSITION("Math.java", 1427)
 
1871
    _r0.i = (JAVA_INT) _r12.l;
 
1872
    _r0.l = _r10.l << (0x3f & _r0.l);
 
1873
    label11:;
 
1874
    XMLVM_SOURCE_POSITION("Math.java", 1448)
 
1875
    XMLVM_EXIT_METHOD()
 
1876
    return _r0.l;
 
1877
    label12:;
 
1878
    XMLVM_SOURCE_POSITION("Math.java", 1430)
 
1879
    _r0.l = -_r12.l;
 
1880
    _r2.l = 9223372036854775807;
 
1881
    _r2.l = _r2.l & _r10.l;
 
1882
    XMLVM_SOURCE_POSITION("Math.java", 1431)
 
1883
    _r2.i = java_lang_Long_numberOfLeadingZeros___long(_r2.l);
 
1884
    _r2.l = (JAVA_LONG) _r2.i;
 
1885
    _r4.l = 64;
 
1886
    _r4.l = _r4.l - _r0.l;
 
1887
    _r2.i = _r2.l > _r4.l ? 1 : (_r2.l == _r4.l ? 0 : -1);
 
1888
    if (_r2.i <= 0) goto label33;
 
1889
    _r0 = _r6;
 
1890
    XMLVM_SOURCE_POSITION("Math.java", 1432)
 
1891
    goto label11;
 
1892
    label33:;
 
1893
    XMLVM_SOURCE_POSITION("Math.java", 1434)
 
1894
    _r2.i = (JAVA_INT) _r0.l;
 
1895
    _r2.l = _r10.l >> (0x3f & _r2.l);
 
1896
    _r4.l = _r0.l - _r8.l;
 
1897
    _r4.i = (JAVA_INT) _r4.l;
 
1898
    _r4.l = _r10.l >> (0x3f & _r4.l);
 
1899
    _r4.l = _r4.l & _r8.l;
 
1900
    _r4.i = _r4.l > _r8.l ? 1 : (_r4.l == _r8.l ? 0 : -1);
 
1901
    if (_r4.i != 0) goto label80;
 
1902
    XMLVM_SOURCE_POSITION("Math.java", 1435)
 
1903
    _r4.i = 1;
 
1904
    label47:;
 
1905
    XMLVM_SOURCE_POSITION("Math.java", 1436)
 
1906
    if (_r4.i == 0) goto label82;
 
1907
    XMLVM_SOURCE_POSITION("Math.java", 1439)
 
1908
    _r4.i = java_lang_Long_numberOfTrailingZeros___long(_r10.l);
 
1909
    _r4.l = (JAVA_LONG) _r4.i;
 
1910
    _r6.l = _r0.l - _r8.l;
 
1911
    _r4.i = _r4.l > _r6.l ? 1 : (_r4.l == _r6.l ? 0 : -1);
 
1912
    if (_r4.i >= 0) goto label61;
 
1913
    XMLVM_SOURCE_POSITION("Math.java", 1440)
 
1914
    _r2.l = _r2.l + _r8.l;
 
1915
    label61:;
 
1916
    XMLVM_SOURCE_POSITION("Math.java", 1442)
 
1917
    _r4.i = java_lang_Long_numberOfTrailingZeros___long(_r10.l);
 
1918
    _r4.l = (JAVA_LONG) _r4.i;
 
1919
    _r0.l = _r0.l - _r8.l;
 
1920
    _r0.i = _r4.l > _r0.l ? 1 : (_r4.l == _r0.l ? 0 : -1);
 
1921
    if (_r0.i != 0) goto label82;
 
1922
    XMLVM_SOURCE_POSITION("Math.java", 1443)
 
1923
    _r0.l = _r2.l & _r8.l;
 
1924
    _r0.i = _r0.l > _r8.l ? 1 : (_r0.l == _r8.l ? 0 : -1);
 
1925
    if (_r0.i != 0) goto label82;
 
1926
    XMLVM_SOURCE_POSITION("Math.java", 1444)
 
1927
    _r0.l = _r2.l + _r8.l;
 
1928
    goto label11;
 
1929
    label80:;
 
1930
    _r4.i = 0;
 
1931
    goto label47;
 
1932
    label82:;
 
1933
    _r0 = _r2;
 
1934
    goto label11;
 
1935
    //XMLVM_END_WRAPPER
 
1936
}
 
1937