ug4
types.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2009-2015: G-CSC, Goethe University Frankfurt
3  * Author: Sebastian Reiter
4  *
5  * This file is part of UG4.
6  *
7  * UG4 is free software: you can redistribute it and/or modify it under the
8  * terms of the GNU Lesser General Public License version 3 (as published by the
9  * Free Software Foundation) with the following additional attribution
10  * requirements (according to LGPL/GPL v3 §7):
11  *
12  * (1) The following notice must be displayed in the Appropriate Legal Notices
13  * of covered and combined works: "Based on UG4 (www.ug4.org/license)".
14  *
15  * (2) The following notice must be displayed at a prominent place in the
16  * terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
17  *
18  * (3) The following bibliography is recommended for citation and must be
19  * preserved in all covered files:
20  * "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively
21  * parallel geometric multigrid solver on hierarchically distributed grids.
22  * Computing and visualization in science 16, 4 (2013), 151-164"
23  * "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 -- a novel
24  * flexible software system for simulating pde based models on high performance
25  * computers. Computing and visualization in science 16, 4 (2013), 165-179"
26  *
27  * This program is distributed in the hope that it will be useful,
28  * but WITHOUT ANY WARRANTY; without even the implied warranty of
29  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30  * GNU Lesser General Public License for more details.
31  */
32 
33 #ifndef __H__LIB_GRID__TYPES__
34 #define __H__LIB_GRID__TYPES__
35 
36 #include <cstddef>
37 
38 // stdint.h is included with most compilers.
39 // If stdint.h is not available (e.g. in Microsoft Visual C++.)
40 // you may either download pstint.h or use boost/cstdint.h
41 #include <stdint.h>
42 //#include "pstdint.h"
43 
46 
48 namespace ugtypes
49 {
50  using ::int8_t;
51  using ::int16_t;
52  using ::int32_t;
53  using ::int64_t;
54  using ::int_fast8_t;
55  using ::int_fast16_t;
56  using ::int_fast32_t;
57  using ::int_fast64_t;
58  using ::int_least8_t;
59  using ::int_least16_t;
60  using ::int_least32_t;
61  using ::int_least64_t;
62  using ::intmax_t;
63  using ::uint8_t;
64  using ::uint16_t;
65  using ::uint32_t;
66  using ::uint64_t;
67  using ::uint_fast8_t;
68  using ::uint_fast16_t;
69  using ::uint_fast32_t;
70  using ::uint_fast64_t;
71  using ::uint_least8_t;
72  using ::uint_least16_t;
73  using ::uint_least32_t;
74  using ::uint_least64_t;
75  using ::uintmax_t;
76 };
77 
78 /*
79 #include "boost/cstdint.hpp"
80 namespace ugtypes
81 {
82  using boost::int8_t;
83  using boost::int16_t;
84  using boost::int32_t;
85  using boost::int64_t;
86  using boost::int_fast8_t;
87  using boost::int_fast16_t;
88  using boost::int_fast32_t;
89  using boost::int_fast64_t;
90  using boost::int_least8_t;
91  using boost::int_least16_t;
92  using boost::int_least32_t;
93  using boost::int_least64_t;
94  using boost::intmax_t;
95  using boost::uint8_t;
96  using boost::uint16_t;
97  using boost::uint32_t;
98  using boost::uint64_t;
99  using boost::uint_fast8_t;
100  using boost::uint_fast16_t;
101  using boost::uint_fast32_t;
102  using boost::uint_fast64_t;
103  using boost::uint_least8_t;
104  using boost::uint_least16_t;
105  using boost::uint_least32_t;
106  using boost::uint_least64_t;
107  using boost::uintmax_t;
108 };
109 */
110 
111 using std::size_t;
112 
113 typedef unsigned char byte;
114 typedef unsigned int uint;
115 
116 typedef ugtypes::uint32_t uint32;
117 typedef ugtypes::uint64_t uint64;
118 typedef ugtypes::int32_t int32;
119 typedef ugtypes::int64_t int64;
120 
121 #ifdef UG_SINGLE_PRECISION
122  typedef float number;
123 #else
124  typedef double number;
125 #endif
126 
127 // end group ugbase_common
129 
130 #endif
ugtypes::int64_t int64
Definition: types.h:119
unsigned char byte
Definition: types.h:113
ugtypes::uint32_t uint32
Definition: types.h:116
ugtypes::int32_t int32
Definition: types.h:118
unsigned int uint
Definition: types.h:114
double number
Definition: types.h:124
ugtypes::uint64_t uint64
Definition: types.h:117
brief Include C99 int-types into the lg namespace.
Definition: types.h:49