Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NekVectorCommon.hpp
Go to the documentation of this file.
1 /////////////////////////////////////////////////////////////////////////////////
2 ////
3 //// File: NekConstantSizedVector.hpp
4 ////
5 //// For more information, please see: http://www.nektar.info
6 ////
7 //// The MIT License
8 ////
9 //// Copyright (c) 2006 Division of Applied Mathematics, Brown University (USA),
10 //// Department of Aeronautics, Imperial College London (UK), and Scientific
11 //// Computing and Imaging Institute, University of Utah (USA).
12 ////
13 //// License for the specific language governing rights and limitations under
14 //// Permission is hereby granted, free of charge, to any person obtaining a
15 //// copy of this software and associated documentation files (the "Software"),
16 //// to deal in the Software without restriction, including without limitation
17 //// the rights to use, copy, modify, merge, publish, distribute, sublicense,
18 //// and/or sell copies of the Software, and to permit persons to whom the
19 //// Software is furnished to do so, subject to the following conditions:
20 ////
21 //// The above copyright notice and this permission notice shall be included
22 //// in all copies or substantial portions of the Software.
23 ////
24 //// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
25 //// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26 //// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
27 //// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28 //// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
29 //// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
30 //// DEALINGS IN THE SOFTWARE.
31 ////
32 //// Description: Constant sized and variable sized vectors have the same interface
33 //// and performt he same algorithms - the only real difference is how
34 //// the data is stored. These methods allow use to use the same
35 //// algorithm regardless of data storage mechanism.
36 ////
37 /////////////////////////////////////////////////////////////////////////////////
38 
39 //#ifndef NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_NEK_VECTOR_COMMON_HPP
40 //#define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_NEK_VECTOR_COMMON_HPP
41 
42 //#include <LibUtilities/LinearAlgebra/NekVectorFwd.hpp>
43 //#include <LibUtilities/LinearAlgebra/NekVectorTypeTraits.hpp>
44 //#include <ExpressionTemplates/ExpressionTemplates.hpp>
45 //#include <boost/tokenizer.hpp>
46 
47 //namespace Nektar
48 //{
49 
50 
51 
52 
53 //// template<typename DataType>
54 //// void AddEqual(NekVector<DataType>& lhs, const NekVector<DataType>& rhs)
55 //// {
56 //// ASSERTL1(lhs.GetDimension() == rhs.GetDimension(), "Two vectors must have the same size in PlusEqual.")
57 //// DataType* lhs_buf = lhs.GetRawPtr();
58 //// const DataType* rhs_buf = rhs.GetRawPtr();
59 //// for(unsigned int i=0; i < lhs.GetDimension(); ++i)
60 //// {
61 //// lhs_buf[i] += rhs_buf[i];
62 //// }
63 //// }
64 
65 
66 
67 //// template<typename DataType>
68 //// void MultiplyEqual(NekVector<DataType>& lhs, const DataType& rhs)
69 //// {
70 //// for(unsigned int i=0; i < lhs.GetDimension(); ++i)
71 //// {
72 //// lhs[i] *= rhs;
73 //// }
74 //// }
75 
76 //// template<typename DataType>
77 //// void DivideEqual(NekVector<DataType>& lhs, const DataType& rhs)
78 //// {
79 //// for(unsigned int i=0; i < lhs.GetDimension(); ++i)
80 //// {
81 //// lhs[i] /= rhs;
82 //// }
83 //// }
84 
85 
86 
87 //#ifdef NEKTAR_USE_EXPRESSION_TEMPLATES
88 
89 
90 //#endif
91 
92 
93 
94 
95 //}
96 
97 //#endif //NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_NEK_VECTOR_COMMON_HPP
98