1 /*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
40 #define FLT_MAX 3.402823466E+38F /* max decimal value of a "float" */
41 #endif
42
43 #ifndef FLT_MIN
44 #define FLT_MIN 1.175494351e-38F /* min normalised value of a "float" */
45 #endif
46
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50
51 typedef char mlib_s8;
52 typedef unsigned char mlib_u8;
53 typedef short mlib_s16;
54 typedef unsigned short mlib_u16;
55 typedef int mlib_s32;
56 typedef unsigned int mlib_u32;
57 typedef float mlib_f32;
58 typedef double mlib_d64;
59
60 #if defined(__SUNPRO_C) || defined(__SUNPRO_CC) || defined(__GNUC__) || defined(_AIX)
61
62 #include <stdint.h>
63 #include <stddef.h>
64
65 #if defined(MLIB_OS64BIT) || (defined(MACOSX) && defined(_LP64))
66
67 typedef long mlib_s64;
68 typedef unsigned long mlib_u64;
69
70 #define MLIB_S64_MIN LONG_MIN
71 #define MLIB_S64_MAX LONG_MAX
72
73 #define MLIB_S64_CONST(x) x##L
74 #define MLIB_U64_CONST(x) x##UL
75
76 #elif (__STDC__ - 0 == 0) || defined(__GNUC__)
77
78 #if defined(_NO_LONGLONG)
79
80 typedef union {
|
1 /*
2 * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
40 #define FLT_MAX 3.402823466E+38F /* max decimal value of a "float" */
41 #endif
42
43 #ifndef FLT_MIN
44 #define FLT_MIN 1.175494351e-38F /* min normalised value of a "float" */
45 #endif
46
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50
51 typedef char mlib_s8;
52 typedef unsigned char mlib_u8;
53 typedef short mlib_s16;
54 typedef unsigned short mlib_u16;
55 typedef int mlib_s32;
56 typedef unsigned int mlib_u32;
57 typedef float mlib_f32;
58 typedef double mlib_d64;
59
60 #if defined(__GNUC__) || defined(_AIX)
61
62 #include <stdint.h>
63 #include <stddef.h>
64
65 #if defined(MLIB_OS64BIT) || (defined(MACOSX) && defined(_LP64))
66
67 typedef long mlib_s64;
68 typedef unsigned long mlib_u64;
69
70 #define MLIB_S64_MIN LONG_MIN
71 #define MLIB_S64_MAX LONG_MAX
72
73 #define MLIB_S64_CONST(x) x##L
74 #define MLIB_U64_CONST(x) x##UL
75
76 #elif (__STDC__ - 0 == 0) || defined(__GNUC__)
77
78 #if defined(_NO_LONGLONG)
79
80 typedef union {
|