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