33 #define FEAT_NAME_SIZE 80
36 #define ILLEGAL_FEATURE_PARAM 1000
37 #define ILLEGAL_NUM_FEATURES 1001
85 #define StartParamDesc(Name) \
86 const PARAM_DESC Name[] = {
88 #define DefineParam(Circular, NonEssential, Min, Max) \
89 {Circular, NonEssential, Min, Max, \
90 (Max) - (Min), (((Max) - (Min))/2.0), (((Max) + (Min))/2.0)},
92 #define EndParamDesc };
100 #define DefineFeature(Name, NL, NC, SN, PN) \
101 const FEATURE_DESC_STRUCT Name = { \
102 ((NL) + (NC)), SN, PN};
FEATURE_DESC_STRUCT * FEATURE_DESC
FEATURE_SET ReadFeatureSet(FILE *File, const FEATURE_DESC_STRUCT *FeatureDesc)
const FEATURE_DESC_STRUCT * Type
void WriteFeature(FEATURE Feature, STRING *str)
BOOL8 AddFeature(FEATURE_SET FeatureSet, FEATURE Feature)
void WriteFeatureSet(FEATURE_SET FeatureSet, STRING *str)
FEATURE_SET_STRUCT * FEATURE_SET
FEATURE_SET NewFeatureSet(int NumFeatures)
void FreeFeature(FEATURE Feature)
FEATURE NewFeature(const FEATURE_DESC_STRUCT *FeatureDesc)
FEATURE ReadFeature(FILE *File, const FEATURE_DESC_STRUCT *FeatureDesc)
const PARAM_DESC * ParamDesc
void FreeFeatureSet(FEATURE_SET FeatureSet)