00001 #ifndef __EH_INPUT_VAL_H__
00002 #define __EH_INPUT_VAL_H__
00003
00004 #include <glib.h>
00005 #include <utils/eh_types.h>
00006
00007 new_handle( Eh_input_val );
00008
00009 typedef enum
00010 {
00011 EH_INPUT_VAL_ERROR_NOT_TWO_COLUMNS ,
00012 EH_INPUT_VAL_ERROR_X_NOT_MONOTONIC ,
00013 EH_INPUT_VAL_ERROR_F_NOT_MONOTONIC ,
00014 EH_INPUT_VAL_ERROR_BAD_F_RANGE ,
00015 EH_INPUT_VAL_ERROR_NOT_TWO_DIST_VALS ,
00016 EH_INPUT_VAL_ERROR_BAD_DIST_KEY
00017 }
00018 Eh_input_val_error;
00019
00020 #define EH_INPUT_VAL_ERROR eh_input_val_error_quark()
00021
00024 typedef enum
00025 {
00027 EH_INPUT_VAL_SCALAR,
00029 EH_INPUT_VAL_FILE,
00031 EH_INPUT_VAL_RAND_UNIFORM,
00033 EH_INPUT_VAL_RAND_NORMAL,
00035 EH_INPUT_VAL_RAND_WEIBULL,
00037 EH_INPUT_VAL_RAND_USER
00038 }
00039 Eh_input_val_type;
00040
00041 Eh_input_val eh_input_val_new ( );
00042 Eh_input_val eh_input_val_destroy ( Eh_input_val val );
00043 Eh_input_val eh_input_val_set ( const char *input_str , GError** err );
00044 double eh_input_val_eval ( Eh_input_val val , ... );
00045
00046 #endif
00047