Merge from vendor branch LIBSTDC++:
[dragonfly.git] / contrib / bc / dc / dc-proto.h
1 /*
2  * prototypes of all externally visible dc functions
3  * 
4  * Copyright (C) 1994, 1997, 1998 Free Software Foundation, Inc.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2, or (at your option)
9  * any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, you can either send email to this
18  * program's author (see below) or write to:
19  *
20  *    The Free Software Foundation, Inc.
21  *    59 Temple Place, Suite 330
22  *    Boston, MA 02111 USA
23  */
24
25 extern const char *dc_str2charp DC_PROTO((dc_str));
26 extern const char *dc_system DC_PROTO((const char *));
27 extern void *dc_malloc DC_PROTO((size_t));
28 extern struct dc_array *dc_get_stacked_array DC_PROTO((int));
29
30 extern void dc_array_set DC_PROTO((int, int, dc_data));
31 extern void dc_array_free DC_PROTO((struct dc_array *));
32 extern void dc_array_init DC_PROTO((void));
33 extern void dc_binop DC_PROTO((int (*)(dc_num, dc_num, int, dc_num *), int));
34 extern void dc_binop2 DC_PROTO((int (*)(dc_num, dc_num, int,
35                                                                 dc_num *, dc_num *), int));
36 extern void dc_triop DC_PROTO((int (*)(dc_num, dc_num, dc_num, int,
37                                                                 dc_num *), int));
38 extern void dc_clear_stack DC_PROTO((void));
39 extern void dc_dump_num(dc_num, dc_discard);
40 extern void dc_free_num DC_PROTO((dc_num *));
41 extern void dc_free_str DC_PROTO((dc_str *));
42 extern void dc_garbage DC_PROTO((const char *, int));
43 extern void dc_math_init DC_PROTO((void));
44 extern void dc_memfail DC_PROTO((void));
45 extern void dc_out_num DC_PROTO((dc_num, int, dc_newline, dc_discard));
46 extern void dc_out_str DC_PROTO((dc_str, dc_newline, dc_discard));
47 extern void dc_print DC_PROTO((dc_data, int, dc_newline, dc_discard));
48 extern void dc_printall DC_PROTO((int));
49 extern void dc_push DC_PROTO((dc_data));
50 extern void dc_register_init DC_PROTO((void));
51 extern void dc_register_push DC_PROTO((int, dc_data));
52 extern void dc_register_set DC_PROTO((int, dc_data));
53 extern void dc_set_stacked_array DC_PROTO((int, struct dc_array *));
54 extern void dc_show_id DC_PROTO((FILE *, int, const char *));
55 extern void dc_string_init DC_PROTO((void));
56
57 extern int  dc_cmpop DC_PROTO((void));
58 extern int  dc_compare DC_PROTO((dc_num, dc_num));
59 extern int  dc_evalfile DC_PROTO((FILE *));
60 extern int  dc_evalstr DC_PROTO((dc_data));
61 extern int  dc_num2int DC_PROTO((dc_num, dc_discard));
62 extern int  dc_numlen DC_PROTO((dc_num));
63 extern int  dc_pop DC_PROTO((dc_data *));
64 extern int  dc_register_get DC_PROTO((int, dc_data *));
65 extern int  dc_register_pop DC_PROTO((int, dc_data *));
66 extern int  dc_tell_length DC_PROTO((dc_data, dc_discard));
67 extern int  dc_tell_scale DC_PROTO((dc_num, dc_discard));
68 extern int  dc_tell_stackdepth DC_PROTO((void));
69 extern int  dc_top_of_stack DC_PROTO((dc_data *));
70
71 extern size_t dc_strlen DC_PROTO((dc_str));
72
73 extern dc_data dc_array_get DC_PROTO((int, int));
74 extern dc_data dc_dup DC_PROTO((dc_data));
75 extern dc_data dc_dup_num DC_PROTO((dc_num));
76 extern dc_data dc_dup_str DC_PROTO((dc_str));
77 extern dc_data dc_getnum DC_PROTO((int (*)(void), int, int *));
78 extern dc_data dc_int2data DC_PROTO((int));
79 extern dc_data dc_makestring DC_PROTO((const char *, size_t));
80 extern dc_data dc_readstring DC_PROTO((FILE *, int , int));
81
82 extern int dc_add DC_PROTO((dc_num, dc_num, int, dc_num *));
83 extern int dc_div DC_PROTO((dc_num, dc_num, int, dc_num *));
84 extern int dc_divrem DC_PROTO((dc_num, dc_num, int, dc_num *, dc_num *));
85 extern int dc_exp DC_PROTO((dc_num, dc_num, int, dc_num *));
86 extern int dc_modexp DC_PROTO((dc_num, dc_num, dc_num, int, dc_num *));
87 extern int dc_mul DC_PROTO((dc_num, dc_num, int, dc_num *));
88 extern int dc_rem DC_PROTO((dc_num, dc_num, int, dc_num *));
89 extern int dc_sub DC_PROTO((dc_num, dc_num, int, dc_num *));
90 extern int dc_sqrt DC_PROTO((dc_num, int, dc_num *));