1 /* 2 * gretl -- Gnu Regression, Econometrics and Time-series Library 3 * Copyright (C) 2001 Allin Cottrell and Riccardo "Jack" Lucchetti 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 #ifndef GRETL_STRING_TABLE_H 21 #define GRETL_STRING_TABLE_H 22 23 gretl_string_table *gretl_string_table_new (const int *list); 24 25 int gretl_string_table_index (gretl_string_table *gst, const char *s, 26 int col, int addcol, PRN *prn); 27 28 int gretl_string_table_print (gretl_string_table *gst, DATASET *dset, 29 const char *fname, PRN *prn); 30 31 int gretl_string_table_validate (gretl_string_table *gst, 32 gretlopt opt); 33 34 int gretl_string_table_save (gretl_string_table *gst, DATASET *dset); 35 36 void gretl_string_table_destroy (gretl_string_table *gst); 37 38 void gretl_string_table_add_extra (gretl_string_table *gst, PRN *prn); 39 40 int gretl_string_table_reset_column_id (gretl_string_table *gst, 41 int oldid, int newid); 42 43 series_table *gretl_string_table_detach_col (gretl_string_table *gst, 44 int col); 45 46 int in_string_table (gretl_string_table *gst, int id); 47 48 int *string_table_copy_list (gretl_string_table *gst); 49 50 int string_table_replace_list (gretl_string_table *gst, 51 int *newlist); 52 53 series_table *series_table_new (char **strs, int n_strs, int *err); 54 55 series_table *series_table_copy (series_table *st); 56 57 void series_table_destroy (series_table *st); 58 59 double series_table_get_value (series_table *st, const char *s); 60 61 const char *series_table_get_string (series_table *st, double val); 62 63 int series_table_add_string (series_table *st, const char *s); 64 65 char **series_table_get_strings (series_table *st, int *n_strs); 66 67 int series_table_get_n_strings (series_table *st); 68 69 int *series_table_map (series_table *st_from, series_table *st_to); 70 71 void gretl_insert_builtin_string (const char *name, const char *s); 72 73 char *get_built_in_string_by_name (const char *name); 74 75 void builtin_strings_cleanup (void); 76 77 int process_string_command (const char *line, 78 double ***pZ, DATASET *dset, 79 PRN *prn); 80 81 int substitute_named_strings (char *line, int *subst); 82 83 char *gretl_getenv (const char *key, int *defined, int *err); 84 85 char *retrieve_date_string (int t, const DATASET *dset, int *err); 86 87 gretl_array *retrieve_date_strings (const gretl_vector *v, 88 const DATASET *dset, 89 int *err); 90 91 char *retrieve_file_content (const char *fname, const char *codset, 92 int *err); 93 94 char *gretl_backtick (const char *arg, int *err); 95 96 #endif /* GRETL_STRING_TABLE_H */ 97