27 lines
817 B
C
27 lines
817 B
C
--- fsom.c.orig 2015-11-21 16:35:06 UTC
|
|
+++ fsom.c
|
|
@@ -31,6 +31,10 @@
|
|
#define M_E 2.7182818284590452354
|
|
#endif
|
|
|
|
+#ifndef ABS
|
|
+#define ABS(x) ((x) < 0 ? -(x) : (x))
|
|
+#endif
|
|
+
|
|
/**
|
|
* \brief Create a new synapsis between two neurons
|
|
* \param input_neuron Input neuron for the synapsis
|
|
@@ -591,10 +595,10 @@ som_train_iteration ( som_network_t *net
|
|
som_neuron_t *neuron;
|
|
for ( i=0; i < net->output_layer->neurons_rows; ++i )
|
|
{
|
|
- dist_i = abs( x - i );
|
|
+ dist_i = ABS( x - i );
|
|
for ( j=0; j < net->output_layer->neurons_cols; ++j )
|
|
{
|
|
- dist = pow( dist_i + abs ( y - j ), 4 );
|
|
+ dist = pow( dist_i + ABS ( y - j ), 4 );
|
|
inv_dist = (1.0 / ((double) dist + 1)) * l_rate;
|
|
neuron = net->output_layer->neurons[i][j];
|
|
for ( k=0; k < net->input_layer->neurons_count; ++k )
|