Go to the documentation of this file.
37 #include <o2scl/misc.h>
38 #include <o2scl/cli.h>
39 #include <o2scl/fit_nonlin.h>
40 #include <o2scl/table_units.h>
41 #include <o2scl/table3d.h>
42 #include <o2scl/format_float.h>
43 #include <o2scl/hdf_file.h>
44 #include <o2scl/hdf_io.h>
45 #include <o2scl/lib_settings.h>
46 #include <o2scl/contour.h>
47 #include <o2scl/tensor_grid.h>
48 #include <o2scl/uniform_grid.h>
49 #include <o2scl/slack_messenger.h>
52 #include <o2scl/cli_readline.h>
54 #include <o2scl/cli.h>
101 #ifndef DOXYGEN_INTERNAL
221 std::string string_obj;
223 std::vector<o2scl::contour_line> cont_obj;
226 std::vector<int> intv_obj;
227 std::vector<double> doublev_obj;
228 std::vector<size_t> size_tv_obj;
229 std::vector<std::string> stringv_obj;
280 virtual int run(
int argv,
char *argc[],
bool full_process=
true);
295 virtual int comm_assign(std::vector<std::string> &sv,
bool itive_com);
298 virtual int comm_refine(std::vector<std::string> &sv,
bool itive_com);
301 virtual int comm_calc(std::vector<std::string> &sv,
bool itive_com);
304 virtual int comm_clear(std::vector<std::string> &sv,
bool itive_com);
308 virtual int comm_help(std::vector<std::string> &sv,
bool itive_com);
312 virtual int comm_commands(std::vector<std::string> &sv,
bool itive_com);
315 virtual int comm_create(std::vector<std::string> &sv,
bool itive_com);
319 virtual int comm_set_grid(std::vector<std::string> &sv,
bool itive_com);
323 virtual int comm_get_grid(std::vector<std::string> &sv,
bool itive_com);
326 virtual int comm_download(std::vector<std::string> &sv,
bool itive_com);
329 virtual int comm_delete_col(std::vector<std::string> &sv,
bool itive_com);
339 virtual int comm_deriv(std::vector<std::string> &sv,
bool itive_com);
343 virtual int comm_to_table(std::vector<std::string> &sv,
bool itive_com);
347 virtual int comm_diag(std::vector<std::string> &sv,
bool itive_com);
351 virtual int comm_to_table3d(std::vector<std::string> &sv,
bool itive_com);
371 virtual int comm_autocorr(std::vector<std::string> &sv,
bool itive_com);
374 virtual int comm_deriv_x(std::vector<std::string> &sv,
bool itive_com);
377 virtual int comm_deriv_y(std::vector<std::string> &sv,
bool itive_com);
380 virtual int comm_deriv2(std::vector<std::string> &sv,
bool itive_com);
383 virtual int comm_filelist(std::vector<std::string> &sv,
bool itive_com);
386 virtual int comm_read(std::vector<std::string> &sv,
bool itive_com);
389 virtual int comm_nlines(std::vector<std::string> &sv,
bool itive_com);
392 virtual int comm_to_hist(std::vector<std::string> &sv,
bool itive_com);
395 virtual int comm_to_hist_2d(std::vector<std::string> &sv,
bool itive_com);
398 virtual int comm_type(std::vector<std::string> &sv,
bool itive_com);
401 virtual int comm_find_row(std::vector<std::string> &sv,
bool itive_com);
404 virtual int comm_function(std::vector<std::string> &sv,
bool itive_com);
407 virtual int comm_generic(std::vector<std::string> &sv,
bool itive_com);
410 virtual int comm_get_row(std::vector<std::string> &sv,
bool itive_com);
415 virtual int comm_slice(std::vector<std::string> &sv,
bool itive_com);
418 virtual int comm_fit(std::vector<std::string> &sv,
bool itive_com);
421 virtual int comm_insert(std::vector<std::string> &sv,
bool itive_com);
427 virtual int comm_integ(std::vector<std::string> &sv,
bool itive_com);
433 virtual int comm_internal(std::vector<std::string> &sv,
bool itive_com);
436 virtual int comm_interp(std::vector<std::string> &sv,
bool itive_com);
439 virtual int comm_list(std::vector<std::string> &sv,
bool itive_com);
442 virtual int comm_max(std::vector<std::string> &sv,
bool itive_com);
445 virtual int comm_min(std::vector<std::string> &sv,
bool itive_com);
448 virtual int comm_x_name(std::vector<std::string> &sv,
bool itive_com);
451 virtual int comm_y_name(std::vector<std::string> &sv,
bool itive_com);
454 virtual int comm_index(std::vector<std::string> &sv,
bool itive_com);
457 virtual int comm_output(std::vector<std::string> &sv,
bool itive_com);
461 std::vector<std::string> &sv);
464 virtual int comm_rearrange(std::vector<std::string> &sv,
bool itive_com);
467 virtual int comm_preview(std::vector<std::string> &sv,
bool itive_com);
470 virtual int comm_slack(std::vector<std::string> &sv,
bool itive_com);
474 virtual int comm_value(std::vector<std::string> &sv,
bool itive_com);
477 virtual int comm_cat(std::vector<std::string> &sv,
bool itive_com);
480 virtual int comm_sum(std::vector<std::string> &sv,
bool itive_com);
483 virtual int comm_rename(std::vector<std::string> &sv,
bool itive_com);
486 virtual int comm_select(std::vector<std::string> &sv,
bool itive_com);
499 virtual int comm_set(std::vector<std::string> &sv,
bool itive_com);
502 virtual int comm_set_data(std::vector<std::string> &sv,
bool itive_com);
505 virtual int comm_set_unit(std::vector<std::string> &sv,
bool itive_com);
508 virtual int comm_contours(std::vector<std::string> &sv,
bool itive_com);
511 virtual int comm_show_units(std::vector<std::string> &sv,
bool itive_com);
514 virtual int comm_get_unit(std::vector<std::string> &sv,
bool itive_com);
517 virtual int comm_entry(std::vector<std::string> &sv,
bool itive_com);
520 virtual int comm_entry_grid(std::vector<std::string> &sv,
bool itive_com);
527 virtual int comm_sort(std::vector<std::string> &sv,
bool itive_com);
530 virtual int comm_stats(std::vector<std::string> &sv,
bool itive_com);
533 virtual int comm_wstats(std::vector<std::string> &sv,
bool itive_com);
536 virtual int comm_version(std::vector<std::string> &sv,
bool itive_com);
539 virtual int comm_get_conv(std::vector<std::string> &sv,
bool itive_com);
550 int get_input(std::vector<std::string> &sv,
551 std::vector<std::string> &directions,
552 std::vector<std::string> &in, std::string comm_name,
556 int get_input_one(std::vector<std::string> &sv, std::string directions,
557 std::string &in, std::string comm_name,
564 std::vector<double> xtemp;
565 std::vector<double> ytemp;
566 std::vector<double> stemp;
614 char *str,
int &n_new,
int &s_new);
630 char *str,
int *sizes_new,
char *str_new);
640 int n2,
char *short_desc,
int n3,
673 (
int n_entries,
int *sizes,
char *str);
698 int &n,
double *&ptr);
707 int &n,
double *&ptr);
724 int &nz,
const double *&xg,
726 const double *&zg,
const double *&data);
749 double *&low,
double *&high);
758 double *&low,
double *&high,
759 double &frac_vol,
double &weight);
793 int &nx,
double *&xptr,
794 int &ny,
double *&yptr,
803 int &nx,
double *&xptr,
804 int &ny,
double *&yptr,
Tensor class with arbitrary dimensions.
A one-dimensional histogram class.
std::string type
String designating the current type.
virtual int comm_index(std::vector< std::string > &sv, bool itive_com)
Add a column for line numbers.
int o2scl_acol_get_row_ser(void *vp, char *parttern, int row_index, int &n, double *&ptr)
Return the size and a pointer to the row with index row_index in a o2scl::table object.
virtual int run(int argv, char *argc[], bool full_process=true)
Main run function.
void o2scl_acol_set_names(void *vp, int n1, char *cmd_name, int n2, char *short_desc, int n3, char *env_var)
Set the command name, the short description, and the environment variable name.
virtual int comm_autocorr(std::vector< std::string > &sv, bool itive_com)
Compute the autocorrelation coefficient.
std::map< std::string, std::vector< std::string > > type_comm_list
A list of all type-specific commands for each type.
std::map< std::string, int * > int_params
Integer parameters.
virtual int comm_deriv(std::vector< std::string > &sv, bool itive_com)
Create a column which is the derivative of another.
virtual int comm_refine(std::vector< std::string > &sv, bool itive_com)
Refine an object.
virtual int comm_max(std::vector< std::string > &sv, bool itive_com)
Compute the maximum value of a colum.
virtual int comm_slice(std::vector< std::string > &sv, bool itive_com)
Extract a slice from a table3d object to generate a o2scl::table object.
virtual int comm_delete_rows_tol(std::vector< std::string > &sv, bool itive_com)
Delete rows which match to within a specified tolerance.
virtual int comm_to_tensor(std::vector< std::string > &sv, bool itive_com)
Convert object to a o2scl::tensor object.
std::string unit_fname
Filename for units command.
void command_del(std::string ltype)
Remove the type-specific commands.
virtual int comm_list(std::vector< std::string > &sv, bool itive_com)
List columns in table 'tp' named 'tname' assuming screen size 'ncol'.
virtual int comm_read(std::vector< std::string > &sv, bool itive_com)
Read an object from a file.
int prec
The output precision (default 6)
int o2scl_acol_get_hist_wgts(void *vp, int &n, double *&ptr)
Return the size and a pointer to the column named col_name in a o2scl::table object.
virtual int setup_parameters()
Add the parameters for 'set' to the cli object.
virtual int comm_to_table(std::vector< std::string > &sv, bool itive_com)
Convert object to a o2scl::table object.
virtual int comm_set_data(std::vector< std::string > &sv, bool itive_com)
Set an individual data point at a specified row and column.
double o2scl_acol_contours_line(void *vp, int i, int &n, double *&ptrx, double *&ptry)
For the current contour line vector object, set the pointers to the x- and y-values in the contour li...
virtual int comm_deriv_x(std::vector< std::string > &sv, bool itive_com)
Create a slice which is the derivative wrt x of another.
void o2scl_acol_alias_counts(void *vp, int n_entries, int *sizes, char *str, int &n_new, int &s_new)
Using the commands stored in (n_entries,sizes,str), apply the aliases stored in the o2scl::cli object...
virtual int comm_deriv2(std::vector< std::string > &sv, bool itive_com)
Create a column which is the second derivative of another.
virtual int comm_get_row(std::vector< std::string > &sv, bool itive_com)
Print out an entire row.
Object to send messages to Slack using curl.
std::string def_args
Default arguments from environment.
int o2scl_acol_get_hist_2d(void *vp, int &nx, double *&xptr, int &ny, double *&yptr, double *&data)
For a two-dimensional histogram, return the bin edges, number of bins in both directions,...
virtual int comm_convert_unit(std::vector< std::string > &sv, bool itive_com)
Convert units of a column.
virtual int comm_get_grid(std::vector< std::string > &sv, bool itive_com)
Get the grid for a o2scl::tensor_grid object.
cli * cl
Dummy cli object for cli::cli_gets()
virtual int comm_diag(std::vector< std::string > &sv, bool itive_com)
For tensor object, get entries along the main diagonal.
virtual int comm_delete_rows(std::vector< std::string > &sv, bool itive_com)
Delete rows specified by a function.
int o2scl_acol_mult_vectors_to_conts(void *vp, char *str1, char *str2)
Convert two multiple vector specifications to the a list of o2scl::contour_line objects.
int get_verbose()
Get the verbose parameter.
int o2scl_acol_tensor_to_table3d(void *vp, int i1, int i2)
Convert a rank 2 o2scl::tensor (with data types double, int, or size_t) or o2scl::tensor_grid object ...
std::string env_var_name
The environment variable to read from.
virtual int comm_integ(std::vector< std::string > &sv, bool itive_com)
Create a column which is the integral of another.
virtual int comm_output(std::vector< std::string > &sv, bool itive_com)
Output to screen or file.
virtual int comm_y_name(std::vector< std::string > &sv, bool itive_com)
Set the name of the y grid.
virtual int comm_value(std::vector< std::string > &sv, bool itive_com)
Get or set the value.
void rearrange_arg_process(std::string str, std::vector< std::string > &sv)
Process arguments for rearrange.
int get_input(std::vector< std::string > &sv, std::vector< std::string > &directions, std::vector< std::string > &in, std::string comm_name, bool itive_com)
An internal command for prompting the user for command arguments.
virtual int comm_create(std::vector< std::string > &sv, bool itive_com)
Create a table from a column of equally spaced values.
virtual int comm_assign(std::vector< std::string > &sv, bool itive_com)
Assign a constant.
String parameter for o2scl::cli.
virtual int comm_insert(std::vector< std::string > &sv, bool itive_com)
Insert a column from an external table using interpolation.
virtual int comm_function(std::vector< std::string > &sv, bool itive_com)
Create a column from a function.
virtual int setup_cli()
Create the cli object (with readline support if available)
void command_add(std::string new_type)
Add new commands for type new_type.
int o2scl_acol_get_slice(void *vp, char *slice_name, int &nx, double *&xptr, int &ny, double *&yptr, double *&data)
Return the size and a pointer to the slice named sl_name in a o2scl::table object.
void o2scl_acol_apply_aliases(void *vp, int n_entries, int *sizes, char *str, int *sizes_new, char *str_new)
Using the commands stored in (n_entries,sizes,str), apply the aliases stored in the o2scl::cli object...
String parameter for o2scl::cli.
int verbose
The verbosity level (default 1)
std::string obj_name
The name of the table.
Data table table class with units.
virtual int comm_nlines(std::vector< std::string > &sv, bool itive_com)
Add 'nlines' as a constant to a o2scl::table object.
virtual int comm_deriv_y(std::vector< std::string > &sv, bool itive_com)
Create a slice which is the derivative wrt y of another.
int o2scl_acol_get_tensor_grid3(void *vp, int &nx, int &ny, int &nz, const double *&xg, const double *&yg, const double *&zg, const double *&data)
Return the sizes, grid, and data pointer for a rank 3 o2scl::tensor_grid object.
virtual int comm_interp(std::vector< std::string > &sv, bool itive_com)
Create an html file.
virtual int comm_set_grid(std::vector< std::string > &sv, bool itive_com)
Set the grid for a o2scl::tensor_grid object.
virtual int comm_select_rows(std::vector< std::string > &sv, bool itive_com)
Select several rows for a new table.
bool names_out
True if we should output column names.
virtual int comm_get_conv(std::vector< std::string > &sv, bool itive_com)
Get a conversion factor.
virtual int comm_preview(std::vector< std::string > &sv, bool itive_com)
Preview the table.
virtual int comm_entry(std::vector< std::string > &sv, bool itive_com)
Get an entry.
o2scl::slack_messenger smess
The object which sends Slack messages.
o2scl::comm_option_mfptr< acol_manager > cset
The object for the set function.
bool pretty
True if we should make the output into neat columns (default true)
std::vector< std::string > o2scl_acol_parse_arrays(int n_entries, int *sizes, char *str)
Construct a string vector from the data in n_entries, sizes, and str.
virtual int comm_contours(std::vector< std::string > &sv, bool itive_com)
Compute contour lines.
bool scientific
True for scientific output mode.
virtual int comm_x_name(std::vector< std::string > &sv, bool itive_com)
Set the name of the x grid.
virtual int comm_get_unit(std::vector< std::string > &sv, bool itive_com)
Get units of a column.
Integer parameter for o2scl::cli.
virtual int comm_set(std::vector< std::string > &sv, bool itive_com)
Post-processing for setting a value.
virtual int comm_to_table3d_sum(std::vector< std::string > &sv, bool itive_com)
Convert object to a o2scl::table3d object by summing over tensor indices.
virtual int comm_generic(std::vector< std::string > &sv, bool itive_com)
Read a generic data file.
virtual int comm_slack(std::vector< std::string > &sv, bool itive_com)
Send a slack message.
Tensor class with arbitrary dimensions with a grid.
o2scl::convert_units< double > & cng
Convert units object (initialized by constructor to global object)
virtual int comm_download(std::vector< std::string > &sv, bool itive_com)
Download a file from a specified URL.
virtual int comm_fit(std::vector< std::string > &sv, bool itive_com)
Fit two columns to a function.
Configurable command-line interface.
virtual int comm_interactive(std::vector< std::string > &sv, bool itive_com)
Toggle interactive mode.
void o2scl_acol_get_type(void *vp, int &n, char *&str)
Return the type of the current object.
virtual int setup_help()
Add the help text to the cli object.
void * o2scl_create_acol_manager()
Create an o2scl_acol::acol_manager object.
int o2scl_acol_get_column(void *vp, char *col_name, int &n, double *&ptr)
Return the size and a pointer to the column named col_name in a o2scl::table object.
virtual int comm_sort(std::vector< std::string > &sv, bool itive_com)
Sort the table by a column.
virtual int comm_wstats(std::vector< std::string > &sv, bool itive_com)
Get column stats with weights specified in a second column.
virtual int comm_delete_col(std::vector< std::string > &sv, bool itive_com)
Delete a column.
virtual int comm_type(std::vector< std::string > &sv, bool itive_com)
Output the type of the current object to the screen.
The driver for 'acol' command-line utility.
Member function pointer for o2scl::cli command function.
virtual int comm_sum(std::vector< std::string > &sv, bool itive_com)
Sum two table/table3d objects.
virtual int comm_select(std::vector< std::string > &sv, bool itive_com)
Select several columns for a new table.
Probability distribution from an adaptive mesh created using a matrix of points.
virtual int comm_filelist(std::vector< std::string > &sv, bool itive_com)
Read a file and list the O2scl objects.
virtual int comm_calc(std::vector< std::string > &sv, bool itive_com)
Compute a scalar value.
bool o2graph_mode
If true, then run in o2graph mode.
virtual int comm_find_row(std::vector< std::string > &sv, bool itive_com)
Find a row from a function.
virtual int comm_insert_full(std::vector< std::string > &sv, bool itive_com)
Insert an external table using interpolation.
virtual int comm_cat(std::vector< std::string > &sv, bool itive_com)
Concatenate two table/table3d objects.
virtual int comm_stats(std::vector< std::string > &sv, bool itive_com)
Get column stats.
virtual int comm_to_hist_2d(std::vector< std::string > &sv, bool itive_com)
Convert a o2scl::table object to a o2scl::hist object.
void o2scl_acol_parse(void *vp, int n_entries, int *sizes, char *str)
Parse the set of commands in n_entries, sizes and str.
virtual int comm_to_tensor_grid(std::vector< std::string > &sv, bool itive_com)
Convert object to a o2scl::tensor_grid object.
void clear_obj()
Clear memory associated with the current object and set type to "".
format_float ffl
The number formatter for html output.
int o2scl_acol_contours_n(void *vp)
Return the number of contour lines associated with the current contour line vector object.
virtual int setup_options()
Add the options to the cli object.
virtual int comm_commands(std::vector< std::string > &sv, bool itive_com)
List commands, with an optional type argument.
virtual int comm_show_units(std::vector< std::string > &sv, bool itive_com)
Set units of a column.
int interp_type
The interpolation type.
virtual int comm_help(std::vector< std::string > &sv, bool itive_com)
Output the help text.
virtual int comm_select_rows2(std::vector< std::string > &sv, bool itive_com)
A faster form of select rows which requires one to specify the columns needed for the selection crite...
int user_ncols
The number of columns requested by the user.
int o2scl_acol_get_hist_reps(void *vp, int &n, double *&ptr)
Return the size and a pointer to the column named col_name in a o2scl::table object.
int o2scl_acol_pdma_get_base(void *vp, int &ndim, int &n, double *&low, double *&high)
Return the dimensionality, mesh size, and lower and upper limits for a o2scl::prob_dens_mdim_amr obje...
virtual int comm_rename(std::vector< std::string > &sv, bool itive_com)
Rename a column.
virtual int comm_to_hist(std::vector< std::string > &sv, bool itive_com)
Convert a o2scl::table object to a o2scl::hist object.
int o2scl_acol_pdma_get_cube(void *vp, int ix, double *&low, double *&high, double &frac_vol, double &weight)
Return the lower and upper limits, fractional volume, and weight for the o2scl::prob_dens_mdim_amr::h...
void o2scl_free_acol_manager(void *vp)
Free memory associated with a o2scl_acol::acol_manager object.
int get_input_one(std::vector< std::string > &sv, std::string directions, std::string &in, std::string comm_name, bool itive_com)
An internal command for prompting the user for one command argument.
int compress
If set, try to compress.
A namespace for objects associated with the command-line utility 'acol'.
std::vector< std::string > type_list
A list of all types.
int ncols
Number of columns in screen.
virtual int comm_version(std::vector< std::string > &sv, bool itive_com)
Print version.
virtual int comm_rearrange(std::vector< std::string > &sv, bool itive_com)
Rearrange a tensor.
virtual int comm_to_table3d(std::vector< std::string > &sv, bool itive_com)
Convert object to a o2scl::table3d object.
virtual int comm_entry_grid(std::vector< std::string > &sv, bool itive_com)
Get an entry by grid point.
virtual int comm_clear(std::vector< std::string > &sv, bool itive_com)
Clear the current object.
bool post_interactive
True if we should run interactive mode after parsing the command-line.
virtual int comm_set_unit(std::vector< std::string > &sv, bool itive_com)
Set units of a column.
A data structure containing one or more slices of two-dimensional data points defined on a grid.
virtual int comm_min(std::vector< std::string > &sv, bool itive_com)
Compute the minimum value of a colum.
int o2scl_acol_get_double_arr(void *vp, int &n, double *&ptr)
Return the size and a pointer to a double array corresponding to a int[], size_t[],...
A two-dimensional histogram class.
int set_swidth(int ncol)
Set screen width.
virtual int comm_internal(std::vector< std::string > &sv, bool itive_com)
Output to a file in internal format.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).