In lib/sigmoid.h, there is some code to calculate quickly exp(x) including
the statement :
i = (int)x1;
In lib/neuralnetsse.c, the corresponding SSE code is :
i.i = _mm_cvtps_epi32( x1 );
Shouldn't that be _mm_cvttps_epi32( x1 ) ? The cast-to-int truncates, it
doesn't round, does it ?
Amazingly (to me, at least), it apparently makes very little difference in
the final net outputs but the current code seems erroneous.
_______________________________________________
Bug-gnubg mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-gnubg