File: extern.h

package info (click to toggle)
plotutils 2.6-15
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 14,040 kB
  • sloc: ansic: 68,670; sh: 20,086; cpp: 12,382; yacc: 2,588; makefile: 838; lex: 137
file content (151 lines) | stat: -rw-r--r-- 3,650 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/* This file is part of the GNU plotutils package. */

/*
 * Copyright (C) 1982-1994, Nicholas B. Tufillaro.  All rights reserved.
 *
 * GNU enhancements Copyright (C) 1996, 1997, 1998, 1999, 2005, 2008, Free
 * Software Foundation, Inc.
 */

/*
 * declarations of external variables and functions for ode
 */

/*
 * external variable declarations
 */

/* variables defined and initted in global.c */
extern const char     *progname, *written, *copyright;
extern int            prec;
extern long           it;
extern double         hmin, hmax, ssmin, ssmax, abmin, abmax, acmax;
extern struct sym     *symtab, *fsp;
extern struct sym     *dqueue;
extern struct prt     *pqueue;
extern struct expr    exprzero, exprone;
extern bool        sawstep, sawprint, sawevery, sawfrom;
extern bool        tflag, pflag, sflag, eflag, rflag, hflag, conflag;
extern integration_type	algorithm;

/* variables defined but not initted in global.c */
extern char    *filename;
extern jmp_buf mark;
extern int     fwd;
extern int     tevery;
extern double  tstart, tstop, tstep, tfrom;
extern bool printnum, prerr;

/* in parser */
extern FILE    *yyin;

/* in scanner */
extern int     curline;

/*
 * external function declarations
 */
bool check (void);
bool hierror (void);
bool intpr (double t);
bool lowerror (void);
double eval (const struct expr *ep);
void am (void);
void ama (void);
void args (int ac, char **av);
void defalt (void);
void eu (void);
void efree (struct expr *ep);
void field (void);
void maxerr (void);
void panic (const char *s);
void panicn (const char *fmt, int n);
void pfree (struct prt *pp);
void printq (void);
void prval (double x);
void maxerror (void);
void resetflt (void);
void rk (void);
void rka (void);
void rterror (const char *s);
void rterrors (const char *fmt, const char *s);
void rtsquawks (const char *fmt, const char *s);
void setflt (void);
void sfree (struct sym *sp);
void solve (void);
void startstep (void);
void title (void);
void trivial (void);
struct expr * ealloc (void);
struct prt * palloc (void);
struct sym * lookup (const char *nam);
struct sym * salloc (void);
RETSIGTYPE fptrap (int sig);

/* in scanner or parser */
int yyerror (const char *msg);
int yylex (void);
int yyparse (void);
struct lex * lalloc (void);
void concat (struct expr *e0, struct expr *e1);
void lfree (struct lex *lp);
void prexq (const struct expr *ep);

/* math library exception handling */
#ifdef HAVE_MATHERR
# ifdef __cplusplus
int matherr (struct __exception *x);
#else
int matherr (struct exception *x);
#endif
#endif

/* math functions in bessel.c and specfun.c */
#ifndef HAVE_J0
double j0 (double x);
double j1 (double x);
double y0 (double x);
double y1 (double x);
#endif
#ifdef NO_SYSTEM_GAMMA
double f_lgamma (double x);
#else  /* not NO_SYSTEM_GAMMA, we link in vendor code */
#ifdef HAVE_LGAMMA
extern double lgamma (double x); /* declaration may be gratuitous */
#endif
#ifdef HAVE_GAMMA
extern double gamma (double x); /* declaration may be gratuitous */
#endif
#endif
double f_gamma (double x);
#ifndef HAVE_ERF
double erf (double x);
double erfc (double x);
#endif
double ibeta (double a, double b, double x);
double igamma (double a, double x);
double inverf (double p);
double invnorm (double p);
double norm (double x);

/* declare functions in libcommon */
#include "libcommon.h"

/* support C++ */
#ifdef __BEGIN_DECLS
#undef __BEGIN_DECLS
#endif
#ifdef __END_DECLS
#undef __END_DECLS
#endif
#ifdef __cplusplus
# define __BEGIN_DECLS extern "C" {
# define __END_DECLS }
#else
# define __BEGIN_DECLS		/* empty */
# define __END_DECLS		/* empty */
#endif

__BEGIN_DECLS
int yywrap (void);
__END_DECLS