1 /***************************************************************************** 2 FILE : $Source: /projects/higgs1/SNNS/CVS/SNNS/kernel/sources/enzo_mem_typ.h,v $ 3 SHORTNAME : 4 SNNS VERSION : 4.2 5 6 PURPOSE : declaration of all Enzo related variables 7 NOTES : 8 9 AUTHOR : Thomas Ragg 10 DATE : 12.11.95 11 12 CHANGED BY : 13 RCS VERSION : $Revision: 1.3 $ 14 LAST CHANGE : $Date: 1998/02/25 15:26:10 $ 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 _ENZO_MEM_TYP_H 21 #define _ENZO_MEM_TYP_H 22 23 typedef struct 24 { 25 /* ---------------------------------------------------------------------- */ 26 /* */ 27 /* These are all the variables you need to describe the internal */ 28 /* state of an SNNS-net in memory. */ 29 /* */ 30 /* Note that this is HIGHLY dependend on the version of SNNS! */ 31 /* Manipulate the net only via the krui-functions! */ 32 /* Do NOT use this structure for anything but */ 33 /* krm_get_net() and krm_put_net() ... */ 34 /* */ 35 /* ---------------------------------------------------------------------- */ 36 37 int NoOfLinks; 38 int NoOfAllocLinks; 39 LinkArray link_array; 40 LinkArray link_block_list; 41 LinkArray free_link_ptr; 42 43 int NoOfSites; 44 int NoOfNetSites; 45 int NoOfAllocSites; 46 SiteArray site_array; 47 SiteArray site_block_list; 48 SiteArray free_site_ptr; 49 50 int NoOfAllocUnits; 51 int FreeUnitIndex; 52 int NoOfUnits; 53 int NoOfInputUnits; 54 int NoOfOutputUnits; 55 int NoOfHiddenUnits; 56 int MaxUnitNo; 57 int MinUnitNo; 58 UnitArray unit_array; 59 60 TopoPtrArray topo_ptr_array; 61 62 int NoOfNTableEntries; 63 int NoOfAllocNTableEntries; 64 NTableArray NTable_array; 65 NTableArray NTable_block_list; 66 NTableArray free_NTable_entry; 67 NTableArray curr_NTable_entry; 68 NTableArray curr_NTable_block; 69 70 int NoOfSTableEntries; 71 int NoOfAllocSTableEntries; 72 STableArray STable_array; 73 STableArray STable_block_list; 74 STableArray free_STable_entry; 75 STableArray curr_STable_entry; 76 STableArray curr_STable_block; 77 78 79 struct FtypeUnitStruct *Ftype_list_root; 80 struct FtypeUnitStruct *curr_Ftype_entry; 81 int NoOfFTableEntries; 82 83 char update_func[FUNCTION_NAME_MAX_LEN], 84 learn_func [FUNCTION_NAME_MAX_LEN], 85 init_func [FUNCTION_NAME_MAX_LEN]; 86 87 FlintType u_act, u_bias; 88 int u_ttflags, u_subnet_no, u_layer_no; 89 char u_act_func[FUNCTION_NAME_MAX_LEN], 90 u_out_func[FUNCTION_NAME_MAX_LEN]; 91 92 bool NetModified, NetInitialize, LearnFuncHasChanged; 93 struct Unit *unitPtr; 94 struct Site *sitePtr, *prevSitePtr; 95 struct Link *linkPtr, *prevLinkPtr; 96 int unitNo; 97 int specialNetworkType; 98 99 int TopoSortID; 100 int no_of_topo_units; 101 /* global_topo_ptr seems to be unproblematic; its only used inside 102 the topol. sorting functions */ 103 104 } memNet; 105 106 107 typedef struct 108 { 109 int number; 110 } memPat; 111 112 #endif 113