mirror of
https://github.com/mfillpot/mathomatic.git
synced 2026-01-08 04:29:39 +00:00
305 lines
12 KiB
C
305 lines
12 KiB
C
/* Complete list of global C function prototypes for Mathomatic. */
|
|
/* This file was created with the cproto utility by running the "./update" script. */
|
|
/* This file is required to compile Mathomatic quietly with the -Wall compiler option. */
|
|
|
|
/* am.c */
|
|
void display_startup_message(FILE *fp);
|
|
void error(const char *str);
|
|
void reset_error(void);
|
|
void warning(const char *str);
|
|
void error_huge(void);
|
|
void error_bug(const char *str);
|
|
void check_err(void);
|
|
int get_screen_size(void);
|
|
int malloc_vscreen(void);
|
|
int init_mem(void);
|
|
int check_gvars(void);
|
|
void init_gvars(void);
|
|
void clean_up(void);
|
|
void set_sign_array(void);
|
|
int next_sign(long *vp);
|
|
void clear_all(void);
|
|
int alloc_espace(int i);
|
|
int alloc_to_espace(int en);
|
|
int alloc_next_espace(void);
|
|
int next_espace(void);
|
|
void copy_espace(int src, int dest);
|
|
int solved_equation(int i);
|
|
int found_var(token_type *p1, int n, long v);
|
|
int var_in_equation(int i, long v);
|
|
int search_all_for_var(long v, int forward_direction);
|
|
void rename_var_in_es(int en, long from_v, long to_v);
|
|
int subst_var_with_exp(token_type *equation, int *np, token_type *expression, int len, long v);
|
|
int min_level(token_type *expression, int n);
|
|
int get_default_en(char *cp);
|
|
int get_expr(token_type *equation, int *np);
|
|
int prompt_var(long *vp);
|
|
int not_defined(int i);
|
|
int current_not_defined(void);
|
|
char *get_string(char *string, int n);
|
|
int get_yes_no(void);
|
|
int return_result(int en);
|
|
void free_result_str(void);
|
|
int is_all(char *cp);
|
|
int get_range(char **cpp, int *ip, int *jp);
|
|
int extra_characters(char *cp);
|
|
int get_range_eol(char **cpp, int *ip, int *jp);
|
|
char *skip_space(char *cp);
|
|
char *skip_comma_space(char *cp);
|
|
long decstrtol(char *cp, char **cpp);
|
|
int isdelimiter(int ch);
|
|
char *skip_param(char *cp);
|
|
int strcmp_tospace(char *cp1, char *cp2);
|
|
int level_plus_count(token_type *p1, int n1, int level);
|
|
int level1_plus_count(token_type *p1, int n1);
|
|
int var_count(token_type *p1, int n1);
|
|
int no_vars(token_type *source, int n, long *vp);
|
|
int exp_contains_infinity(token_type *p1, int n1);
|
|
int exp_contains_nan(token_type *p1, int n1);
|
|
int exp_is_numeric(token_type *p1, int n1);
|
|
int exp_is_absolute(token_type *p1, int n1);
|
|
int check_divide_by_zero(double denominator);
|
|
int load_rc(int return_true_if_no_file, FILE *ofp);
|
|
/* cmds.c */
|
|
int plot_cmd(char *cp);
|
|
int version_cmd(char *cp);
|
|
long max_memory_usage(void);
|
|
int show_status(FILE *ofp);
|
|
int version_report(void);
|
|
int solve_cmd(char *cp);
|
|
int sum_cmd(char *cp);
|
|
int product_cmd(char *cp);
|
|
int for_cmd(char *cp);
|
|
int optimize_cmd(char *cp);
|
|
int output_current_directory(FILE *ofp);
|
|
int fprintf_escaped(FILE *ofp, char *cp);
|
|
void output_options(FILE *ofp, int all_set_options);
|
|
int skip_no(char **cpp);
|
|
int save_set_options(char *cp);
|
|
int set_options(char *cp, int loading_startup_file);
|
|
int set_cmd(char *cp);
|
|
int echo_cmd(char *cp);
|
|
int pause_cmd(char *cp);
|
|
int copy_cmd(char *cp);
|
|
int real_cmd(char *cp);
|
|
int imaginary_cmd(char *cp);
|
|
int tally_cmd(char *cp);
|
|
int calculate_cmd(char *cp);
|
|
int clear_cmd(char *cp);
|
|
int compare_es(int i, int j);
|
|
int compare_cmd(char *cp);
|
|
int display_fraction(double value);
|
|
int divide_cmd(char *cp);
|
|
int eliminate_cmd(char *cp);
|
|
int display_cmd(char *cp);
|
|
int list_cmd(char *cp);
|
|
int code_cmd(char *cp);
|
|
int variables_cmd(char *cp);
|
|
int approximate_cmd(char *cp);
|
|
int replace_cmd(char *cp);
|
|
int simplify_cmd(char *cp);
|
|
int factor_cmd(char *cp);
|
|
int display_term_count(int en);
|
|
int unfactor_cmd(char *cp);
|
|
int div_loc_find(token_type *expression, int n);
|
|
int fraction_cmd(char *cp);
|
|
int quit_cmd(char *cp);
|
|
int read_cmd(char *cp);
|
|
int read_file(char *cp);
|
|
int read_sub(FILE *fp, char *filename);
|
|
int edit_cmd(char *cp);
|
|
int save_cmd(char *cp);
|
|
/* complex.c */
|
|
void rect_to_polar(double x, double y, double *radiusp, double *thetap);
|
|
int roots_cmd(char *cp);
|
|
int complex_root_simp(token_type *equation, int *np);
|
|
int approximate_complex_roots(token_type *equation, int *np);
|
|
int get_constant(token_type *p1, int n, double *dp);
|
|
int parse_complex(token_type *p1, int n, complexs *cp);
|
|
/* complex_lib.c */
|
|
int complex_fixup(complexs *ap);
|
|
complexs complex_add(complexs a, complexs b);
|
|
complexs complex_negate(complexs a);
|
|
complexs complex_mult(complexs a, complexs b);
|
|
complexs complex_div(complexs a, complexs b);
|
|
complexs complex_log(complexs a);
|
|
complexs complex_exp(complexs a);
|
|
complexs complex_pow(complexs a, complexs b);
|
|
/* diff.c */
|
|
int differentiate(token_type *equation, int *np, long v);
|
|
int derivative_cmd(char *cp);
|
|
int extrema_cmd(char *cp);
|
|
int taylor_cmd(char *cp);
|
|
int limit_cmd(char *cp);
|
|
/* factor.c */
|
|
int factor_divide(token_type *equation, int *np, long v, double d);
|
|
int subtract_itself(token_type *equation, int *np);
|
|
int factor_plus(token_type *equation, int *np, long v, double d);
|
|
int factor_times(token_type *equation, int *np);
|
|
int factor_power(token_type *equation, int *np);
|
|
/* factor_int.c */
|
|
int factor_one(double value);
|
|
double multiply_out_unique(void);
|
|
int display_unique(void);
|
|
int is_prime(void);
|
|
int factor_int(token_type *equation, int *np);
|
|
int factor_int_equation(int n);
|
|
int list_factor(token_type *equation, int *np, int factor_flag);
|
|
int factor_constants(token_type *equation, int *np, int level_code);
|
|
/* gcd.c */
|
|
double gcd(double d1, double d2);
|
|
double gcd_verified(double d1, double d2);
|
|
double my_round(double d1);
|
|
int f_to_fraction(double d, double *numeratorp, double *denominatorp);
|
|
int make_fractions(token_type *equation, int *np);
|
|
int make_simple_fractions(token_type *equation, int *np);
|
|
int make_mixed_fractions(token_type *equation, int *np);
|
|
/* globals.c */
|
|
/* help.c */
|
|
int parse(int n, char *cp);
|
|
int process_parse(int n, char *cp);
|
|
int process(char *cp);
|
|
int process_rv(char *cp);
|
|
int display_process(char *cp);
|
|
int shell_out(char *cp);
|
|
char *parse_var2(long *vp, char *cp);
|
|
int display_usage(char *pstr, int i);
|
|
int display_command(int i);
|
|
int display_repeat_command(void);
|
|
int read_examples(char **cpp);
|
|
void underline_title(int count);
|
|
int help_cmd(char *cp);
|
|
/* integrate.c */
|
|
void make_powers(token_type *equation, int *np, long v);
|
|
int int_dispatch(token_type *equation, int *np, long v, int (*func)(token_type *equation, int *np, int loc, int eloc, long v));
|
|
int integrate_cmd(char *cp);
|
|
int laplace_cmd(char *cp);
|
|
int nintegrate_cmd(char *cp);
|
|
/* list.c */
|
|
void reset_attr(void);
|
|
int set_color(int color);
|
|
void default_color(int set_no_color_flag);
|
|
int display_all_colors(void);
|
|
int list1_sub(int n, int export_flag);
|
|
int list_sub(int n);
|
|
void list_debug(int level, token_type *p1, int n1, token_type *p2, int n2);
|
|
char *var_name(long v);
|
|
int list_var(long v, int lang_code);
|
|
int list_proc(token_type *p1, int n, int export_flag);
|
|
char *list_equation(int n, int export_flag);
|
|
char *list_expression(token_type *p1, int n, int export_flag);
|
|
int list_string(token_type *p1, int n, char *string, int export_flag);
|
|
int list_string_sub(token_type *p1, int n, int outflag, char *string, int export_flag);
|
|
int int_expr(token_type *p1, int n);
|
|
int list_code_equation(int en, enum language_list language, int int_flag);
|
|
char *string_code_equation(int en, enum language_list language, int int_flag);
|
|
int list_code(token_type *equation, int *np, int outflag, char *string, enum language_list language, int int_flag);
|
|
char *flist_equation_string(int n);
|
|
int flist_equation(int n);
|
|
/* main.c */
|
|
void usage(FILE *fp);
|
|
int main(int argc, char **argv);
|
|
void main_io_loop(void);
|
|
int set_signals(unsigned int time_out_seconds);
|
|
void fphandler(int sig);
|
|
void inthandler(int sig);
|
|
void exithandler(int sig);
|
|
void resizehandler(int sig);
|
|
void exit_program(int exit_value);
|
|
/* parse.c */
|
|
void str_tolower(char *cp);
|
|
void put_up_arrow(int cnt, char *cp);
|
|
int isvarchar(int ch);
|
|
int paren_increment(int ch);
|
|
int is_mathomatic_operator(int ch);
|
|
void binary_parenthesize(token_type *p1, int n, int i);
|
|
void handle_negate(token_type *equation, int *np);
|
|
void give_priority(token_type *equation, int *np);
|
|
char *parse_section(token_type *equation, int *np, char *cp, int allow_space);
|
|
char *parse_equation(int n, char *cp);
|
|
char *parse_expr(token_type *equation, int *np, char *cp, int allow_space);
|
|
char *parse_var(long *vp, char *cp);
|
|
void remove_trailing_spaces(char *cp);
|
|
void set_error_level(char *cp);
|
|
int var_is_const(long v, double *dp);
|
|
int subst_constants(token_type *equation, int *np);
|
|
int my_strlcpy(char *dest, char *src, int n);
|
|
/* poly.c */
|
|
int poly_in_v_sub(token_type *p1, int n, long v, int allow_divides);
|
|
int poly_in_v(token_type *p1, int n, long v, int allow_divides);
|
|
int poly_factor(token_type *equation, int *np, int do_repeat);
|
|
int remove_factors(void);
|
|
int poly_gcd(token_type *larger, int llen, token_type *smaller, int slen, long v);
|
|
int poly2_gcd(token_type *larger, int llen, token_type *smaller, int slen, long v, int require_additive);
|
|
int is_integer_var(long v);
|
|
int is_integer_expr(token_type *p1, int n);
|
|
int mod_simp(token_type *equation, int *np);
|
|
int poly_gcd_simp(token_type *equation, int *np);
|
|
int div_remainder(token_type *equation, int *np, int poly_flag, int quick_flag);
|
|
int poly_div(token_type *d1, int len1, token_type *d2, int len2, long *vp);
|
|
int smart_div(token_type *d1, int len1, token_type *d2, int len2);
|
|
int basic_size(token_type *p1, int len);
|
|
int get_term(token_type *p1, int n1, int count, int *tp1, int *lentp1);
|
|
void term_value(double *dp, token_type *p1, int n1, int loc);
|
|
int find_greatest_power(token_type *p1, int n1, long *vp1, double *pp1, int *tp1, int *lentp1, int *dcodep);
|
|
/* simplify.c */
|
|
void organize(token_type *equation, int *np);
|
|
void elim_loop(token_type *equation, int *np);
|
|
void simp_ssub(token_type *equation, int *np, long v, double d, int power_flag, int times_flag, int fc_level);
|
|
void simp_equation(int n);
|
|
void mid_simp_side(token_type *equation, int *np);
|
|
void mid_simp_equation(int n);
|
|
void simps_side(token_type *equation, int *np, int zsolve);
|
|
void simpv_side(token_type *equation, int *np, long v);
|
|
void simpv_equation(int n, long v);
|
|
int factor_imaginary(token_type *equation, int *np);
|
|
void factorv(token_type *equation, int *np, long v);
|
|
void calc_simp(token_type *equation, int *np);
|
|
void approximate(token_type *equation, int *np);
|
|
int simp_i(token_type *equation, int *np);
|
|
void simp_divide(token_type *equation, int *np);
|
|
void simp2_divide(token_type *equation, int *np, long v, int fc_level);
|
|
void simpb_side(token_type *equation, int *np, int uf_power_flag, int power_flag, int fc_level);
|
|
void simple_frac_side(token_type *equation, int *np);
|
|
void simpa_side(token_type *equation, int *np, int quick_flag, int frac_flag);
|
|
void simpa_repeat_side(token_type *equation, int *np, int quick_flag, int frac_flag);
|
|
void simpa_repeat(int n, int quick_flag, int frac_flag);
|
|
void simple_frac_repeat_side(token_type *equation, int *np);
|
|
int simp_loop(token_type *equation, int *np);
|
|
int simp_pp(token_type *equation, int *np);
|
|
int integer_root_simp(token_type *equation, int *np);
|
|
int simp_constant_power(token_type *equation, int *np);
|
|
int simp2_power(token_type *equation, int *np);
|
|
double fixed_fmod(double k1, double k2);
|
|
int combine_constants(token_type *equation, int *np, int iflag);
|
|
int calc(int *op1p, double *k1p, int op2, double k2);
|
|
int elim_k(token_type *equation, int *np);
|
|
int se_compare(token_type *p1, int n1, token_type *p2, int n2, int *diff_signp);
|
|
int elim_sign(token_type *equation, int *np);
|
|
int div_imaginary(token_type *equation, int *np);
|
|
int reorder(token_type *equation, int *np);
|
|
int rationalize(token_type *equation, int *np);
|
|
/* solve.c */
|
|
int solve_espace(int want, int have);
|
|
int solve_sub(token_type *wantp, int wantn, token_type *leftp, int *leftnp, token_type *rightp, int *rightnp);
|
|
/* super.c */
|
|
void group_proc(token_type *equation, int *np);
|
|
int fractions_and_group(token_type *equation, int *np);
|
|
int make_fractions_and_group(int n);
|
|
int super_factor(token_type *equation, int *np, int start_flag);
|
|
/* unfactor.c */
|
|
int uf_tsimp(token_type *equation, int *np);
|
|
int uf_power(token_type *equation, int *np);
|
|
int uf_pplus(token_type *equation, int *np);
|
|
void uf_allpower(token_type *equation, int *np);
|
|
void uf_repeat(token_type *equation, int *np);
|
|
void uf_repeat_always(token_type *equation, int *np);
|
|
void uf_simp(token_type *equation, int *np);
|
|
void uf_simp_no_repeat(token_type *equation, int *np);
|
|
int ufactor(token_type *equation, int *np);
|
|
int uf_times(token_type *equation, int *np);
|
|
int sub_ufactor(token_type *equation, int *np, int ii);
|
|
int unsimp_power(token_type *equation, int *np);
|
|
void uf_neg_help(token_type *equation, int *np);
|
|
int patch_root_div(token_type *equation, int *np);
|