Free Electron
datatypes.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __platform_datatypes_h__
8 #define __platform_datatypes_h__
9 
10 // NO NAMESPACE
11 
12 typedef long long int I64;
13 typedef int I32;
14 typedef short I16;
15 
16 //* NOTE Bink/Miles may already define these (using #define)
17 #ifndef U64
18 typedef unsigned long long int U64;
19 #endif
20 #ifndef U32
21 typedef unsigned int U32;
22 #endif
23 #ifndef F64
24 typedef unsigned short U16;
25 typedef unsigned char U8;
26 typedef signed char I8;
27 typedef float F32;
28 typedef double F64;
29 #endif
30 
31 #ifndef NULL
32 #define NULL 0
33 #endif
34 
35 typedef bool BWORD;
36 typedef char CHAR;
37 
38 //* UWORD is already defined in win32
39 typedef size_t FE_UWORD;
40 
41 #if FE_OS==FE_WIN32 || FE_OS==FE_WIN64
42 typedef SSIZE_T IWORD;
43 #else
44 typedef ssize_t IWORD;
45 #endif
46 
47 #ifndef FE_BOOST_REGEX
48 #define FE_BOOST_REGEX 0
49 #endif
50 
51 #ifndef FE_BOOST_FILESYSTEM
52 #define FE_BOOST_FILESYSTEM 0
53 #endif
54 
55 #ifndef FE_USE_TSS
56 #define FE_USE_TSS 0
57 #endif
58 
59 namespace fe
60 {
61 #if FE_DOUBLE_REAL
62  typedef double Real;
63 #else
64  typedef float Real;
65 #endif
66 
67  typedef Real t_real;
68  typedef std::vector<I32> t_vecint;
69  typedef std::vector<U32> t_vecuint;
70  typedef std::vector<t_real> t_vecreal;
71 }
72 
73 #endif /* __platform_datatypes_h__ */
74 
kernel
Definition: namespace.dox:3