/* General includes for Greenleaf Financial MathLib * * Include this file with ALL programs using the MathLib. * Contains error code definitions and numerous globals * * Copyright (C) 1986-1990 Greenleaf Software Inc. All rights reserved. */ #ifndef GMDOTH #define GMDOTH #include /* including gf.h must come first!!*/ #ifndef GFDOTH #include #endif #define MATHLIB_VERSION 110 #ifndef LINT #include #endif #define GM_SUCCESS 0 #define GM_FAILURE 1 #define GM_POS 0 #define GM_NEG 0x0001 #define GM_MAXID 18 #define GM_MINID 0 #define GM_DEQ 0 /* case criteria */ #define GM_DGEQ 1 /* arguments for */ #define GM_DLEQ -1 /* list */ #define GM_DLT -2 /* comparsion */ #define GM_DGT 2 /* functions like */ #define GM_DNE 3 /* dcmplst() */ #define GM_INC 1 #define GM_DEC 2 #define GM_N 0 /* next 4 used by SimpleInterest36x */ #define GM_I 1 #define GM_PV 2 #define GM_INTR 3 #define GM_PMT 4 /* next 4 used by compound interest */ #define GM_FV 5 #define GM_BEGIN 1 #define GM_END 2 #define GM_CONTINUOUS -1 /* used by nomtoeff & efftonom */ #define GM_BASE -300 #define GM_NULLPOINTER GM_BASE - 1 /* Null pointer to DEC structure */ #define GM_NULLSTRING GM_BASE - 2 /* Null pointer to string passed */ #define GM_INIT GM_BASE - 3 /* Uninitialized input DEC */ #define GM_OVERFLOW GM_BASE - 4 /* Arithmetic overflow occured */ #define GM_UNDERFLOW GM_BASE - 5 /* Arithmetic underflow occured */ #define GM_NAN GM_BASE - 6 /* Ptr or result is Not A Number */ #define GM_CNVRE GM_BASE - 7 /* Significant digits trunc on conv */ #define GM_CNVRW GM_BASE - 8 /* Insignif digits trunc on conv */ #define GM_DIV0 GM_BASE - 9 /* Attempted divide by zero */ #define GM_PWR0 GM_BASE - 10 /* Attempted raising zero to power */ #define GM_IMAG GM_BASE - 11 /* Imaginary result, eg sqrt(-1) */ #define GM_NOMEMORY GM_BASE - 12 /* when calloc() fails */ #define GM_INVALIDID GM_BASE - 13 /* invalid ID range passed to () */ #define GM_NOTFOUND GM_BASE - 14 /* list criteria not found */ #define GM_ARGVAL GM_BASE - 15 /* Bad Argument value */ #define GM_EOF GM_BASE - 16 /* File read/write problems */ #ifdef _LDATA #define GM_NULL (DEC *) 0L #define GM_NULLARR (DEC **) 0L #else #define GM_NULL (DEC *) 0 #define GM_NULLARR (DEC **) 0 #endif #ifndef NULLF #define NULLF (int (*)()) 0 #endif #ifndef GFDECL #include #endif /* these MUST BE IN THIS ORDER */ #include #include extern int wGMError; /* global error variable */ extern void (*pfnGMErrVector)(int, int); /* ptr to error handler */ void GMDefErrHandler(int,int); /* name of error handler */ extern int wGMFunErrNum; /* func number setting wGMError */ /* global storage for internal use */ extern int wGMTemp1; /* temporary global storage */ extern int wGMTemp2; extern mbool wfGMRound; /* these 3 used for formatted conversions */ extern mbool wfFlagNumber; extern char cGMSymExp; extern int wGMStar; /* storage of * arguments for dtoaf */ extern int wGMStar2; extern char cGMFmt; /* next 6 format string types */ extern char cGMFmtComma; extern char cGMFmtSci; extern char cGMFmtSciE; extern char cGMFmtEng; extern char cGMFmtEngE; extern DEC *pGMStatA; /* linear estimation */ extern DEC *pGMStatB; extern char cGMFmtRnd; extern char cGMFmtTrunc; extern char cGMFmtDlr; extern char cGMFmtNegRgt1; extern char cGMFmtNegRgt2; extern char cGMFmtNegPar; extern char cGMFmtNegBrkt; extern char cGMFmtZeroBlC; extern char cGMFmtZeroBlS; extern char cGMFmtZero; extern char *sGMFmtZeroStr; extern char cGMFmtSurrL; extern char cGMFmtSurrR; extern char *sGMFmt1Pos; extern char *sGMFmt1Neg; extern char *sGMFmt1Zero; extern char *sGMFmt2Pos; extern char *sGMFmt2Neg; extern char *sGMFmt2Zero; extern mbool wfGM3Color; /* next 4 for 3-Color Interface Output */ extern char cGMCodePos; extern char cGMCodeNeg; extern char cGMCodeNon; extern int wIntrPrec; extern DEC *pGMIRRGuess; #define SetMathError(a,b) (*pfnGMErrVector)(a,b) #endif