2 * prototypes of all externally visible dc functions
4 * Copyright (C) 1994, 1997, 1998 Free Software Foundation, Inc.
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)
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.
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:
20 * The Free Software Foundation, Inc.
21 * 59 Temple Place, Suite 330
22 * Boston, MA 02111 USA
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));
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,
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));
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
*));
71 extern size_t dc_strlen
DC_PROTO((dc_str
));
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));
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
*));