Loading [MathJax]/extensions/tex2jax.js
ug4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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
48namespace 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"
80namespace 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
111using std::size_t;
112
113typedef unsigned char byte;
114typedef unsigned int uint;
115
116typedef ugtypes::uint32_t uint32;
117typedef ugtypes::uint64_t uint64;
118typedef ugtypes::int32_t int32;
119typedef 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