/* 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 <iostream>
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#include <assert.h>

#define DOUBLE_COMPLEX 0
#define NOKASKPLOT 0
#define INCLUDE_TEMPLATE_DEFS 0
#define COMPLEX_TEMPLATES 1

typedef double Real;

#include <complex>
using namespace std;
#if COMPLEX_TEMPLATES
typedef complex<Real> 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




syntax highlighted by Code2HTML, v. 0.9.1