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
|