[libfann] 91/242: Fixed signedness error, error_value should not be in fann_error struct

Christian Kastner chrisk-guest at moszumanska.debian.org
Sat Oct 4 21:10:23 UTC 2014


This is an automated email from the git hooks/post-receive script.

chrisk-guest pushed a commit to tag Version2_0_0
in repository libfann.

commit 095f3ba1896d6816b6a7e9396fa5c93931d3157b
Author: Evan Nemerson <evan at coeus-group.com>
Date:   Wed Feb 18 21:07:47 2004 +0000

    Fixed signedness error, error_value should not be in fann_error struct
---
 src/fann_error.c        |  1 -
 src/fann_train_data.c   | 17 ++++++++---------
 src/include/fann_data.h | 12 +++++-------
 3 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/src/fann_error.c b/src/fann_error.c
index 6ff16c1..70e5585 100644
--- a/src/fann_error.c
+++ b/src/fann_error.c
@@ -163,7 +163,6 @@ void fann_error(struct fann_error *errdat, const unsigned int errno, ...)
  */
 void fann_init_error_data(struct fann_error *errdat)
 {
-	errdat->error_value = 0;
 	errdat->errstr = NULL;
 	errdat->errno_f = 0;
 	errdat->error_log = stderr;
diff --git a/src/fann_train_data.c b/src/fann_train_data.c
index 86f5a36..875de8b 100644
--- a/src/fann_train_data.c
+++ b/src/fann_train_data.c
@@ -151,19 +151,18 @@ void fann_train_on_file(struct fann *ann, char *filename, unsigned int max_epoch
 /* shuffles training data, randomizing the order
  */
 void fann_shuffle_train_data(struct fann_train_data *train_data) {
-	int dat = train_data->num_data - 1, elem;
-	unsigned int swap;
+	unsigned int dat = 0, elem, swap;
 	fann_type temp;
 
-	for ( ; dat >= 0 ; dat-- ) {
+	for ( ; dat < train_data->num_data ; dat++ ) {
 		swap = (unsigned int)(rand() % train_data->num_data);
 		if ( swap != dat ) {
-			for ( elem = train_data->num_input ; elem >= 0 ; elem-- ) {
+			for ( elem = 0 ; elem < train_data->num_input ; elem++ ) {
 				temp = train_data->input[dat][elem];
 				train_data->input[dat][elem] = train_data->input[swap][elem];
 				train_data->input[swap][elem] = temp;
 			}
-			for ( elem = train_data->num_output ; elem >= 0 ; elem-- ) {
+			for ( elem = 0 ; elem < train_data->num_output ; elem++ ) {
 				temp = train_data->output[dat][elem];
 				train_data->output[dat][elem] = train_data->output[swap][elem];
 				train_data->output[swap][elem] = temp;
@@ -176,7 +175,7 @@ void fann_shuffle_train_data(struct fann_train_data *train_data) {
  */
 struct fann_train_data * fann_merge_train_data(struct fann_train_data *data1, struct fann_train_data *data2) {
 	struct fann_train_data * train_data;
-	int x;
+	unsigned int x;
 
 	if ( (data1->num_input  != data2->num_input) ||
 	     (data1->num_output != data2->num_output) ) {
@@ -198,7 +197,7 @@ struct fann_train_data * fann_merge_train_data(struct fann_train_data *data1, st
 		fann_destroy_train(train_data);
 		return NULL;
 	}
-	for ( x = train_data->num_data - 1 ; x >= 0 ; x-- ) {
+	for ( x = 0 ; x < train_data->num_data ; x++ ) {
 		if ( ((train_data->input[x]  = (fann_type *)calloc(train_data->num_input,  sizeof(fann_type))) == NULL) ||
 		     ((train_data->output[x] = (fann_type *)calloc(train_data->num_output, sizeof(fann_type))) == NULL) ) {
 			fann_error(NULL, FANN_E_CANT_ALLOCATE_MEM);
@@ -220,7 +219,7 @@ struct fann_train_data * fann_merge_train_data(struct fann_train_data *data1, st
  */
 struct fann_train_data * fann_duplicate_train_data(struct fann_train_data *data) {
 	struct fann_train_data * dest;
-	int x;
+	unsigned int x;
 
 	if ( (dest = malloc(sizeof(struct fann_train_data))) == NULL ) {
 		fann_error(NULL, FANN_E_CANT_ALLOCATE_MEM);
@@ -240,7 +239,7 @@ struct fann_train_data * fann_duplicate_train_data(struct fann_train_data *data)
 		return NULL;
 	}
 
-	for ( x = dest->num_data - 1 ; x >= 0 ; x-- ) {
+	for ( x = 0 ; x < dest->num_data ; x++ ) {
 		if ( ((dest->input[x]  = (fann_type *)calloc(dest->num_input,  sizeof(fann_type))) == NULL) ||
 		     ((dest->output[x] = (fann_type *)calloc(dest->num_output, sizeof(fann_type))) == NULL) ) {
 			fann_error(NULL, FANN_E_CANT_ALLOCATE_MEM);
diff --git a/src/include/fann_data.h b/src/include/fann_data.h
index 319dabc..5544b79 100644
--- a/src/include/fann_data.h
+++ b/src/include/fann_data.h
@@ -58,11 +58,6 @@ struct fann_layer
  */
 struct fann
 {
-	/* the total error value.
-	   the real mean square error is error_value/num_errors
-	 */
-	float error_value;
-
 	/* The type of error that last occured. */
 	unsigned int errno_f;
 
@@ -155,12 +150,16 @@ struct fann
 	/* the number of data used to calculate the error.
 	 */
 	unsigned int num_errors;
+
+	/* the total error value.
+	   the real mean square error is error_value/num_errors
+	 */
+	float error_value;
 };
 
 /* Structure used to store data, for use with training. */
 struct fann_train_data
 {
-	float error_value;
 	unsigned int errno_f;
 	FILE *error_log;
 	char *errstr;
@@ -175,7 +174,6 @@ struct fann_train_data
 /* Structure used to store error-related information */
 struct fann_error
 {
-	float error_value;
 	unsigned int errno_f;
 	FILE *error_log;
 	char * errstr;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/libfann.git



More information about the debian-science-commits mailing list