nnfwconfig.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Neural Network Framework. *
3  * Copyright (C) 2005-2011 Gianluca Massera <emmegian@yahoo.it> *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, write to the Free Software *
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
18  ********************************************************************************/
19 
20 #ifndef NNFWCONFIG_H
21 #define NNFWCONFIG_H
22 
31 // FARSA_NNFW_TEMPLATE is also for classes that are completely inline
32 #ifdef WIN32
33  #define _CRT_SECURE_NO_DEPRECATE
34  #ifdef FARSA_NNFW_BUILDING_DLL
35  #define FARSA_NNFW_API __declspec(dllexport)
36  #define FARSA_NNFW_TEMPLATE __declspec(dllexport)
37  #else
38  #define FARSA_NNFW_API __declspec(dllimport)
39  #define FARSA_NNFW_TEMPLATE
40  #endif
41  #define FARSA_NNFW_INTERNAL
42 #else
43  #define FARSA_NNFW_API
44  #define FARSA_NNFW_TEMPLATE
45  #define FARSA_NNFW_INTERNAL __attribute__ ((visibility ("hidden")))
46 #endif
47 
48 //--- read it as: x.yy.zz where
49 //--- x is major version
50 //--- yy is minor version
51 //--- zz is patch version
52 //--- Example: version 2.4.6 is 20406
53 #define FARSA_NNFW_VERSION 10203
54 
55 #include <QList>
56 #include <QVector>
57 #include <QMap>
58 #include <QString>
59 #include <QDebug>
60 
61 #include "vectors.h"
62 #include "matrices.h"
63 #include "algebra.h"
64 
65 namespace farsa {
66 
67 class Updatable;
69 typedef QList<Updatable*> UpdatableList;
70 
71 class Cluster;
73 typedef QList<Cluster*> ClusterList;
74 
75 class Linker;
77 typedef QList<Linker*> LinkerList;
78 
79 extern bool FARSA_NNFW_API initNNFWLib();
80 static const bool nnfwLibInitializer = initNNFWLib();
81 
82 } // end namespace farsa
83 
84 #endif