labelVector.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2016 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 \*---------------------------------------------------------------------------*/
27 
28 #include "labelVector.H"
29 
30 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
31 
32 template<>
33 const char* const Foam::labelVector::vsType::typeName = "labelVector";
34 
35 #undef defineTraits
36 #define defineTraits(Type, Prefix) \
37  \
38  template<> \
39  const char* const Foam::Vector<Type>::vsType::componentNames[] = \
40  { \
41  "x", "y", "z" \
42  }; \
43  \
44  template<> \
45  const Foam::Vector<Type> Foam::Vector<Type>::vsType::zero \
46  ( \
47  Vector<Type>::uniform(0) \
48  ); \
49  \
50  template<> \
51  const Foam::Vector<Type> Foam::Vector<Type>::vsType::one \
52  ( \
53  Vector<Type>::uniform(1) \
54  ); \
55  \
56  template<> \
57  const Foam::Vector<Type> Foam::Vector<Type>::vsType::max \
58  ( \
59  Vector<Type>::uniform(Prefix##Max) \
60  ); \
61  \
62  template<> \
63  const Foam::Vector<Type> Foam::Vector<Type>::vsType::min \
64  ( \
65  Vector<Type>::uniform(-Prefix##Max) \
66  ); \
67  \
68  template<> \
69  const Foam::Vector<Type> Foam::Vector<Type>::vsType::rootMax \
70  ( \
71  Vector<Type>::uniform(::sqrt(double(Prefix##Max))) \
72  ); \
73  \
74  template<> \
75  const Foam::Vector<Type> Foam::Vector<Type>::vsType::rootMin \
76  ( \
77  Vector<Type>::uniform(-::sqrt(double(Prefix##Max))) \
78  );
79 
80 
81 defineTraits(Foam::label, label);
82 
83 #undef defineTraits
84 
85 // ************************************************************************* //
static const char *const typeName
Definition: VectorSpace.H:121
#define defineTraits(Type, Prefix)
Definition: labelVector.C:29