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
32namespace 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
58extern __declspec(thread) char *dm;
59extern __declspec(thread) char *dmhlp;
60#elif __APPLE__ && !CXSC_FORCE_TLS
61extern char *dm;
62extern char *dmhlp;
63#else
64extern __thread char *dm;
65extern __thread char *dmhlp;
66#endif
67
68
69int 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