C-XSC - A C++ Class Library for Extended Scientific Computing  2.5.4
dot_defs.hpp
1 /*
2 ** CXSC is a C++ library for eXtended Scientific Computing (V 2.5.4)
3 **
4 ** Copyright (C) 1990-2000 Institut fuer Angewandte Mathematik,
5 ** Universitaet Karlsruhe, Germany
6 ** (C) 2000-2014 Wiss. Rechnen/Softwaretechnologie
7 ** Universitaet Wuppertal, Germany
8 **
9 ** This library is free software; you can redistribute it and/or
10 ** modify it under the terms of the GNU Library General Public
11 ** License as published by the Free Software Foundation; either
12 ** version 2 of the License, or (at your option) any later version.
13 **
14 ** This library is distributed in the hope that it will be useful,
15 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 ** Library General Public License for more details.
18 **
19 ** You should have received a copy of the GNU Library General Public
20 ** License along with this library; if not, write to the Free
21 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 */
23 
24 /* CVS $Id: dot_defs.hpp,v 1.25 2014/01/30 17:23:45 cxsc Exp $ */
25 
26 /**********************************************************************
27  * (C) 1993 University of Karlsruhe
28  **********************************************************************/
29 #ifndef _CXSC_DOT_DEFS_HPP_INCLUDED
30 #define _CXSC_DOT_DEFS_HPP_INCLUDED
31 
32 namespace cxsc {
33 
34 /* ----------------------------------------------------------------- */
35 /* Maximale dezimale Laenge des ganzzahligen Anteils eines Akkus ist */
36 /* log(2)/log(10) * maximale binaere Laenge */
37 
38 #define A_I_DIGITS ((a_intg)((A_I_LENGTH * B_LENGTH * 30103L) / 100000L))
39 
40 /* ---------------------------------------------------------------- */
41 /* Maximale dezimale Laenge des gebrochenen Anteils eines Akkus ist */
42 /* maximale binaere Laenge */
43 
44 #define A_F_DIGITS ((A_F_LENGTH * B_LENGTH) + 1)
45 
46 /* ---------------------------------------------------------------- */
47 /* Anzahl der Digits fuer den Exponenten */
48 
49 #define A_E_DIGITS 4
50 #define A_E_MAX 10000
51 
52 /* ---------------------------------------------------------------- */
53 /* Laenge eines Strings zur Aufnahme eines Akku */
54 
55 #define A_DIGITS (1 + A_I_DIGITS + 1 + A_F_DIGITS + 2 + A_E_DIGITS + 1 + 20)
56 
57 #if _WIN32
58 extern __declspec(thread) char *dm;
59 extern __declspec(thread) char *dmhlp;
60 #elif __APPLE__ && !CXSC_FORCE_TLS
61 extern char *dm;
62 extern char *dmhlp;
63 #else
64 extern __thread char *dm;
65 extern __thread char *dmhlp;
66 #endif
67 
68 
69 int d_init_dm (void);
70 
71 /* ---------------------------------------------------------------- */
72 
73  /*---- D_OUT.C -- mr 30.09.1990 ----------------------------------*/
74  void d_out(a_intg*, char*, a_intg*, a_intg*, Dotprecision);
75 
76  /*---- D_OUTP.C - mr 30.09.1990 ----------------------------------*/
77  void d_outp(char*, Dotprecision, a_intg, a_intg, a_intg, a_intg*);
78 
79  /*---- D_SCAN.C - mr 19.10.1990 ----------------------------------*/
80  char* d_scan (char*, a_intg*, a_intg*, char*, a_intg*, a_intg*);
81 
82  /*---- D_SCANI.C - mr 19.10.1990 ---------------------------------*/
83  void d_scani(Dotprecision, char*, a_intg*, a_intg*, a_intg*);
84 
85  /*---- D_SCANF.C - mr 19.10.1990 ---------------------------------*/
86  a_intg d_scanf(Dotprecision, char*, a_intg*, a_intg*, a_intg*, a_intg);
87 
88  /*---- D_SCANP.C - mr 20.10.1990 --------------------------------*/
89  char* d_scanp(Dotprecision, char*, a_intg, a_intg*);
90 
91 /* ---------------------------------------------------------------- */
92 
93 } // namespace cxsc
94 
95 #endif // _CXSC_DOT_DEFS_HPP_INCLUDED
The namespace cxsc, providing all functionality of the class library C-XSC.
Definition: cdot.cpp:29