1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | foam-extend: Open Source CFD
5 \\ / A nd | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
9 This file is part of foam-extend.
11 foam-extend is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the
13 Free Software Foundation, either version 3 of the License, or (at your
14 option) any later version.
16 foam-extend is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
28 Double precision floating point scalar type.
33 \*---------------------------------------------------------------------------*/
35 #ifndef doubleScalar_H
36 #define doubleScalar_H
38 #include "doubleFloat.H"
39 #include "direction.H"
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 typedef double doubleScalar;
51 // Largest and smallest scalar values allowed in certain parts of the code.
52 // (15 is the number of significant figures in an
53 // IEEE double precision number. See limits.h or float.h)
54 static const doubleScalar doubleScalarGREAT = 1.0e+15;
55 static const doubleScalar doubleScalarVGREAT = 1.0e+300;
56 static const doubleScalar doubleScalarROOTVGREAT = 1.0e+150;
57 static const doubleScalar doubleScalarSMALL = 1.0e-15;
58 static const doubleScalar doubleScalarVSMALL = 1.0e-300;
59 static const doubleScalar doubleScalarROOTVSMALL = 1.0e-150;
62 #define Scalar doubleScalar
63 #define ScalarVGREAT doubleScalarVGREAT
64 #define ScalarVSMALL doubleScalarVSMALL
65 #define readScalar readDoubleScalar
67 inline Scalar mag(const Scalar s)
72 #define transFunc(func) \
73 inline Scalar func(const Scalar s) \
80 inline Scalar hypot(const Scalar x, const Scalar y)
85 inline Scalar atan2(const Scalar y, const Scalar x)
90 inline Scalar jn(const int n, const Scalar s)
95 inline Scalar yn(const int n, const Scalar s)
107 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
109 } // End namespace Foam
111 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
115 // ************************************************************************* //