X-Git-Url: https://ruin.nu/git/?p=germs.git;a=blobdiff_plain;f=fann%2Fsrc%2Finclude%2Ffann_error.h;fp=fann%2Fsrc%2Finclude%2Ffann_error.h;h=bd007a122ad62e6754142d149eed065a2301f900;hp=0000000000000000000000000000000000000000;hb=40d817fd1c0ec184927450858ca95b722ae8acba;hpb=0ced9c229cf05fa677686df27eca9f167f11a87f diff --git a/fann/src/include/fann_error.h b/fann/src/include/fann_error.h new file mode 100644 index 0000000..bd007a1 --- /dev/null +++ b/fann/src/include/fann_error.h @@ -0,0 +1,159 @@ +/* +Fast Artificial Neural Network Library (fann) +Copyright (C) 2003 Steffen Nissen (lukesky@diku.dk) + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#ifndef __fann_error_h__ +#define __fann_error_h__ + +#include + +#define FANN_ERRSTR_MAX 128 +struct fann_error; + +/* Section: FANN Error Handling + + Errors from the fann library are usually reported on stderr. + It is however possible to redirect these error messages to a file, + or completely ignore them by the function. + + It is also possible to inspect the last error message by using the + and functions. + */ + +/* Enum: fann_errno_enum + Used to define error events on and . + + See also: + , , + + FANN_E_NO_ERROR - No error + FANN_E_CANT_OPEN_CONFIG_R - Unable to open configuration file for reading + FANN_E_CANT_OPEN_CONFIG_W - Unable to open configuration file for writing + FANN_E_WRONG_CONFIG_VERSION - Wrong version of configuration file + FANN_E_CANT_READ_CONFIG - Error reading info from configuration file + FANN_E_CANT_READ_NEURON - Error reading neuron info from configuration file + FANN_E_CANT_READ_CONNECTIONS - Error reading connections from configuration file + FANN_E_WRONG_NUM_CONNECTIONS - Number of connections not equal to the number expected + FANN_E_CANT_OPEN_TD_W - Unable to open train data file for writing + FANN_E_CANT_OPEN_TD_R - Unable to open train data file for reading + FANN_E_CANT_READ_TD - Error reading training data from file + FANN_E_CANT_ALLOCATE_MEM - Unable to allocate memory + FANN_E_CANT_TRAIN_ACTIVATION - Unable to train with the selected activation function + FANN_E_CANT_USE_ACTIVATION - Unable to use the selected activation function + FANN_E_TRAIN_DATA_MISMATCH - Irreconcilable differences between two structures + FANN_E_CANT_USE_TRAIN_ALG - Unable to use the selected training algorithm + FANN_E_TRAIN_DATA_SUBSET - Trying to take subset which is not within the training set + FANN_E_INDEX_OUT_OF_BOUND - Index is out of bound +*/ +enum fann_errno_enum +{ + FANN_E_NO_ERROR = 0, + FANN_E_CANT_OPEN_CONFIG_R, + FANN_E_CANT_OPEN_CONFIG_W, + FANN_E_WRONG_CONFIG_VERSION, + FANN_E_CANT_READ_CONFIG, + FANN_E_CANT_READ_NEURON, + FANN_E_CANT_READ_CONNECTIONS, + FANN_E_WRONG_NUM_CONNECTIONS, + FANN_E_CANT_OPEN_TD_W, + FANN_E_CANT_OPEN_TD_R, + FANN_E_CANT_READ_TD, + FANN_E_CANT_ALLOCATE_MEM, + FANN_E_CANT_TRAIN_ACTIVATION, + FANN_E_CANT_USE_ACTIVATION, + FANN_E_TRAIN_DATA_MISMATCH, + FANN_E_CANT_USE_TRAIN_ALG, + FANN_E_TRAIN_DATA_SUBSET, + FANN_E_INDEX_OUT_OF_BOUND +}; + +/* Group: Error Handling */ + +/* Function: fann_set_error_log + + Change where errors are logged to. Both and can be + casted to , so this function can be used to set either of these. + + If log_file is NULL, no errors will be printed. + + If errdata is NULL, the default log will be set. The default log is the log used when creating + and . This default log will also be the default for all new structs + that are created. + + The default behavior is to log them to stderr. + + See also: + + + This function appears in FANN >= 1.1.0. + */ +FANN_EXTERNAL void FANN_API fann_set_error_log(struct fann_error *errdat, FILE * log_file); + + +/* Function: fann_get_errno + + Returns the last error number. + + See also: + , + + This function appears in FANN >= 1.1.0. + */ +FANN_EXTERNAL enum fann_errno_enum FANN_API fann_get_errno(struct fann_error *errdat); + + +/* Function: fann_reset_errno + + Resets the last error number. + + This function appears in FANN >= 1.1.0. + */ +FANN_EXTERNAL void FANN_API fann_reset_errno(struct fann_error *errdat); + + +/* Function: fann_reset_errstr + + Resets the last error string. + + This function appears in FANN >= 1.1.0. + */ +FANN_EXTERNAL void FANN_API fann_reset_errstr(struct fann_error *errdat); + + +/* Function: fann_get_errstr + + Returns the last errstr. + + This function calls and + + This function appears in FANN >= 1.1.0. + */ +FANN_EXTERNAL char *FANN_API fann_get_errstr(struct fann_error *errdat); + + +/* Function: fann_print_error + + Prints the last error to stderr. + + This function appears in FANN >= 1.1.0. + */ +FANN_EXTERNAL void FANN_API fann_print_error(struct fann_error *errdat); + +extern FILE * fann_default_error_log; + +#endif