/*****************************************************************************
FILE : $Source: /projects/higgs1/SNNS/CVS/SNNS/kernel/sources/cc_modify.h,v $
SHORTNAME : cc_modify.h
SNNS VERSION : 4.2
PURPOSE : Header file of correspondent '.c' file
NOTES :
AUTHOR : Juergen Gatter
DATE :
CHANGED BY :
RCS VERSION : $Revision: 1.4 $
LAST CHANGE :
Copyright (c) 1990-1995 SNNS Group, IPVR, Univ. Stuttgart, FRG
Copyright (c) 1996-1998 SNNS Group, WSI, Univ. Tuebingen, FRG
******************************************************************************/
#ifndef _CC_MODIFY_DEFINED_
#define _CC_MODIFY_DEFINED_
/* begin global definition section */
extern krui_err cc_InitModificationVariables(void);
/* inits some global Varibales. */
extern krui_err cc_TestWhetherParametersAreValid(void);
/* is the Parameter-Input in the Windows valid ? */
extern krui_err cc_allocateMemoryForModifications(void);
/* allocates Memory needed by some of the Modifications */
/* i.E. ccr_ListOfChosenUnits, ccs_GroupList,ccs_GroupData */
extern void cc_deallocateMemory(void);
/* deallocates the above allocated Memory */
/* gets and returns ErrorCode */
/* Routine is called by the Makro ERROR_CHECK_WITH_MEMORY_DEALLOCATION */
extern double cc_modifyHighScore(struct Unit* SpecialUnitPtr, int s, double old);
/* modifies the HighScore according the actual Modification */
/* s is the No (0..Max) of the Special Unit, old is the unchanged */
/* HighScore. The calling routine uses the changed HighScore to */
/* determine the best Special Unit. */
extern void cc_actualizeGroupHighscores(double Score,int s,struct Unit* UnitPtr);
/* if more then one group is used, this routine actualises the */
/* according datas. Parameters see above. */
extern int cc_calculateNoOfNewUnits(void);
/* How much Units do we have to install ? */
extern struct Unit* cc_getModifiedBestSpecialUnitPtr(int GroupNo);
/* get the best SpecialUnit according to the actual GroupNo */
extern bool cc_UnitsHaveToBeConnected(int SpecialUnitNo,struct Unit *UnitPtr);
/* should the be a connection between the two units ? */
extern krui_err cc_calculateConnections(int SpecUnitNo);
/* calculate a connection table, if this must be done before */
/* all units where checked. */
extern void cc_MakeMiscCalculationsForModifications(void);
/* make some misc calculations for the Modifications. */
/* Actually : CCM --> Calculate Layer Height. */
/* CCS --> Calculate Correlation Output Units */
/* and Groups. */
extern int* ccs_GroupList;
/* dynamic Array [0..NoOfOutputUnits]. the Group in which */
/* the specified Output-Unit is. */
/* end global definition section */
/* begin privat definition section */
/* end privat definition section */
#endif /* _CC_MODIFY_DEFINED_ */
syntax highlighted by Code2HTML, v. 0.9.1