C-XSC - A C++ Class Library for Extended Scientific Computing
2.5.4
|
00001 /* 00002 ** CXSC is a C++ library for eXtended Scientific Computing (V 2.5.4) 00003 ** 00004 ** Copyright (C) 1990-2000 Institut fuer Angewandte Mathematik, 00005 ** Universitaet Karlsruhe, Germany 00006 ** (C) 2000-2014 Wiss. Rechnen/Softwaretechnologie 00007 ** Universitaet Wuppertal, Germany 00008 ** 00009 ** This library is free software; you can redistribute it and/or 00010 ** modify it under the terms of the GNU Library General Public 00011 ** License as published by the Free Software Foundation; either 00012 ** version 2 of the License, or (at your option) any later version. 00013 ** 00014 ** This library is distributed in the hope that it will be useful, 00015 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 ** Library General Public License for more details. 00018 ** 00019 ** You should have received a copy of the GNU Library General Public 00020 ** License along with this library; if not, write to the Free 00021 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 */ 00023 00024 /* CVS $Id: dot_defs.hpp,v 1.25 2014/01/30 17:23:45 cxsc Exp $ */ 00025 00026 /********************************************************************** 00027 * (C) 1993 University of Karlsruhe 00028 **********************************************************************/ 00029 #ifndef _CXSC_DOT_DEFS_HPP_INCLUDED 00030 #define _CXSC_DOT_DEFS_HPP_INCLUDED 00031 00032 namespace cxsc { 00033 00034 /* ----------------------------------------------------------------- */ 00035 /* Maximale dezimale Laenge des ganzzahligen Anteils eines Akkus ist */ 00036 /* log(2)/log(10) * maximale binaere Laenge */ 00037 00038 #define A_I_DIGITS ((a_intg)((A_I_LENGTH * B_LENGTH * 30103L) / 100000L)) 00039 00040 /* ---------------------------------------------------------------- */ 00041 /* Maximale dezimale Laenge des gebrochenen Anteils eines Akkus ist */ 00042 /* maximale binaere Laenge */ 00043 00044 #define A_F_DIGITS ((A_F_LENGTH * B_LENGTH) + 1) 00045 00046 /* ---------------------------------------------------------------- */ 00047 /* Anzahl der Digits fuer den Exponenten */ 00048 00049 #define A_E_DIGITS 4 00050 #define A_E_MAX 10000 00051 00052 /* ---------------------------------------------------------------- */ 00053 /* Laenge eines Strings zur Aufnahme eines Akku */ 00054 00055 #define A_DIGITS (1 + A_I_DIGITS + 1 + A_F_DIGITS + 2 + A_E_DIGITS + 1 + 20) 00056 00057 #if _WIN32 00058 extern __declspec(thread) char *dm; 00059 extern __declspec(thread) char *dmhlp; 00060 #elif __APPLE__ && !CXSC_FORCE_TLS 00061 extern char *dm; 00062 extern char *dmhlp; 00063 #else 00064 extern __thread char *dm; 00065 extern __thread char *dmhlp; 00066 #endif 00067 00068 00069 int d_init_dm (void); 00070 00071 /* ---------------------------------------------------------------- */ 00072 00073 /*---- D_OUT.C -- mr 30.09.1990 ----------------------------------*/ 00074 void d_out(a_intg*, char*, a_intg*, a_intg*, Dotprecision); 00075 00076 /*---- D_OUTP.C - mr 30.09.1990 ----------------------------------*/ 00077 void d_outp(char*, Dotprecision, a_intg, a_intg, a_intg, a_intg*); 00078 00079 /*---- D_SCAN.C - mr 19.10.1990 ----------------------------------*/ 00080 char* d_scan (char*, a_intg*, a_intg*, char*, a_intg*, a_intg*); 00081 00082 /*---- D_SCANI.C - mr 19.10.1990 ---------------------------------*/ 00083 void d_scani(Dotprecision, char*, a_intg*, a_intg*, a_intg*); 00084 00085 /*---- D_SCANF.C - mr 19.10.1990 ---------------------------------*/ 00086 a_intg d_scanf(Dotprecision, char*, a_intg*, a_intg*, a_intg*, a_intg); 00087 00088 /*---- D_SCANP.C - mr 20.10.1990 --------------------------------*/ 00089 char* d_scanp(Dotprecision, char*, a_intg, a_intg*); 00090 00091 /* ---------------------------------------------------------------- */ 00092 00093 } // namespace cxsc 00094 00095 #endif // _CXSC_DOT_DEFS_HPP_INCLUDED