00001 /* 00002 * Parameter.h 00003 * 00004 * Created on: Apr 30, 2012 00005 * Author: Brenda Javornik (e-mail: brendaj (at) cora.nwra.com) 00006 */ 00007 00008 #ifndef PARAMETER_H_ 00009 #define PARAMETER_H_ 00010 00011 #include "utilities.h" 00012 #include "lambda.h" 00013 #include "FileMapAndParameters.h" 00014 00019 typedef struct ParameterTypeNode { 00020 double currentValue; 00021 double currentStep; 00022 LambdaSet parameterRange; 00023 struct ParameterTypeNode *next; 00024 void (*increment) (struct ParameterTypeNode *); 00025 BOOLEAN (*more) (struct ParameterTypeNode *); 00026 } ParameterType; 00027 00028 void incrementParameter(ParameterType *pt); 00029 BOOLEAN moreParameters(ParameterType *pt); 00030 void addParameter(LambdaSet ls); 00031 void incrementSigma(ParameterType *pt); 00032 00033 // Currently, there are three parameters, mu, sigma, and nu 00034 #define NUM_PARAMETERS MAX_ALPHA 00035 00036 /* 00037 // Global variables 00038 // Parameters is a pointer to the head of a linked list of parameters. 00039 // Mu, Nu, and Sigma are pointers to individual elements/nodes of the 00040 // parameter list. 00041 ParameterType *Parameters = NULL; 00042 ParameterType *Nu = NULL; 00043 ParameterType *Mu = NULL; 00044 ParameterType *Sigma = NULL; 00045 */ 00046 00047 ParameterType *getSigma(); 00048 void setSigma(ParameterType *pt); 00049 00050 void setSigmaStep(int steps); 00051 00052 ParameterType *getParameters(); 00053 00054 ParameterType *getMu(); 00055 void setMu(ParameterType *pt); 00056 00057 ParameterType *getNu(); 00058 void setNu(ParameterType *pt); 00059 00060 void initLoopParameters(InputParms inputParms); 00061 00062 void destroyParameters(ParameterType *pt); 00063 00066 #endif /* PARAMETER_H_ */