/* general.h. Generated by configure. */ /* $Id: general.h.in,v 1.1 1996/11/19 14:02:13 roitzsch Exp $ */ #ifndef GENERAL_H #define GENERAL_H #include #include #include #include #include #include #include #include #define DOUBLE_COMPLEX 0 #define NOKASKPLOT 0 #define INCLUDE_TEMPLATE_DEFS 0 #define COMPLEX_TEMPLATES 1 typedef double Real; #include using namespace std; #if COMPLEX_TEMPLATES typedef complex Complex; // gnu 2.7.1, 2.7.2 #elif DOUBLE_COMPLEX typedef double_complex Complex; #else typedef complex Complex; #endif //---------------------------- data types ------------------------------- // -- Real/Complex applications: #define ComplexVersion 0 #if (ComplexVersion) typedef Complex Num; inline Complex num(Real re, Real im=0.0) { return Complex(re,im); } #else typedef Real Num; inline Real num(Real re, Real /*im*/=0.0) { return re; } #endif //------------------------------------------------------------------------- typedef int Bool; typedef char SBool; // 'small' Boolean const Bool False = 0; const Bool True = 1; //----------------------------- constants ------------------------------- const char NUL = '\0'; const char CommentFlag = '#'; const int MaxLineLength = 256; const int DefaultStackSize = 25; const int ElementsInBlock = 100; // for Allocator initialization //--------------------- defined in kaskade.cc: ------------------------------ enum pauseMode { picture, noPicture }; pauseMode Pause(); void PauseAnyWay(); void MissingParameter(const char* name); //------------------------------------------------------------------------- enum precondMode { singleGrid, multiGrid, multiLevel }; enum errorEstimatorType { dly, residualError, noEstimator }; enum BoundaryType { INTERIOR, BOUNDARY, DIRICHLET, NEUMANN, CAUCHY }; enum symmetryType { sym, asym }; // ComplexSym ? enum curvFaceType { PLANE, CIRCULAR, CYLINDRICAL }; #endif