Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
tools
Vector.cpp
Go to the documentation of this file.
1
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2
Copyright (c) 2013 The plumed team
3
(see the PEOPLE file at the root of the distribution for a list of names)
4
5
See http://www.plumed-code.org for more information.
6
7
This file is part of plumed, version 2.0.
8
9
plumed is free software: you can redistribute it and/or modify
10
it under the terms of the GNU Lesser General Public License as published by
11
the Free Software Foundation, either version 3 of the License, or
12
(at your option) any later version.
13
14
plumed 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
17
GNU Lesser General Public License for more details.
18
19
You should have received a copy of the GNU Lesser General Public License
20
along with plumed. If not, see <http://www.gnu.org/licenses/>.
21
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
22
#include "
Vector.h
"
23
#include "
Exception.h
"
24
#include <cmath>
25
26
namespace
PLMD
{
27
28
/// Small auxiliary class.
29
/// I use it to test a few things that I am scary of and could introduce bugs.
30
/// It checks at startup that Vector satifies some requirement so as to allow
31
/// accessing a vector of tensors as a 3 times longer array of doubles.
32
static
class
VectorChecks
{
33
public
:
34
VectorChecks
(){
35
if
(
sizeof
(
VectorGeneric<2>
)==2*
sizeof
(
double
)
36
&&
sizeof
(
VectorGeneric<3>
)==3*
sizeof
(
double
)
37
&&
sizeof
(
VectorGeneric<4>
)==4*
sizeof
(
double
))
return
;
38
plumed_merror(
"sizeof(VectorGeneric<x>)!=x*sizeof(double). PLUMED cannot work properly in these conditions."
);
39
}
40
}
checks
;
41
42
}
43
44
45
PLMD::VectorChecks
Small auxiliary class.
Definition:
Vector.cpp:32
PLMD::VectorGeneric
Class implementing fixed size vectors of doubles.
Definition:
Vector.h:74
PLMD::VectorChecks::VectorChecks
VectorChecks()
Definition:
Vector.cpp:34
PLMD::checks
static class PLMD::TensorChecks checks
Vector.h
Exception.h
PLMD
Definition:
Analysis.cpp:30
Hosted by GitHub
1.8.8