The API generally returns 0 for most functions, otherwise void, and hopefully
so for any properly constructed FL controller. Yet obviously there will always
be the odd case of functions being called in an inappropriate order preventing
the construction of a functioning FL controller.
CALL |
Note |
Error Codes |
int
CFLC::Calculate(double
*Val) |
This call groups 4 other API Calls: ret
= EvaluateAllPremises(Val);
ret = InferenceRules();
ret = GenerateFuzzyOutputs();
ret = Defuzzify(0); |
Return code from contained calls (see below). |
int
CFLC::Calculate(void) |
This call groups 4 other API Calls: ret
= EvaluateAllPremises();
ret = InferenceRules();
ret = GenerateFuzzyOutputs();
ret = Defuzzify(0); Value must have been set to variable first |
Return code from contained calls (see below). |
int
CFLC::DetermineRuleSetSize(void) |
Will generally return 9 or 25 for a fully defined rule
set |
-1: no variable set
-3: Var1 has no FS
-4: Var2 has no FS
-5: Var3 (output) has no FS |
int
CFLC::AllocateRuleSpace(void) |
|
-1: no variable set
-2: at least 1 variable has no FS
-3: no Rule Set |
int
CFLC::InitRuleSet(int
nSize)
int
CFLC::InitRuleSet(void) |
|
-1: RS already initialised
-2: Error while creating RS
-3: negative size
-4: not allowed (credit exceeded, or no direct access to API)
-5: API has expired |
int
CFLC::InitVarSet(int
nNumVars) |
|
-1: VS already initialised
-2: Error while creating VS
-3: negative size
-4: not allowed (credit exceeded, or no direct access to API) |
int
CFLC::InitFuzzySets(int
nNumFS) |
|
-1: FS already initialised
-2: Error while creating FS
-3: negative size
-4: not allowed (credit exceeded, or no direct access to API) |
int
CFLC::EvaluateAllPremises(void)
int
CFLC::EvaluateAllPremises(double
*Val) |
|
-1: No variable set |
int
CFLC::InferenceRules() |
|
-1: No rule set |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|