45 |
#define __TARGET_GENERIC_MATH_INT__ |
#define __TARGET_GENERIC_MATH_INT__ |
46 |
|
|
47 |
#ifdef __cplusplus |
#ifdef __cplusplus |
48 |
extern "C" |
extern "C" { |
49 |
#endif |
#endif |
50 |
|
|
51 |
/* check if target_native_network.h included */ |
/* check if target_native_math_int.h included */ |
52 |
#ifndef __TARGET_NATIVE_MATH_INT__ |
#ifndef __TARGET_NATIVE_MATH_INT__ |
53 |
#error Do NOT INCLUDE generic target files! Include the corresponding native target files instead! |
#error Do NOT INCLUDE generic target files! Include the corresponding native target files instead! |
54 |
#endif |
#endif |
219 |
#define TARGET_NATIVE_MATH_INT_INT64_TO_DOUBLE(v) ((jdouble)(v)) |
#define TARGET_NATIVE_MATH_INT_INT64_TO_DOUBLE(v) ((jdouble)(v)) |
220 |
#endif |
#endif |
221 |
|
|
222 |
/* combine/split low/high <-> int64 values */ |
/* combine/split int32 low/high values <-> int64 values */ |
223 |
#ifndef TARGET_NATIVE_MATH_INT_INT_LOW_HIGH_TO_INT64 |
#ifndef TARGET_NATIVE_MATH_INT_INT32_LOW_HIGH_TO_INT64 |
224 |
#define TARGET_NATIVE_MATH_INT_INT_LOW_HIGH_TO_INT64(low,high,v) \ |
#define TARGET_NATIVE_MATH_INT_INT32_LOW_HIGH_TO_INT64(low,high,v) \ |
225 |
do { \ |
do { \ |
226 |
(v)=((((jlong)(high)) << 32) | (((jlong)(low)) << 0)); \ |
(v)=((((jlong)(high)) << 32) | ((((jlong)(low)) << 0) & 0x00000000ffffFFFFLL)); \ |
227 |
} while (0) |
} while (0) |
228 |
#endif |
#endif |
229 |
#ifndef TARGET_NATIVE_MATH_INT_UINT_LOW_HIGH_TO_UINT64 |
#ifndef TARGET_NATIVE_MATH_INT_UINT32_LOW_HIGH_TO_UINT64 |
230 |
#define TARGET_NATIVE_MATH_INT_UINT_LOW_HIGH_TO_UINT64(low,high,v) \ |
#define TARGET_NATIVE_MATH_INT_UINT32_LOW_HIGH_TO_UINT64(low,high,v) \ |
231 |
do { \ |
do { \ |
232 |
(v)=((((jlong)(high)) << 32) | (((jlong)(low)) << 0)); \ |
(v)=((((jlong)(high)) << 32) | ((((jlong)(low)) << 0) & 0x00000000ffffFFFFLL)); \ |
233 |
} while (0) |
} while (0) |
234 |
#endif |
#endif |
235 |
#ifndef TARGET_NATIVE_MATH_INT_INT64_TO_INT_LOW_HIGH |
#ifndef TARGET_NATIVE_MATH_INT_INT64_TO_INT32_LOW_HIGH |
236 |
#define TARGET_NATIVE_MATH_INT_INT64_TO_INT_LOW_HIGH(v,low,high) \ |
#define TARGET_NATIVE_MATH_INT_INT64_TO_INT32_LOW_HIGH(v,low,high) \ |
237 |
do { \ |
do { \ |
238 |
(high)=((v) & 0xFFFFffff00000000L) >> 32; \ |
(high)=((v) & 0xFFFFffff00000000L) >> 32; \ |
239 |
(low) =((v) & 0x00000000FFFFffffL) >> 0; \ |
(low) =((v) & 0x00000000FFFFffffL) >> 0; \ |
240 |
} while (0) |
} while (0) |
241 |
#endif |
#endif |
242 |
#ifndef TARGET_NATIVE_MATH_INT_UINT64_TO_UINT_LOW_HIGH |
#ifndef TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32_LOW_HIGH |
243 |
#define TARGET_NATIVE_MATH_INT_UINT64_TO_UINT_LOW_HIGH(v,low,high) \ |
#define TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32_LOW_HIGH(v,low,high) \ |
244 |
do { \ |
do { \ |
245 |
(high)=((v) & 0xFFFFffff00000000L) >> 32; \ |
(high)=((v) & 0xFFFFffff00000000L) >> 32; \ |
246 |
(low) =((v) & 0x00000000FFFFffffL) >> 0; \ |
(low) =((v) & 0x00000000FFFFffffL) >> 0; \ |