00001 /*************************************************************************** 00002 * @file gnn_globals.h 00003 * @brief Global Declarations, Definitions, Macros. 00004 * @defgroup gnn_layer 00005 * 00006 * @date : 26-07-03 18:24 00007 * @author : Pedro Ortega C. <peortega@dcc.uchile.cl> 00008 * Copyright 2003 Pedro Ortega C. 00009 ****************************************************************************/ 00010 /* 00011 * This program is free software; you can redistribute it and/or modify 00012 * it under the terms of the GNU General Public License as published by 00013 * the Free Software Foundation; either version 2 of the License, or 00014 * (at your option) any later version. 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU Library General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU General Public License 00022 * along with this program; if not, write to the Free Software 00023 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00024 */ 00025 00026 #ifndef _GNN_GLOBALS_H_ 00027 #define _GNN_GLOBALS_H_ 00028 00029 00030 00031 /******************************************/ 00032 /* Include Files */ 00033 /******************************************/ 00034 00035 #include <assert.h> 00036 #include <stdarg.h> 00037 #include <gsl/gsl_errno.h> 00038 #include <gsl/gsl_block.h> 00039 #include <gsl/gsl_vector.h> 00040 00041 00042 00043 /******************************************/ 00044 /* Macro Definition */ 00045 /******************************************/ 00046 00047 /** 00048 * @brief \f$ \sqrt{2} \f$. 00049 * @ingroup gnn_globals 00050 */ 00051 #define GNN_SQRT2 1.4142135623731 00052 00053 /** 00054 * @brief \f$ \frac{1}{\sqrt{2}} \f$. 00055 * @ingroup gnn_globals 00056 */ 00057 #define GNN_INVSQRT2 0.70710678118655 00058 00059 /** 00060 * @brief \f$ \pi \f$. 00061 * @ingroup gnn_globals 00062 */ 00063 #define GNN_PI 3.1415926535898 00064 00065 /** 00066 * @brief The default random number's name. 00067 * @ingroup gnn_globals 00068 */ 00069 #define GNN_DEFAULT_RNG gsl_rng_mt19937 00070 00071 /** 00072 * @brief The default step size for computing finite differences 00073 * @ingroup gnn_globals 00074 */ 00075 #define GNN_DEFAULT_EPS 0.001 00076 00077 /** 00078 * @brief Tiny value for divisions. 00079 * @ingroup gnn_globals 00080 */ 00081 #define GNN_TINY 0.000001 00082 00083 /** 00084 * @brief The maximum size for input/output character buffers 00085 * @ingroup gnn_globals 00086 */ 00087 #define GNN_MAX_BUF 8096 00088 00089 /** 00090 * @brief The infinity constant for unsigned integers. 00091 * @ingroup gnn_globals 00092 */ 00093 #define GNN_INFTY -1 00094 00095 00096 00097 00098 #endif /* _GNN_GLOBALS_H_ */
1.2.18