I was reading your code to see what activation functions were used and noticed that the computation of activation function ONES_COMPLIMENT (e.g. in files NEAT_FractalNetwork.cpp
and NEAT_FastNetwork.cpp, and may be others) contains the following lines where the second overrides the result of the first, which looks like an error. Should there be another variable instead of retVal on the first line?
(line 839) retVal = max(0.0,tmpVal2);
(line 840) retVal = 1.0-tmpVal2;