Doxygen Source Code Documentation
Main Page Alphabetical List Data Structures File List Data Fields Globals Search
parser.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef _RWCOX_PARSER_HEADER_
00008 #define _RWCOX_PARSER_HEADER_
00009
00010 #include <stdio.h>
00011 #include <string.h>
00012 #include <math.h>
00013 #include <stdlib.h>
00014 #include <ctype.h>
00015
00016 #define MAX_PARCODE 9999
00017
00018 typedef struct {
00019 int num_code ;
00020 char c_code[8*MAX_PARCODE] ;
00021 } PARSER_code ;
00022
00023 extern void PARSER_set_printout( int ) ;
00024
00025 extern PARSER_code * PARSER_generate_code( char * ) ;
00026
00027 extern double PARSER_evaluate_one( PARSER_code *, double atoz[] ) ;
00028
00029 extern void PARSER_evaluate_vector( PARSER_code * pc, double * atoz[],
00030 int nv, double vout[] ) ;
00031
00032 extern int PARSER_has_symbol( char * sym , PARSER_code * pc ) ;
00033 extern void PARSER_mark_symbols( PARSER_code * pc , int * sl ) ;
00034
00035 extern int PARSER_1deval( char *, int, float, float, float * ) ;
00036
00037 #ifdef NEED_PARSER_INTERNALS
00038 #include "f2c.h"
00039
00040 extern int parser_(char *c_expr__, logical *l_print__,
00041 integer * num_code__, char *c_code__,
00042 ftnlen c_expr_len, ftnlen c_code_len) ;
00043
00044 extern doublereal pareval_(integer *num_code__, char *c_code__,
00045 doublereal *r8val, ftnlen c_code_len) ;
00046
00047 extern int parevec_(integer *num_code__, char *c_code__,
00048 doublereal *va, doublereal *vb, doublereal *vc,
00049 doublereal *vd, doublereal *ve, doublereal *vf,
00050 doublereal *vg, doublereal *vh, doublereal *vi,
00051 doublereal *vj, doublereal *vk, doublereal *vl,
00052 doublereal *vm, doublereal *vn, doublereal *vo,
00053 doublereal *vp, doublereal *vq, doublereal *vr,
00054 doublereal *vs, doublereal *vt, doublereal *vu,
00055 doublereal *vv, doublereal *vw, doublereal *vx,
00056 doublereal *vy, doublereal *vz, integer *lvec,
00057 doublereal *vout, ftnlen c_code_len) ;
00058
00059 extern doublereal dbesj0_( doublereal * ) ;
00060 extern doublereal dbesj1_( doublereal * ) ;
00061 extern doublereal dbesy0_( doublereal * ) ;
00062 extern doublereal dbesy1_( doublereal * ) ;
00063
00064 extern doublereal derf_ ( doublereal * ) ;
00065 extern doublereal derfc_( doublereal * ) ;
00066
00067 extern doublereal unif_( doublereal * ) ;
00068
00069 #endif
00070 #endif