NeuralEngine
A Game Engine with embeded Machine Learning algorithms based on Gaussian Processes.
NeMachineLearningLib.h
1
11
#pragma once
12
13
#pragma comment(lib, "windowscodecs.lib"
)
14
15
//----------------------------------------------------------------------------
16
// Platform-specific information. The defines to control which platform is
17
// included are listed below. Add others as needed.
18
//
19
// _WIN32 or WIN32 : Microsoft Windows
20
// __APPLE__ : Macintosh OS X
21
// __linux__ or __LINUX__ : Linux
22
//----------------------------------------------------------------------------
23
// Microsoft Windows platform
24
//----------------------------------------------------------------------------
25
#if !defined(__LINUX__) && (defined(WIN32) || defined(_WIN64))
26
#define __MSWINDOWS__
27
28
#if !defined(_MSC_VER)
29
#error Microsoft Visual Studio 2013 or later is required.
30
#endif
31
32
// Microsoft Visual Studio versions:
33
// MSVC 6 is version 12.00
34
// MSVC 7.0 is version 13.00 (MSVS 2002)
35
// MSVC 7.1 is version 13.10 (MSVS 2003)
36
// MSVC 8.0 is version 14.00 (MSVS 2005)
37
// MSVC 9.0 is version 15.00 (MSVS 2008)
38
// MSVC 10.0 is version 16.00 (MSVS 2010)
39
// MSVC 11.0 is version 17.00 (MSVS 2012)
40
// Currently, projects are provided only for MSVC 10.0 and 11.0.
41
#if _MSC_VER < 1800
42
#error Microsoft Visual Studio 2013 or later is required.
43
#endif
44
45
// Debug build values (choose_your_value is 0, 1, or 2)
46
// 0: Disables checked iterators and disables iterator debugging.
47
// 1: Enables checked iterators and disables iterator debugging.
48
// 2: (default) Enables iterator debugging; checked iterators are not relevant.
49
//
50
// Release build values (choose_your_value is 0 or 1)
51
// 0: (default) Disables checked iterators.
52
// 1: Enables checked iterators; iterator debugging is not relevant.
53
//
54
// #define _ITERATOR_DEBUG_LEVEL choose_your_value
55
56
#endif
// WIN32 or _WIN64
57
58
// Disable the Microsoft warnings about not using the secure functions.
59
#pragma warning(disable : 4996)
60
61
// The use of NE_<libname>_ITEM to export an entire class generates warnings
62
// when member data and functions involving templates or inlines occur. To
63
// avoid the warning, NE_<libname>_ITEM can be applied only to those items
64
// that really need to be exported.
65
#pragma warning(disable : 4251)
66
67
68
//----------------------------------------------------------------------------
69
// PC Linux platform
70
//----------------------------------------------------------------------------
71
#if !defined(__LINUX__) && defined(__linux__)
72
// Apparently, many PC Linux flavors define __linux__, but we have used
73
// __LINUX__. To avoid breaking code by replacing __LINUX__ by __linux__,
74
// we will just define __LINUX__.
75
#define __LINUX__
76
#endif
77
#if defined(__LINUX__)
78
79
// Support for standard integer types.
80
#include <inttypes.h>
81
82
#define NE_LITTLE_ENDIAN
83
84
#endif
85
//----------------------------------------------------------------------------
86
87
// Begin Microsoft Windows DLL support.
88
#if defined(NE_ENGINE_DLL_EXPORT)
89
// For the DLL library.
90
#define NE_IMPEXP __declspec(dllexport)
91
#elif defined(NE_ENGINE_DLL_IMPORT)
92
// For a client of the DLL library.
93
#define NE_IMPEXP __declspec(dllimport)
94
#else
95
// For the static library and for Apple/Linux.
96
#define NE_IMPEXP
97
#endif
98
// End Microsoft Windows DLL support.
99
100
101
// Expose exactly one of these.
102
#define NE_USE_ROW_MAJOR
103
//#define NE_USE_COL_MAJOR
104
105
// Expose exactly one of these.
106
#define NE_USE_MAT_VEC
107
//#define NE_USE_VEC_MAT
108
109
#if (defined(NE_USE_ROW_MAJOR) && defined(NE_USE_COL_MAJOR)) || (!defined(NE_USE_ROW_MAJOR) && !defined(NE_USE_COL_MAJOR))
110
#error Exactly one storage order must be specified.
111
#endif
112
113
#if (defined(NE_USE_MAT_VEC) && defined(NE_USE_VEC_MAT)) || (!defined(NE_USE_MAT_VEC) && !defined(NE_USE_VEC_MAT))
114
#error Exactly one multiplication convention must be specified.
115
#endif
116
117
//#define isequal(a, b) alltrue<bool>((a) == (b))
include
NeMachineLearningLib.h
Generated by
1.9.4