common.h

Go to the documentation of this file.
00001 /*
00002  * This program is free software; you can redistribute it and/or modify
00003  * it under the terms of the GNU General Public License as published by
00004  * the Free Software Foundation; either version 3 of the License, or
00005  * (at your option) any later version.
00006  *
00007  * Written (W) 1999-2009 Soeren Sonnenburg
00008  * Written (W) 1999-2008 Gunnar Raetsch
00009  * Written (W) 2006 Fabio De Bona
00010  * Written (W) 2006 Konrad Rieck
00011  * Written (W) 2006-2008 Christian Gehl
00012  * Copyright (C) 1999-2009 Fraunhofer Institute FIRST and Max-Planck-Society
00013  */
00014 
00015 #include "lib/memory.h"
00016 
00017 #ifndef __COMMON_H__
00018 #define __COMMON_H__
00019 
00020 #include <stdlib.h>
00021 #include <stdio.h>
00022 #include "lib/config.h"
00023 
00024 #ifndef LINUX
00025 #define RANDOM_MAX 2147483647
00026 #else
00027 #define RANDOM_MAX RAND_MAX
00028 #endif
00029 
00034 
00035 #include <stdint.h>
00036 
00041 typedef float float32_t;
00042 typedef double float64_t;
00043 typedef long double floatmax_t;
00044 
00046 
00047 #ifdef HAVE_BOOST_SERIALIZATION
00048 // split member function serialize funcition into save/load
00049 #define GLOBAL_BOOST_SERIALIZATION_SPLIT_MEMBER()                  \
00050 template<class Archive>                                            \
00051 void serialize(Archive &ar, const unsigned int file_version)       \
00052 {                                                                  \
00053     ::boost::serialization::split_member(ar, *this, file_version); \
00054 }
00055 
00056 #endif //HAVE_BOOST_SERIALIZATION
00057 
00058 #endif //__COMMON_H__

SHOGUN Machine Learning Toolbox - Documentation