37#define PARAMETER_BASED 1
39#define DATA_CLASS_KEYWORDS 3
42# define sleep(sec) Sleep(sec * 1000)
44# define pclose(x) _pclose(x)
47extern char *data_class_keyword[DATA_CLASS_KEYWORDS];
59 char *text, *name, *equation, *udf_name, *select, *editSelection, *exclude;
65#define IS_EQUATION_DEFINITION 0
68 char *text, *sscanf_string, *source, *new_name, *edit;
71#define IS_SCAN_DEFINITION 1
74 char *text, *edit_command, *source, *new_name;
75 long is_parameter, reedit;
79#define IS_EDIT_DEFINITION 2
82 char *text, *printf_string, *new_name, **source;
83 long sources, is_parameter, reprint;
84 char *select, *editSelection, *exclude;
86#define IS_PRINT_DEFINITION 3
89 char *parameter_name, *column_name, *description, *symbol, *lower_par, *upper_par;
90 char *head_par, *tail_par, *fhead_par, *ftail_par, *offset_par, *factor_par;
91 char *functionOf, *weightBy, *match_value, *match_column;
92 double lowerLimit, upperLimit, offset, factor, fhead, ftail, topLimit, bottomLimit;
93 double percentileLevel, binSize, defaultValue;
95 long type, outputType;
96 long mode, memory_number;
99#define IS_PROCESSING_DEFINITION 4
100#define PROCESSING_LOLIM_GIVEN 0x000001UL
101#define PROCESSING_UPLIM_GIVEN 0x000002UL
102#define PROCESSING_INVERT_OFFSET 0x000004UL
103#define PROCESSING_DESCRIP_GIVEN 0x000008UL
104#define PROCESSING_FUNCOF_GIVEN 0x000010UL
105#define PROCESSING_TAIL_GIVEN 0x000020UL
106#define PROCESSING_HEAD_GIVEN 0x000040UL
107#define PROCESSING_SYMBOL_GIVEN 0x000080UL
108#define PROCESSING_WEIGHT_GIVEN 0x000100UL
109#define PROCESSING_POSITION_GIVEN 0x000200UL
110#define PROCESSING_OFFSET_GIVEN 0x000400UL
111#define PROCESSING_FACTOR_GIVEN 0x000800UL
112#define PROCESSING_FTAIL_GIVEN 0x001000UL
113#define PROCESSING_FHEAD_GIVEN 0x002000UL
114#define PROCESSING_TOPLIM_GIVEN 0x004000UL
115#define PROCESSING_BOTLIM_GIVEN 0x008000UL
116#define PROCESSING_PERCLEVEL_GIVEN 0x010000UL
117#define PROCESSING_BINSIZE_GIVEN 0x020000UL
118#define PROCESSING_MATCHCOLUMN_GIVEN 0x040000UL
119#define PROCESSING_MATCHVALUE_GIVEN 0x080000UL
120#define PROCESSING_OVERWRITE_GIVEN 0x100000UL
121#define PROCESSING_DEFAULTVALUE_GIVEN 0x200000UL
122#define PROCESSING_INVERT_FACTOR 0x400000UL
125 char *name, *new_units, *old_units;
129#define IS_CONVERSION_DEFINITION 5
137 char *name, *upperPar, *lowerPar;
144 long filter_terms, is_parameter;
146#define IS_FILTER_DEFINITION 6
150 long match_terms, is_parameter;
152#define IS_MATCH_DEFINITION 7
156 long autostop, is_parameter;
158#define IS_RPNTEST_DEFINITION 8
161 char *text, *source, *new_name;
164#define IS_SYSTEM_DEFINITION 9
170#define IS_RPNEXPRESSION_DEFINITION 10
176#define IS_CLIP_DEFINITION 11
179 int64_t interval, offset;
181#define IS_SPARSE_DEFINITION 12
186#define IS_SAMPLE_DEFINITION 13
193#define IS_NUMBERTEST_DEFINITION 14
196 char *target, *source, *stringFormat, *doubleFormat, *longFormat;
199#define IS_FORMAT_DEFINITION 15
202 char *source, *newName, *newTypeName;
206#define IS_CAST_DEFINITION 16
213#define IS_FCLIP_DEFINITION 17
217 double before, after;
221#define TIMEFILTER_BEFORE_GIVEN 0x00001
222#define TIMEFILTER_AFTER_GIVEN 0x00002
223#define TIMEFILTER_INVERT_GIVEN 0x00004
225#define IS_TIME_FILTER_DEFINITION 18
228 char *text, *name, *source, **argv;
231#define IS_EVALUATE_DEFINITION 19
233#define DEFINITION_TYPES 20
245 long parameter_output;
250#define PROCESS_COLUMN_MEAN 0
251#define PROCESS_COLUMN_RMS 1
252#define PROCESS_COLUMN_SUM 2
253#define PROCESS_COLUMN_STAND_DEV 3
254#define PROCESS_COLUMN_MAD 4
255#define PROCESS_COLUMN_MINIMUM 5
256#define PROCESS_COLUMN_MAXIMUM 6
257#define PROCESS_COLUMN_SMALLEST 7
258#define PROCESS_COLUMN_LARGEST 8
259#define PROCESS_COLUMN_FIRST 9
260#define PROCESS_COLUMN_LAST 10
261#define PROCESS_COLUMN_COUNT 11
262#define PROCESS_COLUMN_SPREAD 12
263#define PROCESS_COLUMN_MEDIAN 13
264#define PROCESS_COLUMN_BASELEVEL 14
265#define PROCESS_COLUMN_TOPLEVEL 15
266#define PROCESS_COLUMN_AMPLITUDE 16
267#define PROCESS_COLUMN_RISETIME 17
268#define PROCESS_COLUMN_FALLTIME 18
269#define PROCESS_COLUMN_FWHM 19
270#define PROCESS_COLUMN_FWTM 20
271#define PROCESS_COLUMN_CENTER 21
272#define PROCESS_COLUMN_ZEROCROSSING 22
273#define PROCESS_COLUMN_FWHA 23
274#define PROCESS_COLUMN_FWTA 24
275#define PROCESS_COLUMN_SIGMA 25
276#define PROCESS_COLUMN_SLOPE 26
277#define PROCESS_COLUMN_INTERCEPT 27
278#define PROCESS_COLUMN_LFSD 28
279#define PROCESS_COLUMN_QRANGE 29
280#define PROCESS_COLUMN_DRANGE 30
281#define PROCESS_COLUMN_PERCENTILE 31
282#define PROCESS_COLUMN_MODE 32
283#define PROCESS_COLUMN_INTEGRAL 33
284#define PROCESS_COLUMN_PRODUCT 34
285#define PROCESS_COLUMN_PRANGE 35
286#define PROCESS_COLUMN_SIGNEDSMALLEST 36
287#define PROCESS_COLUMN_SIGNEDLARGEST 37
288#define PROCESS_COLUMN_GMINTEGRAL 38
289#define PROCESS_COLUMN_CORRELATION 39
290#define N_PROCESS_COLUMN_MODES 40
292extern char *process_column_mode[N_PROCESS_COLUMN_MODES];
293extern char *process_column_name[N_PROCESS_COLUMN_MODES];
294extern char *process_column_description[N_PROCESS_COLUMN_MODES];
297extern char *addOuterParentheses(
char *arg);
298extern void show_process_modes(FILE *fp);
300 char **stringResult,
long warnings,
int threads);
302extern long process_filter_request(
FILTER_TERM **filter,
char **argument,
long arguments);
303extern long process_match_request(
MATCH_TERM **match,
char **argument,
long arguments);
305extern void show_matches(
char *type,
MATCH_TERM *match,
long matches);
306extern void show_filters(
char *type,
FILTER_TERM *filter,
long filters);
307extern EQUATION_DEFINITION *process_new_equation_definition(
char **argument,
long arguments);
308extern EVALUATE_DEFINITION *process_new_evaluate_definition(
char **argument,
long arguments);
309extern EVALUATE_DEFINITION *process_new_evalute_definition(
char **argument,
long arguments);
310extern SCAN_DEFINITION *process_new_scan_definition(
char **argument,
long arguments);
311extern CAST_DEFINITION *process_new_cast_definition(
char **argument,
long arguments);
312extern EDIT_DEFINITION *process_new_edit_definition(
char **argument,
long arguments,
short reedit);
313extern PRINT_DEFINITION *process_new_print_definition(
char **argument,
long arguments);
314extern FORMAT_DEFINITION *process_new_format_definition(
char **argument,
long arguments);
317extern void expandProcessingDefinitions(
DEFINITION **definition,
long *definitions,
SDDS_DATASET *SDDS_dataset);
319extern void expandConversionDefinitions(
DEFINITION **definition,
long *definitions,
SDDS_DATASET *SDDS_dataset);
323extern FILTER_DEFINITION *process_new_filter_definition(
char **argument,
long arguments);
325extern MATCH_DEFINITION *process_new_match_definition(
char **argument,
long arguments);
326extern RPNTEST_DEFINITION *process_new_rpntest_definition(
char **argument,
long arguments);
329extern CLIP_DEFINITION *process_new_clip_definition(
char **argument,
long arguments);
330extern FCLIP_DEFINITION *process_new_fclip_definition(
char **argument,
long arguments);
331extern SPARSE_DEFINITION *process_new_sparse_definition(
char **argument,
long arguments);
332extern SAMPLE_DEFINITION *process_new_sample_definition(
char **argument,
long arguments);
333extern SYSTEM_DEFINITION *process_new_system_definition(
char **argument,
long arguments);
335extern char *determine_item_name(
char **argument,
OUTPUT_REQUEST *last_request,
long index);
337 long separate_tables,
long announce_openings,
SDDS_DATASET *SDDS_dataset);
338extern long complete_processing_definitions(
PROCESSING_DEFINITION **processing_definition,
long processing_definitions,
341extern long system_column_value(
SDDS_DATASET *SDDS_dataset,
char *target,
char *source);
342extern long system_parameter_value(
SDDS_DATASET *SDDS_dataset,
char *target,
char *source);
343extern long run_on_pipe(
char *command,
char *buffer,
long buffer_length);
346extern long SDDS_RedefineParameterCL(
SDDS_DATASET *SDDS_dataset,
char *parameter,
char **argv,
long argc);
347extern long SDDS_RedefineColumnCL(
SDDS_DATASET *SDDS_dataset,
char *column,
char **argv,
long argc);
351extern long reformatString(
char *buffer,
long bufferSize,
char *
string,
char *stringFormat,
352 char *doubleFormat,
char *longFormat);
357void add_definition(
DEFINITION **definition,
long *definitions,
void *structure,
long type);
361long edit_parameter_value(
SDDS_DATASET *SDDS_dataset,
char *target,
char *source,
char *edit_command);
362long edit_column_value(
SDDS_DATASET *SDDS_dataset,
char *target,
char *source,
char *edit_command);
363long scan_parameter_value(
SDDS_DATASET *SDDS_dataset,
char *target,
char *source,
char *format,
365long scan_column_value(
SDDS_DATASET *SDDS_dataset,
char *target,
char *source,
char *format,
367long print_parameter_value(
SDDS_DATASET *SDDS_dataset,
char *target,
char **source,
long sources,
char *format);
368long print_column_value(
SDDS_DATASET *SDDS_dataset,
char *target,
char **source,
long sources,
char *format);
371long ParameterScansAsNumber(
SDDS_DATASET *dataset,
char *name,
short invert);
374extern long pop_log(int32_t *logical);
376#define is_logic_character(c) ((c) == '|' || (c) == '&' || (c) == '!')
378void add_ifitem(
IFITEM_LIST *ifitem,
char **name,
long names);
381long add_sddsfile_arguments(SCANNED_ARG **scanned,
int argc);
long edit_string(char *text, char *edit)
Edits the provided text based on the specified edit commands.