1 /***************************************************************************** 2 FILE : $Source: /projects/higgs1/SNNS/CVS/SNNS/kernel/sources/kr_const.h,v $ 3 SHORTNAME : const.h 4 SNNS VERSION : 4.2 5 6 PURPOSE : SNNS-Kernel Constants 7 NOTES : 8 9 AUTHOR : Niels Mache 10 DATE : 01.03.90 11 12 CHANGED BY : Sven Doering 13 RCS VERSION : $Revision: 2.7 $ 14 LAST CHANGE : $Date: 1998/02/25 15:26:39 $ 15 16 Copyright (c) 1990-1995 SNNS Group, IPVR, Univ. Stuttgart, FRG 17 Copyright (c) 1996-1998 SNNS Group, WSI, Univ. Tuebingen, FRG 18 19 ******************************************************************************/ 20 #ifndef KR_CONSTANTS 21 22 #define KR_CONSTANTS 23 24 /* flag modifier: 25 26 |------------------------------ Direct Link Flag 27 | |--------------------------- Site Flag 28 | | |------------------------ | 29 | | | |--------------------- | Topologic Type Flags 30 | | | | |------------------ | 31 | | | | | |--------------- | 32 | | | | | | |------------ Refresh Flag 33 | | | | | | | |--------- Enable Flag 34 | | | | | | | | |------ In-Use Flag 35 | | | | | | | | | |--- Allocation Flag 36 37 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 38 ----------------------------------------------- 39 0 0 : Unit is free and may be allocated 40 0 1 : Unit is now allocated, but not ready to use 41 1 0 : Unit is allocated and ready to use 42 1 1 : Unit is allocated and ready to use 43 44 0 ----- : Unit is freezed 45 1 ----- : Unit is active (will be updated during next cycle) 46 47 0 -------- : Unit is not updated now 48 1 -------- : Unit is currently updated 49 50 0 0 0 0 ----------- : Unknown topologic type 51 0 0 0 1 ----------- : Input type 52 0 0 1 0 ----------- : Output type 53 0 0 1 1 ----------- : Dual type (input and output) 54 0 1 0 0 ----------- : Hidden type 55 1 0 0 0 ----------- : Special type (no weight adjustment of input links) 56 57 0 0 ----------------------- : Unit has no inputs (no links and no Sites) 58 0 1 ----------------------- : Unit has at least one site (and no direct wired inputs) 59 1 0 ----------------------- : Unit has direct input links (and no sites) 60 1 1 ----------------------- : -- NOT USED -- 61 62 */ 63 64 #define UFLAG_FREE 0x0000 65 #define UFLAG_NOT_FREE 0x0001 66 #define UFLAG_IN_USE 0x0002 67 68 #define UFLAG_INITIALIZED 0x0007 69 #define UFLAG_ENABLED 0x0004 70 71 #define UFLAG_REFRESH 0x0008 72 73 #define UFLAG_TTYP_PAT 0x00f0 74 #define UFLAG_TTYP_UNKN 0x0000 75 #define UFLAG_TTYP_IN 0x0010 76 #define UFLAG_TTYP_OUT 0x0020 77 #define UFLAG_TTYP_DUAL 0x0030 78 #define UFLAG_TTYP_HIDD 0x0040 79 #define UFLAG_TTYP_SPEC 0x0080 80 #define UFLAG_TTYP_SPEC_I 0x0090 81 #define UFLAG_TTYP_SPEC_O 0x00a0 82 #define UFLAG_TTYP_SPEC_H 0x00c0 83 #define UFLAG_TTYP_SPEC_D 0x00b0 84 #define UFLAG_TTYP_SPEC_X 0x00FE /* only used to identfy toggle */ 85 #define UFLAG_TTYP_N_SPEC_X 0x00FF /* only used to identfy toggle */ 86 87 #define UFLAG_INPUT_PAT 0x0300 88 #define UFLAG_NO_INP 0x0000 89 #define UFLAG_SITES 0x0100 90 #define UFLAG_DLINKS 0x0200 91 92 93 /* The unit output identity function is the NULL pointer 94 */ 95 #define OUT_IDENTITY NULL 96 97 98 99 /* *********************************************************** 100 101 Constants for selectors 102 103 *********************************************************** */ 104 /* modes for unit counting 105 */ 106 #define UNIT_DELETE 1 107 #define UNIT_ADD 2 108 109 /* topologic sorting modes 110 */ 111 112 #define NOT_SORTED 0 113 #define TOPOLOGICAL 1 114 #define TOPOLOGICAL_FF 2 115 #define TOPOLOGIC_TYPE 3 116 #define PERMUTATION 4 117 #define ART1_TOPO_TYPE 5 118 #define ART2_TOPO_TYPE 6 119 #define ARTMAP_TOPO_TYPE 7 120 #define TOPOLOGICAL_CC 8 121 #define TOPOLOGICAL_RCC 9 122 #define TOPOLOGICAL_BCC 10 123 #define TOPOLOGIC_LOGICAL 11 124 #define TOPOLOGICAL_JE 12 125 126 /* unit component selectors 127 */ 128 #define SEL_UNIT_ACT 1 129 #define SEL_UNIT_OUT 2 130 #define SEL_UNIT_IACT 3 131 #define SEL_UNIT_BIAS 4 132 #define SEL_UNIT_ALL 5 133 #define SEL_UNIT_VALA 6 134 135 /* link searching selectors 136 */ 137 #define FIRST 1 138 #define NEXT 2 139 #define CURRENT 3 140 #define NAME 4 141 142 /* function searching in function table 143 */ 144 #define GET_NO_OF_FUNCS 1 145 #define GET_FUNC_INFO 2 146 #define SEARCH_FUNC 3 147 #define GET_FUNC_NAME 4 148 #define GET_DEFAULT_FUNC 5 149 150 /* link delete selectors 151 */ 152 #define INPUTS 0 153 #define OUTPUTS 1 154 155 /* pattern function selectors 156 */ 157 #define PATTERN_SET 1 158 #define PATTERN_GET 2 159 #define PATTERN_DELETE 3 160 #define PATTERN_MODIFY 4 161 #define PATTERN_SHOW 5 162 #define PATTERN_NEW 6 163 #define PATTERN_DELETE_ALL 7 164 #define PATTERN_SHUFFLE_ON 8 165 #define PATTERN_SHUFFLE_OFF 9 166 #define PATTERN_VECTOR_NEW 10 167 #define PATTERN_ARRAY_ALLOC 11 168 #define PATTERN_SET_NUMBER 12 169 #define PATTERN_GET_NUMBER 13 170 #define PATTERN_SUB_SHUFFLE_ON 14 171 #define PATTERN_SUB_SHUFFLE_OFF 15 172 #define GET_SHUFFLE_FLAG 16 173 #define GET_SUB_SHUFFLE_FLAG 17 174 #define SUBPATTERN_GET_NUMBER 18 175 176 /*################################################# 177 178 GROUP: Parallel kernel constants 179 180 #################################################*/ 181 182 183 #endif 184 185 186 187 188 189 190