00001 /***************************************************************************
00002 types.h - description
00003 -------------------
00004 copyright : (C) 2000 by Matt Grover
00005 email : mgrover@amygdala.org
00006 ***************************************************************************/
00007
00008 /***************************************************************************
00009 * *
00010 * This program is free software; you can redistribute it and/or modify *
00011 * it under the terms of the GNU General Public License as published by *
00012 * the Free Software Foundation; either version 2 of the License, or *
00013 * (at your option) any later version. *
00014 * *
00015 ***************************************************************************/
00016 #ifndef TYPES_H
00017 #define TYPES_H
00018
00019 #define GCC_VERSION (__GNUC__ * 10000 \
00020 + __GNUC_MINOR__ * 100 \
00021 + __GNUC_PATCHLEVEL__)
00022
00023 #define HIDDENLAYER HIDDENNEURON
00024 #define INPUTLAYER INPUTNEURON
00025 #define OUTPUTLAYER OUTPUTNEURON
00026 #define IOLAYER IONEURON
00027
00028 enum NeuronRole { HIDDENNEURON, INPUTNEURON, OUTPUTNEURON, IONEURON };
00029 typedef NeuronRole LayerType;
00030 //enum LayerType { HIDDENLAYER, INPUTLAYER, OUTPUTLAYER, IOLAYER };
00031
00032 // TODO: Add refractory period
00033 struct LayerConstants {
00034 LayerType type;
00035 unsigned int layerId;
00036 float membraneTimeConst;
00037 float synapticTimeConst;
00038 float learningConst;
00039 float restPtnl;
00040 float thresholdPtnl;
00041 };
00042
00043 struct UniConnectType {
00044 float pctConnect;
00045 float maxWeight;
00046 };
00047
00048 struct GaussConnectType {
00049 float pctConnect;
00050 float meanWeight;
00051 float stdDev;
00052 };
00053
00054
00055 typedef unsigned long AmTimeInt;
00056 typedef unsigned long AmIdInt;
00057
00058 #endif
1.2.14 written by Dimitri van Heesch,
© 1997-2002