home Forums # Technical Support Fuzzy Engine in ARM MCU? Reply To: Fuzzy Engine in ARM MCU?


I was able to get the source code compiling with my embedded compiler.

The following were three changes required for me to get it compiling:

1) I needed to add “std::” scoping to a few items for my compiler to be happy [namely std::ext() and std::va_list].
2) In “Bell.cpp”, my compiler complained that “std::pow” function had multiple matches of the overloaded function, so I changed it to “std::powf” for my application
3) In “Consequent.cpp” and “Last.cpp” my compiler does not have an operator overload for “!=” on reverse iterators.
3a) In “Last.cpp” the following block of code it != ruleBlock->rules().rend(); ++it) { changed to (it.base() - 1) != (ruleBlock->rules().rend().base() - 1); ++it) {
3b) in “Consequent.cpp” the following block of code rit != proposition->hedges.rend(); ++rit) { changed to (rit.base() - 1) != (proposition->hedges.rend().base() - 1); ++rit) {

My biggest concern are changes that I had to make for item #3 above. Is this the proper way of updating for reverse iterators, or would you suggest an alternative way?